feat: 初始化

This commit is contained in:
dengtongyu committed 2021-12-07 21:46:00 +08:00
commit d726e4b532
27 files changed
+817

No files matched your search

+121
View File
@@ -0,0 +1,121 @@
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,
};