Showing
8 changed files
with
64 additions
and
20 deletions
| @@ -17,9 +17,9 @@ if (flutterRoot == null) { | @@ -17,9 +17,9 @@ if (flutterRoot == null) { | ||
| 17 | 17 | ||
| 18 | 18 | ||
| 19 | 19 | ||
| 20 | -def flutterVersionCode = "497" | 20 | +def flutterVersionCode = "498" |
| 21 | if (flutterVersionCode == null) { | 21 | if (flutterVersionCode == null) { |
| 22 | - flutterVersionCode = '497' | 22 | + flutterVersionCode = '498' |
| 23 | 23 | ||
| 24 | 24 | ||
| 25 | } | 25 | } |
| @@ -28,9 +28,9 @@ if (flutterVersionCode == null) { | @@ -28,9 +28,9 @@ if (flutterVersionCode == null) { | ||
| 28 | 28 | ||
| 29 | 29 | ||
| 30 | 30 | ||
| 31 | -def flutterVersionName = "4.9.7" | 31 | +def flutterVersionName = "4.9.8" |
| 32 | if (flutterVersionName == null) { | 32 | if (flutterVersionName == null) { |
| 33 | - flutterVersionName = '4.9.7' | 33 | + flutterVersionName = '4.9.8' |
| 34 | 34 | ||
| 35 | } | 35 | } |
| 36 | 36 |
| @@ -525,7 +525,7 @@ | @@ -525,7 +525,7 @@ | ||
| 525 | "$(inherited)", | 525 | "$(inherited)", |
| 526 | "$(PROJECT_DIR)/Flutter", | 526 | "$(PROJECT_DIR)/Flutter", |
| 527 | ); | 527 | ); |
| 528 | - MARKETING_VERSION = 4.9.7; | 528 | + MARKETING_VERSION = 4.9.8; |
| 529 | PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; | 529 | PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; |
| 530 | PRODUCT_NAME = Runner; | 530 | PRODUCT_NAME = Runner; |
| 531 | PROVISIONING_PROFILE_SPECIFIER = ""; | 531 | PROVISIONING_PROFILE_SPECIFIER = ""; |
| @@ -671,7 +671,7 @@ | @@ -671,7 +671,7 @@ | ||
| 671 | "$(inherited)", | 671 | "$(inherited)", |
| 672 | "$(PROJECT_DIR)/Flutter", | 672 | "$(PROJECT_DIR)/Flutter", |
| 673 | ); | 673 | ); |
| 674 | - MARKETING_VERSION = 4.9.7; | 674 | + MARKETING_VERSION = 4.9.8; |
| 675 | PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; | 675 | PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; |
| 676 | PRODUCT_NAME = Runner; | 676 | PRODUCT_NAME = Runner; |
| 677 | PROVISIONING_PROFILE_SPECIFIER = ""; | 677 | PROVISIONING_PROFILE_SPECIFIER = ""; |
| @@ -707,7 +707,7 @@ | @@ -707,7 +707,7 @@ | ||
| 707 | "$(inherited)", | 707 | "$(inherited)", |
| 708 | "$(PROJECT_DIR)/Flutter", | 708 | "$(PROJECT_DIR)/Flutter", |
| 709 | ); | 709 | ); |
| 710 | - MARKETING_VERSION = 4.9.7; | 710 | + MARKETING_VERSION = 4.9.8; |
| 711 | PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; | 711 | PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; |
| 712 | PRODUCT_NAME = Runner; | 712 | PRODUCT_NAME = Runner; |
| 713 | PROVISIONING_PROFILE_SPECIFIER = ""; | 713 | PROVISIONING_PROFILE_SPECIFIER = ""; |
| @@ -24,6 +24,8 @@ class User { | @@ -24,6 +24,8 @@ class User { | ||
| 24 | String nickName; // 昵称 | 24 | String nickName; // 昵称 |
| 25 | String edate; //店铺过期日期 | 25 | String edate; //店铺过期日期 |
| 26 | 26 | ||
| 27 | + String tokenLoginOut; //信鸽token | ||
| 28 | + | ||
| 27 | User( | 29 | User( |
| 28 | this.openid, | 30 | this.openid, |
| 29 | this.account, | 31 | this.account, |
| @@ -43,7 +45,8 @@ class User { | @@ -43,7 +45,8 @@ class User { | ||
| 43 | this.userphone, | 45 | this.userphone, |
| 44 | this.token, | 46 | this.token, |
| 45 | this.nickName, | 47 | this.nickName, |
| 46 | - this.edate); | 48 | + this.edate, |
| 49 | + this.tokenLoginOut); | ||
| 47 | 50 | ||
| 48 | factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json); | 51 | factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json); |
| 49 | 52 | ||
| @@ -51,6 +54,6 @@ class User { | @@ -51,6 +54,6 @@ class User { | ||
| 51 | 54 | ||
| 52 | @override | 55 | @override |
| 53 | String toString() { | 56 | String toString() { |
| 54 | - return 'User{openid: $openid, account: $account, role_name: $role_name, sellerid: $sellerid, sellercode: $sellercode, sellername: $sellername,sellerimage:$sellerimage, sellerphone: $sellerphone, sellerAddr: $sellerAddr, scatter: $scatter, room: $room, cassette: $cassette, morning: $morning, noon: $noon, night: $night ,userphone:$userphone,token:$token,nickName:$nickName,edate:$edate}'; | 57 | + return 'User{openid: $openid, account: $account, role_name: $role_name, sellerid: $sellerid, sellercode: $sellercode, sellername: $sellername,sellerimage:$sellerimage, sellerphone: $sellerphone, sellerAddr: $sellerAddr, scatter: $scatter, room: $room, cassette: $cassette, morning: $morning, noon: $noon, night: $night ,userphone:$userphone,token:$token,nickName:$nickName,edate:$edate},tokenLoginOut:${tokenLoginOut}'; |
| 55 | } | 58 | } |
| 56 | } | 59 | } |
| @@ -27,6 +27,7 @@ User _$UserFromJson(Map<String, dynamic> json) { | @@ -27,6 +27,7 @@ User _$UserFromJson(Map<String, dynamic> json) { | ||
| 27 | json['token'] as String, | 27 | json['token'] as String, |
| 28 | json['nickname'] as String, | 28 | json['nickname'] as String, |
| 29 | json['edate'] as String, | 29 | json['edate'] as String, |
| 30 | + json['tokenLoginOut'] as String | ||
| 30 | ); | 31 | ); |
| 31 | } | 32 | } |
| 32 | 33 | ||
| @@ -49,5 +50,6 @@ Map<String, dynamic> _$UserToJson(User instance) => <String, dynamic>{ | @@ -49,5 +50,6 @@ Map<String, dynamic> _$UserToJson(User instance) => <String, dynamic>{ | ||
| 49 | 'userphone': instance.userphone, | 50 | 'userphone': instance.userphone, |
| 50 | 'token': instance.token, | 51 | 'token': instance.token, |
| 51 | 'nickname': instance.nickName, | 52 | 'nickname': instance.nickName, |
| 52 | - 'edate': instance.edate | 53 | + 'edate': instance.edate, |
| 54 | + 'tokenLoginOut':instance.tokenLoginOut | ||
| 53 | }; | 55 | }; |
| @@ -152,7 +152,8 @@ class _FeastPageState extends State<FeastPage> { | @@ -152,7 +152,8 @@ class _FeastPageState extends State<FeastPage> { | ||
| 152 | } | 152 | } |
| 153 | }), | 153 | }), |
| 154 | feastModel.beFollowData != null && | 154 | feastModel.beFollowData != null && |
| 155 | - feastModel.beFollowData.length > 0 | 155 | + feastModel.beFollowData.length > 0 && |
| 156 | + (Utils.getAuthority(context, '待跟进')) | ||
| 156 | ? Positioned( | 157 | ? Positioned( |
| 157 | right: ScreenUtil().setWidth(0), | 158 | right: ScreenUtil().setWidth(0), |
| 158 | bottom: ScreenUtil().setWidth(38), | 159 | bottom: ScreenUtil().setWidth(38), |
| @@ -48,6 +48,7 @@ import '../../models/user.dart'; | @@ -48,6 +48,7 @@ import '../../models/user.dart'; | ||
| 48 | import '../../provider/feast_model.dart'; | 48 | import '../../provider/feast_model.dart'; |
| 49 | import '../../provider/remark_manager_model.dart'; | 49 | import '../../provider/remark_manager_model.dart'; |
| 50 | import '../../provider/store_base_info_provider.dart'; | 50 | import '../../provider/store_base_info_provider.dart'; |
| 51 | +import '../../utils/event_bus.dart'; | ||
| 51 | import '../../utils/screen_util.dart'; | 52 | import '../../utils/screen_util.dart'; |
| 52 | import '../feast/feast_page.dart'; | 53 | import '../feast/feast_page.dart'; |
| 53 | 54 | ||
| @@ -184,6 +185,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -184,6 +185,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 184 | create: (_) => StoreBaseIndoProvider(), child: MyPage()), | 185 | create: (_) => StoreBaseIndoProvider(), child: MyPage()), |
| 185 | )); | 186 | )); |
| 186 | WidgetsBinding.instance.addPostFrameCallback((_) { | 187 | WidgetsBinding.instance.addPostFrameCallback((_) { |
| 188 | + bus.on('refresh_token', (arg) { | ||
| 189 | + initPlatformState(); | ||
| 190 | + }); | ||
| 187 | initPlatformState(); | 191 | initPlatformState(); |
| 188 | _getTableList(); | 192 | _getTableList(); |
| 189 | _getSellerById(); | 193 | _getSellerById(); |
| @@ -914,15 +918,26 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -914,15 +918,26 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 914 | } | 918 | } |
| 915 | 919 | ||
| 916 | //初始化推送token | 920 | //初始化推送token |
| 917 | - userTokenInit(String token) { | 921 | + userTokenInit(String token) async { |
| 922 | + // userModel.token = token; | ||
| 923 | + // userModel.tokenLoginOut = | ||
| 924 | + // Platform.isAndroid ? "Android_$token" : "Ios_$token"; | ||
| 918 | UserModel userModel = Provider.of<UserModel>(context, listen: false); | 925 | UserModel userModel = Provider.of<UserModel>(context, listen: false); |
| 919 | - userModel.token = token; | ||
| 920 | Map<String, String> params = { | 926 | Map<String, String> params = { |
| 921 | "sid": userModel.user.sellerid, | 927 | "sid": userModel.user.sellerid, |
| 922 | "account": userModel.user.account, | 928 | "account": userModel.user.account, |
| 923 | "user_token": Platform.isAndroid ? "Android_$token" : "Ios_$token" | 929 | "user_token": Platform.isAndroid ? "Android_$token" : "Ios_$token" |
| 924 | }; | 930 | }; |
| 931 | + | ||
| 925 | userModel.userTokenInit(context, params); | 932 | userModel.userTokenInit(context, params); |
| 933 | + if (App.sp.containsKey('user')) { | ||
| 934 | + String s = App.sp.getString('user'); | ||
| 935 | + User _user = User.fromJson(json.decode(s)); | ||
| 936 | + _user.tokenLoginOut = | ||
| 937 | + Platform.isAndroid ? "Android_$token" : "Ios_$token"; | ||
| 938 | + | ||
| 939 | + await UserModel().saveUserInfo(_user); | ||
| 940 | + } | ||
| 926 | } | 941 | } |
| 927 | 942 | ||
| 928 | // 消息类型ID 1/2/10 提前点餐/新订单(预定)消息/在线预订 | 943 | // 消息类型ID 1/2/10 提前点餐/新订单(预定)消息/在线预订 |
| @@ -1102,7 +1117,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -1102,7 +1117,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 1102 | Positioned( | 1117 | Positioned( |
| 1103 | top: -8, | 1118 | top: -8, |
| 1104 | right: -8, | 1119 | right: -8, |
| 1105 | - child: _getUnMsgNumUI() | 1120 | + child: _getUnMsgNumUI() && |
| 1121 | + (Utils.getAuthority(context, '消息中心')) | ||
| 1106 | ? Container( | 1122 | ? Container( |
| 1107 | constraints: BoxConstraints( | 1123 | constraints: BoxConstraints( |
| 1108 | minWidth: ScreenUtil().setWidth(36)), | 1124 | minWidth: ScreenUtil().setWidth(36)), |
| @@ -1147,7 +1163,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -1147,7 +1163,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 1147 | Positioned( | 1163 | Positioned( |
| 1148 | top: -8, | 1164 | top: -8, |
| 1149 | right: -8, | 1165 | right: -8, |
| 1150 | - child: _getUnMsgNumUI() | 1166 | + child: _getUnMsgNumUI() && |
| 1167 | + (Utils.getAuthority(context, '消息中心')) | ||
| 1151 | ? Container( | 1168 | ? Container( |
| 1152 | constraints: BoxConstraints( | 1169 | constraints: BoxConstraints( |
| 1153 | minWidth: ScreenUtil().setWidth(36)), | 1170 | minWidth: ScreenUtil().setWidth(36)), |
| @@ -1409,6 +1426,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -1409,6 +1426,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 1409 | // TODO: implement dispose | 1426 | // TODO: implement dispose |
| 1410 | super.dispose(); | 1427 | super.dispose(); |
| 1411 | LogUtil.v("home_dispose"); | 1428 | LogUtil.v("home_dispose"); |
| 1429 | + | ||
| 1430 | + bus.off('refresh_token'); | ||
| 1412 | if (timer != null) { | 1431 | if (timer != null) { |
| 1413 | timer.cancel(); | 1432 | timer.cancel(); |
| 1414 | } | 1433 | } |
| 1 | import 'dart:convert'; | 1 | import 'dart:convert'; |
| 2 | +import 'dart:io'; | ||
| 2 | 3 | ||
| 3 | import 'package:cached_network_image/cached_network_image.dart'; | 4 | import 'package:cached_network_image/cached_network_image.dart'; |
| 4 | import 'package:dotted_border/dotted_border.dart'; | 5 | import 'package:dotted_border/dotted_border.dart'; |
| @@ -135,6 +136,9 @@ class _IfNeedCreateStoreState extends State<IfNeedCreateStore> | @@ -135,6 +136,9 @@ class _IfNeedCreateStoreState extends State<IfNeedCreateStore> | ||
| 135 | _loginStore(context, CheckSellerAccSunModel sunModel) { | 136 | _loginStore(context, CheckSellerAccSunModel sunModel) { |
| 136 | UserModel userModel = Provider.of<UserModel>(context, listen: false); | 137 | UserModel userModel = Provider.of<UserModel>(context, listen: false); |
| 137 | App.sp.setBool("accountLogin", false); | 138 | App.sp.setBool("accountLogin", false); |
| 139 | + if (Platform.isIOS) { | ||
| 140 | + XgFlutterPlugin().stopXg(); | ||
| 141 | + } | ||
| 138 | if (App.sp.containsKey('table_list')) { | 142 | if (App.sp.containsKey('table_list')) { |
| 139 | //退出清空桌位数据 | 143 | //退出清空桌位数据 |
| 140 | App.sp.remove('table_list'); | 144 | App.sp.remove('table_list'); |
| @@ -148,6 +152,7 @@ class _IfNeedCreateStoreState extends State<IfNeedCreateStore> | @@ -148,6 +152,7 @@ class _IfNeedCreateStoreState extends State<IfNeedCreateStore> | ||
| 148 | //退出清空店铺过期数据缓存 | 152 | //退出清空店铺过期数据缓存 |
| 149 | App.sp.remove('sellerEdate'); | 153 | App.sp.remove('sellerEdate'); |
| 150 | } | 154 | } |
| 155 | + bus.emit('refresh_token'); | ||
| 151 | Map<String, dynamic> seller = sunModel.toJson(); | 156 | Map<String, dynamic> seller = sunModel.toJson(); |
| 152 | Map<String, dynamic> userMap = { | 157 | Map<String, dynamic> userMap = { |
| 153 | "openid": seller['uid'], | 158 | "openid": seller['uid'], |
| @@ -25,7 +25,9 @@ import '../models/set_xuan_tai_model.dart'; | @@ -25,7 +25,9 @@ import '../models/set_xuan_tai_model.dart'; | ||
| 25 | 25 | ||
| 26 | class UserModel with ChangeNotifier { | 26 | class UserModel with ChangeNotifier { |
| 27 | String _registrationId; //极光推送registrationId | 27 | String _registrationId; //极光推送registrationId |
| 28 | - String _token; //信鸽推送token | 28 | + // String token; //信鸽推送token |
| 29 | + | ||
| 30 | + // String tokenLoginOut; //信鸽推送token+前缀 | ||
| 29 | List<PullMarketingByUidSunModel> pullMarketingByUidSunModel; | 31 | List<PullMarketingByUidSunModel> pullMarketingByUidSunModel; |
| 30 | // bool accountLogin = false; | 32 | // bool accountLogin = false; |
| 31 | 33 | ||
| @@ -45,11 +47,17 @@ class UserModel with ChangeNotifier { | @@ -45,11 +47,17 @@ class UserModel with ChangeNotifier { | ||
| 45 | 47 | ||
| 46 | String get registrationId => _registrationId; | 48 | String get registrationId => _registrationId; |
| 47 | 49 | ||
| 48 | - String get token => _token; | 50 | + // String get token => _token; |
| 49 | 51 | ||
| 50 | - set token(String value) { | ||
| 51 | - _token = value; | ||
| 52 | - } | 52 | + // String get tokenLoginOut => _tokenLoginOut; |
| 53 | + | ||
| 54 | + // set token(String value) { | ||
| 55 | + // _token = value; | ||
| 56 | + // } | ||
| 57 | + | ||
| 58 | + // set tokenLoginOut(String value) { | ||
| 59 | + // tokenLoginOut = value; | ||
| 60 | + // } | ||
| 53 | 61 | ||
| 54 | /// 初始化 User | 62 | /// 初始化 User |
| 55 | // void initUser() { | 63 | // void initUser() { |
| @@ -332,6 +340,9 @@ class UserModel with ChangeNotifier { | @@ -332,6 +340,9 @@ class UserModel with ChangeNotifier { | ||
| 332 | 340 | ||
| 333 | ///退出登录 | 341 | ///退出登录 |
| 334 | loginOut(BuildContext context, Map<String, String> params) async { | 342 | loginOut(BuildContext context, Map<String, String> params) async { |
| 343 | + params['token'] = | ||
| 344 | + Provider.of<UserModel>(context, listen: false).user.tokenLoginOut; | ||
| 345 | + print(params); | ||
| 335 | BaseResp<int> baseResp = await DioUtil() | 346 | BaseResp<int> baseResp = await DioUtil() |
| 336 | .request<int>(context, Method.get, HttpUrl.login_out, data: params) | 347 | .request<int>(context, Method.get, HttpUrl.login_out, data: params) |
| 337 | .catchError((error) { | 348 | .catchError((error) { |
| @@ -372,6 +383,9 @@ class UserModel with ChangeNotifier { | @@ -372,6 +383,9 @@ class UserModel with ChangeNotifier { | ||
| 372 | ///切换店铺时的退出登录 | 383 | ///切换店铺时的退出登录 |
| 373 | Future<bool> loginOutOnly( | 384 | Future<bool> loginOutOnly( |
| 374 | BuildContext context, Map<String, String> params) async { | 385 | BuildContext context, Map<String, String> params) async { |
| 386 | + params['token'] = | ||
| 387 | + Provider.of<UserModel>(context, listen: false).user.tokenLoginOut; | ||
| 388 | + print(params); | ||
| 375 | BaseResp<int> baseResp = await DioUtil() | 389 | BaseResp<int> baseResp = await DioUtil() |
| 376 | .request<int>(context, Method.get, HttpUrl.login_out, data: params) | 390 | .request<int>(context, Method.get, HttpUrl.login_out, data: params) |
| 377 | .catchError((error) { | 391 | .catchError((error) { |
-
Please register or login to post a comment