mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-14 19:15:06 +08:00
前端 Token、账号、密码等信息,统一使用 LocalStorage 替代 Cookie 存储
This commit is contained in:
@ -1,22 +1,96 @@
|
||||
import Cookies from 'js-cookie'
|
||||
import {decrypt, encrypt} from "@/utils/jsencrypt";
|
||||
|
||||
const AccessTokenKey = 'ACCESS_TOKEN'
|
||||
const RefreshTokenKey = 'REFRESH_TOKEN'
|
||||
|
||||
// ========== Token 相关 ==========
|
||||
|
||||
export function getAccessToken() {
|
||||
return Cookies.get(AccessTokenKey)
|
||||
return localStorage.getItem(AccessTokenKey)
|
||||
}
|
||||
|
||||
export function getRefreshToken() {
|
||||
return Cookies.get(RefreshTokenKey)
|
||||
return localStorage.getItem(RefreshTokenKey)
|
||||
}
|
||||
|
||||
export function setToken(token) {
|
||||
Cookies.set(AccessTokenKey, token.accessToken)
|
||||
Cookies.set(RefreshTokenKey, token.refreshToken)
|
||||
localStorage.setItem(AccessTokenKey, token.accessToken)
|
||||
localStorage.setItem(RefreshTokenKey, token.refreshToken)
|
||||
}
|
||||
|
||||
export function removeToken() {
|
||||
Cookies.remove(AccessTokenKey)
|
||||
Cookies.remove(RefreshTokenKey)
|
||||
localStorage.removeItem(AccessTokenKey)
|
||||
localStorage.removeItem(RefreshTokenKey)
|
||||
}
|
||||
|
||||
// ========== 账号相关 ==========
|
||||
|
||||
const UsernameKey = 'USERNAME'
|
||||
const PasswordKey = 'PASSWORD'
|
||||
const RememberMeKey = 'REMEMBER_ME'
|
||||
|
||||
export function getUsername() {
|
||||
return localStorage.getItem(UsernameKey)
|
||||
}
|
||||
|
||||
export function setUsername(username) {
|
||||
localStorage.setItem(UsernameKey, username)
|
||||
}
|
||||
|
||||
export function removeUsername() {
|
||||
localStorage.removeItem(UsernameKey)
|
||||
}
|
||||
|
||||
export function getPassword() {
|
||||
const password = localStorage.getItem(PasswordKey)
|
||||
return password ? decrypt(password) : undefined
|
||||
}
|
||||
|
||||
export function setPassword(password) {
|
||||
localStorage.setItem(PasswordKey, encrypt(password))
|
||||
}
|
||||
|
||||
export function removePassword() {
|
||||
localStorage.removeItem(PasswordKey)
|
||||
}
|
||||
|
||||
export function getRememberMe() {
|
||||
return localStorage.getItem(RememberMeKey) === 'true'
|
||||
}
|
||||
|
||||
export function setRememberMe(rememberMe) {
|
||||
localStorage.setItem(RememberMeKey, rememberMe)
|
||||
}
|
||||
|
||||
export function removeRememberMe() {
|
||||
localStorage.removeItem(RememberMeKey)
|
||||
}
|
||||
|
||||
// ========== 租户相关 ==========
|
||||
|
||||
const TenantIdKey = 'TENANT_ID'
|
||||
const TenantNameKey = 'TENANT_NAME'
|
||||
|
||||
export function getTenantName() {
|
||||
return localStorage.getItem(TenantNameKey)
|
||||
}
|
||||
|
||||
export function setTenantName(username) {
|
||||
localStorage.setItem(TenantNameKey, username)
|
||||
}
|
||||
|
||||
export function removeTenantName() {
|
||||
localStorage.removeItem(TenantNameKey)
|
||||
}
|
||||
|
||||
export function getTenantId() {
|
||||
return localStorage.getItem(TenantIdKey)
|
||||
}
|
||||
|
||||
export function setTenantId(username) {
|
||||
localStorage.setItem(TenantIdKey, username)
|
||||
}
|
||||
|
||||
export function removeTenantId() {
|
||||
localStorage.removeItem(TenantIdKey)
|
||||
}
|
||||
|
@ -1,9 +1,8 @@
|
||||
import axios from 'axios'
|
||||
import {Message, MessageBox, Notification} from 'element-ui'
|
||||
import store from '@/store'
|
||||
import {getAccessToken, getRefreshToken, setToken} from '@/utils/auth'
|
||||
import {getAccessToken, getRefreshToken, getTenantId, setToken} from '@/utils/auth'
|
||||
import errorCode from '@/utils/errorCode'
|
||||
import Cookies from "js-cookie";
|
||||
import {getPath, getTenantEnable} from "@/utils/ruoyi";
|
||||
import {refreshToken} from "@/api/login";
|
||||
|
||||
@ -21,14 +20,15 @@ let requestList = []
|
||||
// 是否正在刷新中
|
||||
let isRefreshToken = false
|
||||
|
||||
|
||||
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
|
||||
// 创建axios实例
|
||||
const service = axios.create({
|
||||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||
baseURL: process.env.VUE_APP_BASE_API + '/admin-api/', // 此处的 /admin-api/ 地址,原因是后端的基础路径为 /admin-api/
|
||||
// 超时
|
||||
timeout: 30000
|
||||
timeout: 30000,
|
||||
// 禁用 Cookie 等信息
|
||||
withCredentials: false,
|
||||
})
|
||||
// request拦截器
|
||||
service.interceptors.request.use(config => {
|
||||
@ -39,7 +39,7 @@ service.interceptors.request.use(config => {
|
||||
}
|
||||
// 设置租户
|
||||
if (getTenantEnable()) {
|
||||
const tenantId = Cookies.get('tenantId');
|
||||
const tenantId = getTenantId();
|
||||
if (tenantId) {
|
||||
config.headers['tenant-id'] = tenantId;
|
||||
}
|
||||
@ -79,7 +79,6 @@ service.interceptors.response.use(async res => {
|
||||
// 获取错误信息
|
||||
const msg = res.data.msg || errorCode[code] || errorCode['default']
|
||||
if (ignoreMsgs.indexOf(msg) !== -1) { // 如果是忽略的错误码,直接返回 msg 异常
|
||||
console.log('132312311');
|
||||
return Promise.reject(msg)
|
||||
} else if (code === 401) {
|
||||
// 如果未认证,并且未进行刷新令牌,说明可能是访问令牌过期了
|
||||
@ -166,7 +165,7 @@ service.interceptors.response.use(async res => {
|
||||
export function getBaseHeader() {
|
||||
return {
|
||||
'Authorization': "Bearer " + getAccessToken(),
|
||||
'tenant-id': Cookies.get('tenantId'),
|
||||
'tenant-id': getTenantId(),
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user