跳绳比赛远程报名系统
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.
 
 
 

52 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
this.$store.state.user.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>