uniapp 如何优雅的在每个页面判断是否登录?
- 登录时会调用
login
方法把用户信息存到缓存里,
state: {
/**
* 是否需要强制登录
*/
forcedLogin: true,
hasLogin: false,
userName: ""
},
mutations: {
login(state, userName) {
state.userName = userName || '新用户';
state.hasLogin = true;
uni.setStorage({
key: 'userName',
data: userName,
});
},
logout(state) {
state.userName = "";
state.hasLogin = false;
uni.removeStorageSync('userinfo')
// uni.removeStorageSync('userinfo','USERS_KEY')
}
},
- 在首页判断
computed: mapState(['forcedLogin', 'hasLogin', 'userName','login']), onShow() { console.log(this.hasLogin) if (!this.hasLogin) { uni.navigateTo({ url: '../login/login' }); } }
正常点击调转过来没问题,但是用谷歌调试时。一刷新页面就跳到登录页面了,各位大佬有没有好的办法。公司用 uniapp 做个小项目,刚接触不太懂….
推荐文章: