showSelectBaseURLTypeAlert function
弹出切换环境菜单
Implementation
Future<bool?> showSelectBaseURLTypeAlert({BuildContext? context}) {
if (!isAppDebugFlag) {
return Future.value(false);
}
/// 保存选择的环境
Future<bool> save(BaseURLType urlType) {
_baseURLTypeString.value = "$urlType";
logInfo("$_baseURLTypeKey = ${_baseURLTypeString.value}");
return SharedPreferencesUtil.setSharedPrefsString(
_baseURLTypeKey, _baseURLTypeString.value);
}
if (context == null) {
return save(kBaseURLType == BaseURLType.test
? BaseURLType.release
: BaseURLType.test);
}
return showBaseAlert(
BaseGeneralAlertDialog(
title: Text(_baseURLTypeString.value.isEmpty
? "$kBaseURLType"
: _baseURLTypeString.value),
content: Text(
"${BaseURLType.test}=\n$kTestBaseURL\n\n${BaseURLType.release}=\n$kReleaseBaseURL",
),
actions: <Widget>[
BaseDialogAction(
isDestructiveAction: true,
child: Text("${BaseURLType.test}"),
onPressed: () async {
await save(BaseURLType.test);
if (baseURLChangedCallback != null) {
baseURLChangedCallback!();
}
offBack(true);
},
),
BaseDialogAction(
isDefaultAction: true,
child: Text("${BaseURLType.release}"),
onPressed: () async {
await save(BaseURLType.release);
if (baseURLChangedCallback != null) {
baseURLChangedCallback!();
}
offBack(true);
},
),
BaseDialogAction(
child: const Text("Cancel"),
onPressed: () {
offBack(false);
},
),
],
),
);
}