You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
<script>
|
|
import { mapState, mapMutations, mapActions } from 'vuex';
|
|
|
|
export default {
|
|
async onLaunch() {
|
|
if (localStorage.getItem('user')) {
|
|
var obj = localStorage.getItem('user')
|
|
// console.log(JSON.parse(obj))
|
|
this.cacheData(obj)
|
|
}
|
|
if (localStorage.getItem('token')) {
|
|
var obj = localStorage.getItem('token')
|
|
// console.log(JSON.parse(obj))
|
|
this.$store.state.user.token = obj
|
|
}
|
|
},
|
|
created () {
|
|
//在页面加载时读取sessionStorage里的状态信息
|
|
if (sessionStorage.getItem("store") ) {
|
|
this.$store.replaceState(Object.assign({}, this.$store.state,JSON.parse(sessionStorage.getItem("store"))))
|
|
}
|
|
//在页面刷新时将vuex里的信息保存到sessionStorage里
|
|
window.addEventListener("beforeunload",()=>{
|
|
sessionStorage.setItem("store",JSON.stringify(this.$store.state))
|
|
})
|
|
},
|
|
methods:{
|
|
...mapMutations('user', ['setToken', 'setUser','setBindMsg']),
|
|
// 缓存user data
|
|
cacheData(data) {
|
|
const { token } = data;
|
|
this.setToken(token);
|
|
this.setUser(data);
|
|
// console.log(this.$store.state.user.token)
|
|
// console.log(this.$store.state.user.user.wxInfo)
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
@import 'colorui/main.scss';
|
|
@import 'colorui/icon.scss';
|
|
@import 'colorui/animation.scss';
|
|
@import 'common/style/global';
|
|
@import 'common/style/iconfont';
|
|
body{
|
|
background: $white;
|
|
padding-bottom: 100px;
|
|
}
|
|
</style>
|
|
|