作为一个光荣的接盘侠, 需要在接手的项目中实现Token的能力, 正如前篇所说的,我们这web端网页端, app端都是公用一套接口. 就是token过期之后需要使用key去刷新token. 还好以前小程序的网络请求是全部封装挂载到App下面, 我只需要做一下兼容处理, 完全easy. 不过麻烦的应该是在状态管理, 小程序上面没有vue中备受好评的vuex, 心痛, 只能自己新建一个呢.
以前这用户信息全是直接, 怎么说呢, 直接永久存在Storage里面. emmm, 一次登陆,永不下线. 现在我们需要做的就是重新封装网络请求部分和状态管理部分
新建 store/user.js
这里呢,我们通过封装一些函数, 来达到操作小程序中Storage的效果.
1 | /** |
新建store/index.js
这里我们通过调用前面定义好的函数, 来获取到小程序上次打开的状态信息, 并且将其挂载到app上实现全局状态.
1 | /** |
最后应该就是处理网络请求的 store/request.js
在这里我们暴漏出几个网络请求的函数, 来实现token的统一处理
1 | /* |
结束
在这里我们就是通过拦截所有的网络请求进行处理, 其实原理完全是一样的, 我们知道异步的回调时间不定的, 所以在接收到错误的时候我们还可以在发送两个请求, 将最后的结果返回出去, 中间完全可以让用户一直等待