123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /*
- * @Author: Zp 用户模块 仓库 store
- * @Desc: 这里存储用户数据、登录操作、权限查找、设置token等功能
- * @Date: 2020-03-11 16:59:43
- * @Last Modified by: Zp
- * @Last Modified time: 2020-04-29 20:47:02
- */
- import { login, checkRole, userGetRole } from 'api'
- import { getToken, setToken, getUserName, setUserName, getRoleList, setRoleList, setAdmin } from 'libs/token'
- export default {
- state: {
- token: getToken(),
- userName: getUserName(),
- roleList: getRoleList(),
- // 可操作权限角色数组
- access: [],
- // 判断是否存入权限角色数组
- hasAccess: false
- },
- getters: {
- userName: state => state.userName,
- access: state => state.access
- },
- mutations: {
- // 设置角色名
- setName(state, userName) {
- state.userName = userName
- setUserName(userName)
- },
- // 设置权限列表
- setRoles(state, roleList) {
- state.roleList = roleList
- setRoleList(roleList)
- },
- // 设置权限角色数组
- setAccess(state, access) {
- state.access = access
- },
- // 设置写入权限角色数组状态
- setHasAccess(state, status) {
- state.hasAccess = status
- }
- },
- actions: {
- // 登录相关动作
- login({ commit }, { phoneNum, password }) {
- return new Promise((resolve, reject) => {
- login({ phoneNum, password }).then(
- res => {
- const { data } = res
- setToken(data.token)
- setAdmin(data)
- commit('setName', data.admin.name || data.user.userName)
- resolve(res)
- }
- ).catch(error => {
- reject(error)
- })
- })
- },
- // 退出登录相关动作
- logout({ commit }) {
- return new Promise((resolve, reject) => {
- setToken('')
- commit('setHasAccess', false)
- resolve()
- })
- },
- // 获取角色相关列表
- userGetRole({ state, commit }) {
- return new Promise((resolve, reject) => {
- userGetRole().then(
- res => {
- const roleList = res.data
- commit('setRoles', JSON.stringify(roleList))
- resolve(roleList)
- }
- ).catch(error => {
- reject(error)
- })
- })
- },
- // 检查用户相关信息
- checkRole({ state, commit }) {
- return new Promise((resolve, reject) => {
- checkRole(state.token).then(
- res => {
- const access = res.data
- commit('setAccess', access)
- commit('setHasAccess', true)
- resolve({ access })
- }
- ).catch(error => {
- reject(error)
- })
- })
- }
- },
- modules: {}
- }
|