|
|
@ -1,105 +1,66 @@ |
|
|
|
import storage from '@/utils/storage' |
|
|
|
import constant from '@/utils/constant' |
|
|
|
import {getInfo, login, logout} from '@/api/login' |
|
|
|
import {getIsLogin, getToken, removeToken, setIsLogin, setToken} from '@/utils/auth' |
|
|
|
import {currentUrl} from '@/utils/getUrl' |
|
|
|
import { |
|
|
|
getInfo, |
|
|
|
login, |
|
|
|
logout |
|
|
|
} from '@/api/login' |
|
|
|
import { |
|
|
|
getIsLogin, |
|
|
|
getToken, |
|
|
|
removeToken, |
|
|
|
setIsLogin, |
|
|
|
setToken |
|
|
|
} from '@/utils/auth' |
|
|
|
import { |
|
|
|
currentUrl |
|
|
|
} from '@/utils/getUrl' |
|
|
|
import { |
|
|
|
wxLogin |
|
|
|
} from "../../api/system/user"; |
|
|
|
|
|
|
|
const baseUrl = currentUrl |
|
|
|
const user = { |
|
|
|
state: { |
|
|
|
token: getToken(), |
|
|
|
name: storage.get(constant.name), |
|
|
|
avatar: storage.get(constant.avatar), |
|
|
|
roles: storage.get(constant.roles), |
|
|
|
permissions: storage.get(constant.permissions), |
|
|
|
isLogin: getIsLogin(constant.isLogin) |
|
|
|
}, |
|
|
|
state: { |
|
|
|
accessToken: uni.getStorageSync("token") || "", |
|
|
|
userInfo: uni.getStorageSync("baseInfo") ? JSON.parse(uni.getStorageSync("baseInfo")) : {} |
|
|
|
}, |
|
|
|
|
|
|
|
mutations: { |
|
|
|
SET_TOKEN: (state, token) => { |
|
|
|
state.token = token |
|
|
|
}, |
|
|
|
SET_NAME: (state, name) => { |
|
|
|
state.name = name |
|
|
|
storage.set(constant.name, name) |
|
|
|
}, |
|
|
|
SET_AVATAR: (state, avatar) => { |
|
|
|
state.avatar = avatar |
|
|
|
storage.set(constant.avatar, avatar) |
|
|
|
}, |
|
|
|
SET_ROLES: (state, roles) => { |
|
|
|
state.roles = roles |
|
|
|
storage.set(constant.roles, roles) |
|
|
|
}, |
|
|
|
SET_PERMISSIONS: (state, permissions) => { |
|
|
|
state.permissions = permissions |
|
|
|
storage.set(constant.permissions, permissions) |
|
|
|
}, |
|
|
|
SET_IsLOGIN: (state, isLogin) => { |
|
|
|
state.isLogin = isLogin |
|
|
|
storage.set(constant.isLogin, isLogin) |
|
|
|
} |
|
|
|
}, |
|
|
|
mutations: { |
|
|
|
// 设置token
|
|
|
|
setAccessToken(state, token) { |
|
|
|
state.accessToken = token; |
|
|
|
}, |
|
|
|
|
|
|
|
actions: { |
|
|
|
// 登录
|
|
|
|
Login({commit}, userInfo) { |
|
|
|
const username = userInfo.username.trim() |
|
|
|
const password = userInfo.password |
|
|
|
const code = userInfo.code |
|
|
|
const uuid = userInfo.uuid |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
login(username, password, code, uuid).then(res => { |
|
|
|
setToken(res.token) |
|
|
|
setIsLogin(true) |
|
|
|
commit('SET_TOKEN', res.token) |
|
|
|
commit('SET_IsLOGIN', true) |
|
|
|
resolve() |
|
|
|
}).catch(error => { |
|
|
|
reject(error) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 设置用户信息
|
|
|
|
setUserInfo(state,userInfo) { |
|
|
|
state.userInfo = userInfo; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 获取用户信息
|
|
|
|
GetInfo({commit, state}) { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
getInfo().then(res => { |
|
|
|
const user = res.user |
|
|
|
const avatar = (user == null || user.avatar == "" || user.avatar == null) ? require("@/static/images/profile.jpg") : baseUrl + user.avatar |
|
|
|
const username = (user == null || user.userName == "" || user.userName == null) ? "" : user.userName |
|
|
|
if (res.roles && res.roles.length > 0) { |
|
|
|
commit('SET_ROLES', res.roles) |
|
|
|
commit('SET_PERMISSIONS', res.permissions) |
|
|
|
} else { |
|
|
|
commit('SET_ROLES', ['ROLE_DEFAULT']) |
|
|
|
} |
|
|
|
commit('SET_NAME', username) |
|
|
|
commit('SET_AVATAR', avatar) |
|
|
|
resolve(res) |
|
|
|
}).catch(error => { |
|
|
|
reject(error) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 退出系统
|
|
|
|
LogOut({commit, state}) { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
logout(state.token).then(() => { |
|
|
|
commit('SET_TOKEN', '') |
|
|
|
commit('SET_ROLES', []) |
|
|
|
commit('SET_PERMISSIONS', []) |
|
|
|
commit('SET_IsLOGIN', false) |
|
|
|
removeToken() |
|
|
|
storage.clean() |
|
|
|
resolve() |
|
|
|
}).catch(error => { |
|
|
|
reject(error) |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
actions: { |
|
|
|
login(context) { |
|
|
|
uni.login({ |
|
|
|
success: (res) => { |
|
|
|
const code = res.code |
|
|
|
wxLogin({ |
|
|
|
code |
|
|
|
}).then(res => { |
|
|
|
if (res.code === 200) { |
|
|
|
uni.setStorageSync("token", res.data.token) |
|
|
|
uni.setStorageSync("baseInfo", JSON.stringify(res.data.userInfo)) |
|
|
|
context.commit('setAccessToken', res.data.token); |
|
|
|
context.commit('setUserInfo', res.data.userInfo); |
|
|
|
setIsLogin("isLogin",true); |
|
|
|
uni.navigateTo({ |
|
|
|
url: "/pages/login/wxUserInfo" |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
export default user |
|
|
|
export default user |