122 lines
2.5 KiB
JavaScript
122 lines
2.5 KiB
JavaScript
import { CookieStorage } from "cookie-storage";
|
|
import config from "@/config";
|
|
|
|
const cookieStorage = new CookieStorage();
|
|
|
|
const systemCode = config.systemCode;
|
|
|
|
// 随机长度字符串
|
|
const randomString = (len) => {
|
|
len = len || 10;
|
|
var chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
var maxPos = chars.length;
|
|
var str = "";
|
|
for (let i = 0; i < len; i++) {
|
|
str += chars.charAt(Math.floor(Math.random() * maxPos));
|
|
}
|
|
return str;
|
|
};
|
|
|
|
// 设置localStorage
|
|
const _setItem = (key, data) => {
|
|
localStorage.setItem(key, JSON.stringify(data));
|
|
};
|
|
|
|
// 获取localStorage
|
|
const _getItem = (key) => {
|
|
let data = localStorage.getItem(key);
|
|
if (data) data = JSON.parse(data);
|
|
return data;
|
|
};
|
|
|
|
// 删除localStorage
|
|
const _removeItem = (key) => {
|
|
localStorage.removeItem(key);
|
|
};
|
|
|
|
// 缓存用户信息
|
|
const setUserInfoCache = (info) => {
|
|
let data = {
|
|
account: info.account,
|
|
avatar: info.avatar,
|
|
userId: info.userId,
|
|
userName: info.userName,
|
|
};
|
|
_setItem("__UserInfo__", data);
|
|
};
|
|
|
|
// 获取缓存的用户信息
|
|
const getUserInfoCache = () => {
|
|
let data = _getItem("__UserInfo__");
|
|
return data;
|
|
};
|
|
|
|
// 删除用户信息
|
|
const removeUserInfoCache = () => {
|
|
_removeItem("__UserInfo__");
|
|
};
|
|
|
|
// 缓存token
|
|
const setToken = (value) => {
|
|
let curDate = new Date();
|
|
let nextDate = new Date(curDate.getTime() + 24 * 60 * 60 * 1000);
|
|
|
|
cookieStorage.setItem("Authorization", value, {
|
|
domain: document.domain,
|
|
expires: nextDate,
|
|
});
|
|
};
|
|
|
|
// 获取token
|
|
const getToken = () => {
|
|
return cookieStorage.getItem("Authorization");
|
|
};
|
|
|
|
// 删除token
|
|
const removeToken = () => {
|
|
cookieStorage.removeItem("Authorization");
|
|
};
|
|
|
|
// 缓存用户权限
|
|
const setUserPowerCache = (arr) => {
|
|
let map = {};
|
|
for (let i = 0; i < arr.length; i++) {
|
|
let k = arr[i].powerCode;
|
|
map[k] = arr[i];
|
|
}
|
|
_setItem(`__UserPower_${systemCode}__`, map);
|
|
};
|
|
|
|
// 获取缓存的用户权限
|
|
const getUserPowerCache = () => {
|
|
let data = _getItem(`__UserPower_${systemCode}__`);
|
|
return data;
|
|
};
|
|
|
|
// 获取指定的用户权限
|
|
const getUserSomeonePowerCache = (code) => {
|
|
let data = getUserPowerCache();
|
|
let item = null;
|
|
if (data) item = data[code];
|
|
return item;
|
|
};
|
|
|
|
// 删除用户权限
|
|
const removeUserPowerCache = () => {
|
|
_removeItem(`__UserPower_${systemCode}__`);
|
|
};
|
|
|
|
export {
|
|
randomString,
|
|
setUserInfoCache,
|
|
getUserInfoCache,
|
|
removeUserInfoCache,
|
|
setToken,
|
|
getToken,
|
|
removeToken,
|
|
setUserPowerCache,
|
|
getUserPowerCache,
|
|
removeUserPowerCache,
|
|
getUserSomeonePowerCache,
|
|
};
|