用户登录

下面我们可以使用刚才定义的 AuthStore 替换掉之前的 AuthModel。

先打开 app_provider.dart,查找一下文件里的 AuthModel,选中区分大小写,替换成 AuthStore,执行全部替换。再查找首字母小写的 authModel,替换成 authStore,全部替换。

选择导入需要的 AuthStore ,然后删除掉不需要的 auth_model 导入。 再打开 AuthService 修改一下这个类。AuthModel 这个类型替换成 AuthStore,名字也换成 authStore,构造方法里添加的是 this.authStore。

在构造方法里,可以声明一个 token,值判断一下 authStore.auth 不等于 null 如果是就用 authStore.auth!.token 不然就是空白字符。修改一下 ApiHttpClient 的 token 参数的值,设置成 token。

这里需要再导入需要的 AuthStore。 在文件顶部,删除掉不需要的 auth_model 导入。

批量替换

在项目里还有些地方用到了 AuthModel,我们都需要把它们替换成 AuthStore。下面可以查找一下 lib 这个目录,先找一下首字母小写的 authModel,区分小大写,替换成 authStore,选择全部替换。

再查找一下首字母大写的 AuthModel ,替换成 AuthStore,执行全部替换。 下面再查找一下 auth_model ,替换成 auth_store。执行全部替换。

打开 auth_provider,删除掉这里的其中的一个 authStoreProvider,再删除掉重复导入的 auth_store。

然后打开 lib/user/profile 下面的 user_profile.dart,找到出问题的地方,在它上面声明一个 userName,值可以判断 authStore.auth 不等于 null ,条件成立就让 userName 等于 authStore.auth!.name ,不然就是空白字符。

改一下 userProfile 里的这个 Text 小部件的值,换成 userName。 重新启动一下应用。

再找到项目里的 auth_model.dart 这个文件,把它删除掉。

测试

下面再测试一下,打开 用户,点一下用户名,退出登录,然后再点一下登录,输入用户名,再输入用户的密码,点击登录。成功以后会显示用户的名字。再重新启动一下应用,然后打开 用户,这里仍然会显示用户的名字。

用 AuthStore 替换 AuthModel《 Flutter 移动端实例:修复改进 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点