showSelectBaseURLTypeAlert function
弹出切换环境菜单
Implementation
Future<bool?> showSelectBaseURLTypeAlert({BuildContext? context}) {
if (!isAppDebugFlag) {
return Future.value(false);
}
/// 保存选择的环境
Future<bool> save(BaseURLType urlType) {
_baseURLTypeString = "$urlType";
logInfo("$_baseURLTypeKey = " + _baseURLTypeString);
return SharedPreferencesUtil.setSharedPrefsString(
_baseURLTypeKey, _baseURLTypeString);
}
if (context == null) {
return save(kBaseURLType == BaseURLType.test
? BaseURLType.release
: BaseURLType.test);
}
return showBaseDialog(
context: context,
barrierDismissible: true,
builder: (BuildContext ctx) {
return BaseGeneralAlertDialog(
title: Text(
_baseURLTypeString.isEmpty ? "$kBaseURLType" : _baseURLTypeString),
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!();
}
Navigator.pop(ctx, true);
},
),
BaseDialogAction(
isDefaultAction: true,
child: Text("${BaseURLType.release}"),
onPressed: () async {
await save(BaseURLType.release);
if (baseURLChangedCallback != null) {
baseURLChangedCallback!();
}
Navigator.pop(ctx, true);
},
),
BaseDialogAction(
child: Text("取消"),
onPressed: () {
Navigator.pop(ctx, false);
},
),
],
);
},
);
}