|
@@ -1,21 +1,27 @@
|
|
|
const jwt = require('jsonwebtoken');
|
|
|
-
|
|
|
export const setUser = (state, payload) => {
|
|
|
let res = true;
|
|
|
//登陆时
|
|
|
if (payload) {
|
|
|
state.token = payload;
|
|
|
- let user = jwt.decode(payload);
|
|
|
- console.log(user);
|
|
|
} else {
|
|
|
//已经登陆,切换路由时取出用户信息放在总store中
|
|
|
let token = localStorage.getItem('token');
|
|
|
- if (token) {
|
|
|
+ if (token && token !== 'guest') {
|
|
|
state.user = jwt.decode(token);
|
|
|
+ } else if (token && token == 'guest') {
|
|
|
+ let user = localStorage.getItem('user');
|
|
|
+ state.user = JSON.parse(user);
|
|
|
} else {
|
|
|
- res = false;
|
|
|
- state.user = undefined;
|
|
|
- console.warn('用户未登录');
|
|
|
+ let timestamp = new Date().getTime();
|
|
|
+ let user = {
|
|
|
+ // id: `guest${timestamp}`,
|
|
|
+ name: `游客${timestamp}`,
|
|
|
+ };
|
|
|
+ state.user = user;
|
|
|
+ localStorage.setItem('token', 'guest');
|
|
|
+ localStorage.setItem('user', JSON.stringify(user));
|
|
|
+ console.warn('游客身份');
|
|
|
}
|
|
|
}
|
|
|
return res;
|
|
@@ -23,7 +29,5 @@ export const setUser = (state, payload) => {
|
|
|
|
|
|
export const deleteUser = (state, payload) => {
|
|
|
state.user = {};
|
|
|
- state.menuList = [];
|
|
|
localStorage.removeItem('user');
|
|
|
- localStorage.removeItem('menuList');
|
|
|
};
|