修复 自动登录时,实名认证姓名为空的问题(本地化存储=>hivebox)

master
zhangmeng 4 years ago
parent 6dcd935d7f
commit 4894169c8f

@ -13,6 +13,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:recook/widgets/progress/re_toast.dart';
import 'package:redux/redux.dart';
import 'package:recook/constants/constants.dart';
@ -21,7 +22,6 @@ import 'package:recook/constants/styles.dart';
import 'package:recook/redux/recook_state.dart';
import 'package:recook/utils/app_router.dart';
import 'package:recook/utils/print_util.dart';
import 'package:recook/widgets/progress/sc_dialog.dart';
abstract class BaseStoreState<T extends StatefulWidget> extends State<T>
with AutomaticKeepAliveClientMixin {
@ -157,20 +157,18 @@ abstract class BaseStoreState<T extends StatefulWidget> extends State<T>
Future<Null> showError(String error,
{Duration duration = const Duration(milliseconds: 1000)}) async {
return GSDialog.of(globalContext)
.showError(globalContext, error, duration: duration);
return ReToast.err(text: error);
}
Future<Null> showSuccess(String success) async {
return GSDialog.of(globalContext).showSuccess(globalContext, success);
return ReToast.success(text: success);
}
showLoading(String loading) {
GSDialog.of(globalContext).showLoadingDialog(globalContext, loading);
ReToast.loading();
}
dismissLoading() {
GSDialog.of(globalContext).dismiss(globalContext);
}
@override

@ -12,6 +12,7 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:power_logger/power_logger.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/constants/config.dart';
@ -27,8 +28,9 @@ class UserDao {
access_token openid
*/
static Future<Map> getOpenId(code) async {
String url = "$openIdUrl?appid=${AppConfig.WX_APP_ID}&secret=${AppConfig.WX_APP_SECRET}&code=$code&grant_type=authorization_code";
Response res = await HttpManager.netFetchNormal(url, null,null,null);
String url =
"$openIdUrl?appid=${AppConfig.WX_APP_ID}&secret=${AppConfig.WX_APP_SECRET}&code=$code&grant_type=authorization_code";
Response res = await HttpManager.netFetchNormal(url, null, null, null);
Map map = json.decode(res.toString());
return map;
}
@ -37,11 +39,8 @@ class UserDao {
*/
static weChatLogin(String code,
{@required OnSuccess<User> success,
@required OnFailure failure}) async {
ResultData res =
await HttpManager.post(UserApi.wx_login, {"code": code});
{@required OnSuccess<User> success, @required OnFailure failure}) async {
ResultData res = await HttpManager.post(UserApi.wx_login, {"code": code});
if (!res.result) {
failure(res.code, res.msg);
} else {
@ -61,8 +60,8 @@ class UserDao {
{@required OnSuccess<User> success, @required OnFailure failure}) async {
// ResultData res = await HttpManager.post(
// UserApi.wx_register, {"wxUnionId":wxUnionId,"mobile":mobile,"sms":sms,"invitationNo":invitationNo.toUpperCase()});
ResultData res = await HttpManager.post(
UserApi.wx_register, {"wxUnionId":wxUnionId,"mobile":mobile,"sms":sms});
ResultData res = await HttpManager.post(UserApi.wx_register,
{"wxUnionId": wxUnionId, "mobile": mobile, "sms": sms});
if (!res.result) {
failure(res.code, res.msg);
} else {
@ -82,8 +81,8 @@ class UserDao {
{@required OnSuccess<User> success, @required OnFailure failure}) async {
// ResultData res = await HttpManager.post(
// UserApi.wx_register, {"wxUnionId":wxUnionId,"mobile":mobile,"sms":sms,"invitationNo":invitationNo.toUpperCase()});
ResultData res = await HttpManager.post(
UserApi.wx_invitation, {"wxUnionId":wxUnionId,"invitationNo":invitationNo.toUpperCase()});
ResultData res = await HttpManager.post(UserApi.wx_invitation,
{"wxUnionId": wxUnionId, "invitationNo": invitationNo.toUpperCase()});
if (!res.result) {
failure(res.code, res.msg);
} else {
@ -96,7 +95,6 @@ class UserDao {
}
}
/*
*/
@ -138,7 +136,6 @@ class UserDao {
}
}
/*
*/
@ -146,21 +143,24 @@ class UserDao {
// {@required OnSuccess<User> success, @required OnFailure failure}) async {
// ResultData res =
// await HttpManager.post(UserApi.auto_login, {}, header: header);
static autoLogin(Map<String, dynamic> params,
{@required OnSuccess<User> success, @required OnFailure failure}) async {
ResultData res =
await HttpManager.post(UserApi.auto_login, params, );
if (!res.result) {
failure(res.code, res.msg);
} else {
UserModel model = UserModel.fromJson(res.data);
if (model.code == HttpStatus.SUCCESS) {
success(model.data, model.code, model.msg);
} else {
failure(model.code, model.msg);
}
}
}
/*无效代码*/
// static autoLogin(Map<String, dynamic> params,
// {@required OnSuccess<User> success, @required OnFailure failure}) async {
// ResultData res = await HttpManager.post(
// UserApi.auto_login,
// params,
// );
// if (!res.result) {
// failure(res.code, res.msg);
// } else {
// UserModel model = UserModel.fromJson(res.data);
// if (model.code == HttpStatus.SUCCESS) {
// success(model.data, model.code, model.msg);
// } else {
// failure(model.code, model.msg);
// }
// }
// }
/*
@ -171,8 +171,10 @@ class UserDao {
// await HttpManager.post(UserApi.auto_login, {}, header: header);
static launch(Map<String, dynamic> params,
{@required OnSuccess success, @required OnFailure failure}) async {
ResultData res =
await HttpManager.post(UserApi.launch, params,);
ResultData res = await HttpManager.post(
UserApi.launch,
params,
);
if (!res.result) {
failure(res.code, res.msg);
} else {
@ -190,8 +192,8 @@ class UserDao {
*/
static phoneRegister(String phone, String invitationNo,
{@required OnSuccess<User> success, @required OnFailure failure}) async {
ResultData res = await HttpManager.post(
UserApi.phone_register, {"mobile": phone, "invitationNo": invitationNo.toUpperCase()});
ResultData res = await HttpManager.post(UserApi.phone_register,
{"mobile": phone, "invitationNo": invitationNo.toUpperCase()});
if (!res.result) {
failure(res.code, "网络错误");

@ -10,6 +10,8 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:power_logger/power_logger.dart';
import 'package:recook/utils/storage/hive_store.dart';
import 'package:redux/redux.dart';
@ -78,17 +80,18 @@ class UserManager {
instance.user = user;
instance.login.value = true;
String jsonStr = json.encode(user.toJson());
await SharePreferenceUtils.setString(AppStrings.key_user, jsonStr);
store.dispatch(UpdateUserAction(user));
// await SharePreferenceUtils.setString(AppStrings.key_user, jsonStr);
// store.dispatch(UpdateUserAction(user));
HiveStore.appBox.put('key_user', jsonStr);
UserManager.instance.updateUserBriefInfo(store);
return true;
}
static updateUserInfo(Store<RecookState> store) async {
String jsonStr = json.encode(instance.user.toJson());
await SharePreferenceUtils.setString(AppStrings.key_user, jsonStr);
store.dispatch(UpdateUserAction(instance.user));
// await SharePreferenceUtils.setString(AppStrings.key_user, jsonStr);
// store.dispatch(UpdateUserAction(instance.user));
HiveStore.appBox.put('key_user', jsonStr);
}
static logout() async {

@ -159,7 +159,7 @@ class Info {
int userLevel;
bool isSetPayPwd; //
bool realInfoStatus; //
String realName;
String realName;//
String idCard;
///

@ -109,6 +109,7 @@ Map<String, dynamic> _$InfoToJson(Info instance) => <String, dynamic>{
'userLevel': instance.userLevel,
'isSetPayPwd': instance.isSetPayPwd,
'realInfoStatus': instance.realInfoStatus,
'realName':instance.realName,
};
Tkn _$TknFromJson(Map<String, dynamic> json) {

@ -12,6 +12,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:power_logger/power_logger.dart';
import 'package:recook/base/base_store_state.dart';
import 'package:recook/constants/header.dart';
@ -800,8 +801,8 @@ class _GoodsOrderPageState extends BaseStoreState<GoodsOrderPage> {
}
bool get identicalName =>
UserManager.instance.user.info.realName ==
_orderModel.data.addr.receiverName;
UserManager.instance.user.info.realName.removeAllWhitespace ==
_orderModel.data.addr.receiverName.removeAllWhitespace;
_allAmountTitle() {
return Container(

@ -15,6 +15,7 @@ import 'package:flutter/material.dart';
import 'package:extended_image/extended_image.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:package_info/package_info.dart';
import 'package:power_logger/power_logger.dart';
import 'package:recook/base/base_store_state.dart';
import 'package:recook/constants/api.dart';
@ -28,6 +29,7 @@ import 'package:recook/models/user_model.dart';
import 'package:recook/utils/app_router.dart';
import 'package:recook/utils/print_util.dart';
import 'package:recook/utils/share_preference.dart';
import 'package:recook/utils/storage/hive_store.dart';
import 'package:recook/widgets/toast.dart';
class WelcomeWidget extends StatefulWidget {
@ -312,20 +314,23 @@ class _WelcomeWidgetState extends BaseStoreState<WelcomeWidget> {
*/
_autoLogin() {
_getLaunchInfo();
UserDao.autoLogin(
{'userId': UserManager.instance.user.info.id},
failure: (String code, String msg) {},
success: (User data, String code, String msg) {},
);
//
// UserDao.autoLogin(
// {'userId': UserManager.instance.user.info.id},
// failure: (String code, String msg) {},
// success: (User data, String code, String msg) {},
// );
}
_getLaunchInfo() {
// Future.delayed(Duration(seconds: 2), () {
SharePreferenceUtils.getString(AppStrings.key_user).then((value) {
DPrint.printf(value);
_launch(value);
});
// SharePreferenceUtils.getString(AppStrings.key_user).then((value) {
// LoggerData.addData(value);
// _launch(value);
// });
// });
var value = HiveStore.appBox.get('key_user');
_launch(value);
}
_launch(String value) {

Loading…
Cancel
Save