diff --git a/lib/mock_models/users/user_info_model.dart b/lib/mock_models/users/user_info_model.dart index 6abd172..2226d3e 100644 --- a/lib/mock_models/users/user_info_model.dart +++ b/lib/mock_models/users/user_info_model.dart @@ -1,10 +1,56 @@ import 'dart:io'; +enum USER_ROLE { + ///管家角色 + MANAGER, + + ///修理师傅角色 + FIXER, + + ///保安角色 + SECURITY, + + ///无角色 + EMPTY, +} + class UserInfoModel { String nickName; File avatar; + USER_ROLE role; UserInfoModel({ this.nickName, this.avatar, + this.role, + }); + + UserInfoModel.empty({ + this.nickName = '', + this.avatar, + this.role = USER_ROLE.EMPTY, + }); + + ///管家角色生成 + ///password 000000 + UserInfoModel.manager({ + this.nickName = '李管家', + this.avatar, + this.role = USER_ROLE.MANAGER, + }); + + ///师傅角色生成 + ///password 000001 + UserInfoModel.fixer({ + this.nickName = '王师傅', + this.avatar, + this.role = USER_ROLE.FIXER, + }); + + ///师傅角色生成 + ///password 000002 + UserInfoModel.security({ + this.nickName = '林保安', + this.avatar, + this.role = USER_ROLE.SECURITY, }); } diff --git a/lib/provider/user_provider.dart b/lib/provider/user_provider.dart index 5072b15..8ab535d 100644 --- a/lib/provider/user_provider.dart +++ b/lib/provider/user_provider.dart @@ -17,13 +17,16 @@ class UserProvider extends ChangeNotifier { notifyListeners(); } - UserInfoModel _userInfoModel = UserInfoModel( - nickName: '李大海', - avatar: null, - ); + UserInfoModel _userInfoModel = UserInfoModel.empty(); UserInfoModel get userInfoModel => _userInfoModel; + setUserInfo(UserInfoModel model) { + _userInfoModel = model; + _isSigned = true; + notifyListeners(); + } + setNickName(String name) { _userInfoModel.nickName = name; notifyListeners(); diff --git a/lib/ui/home/personal_draw.dart b/lib/ui/home/personal_draw.dart index a8457af..b3d95a0 100644 --- a/lib/ui/home/personal_draw.dart +++ b/lib/ui/home/personal_draw.dart @@ -84,7 +84,7 @@ class _PersonalDrawState extends State { onTap: () {}, child: userProvider.isSigned ? Text( - '李大海', + userProvider.userInfoModel.nickName, style: TextStyle( color: AppStyle.primaryTextColor, fontSize: 28.sp, diff --git a/lib/ui/login/login_sms_page.dart b/lib/ui/login/login_sms_page.dart index 165ce0e..7de3dda 100644 --- a/lib/ui/login/login_sms_page.dart +++ b/lib/ui/login/login_sms_page.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:aku_community_manager/mock_models/users/user_info_model.dart'; import 'package:aku_community_manager/provider/user_provider.dart'; import 'package:aku_community_manager/style/app_style.dart'; import 'package:aku_community_manager/tools/widget_tool.dart'; @@ -7,6 +8,7 @@ import 'package:aku_community_manager/ui/home/home_page.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_back_button.dart'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_ui/common_widgets/aku_material_button.dart'; +import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/material.dart'; import 'package:aku_community_manager/tools/screen_tool.dart'; import 'package:get/get.dart'; @@ -97,8 +99,16 @@ class _LoginSMSPageState extends State { final userProvider = Provider.of(context, listen: false); if (text == '000000') { - userProvider.setisSigned(true); + userProvider.setUserInfo(UserInfoModel.manager()); Get.offAll(HomePage()); + } else if (text == '000001') { + userProvider.setUserInfo(UserInfoModel.fixer()); + Get.offAll(HomePage()); + } else if (text == '000002') { + userProvider.setUserInfo(UserInfoModel.security()); + Get.offAll(HomePage()); + } else { + if (text.length == 6) BotToast.showText(text: '验证码错误'); } }, ), diff --git a/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart b/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart new file mode 100644 index 0000000..9c46ea8 --- /dev/null +++ b/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart @@ -0,0 +1,16 @@ +import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart'; +import 'package:flutter/material.dart'; + +class BusinessAndFixPage extends StatefulWidget { + BusinessAndFixPage({Key key}) : super(key: key); + + @override + _BusinessAndFixPageState createState() => _BusinessAndFixPageState(); +} + +class _BusinessAndFixPageState extends State { + @override + Widget build(BuildContext context) { + return AkuScaffold(); + } +} \ No newline at end of file