132 lines
3.3 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 获取localStorage
*/
function getStorage(name) {
if (!name) return;
if (window.localStorage.getItem(name) === 'null') {
return null;
}
return window.localStorage.getItem(name);
}
/**
* 存储localStorage
*/
function setStorage(name, content) {
if (!name) return;
if (typeof content !== 'string') {
content = JSON.stringify(content);
}
window.localStorage.setItem(name, content);
}
/**
* 删除localStorage
*/
function removeStorage(name) {
if (!name) return;
window.localStorage.removeItem(name);
}
export function setUser(user) {
if (!user) {
return null;
}
return setUserStorage({
// avatar: user.avatar ? user.avatar : null,
// org_id: user.org_id ? user.org_id : null,
// org_logo: user.org_logo ? user.org_logo : null,
// org_name: user.org_name ? user.org_name : null,
// role: user.role ? user.role : null,
token: user.token ? user.token : null, //当前系统正在使用的token用来兼容模板的启动
user_token: user.user_token ? user.user_token : user.token, //保存普通用户使用的token
admin_token: user.admin_token ? user.admin_token : null, //保存管理员用的token
// token_expire: user.token_expire ? user.token_expire : null,
// username: user.username ? user.username : null,
// realname: user.realname ? user.realname : null
});
}
/**
* 获取存储到storage中的用户信息
* @returns {any|null}
*/
export const getUserInfo = function () {
let user = getStorage(import.meta.env.VITE_APP_PROJECTNAME);
if (window.Android) {
let androidToken = window.Android.getToken();
return {
token: androidToken,
admin_token: androidToken,
user_token: androidToken,
};
} else {
return user ? JSON.parse(user) : null;
}
};
/**
* 获取token
* @returns {*|null}
*/
export const getToken = function () {
let token = null;
if (window.CELLSYSTOKEN) {
token = window.CELLSYSTOKEN;
} else {
//目前只会在登录之后获取用户信息时进入此逻辑登录之后固定为user_token
if (getUserInfo()) {
let user = getUserInfo();
window.CELLSYSTOKEN = user['user_token'];
token = window.CELLSYSTOKEN;
}
}
return token ? token : null;
};
/**
* 指定获取管理员token
* @returns {*|null}
*/
export const getAdminToken = function () {
let token;
let storage = getStorage(import.meta.env.VITE_APP_PROJECTNAME);
if (storage) {
token = JSON.parse(storage)['admin_token'];
}
return token ? token : null;
};
/**
* 设置用户缓存信息
* @param userInfo
*/
export function setUserStorage(userInfo) {
return setStorage(import.meta.env.VITE_APP_PROJECTNAME, userInfo);
}
//切换内存里普通用户和管理员token
export function switchToken(role) {
let token = getUserInfo();
if (role === 'admin') {
if (token['admin_token']) {
window.CELLSYSTOKEN = token['admin_token'];
}
} else {
window.CELLSYSTOKEN = token['user_token'];
}
}
/**
* 移除token
*/
export function removeToken() {
return removeStorage(import.meta.env.VITE_APP_PROJECTNAME);
}
export function getAppName() {
return getStorage('appName');
}