import Cookies from 'js-cookie' const TokenKey = 'Authorization-Token' import $storage from 'good-storage' import store from '@/store' import { encode } from 'js-base64' // token失效时间:天 const expiresDays = 365 // 获取登录信息 export function getUserInfo() { return $storage.get('userInfo') || {} } // 设置用户信息 export function setUserInfo(data) { let userInfoKey = 'userInfo' $storage.set(userInfoKey, data) } // 获取token export function getToken() { return Cookies.get(TokenKey) } /** * 设置Token,没有失效时间 * 需要判断当前是否是应用,不同的应用存为不同的token * @param {String} token */ export function setToken(token) { return Cookies.set(TokenKey, token, { expires: expiresDays }) } // 移除Token export function removeToken() { return Cookies.remove(TokenKey) } // 设置登录信息 export function setLogin(value) { return Cookies.set("loginInfo", JSON.stringify(value), { expires: expiresDays }) } // 读取登录名 export function getLogin() { return Cookies.get("loginInfo") } // 获取请求头参数 export function getHeaders() { let headers = {} // 请求中包含token const token = getToken() if (token) headers.Authorization = `Bearer ${token}` headers['x-login-type'] = "web" // 多语言 let lang = store.state.main.language; // headers.LanguageCode = lang; headers['language'] = lang; return headers } // 获取组件尺寸 export function getDimension() { let dimension = localStorage.getItem('dimension') || 'default' return dimension } // 设置组件尺寸 export function setDimension(value) { return localStorage.setItem('dimension', value) } // 获取当前语言 export function getLang() { return store.state.main.language } // 切换主题 export function toggleTheme() { let theme = store.state.main.theme let current = document.body.getAttribute('arco-theme') || '' if (theme !== current) { if (theme == 'dark') { document.body.setAttribute('arco-theme', 'dark') } else if (theme == '') { document.body.removeAttribute('arco-theme') } } } // 判断是否有权限 export function hasPermission(code) { if (!code) return false if (code === 'pass') return true let permissions = store.state.user.permissions return permissions.some((item) => item === code) }