You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
/**
|
|
* token 操作封装
|
|
*/
|
|
import { TOKEN_STORE_NAME } from '@/config/setting';
|
|
|
|
/**
|
|
* 获取缓存的 token
|
|
*/
|
|
export function getToken(): string | null {
|
|
const token = localStorage.getItem(TOKEN_STORE_NAME);
|
|
if (!token) {
|
|
return sessionStorage.getItem(TOKEN_STORE_NAME);
|
|
}
|
|
return token;
|
|
}
|
|
|
|
/**
|
|
* 缓存 token
|
|
* @param token token
|
|
* @param remember 是否永久存储
|
|
*/
|
|
export function setToken(token?: string, remember?: boolean) {
|
|
removeToken();
|
|
if (token) {
|
|
if (remember) {
|
|
localStorage.setItem(TOKEN_STORE_NAME, token);
|
|
} else {
|
|
sessionStorage.setItem(TOKEN_STORE_NAME, token);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 移除 token
|
|
*/
|
|
export function removeToken() {
|
|
localStorage.removeItem(TOKEN_STORE_NAME);
|
|
sessionStorage.removeItem(TOKEN_STORE_NAME);
|
|
localStorage.removeItem('CompanyLogo');
|
|
localStorage.removeItem('ShortName');
|
|
localStorage.removeItem('CompanyInfo');
|
|
}
|
|
|
|
// 参数按照字母顺序排序
|
|
export const objKeySort = (obj) => {
|
|
//排序的函数
|
|
const newkey = Object.keys(obj).sort();
|
|
//先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组
|
|
const newObj = {}; //创建一个新的对象,用于存放排好序的键值对
|
|
for (let i = 0; i < newkey.length; i++) {
|
|
//遍历newkey数组
|
|
newObj[newkey[i]] = obj[newkey[i]]; //向新创建的对象中按照排好的顺序依次增加键值对
|
|
}
|
|
return newObj; //返回排好序的新对象
|
|
};
|