|
|
@@ -15,22 +15,24 @@ class RouterUtil { |
|
|
|
* skipModel 跳转参数 |
|
|
|
* data 额外参数 |
|
|
|
* */ |
|
|
|
static Future route(SkipModel skipModel, Map<String, dynamic> data, |
|
|
|
BuildContext context) async { |
|
|
|
static Future route(SkipModel skipModel, Map<String, dynamic> data, BuildContext context) async { |
|
|
|
// skipModel.skipIdentifier="pub.flutter.credit_card"; |
|
|
|
// if (Application.hasStringMethod(skipModel.skipIdentifier.toString())) { |
|
|
|
// Application.doStringMethod(skipModel.skipIdentifier.toString()); |
|
|
|
// return null; |
|
|
|
// } |
|
|
|
if (skipModel.skipIdentifier == null || skipModel.skipIdentifier == '') { |
|
|
|
print('skipIdentifier 参数不存在,无法跳转页面'); |
|
|
|
return Future.error('skipIdentifier 参数不存在,无法跳转页面'); |
|
|
|
} |
|
|
|
// is_jump等于0不跳转 |
|
|
|
if(!EmptyUtil.isEmpty(skipModel.isJump) && skipModel.isJump == '0') { |
|
|
|
if (!EmptyUtil.isEmpty(skipModel.isJump) && skipModel.isJump == '0') { |
|
|
|
return; |
|
|
|
} |
|
|
|
print('skipIdentifier: ${skipModel.skipIdentifier}'); |
|
|
|
hideKeyboard(context); |
|
|
|
if (skipModel?.requiredLogin == '1') { |
|
|
|
UserInfoModel user = |
|
|
|
await Provider.of<UserInfoNotifier>(context, listen: false) |
|
|
|
.getUserInfoModel(); |
|
|
|
UserInfoModel user = await Provider.of<UserInfoNotifier>(context, listen: false).getUserInfoModel(); |
|
|
|
print(user.toString()); |
|
|
|
if (user?.token == null || user.token == '') { |
|
|
|
print('need login...'); |
|
|
@@ -42,25 +44,25 @@ class RouterUtil { |
|
|
|
if (PageFactory.hasRegisted(skipModel.skipIdentifier)) { |
|
|
|
page = PageFactory.create(skipModel.skipIdentifier, data); |
|
|
|
} else { |
|
|
|
var result = await NetUtil.post( |
|
|
|
'/api/v1/mod/${skipModel.skipIdentifier.toString()}', |
|
|
|
method: NetMethod.GET); |
|
|
|
if (Application.hasStringMethod(skipModel.skipIdentifier.toString())) { |
|
|
|
Application.doStringMethod(skipModel.skipIdentifier.toString()); |
|
|
|
return null; |
|
|
|
} |
|
|
|
var result = await NetUtil.post('/api/v1/mod/${skipModel.skipIdentifier.toString()}', method: NetMethod.GET); |
|
|
|
Logger.debug(result); |
|
|
|
page = PageFactory.create('index', Map<String, dynamic>.from(result)); |
|
|
|
} |
|
|
|
return Navigator.of(context) |
|
|
|
.push(CupertinoPageRoute(builder: (BuildContext context) { |
|
|
|
return Navigator.of(context).push(CupertinoPageRoute(builder: (BuildContext context) { |
|
|
|
return page; |
|
|
|
})); |
|
|
|
} |
|
|
|
|
|
|
|
// 跳转登录 |
|
|
|
static Future goLogin(BuildContext context) async{ |
|
|
|
static Future goLogin(BuildContext context) async { |
|
|
|
String isIosReview = await SharedPreferencesUtil.getStringValue(GlobalConfig.IS_IOS_REVIEW, defaultVal: '0'); |
|
|
|
return Navigator.of(context) |
|
|
|
.push(CupertinoPageRoute(builder: (BuildContext context) { |
|
|
|
return Navigator.of(context).push(CupertinoPageRoute(builder: (BuildContext context) { |
|
|
|
// 苹果审核登录样式 |
|
|
|
if(Platform.isIOS && isIosReview == '1'){ |
|
|
|
if (Platform.isIOS && isIosReview == '1') { |
|
|
|
return LoginAccountPage(null); |
|
|
|
} |
|
|
|
return LoginPage(); |
|
|
@@ -80,8 +82,8 @@ class RouterUtil { |
|
|
|
} |
|
|
|
|
|
|
|
// 回到首页 |
|
|
|
static Future goBackHomePage(BuildContext context, {bool needUpdateAuth = true}) async{ |
|
|
|
if(needUpdateAuth) { |
|
|
|
static Future goBackHomePage(BuildContext context, {bool needUpdateAuth = true}) async { |
|
|
|
if (needUpdateAuth) { |
|
|
|
await TaobaoAuth.initAuth(context); |
|
|
|
EventUtil.instance.fire(LoginSuccessEvent()); |
|
|
|
} |
|
|
@@ -89,17 +91,16 @@ class RouterUtil { |
|
|
|
} |
|
|
|
|
|
|
|
// 隐藏键盘 |
|
|
|
static void hideKeyboard(BuildContext context){ |
|
|
|
static void hideKeyboard(BuildContext context) { |
|
|
|
try { |
|
|
|
FocusScopeNode currentFocus = FocusScope.of(context); |
|
|
|
if (!currentFocus.hasPrimaryFocus && |
|
|
|
currentFocus.focusedChild != null) { |
|
|
|
if (!currentFocus.hasPrimaryFocus && currentFocus.focusedChild != null) { |
|
|
|
FocusManager.instance.primaryFocus.unfocus(); |
|
|
|
} |
|
|
|
// SystemChannels.textInput.invokeMethod('TextInput.hide'); |
|
|
|
// FocusScope.of(context).requestFocus(FocusNode()); |
|
|
|
}catch(e, s){ |
|
|
|
Logger.error(e,s); |
|
|
|
} catch (e, s) { |
|
|
|
Logger.error(e, s); |
|
|
|
} |
|
|
|
} |
|
|
|
} |