| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-12-27 09:33:01 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-09 10:21:05 |
| | | * @LastEditTime: 2023-02-20 15:53:27 |
| | | * @FilePath: \srs-police-affairs\src\store\modules\user.js |
| | | * @Description: |
| | | * |
| | | * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. |
| | | */ |
| | | |
| | | import { loginByUsername, logout } from "@/api/login/login" |
| | | import { Message } from 'element-ui' |
| | | import md5 from "js-md5" |
| | | import * as auth from '@/utils/auth' |
| | | import { setStore, getStore } from '@/utils/store' |
| | | import { refreshToken } from '@/api/user' |
| | | import { validatenull } from '@/utils/validate' |
| | | |
| | | const user = { |
| | | state: { |
| | | tenantId: getStore({ name: 'tenantId' }) || '', |
| | | userInfo: getStore({ name: 'userInfo' }) || [], |
| | | token: getStore({ name: 'token' }) || '', |
| | | refreshToken: getStore({ name: 'refreshToken' }) || '', |
| | | }, |
| | | actions: { |
| | | //根据用户名登录 |
| | |
| | | } else { |
| | | commit("SET_TOKEN", data.access_token) |
| | | commit('SET_USER_INFO', data) |
| | | commit('SET_REFRESH_TOKEN', data.refresh_token) |
| | | commit('SET_TENANT_ID', data.tenant_id) |
| | | } |
| | | resolve() |
| | | }) |
| | |
| | | commit('SET_TOKEN', '') |
| | | auth.removeToken() |
| | | auth.removeUserInfo() |
| | | auth.removeRefreshToken() |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | | }) |
| | | }, |
| | | //刷新token |
| | | refreshToken ({ state, commit }, userInfo) { |
| | | window.console.log('handle refresh token') |
| | | return new Promise((resolve, reject) => { |
| | | refreshToken(state.refreshToken, state.tenantId, |
| | | !validatenull(userInfo) ? userInfo.deptId : state.userInfo.dept_id, |
| | | !validatenull(userInfo) ? userInfo.roleId : state.userInfo.role_id |
| | | ).then(res => { |
| | | const data = res.data |
| | | commit('SET_TOKEN', data.access_token) |
| | | commit('SET_REFRESH_TOKEN', data.refresh_token) |
| | | commit('SET_USER_INFO', data) |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error) |
| | |
| | | mutations: { |
| | | SET_TOKEN: (state, token) => { |
| | | auth.setToken(token) |
| | | state.token = token |
| | | setStore({ name: 'store-token', content: state.token }) |
| | | }, |
| | | SET_USER_INFO: (state, userInfo) => { |
| | | state.userInfo = userInfo |
| | | auth.setUserInfo(state.userInfo) |
| | | setStore({ name: 'userInfo', content: state.userInfo }) |
| | | }, |
| | | |
| | | SET_REFRESH_TOKEN: (state, refreshToken) => { |
| | | auth.setRefreshToken(refreshToken) |
| | | state.refreshToken = refreshToken |
| | | setStore({ name: 'refreshToken', content: state.refreshToken }) |
| | | }, |
| | | |
| | | SET_TENANT_ID: (state, tenantId) => { |
| | | state.tenantId = tenantId |
| | | setStore({ name: 'tenantId', content: state.tenantId }) |
| | | }, |
| | | } |
| | | } |
| | | |