在使用的过程中,我的全局js 变量在app端总是被重置。在ios和Android上面都有过测试。在mp和H5上可以正常使用。
export const tokenInfo = {
access: null,
accessTime: null,
refresh: null,
refreshTime: null
}
我从storage中获取保存的aceess/refresh等信息,然后放入tokenInfo中,接下来我就利用tokenInfo进行请求测试,接下来的请求中往往第一个请求能够获取到tokenInfo,第二个请求获取tokenInfo的时候每一个item就都是空了。
我有一个 请求库,请求库需要用到这个 tokenInfo,每一次请求都会检测 tokenInfo 是否过期,过期就刷新token,或者终止请求等。
因为vuex中的actions引入了这个请求库,所以我暂时没有把 tokenInfo放入 vuex中,只是 用了 一个全局的js文件来存储。
莫非我要放弃所有的actions,然后把 tokenInfo 放在 vuex中?
而 store 在工具类 js中隔离,无法互通。
# 总结
- 全局js变量,在nvue中不可用,会被重置;
- store/vuex在非mixin或者页面的js中不可用,取出来的值都是初始值;
- 使用getApp共享全局变量;