taro-vue小程序开发记录三【缓存用户登入信息,实现自动登入和登入失效验证】
一、内容:缓存用户登入信息,实现自动登入和登入失效验证

二、代码:
设置缓存信息:Taro.setStorageSync("loginData",loginData) ;
获取缓存信息:Taro.getStorageSync('loginData');
调用登入接口成功后缓存用户信息和登入状态
在登入页面初始化时可以在created,mounted,onshow中获取缓存来判断用户登入状态在缓存是否存在,如存在则自动登入;方法之间的区别参考
在ajax拦截器中判断用户登入状态缓存是否存在,如不存在则提示登入失效并跳转到登入页面
登入成功后接口会返回用户基本信息和安全密钥,缓存后再后续调用需安全验证接口时传入后台进行安全验证,可统一封装至请求方法中,避免重复操作,页面在请求时就只需要负责各自方法内所需要的请求参数了。
三、总结:
1、.setStorageSync和.setStorage方法实现语法是不一样的,注意区分,语法使用错误页面不会报错,但程序中将获取不到缓存,要仔细检查代码。我就在这里查了好久,还查出另一个问题,最初在created方法中使用Taro.getStorageSync获取不到缓存,网上查资料时也碰到一人遇到这个问题,解决方法是说将created换成onshow,但还是没有解决我的问题,就是因为我在设置缓存的时候使用了
Taro.setStorageSync({
key:"key",
data:"value"
})
这个语法是不对的,同步的方法是Taro.setStorageSync("key",value) ,但这个语法编译也没有报错,页面也没有错误信息。但是console的Storage是没有记录的,也就没有存到缓存中去,所以在登页初始时获取不到。后面改了语法之后,created,mounted都是可以获取到的。
浙公网安备 33010602011771号