'-'
zhangwei
2025-07-29 2aa2da6ff94c0e88e7ba0638606881a3c04cf579
src/utils/auth.ts
@@ -43,7 +43,7 @@
 * @description 设置`token`以及一些必要信息并采用无感刷新`token`方案
 * 无感刷新:后端返回`accessToken`(访问接口使用的`token`)、`refreshToken`(用于调用刷新`accessToken`的接口时所需的`token`,`refreshToken`的过期时间(比如30天)应大于`accessToken`的过期时间(比如2小时))、`expires`(`accessToken`的过期时间)
 * 将`accessToken`、`expires`、`refreshToken`这三条信息放在key值为authorized-token的cookie里(过期自动销毁)
 * 将`avatar`、`username`、`nickname`、`roles`、`permissions`、`refreshToken`、`expires`这七条信息放在key值为`user-info`的localStorage里(利用`multipleTabsKey`当浏览器完全关闭后自动销毁)
 * 将`avatar`、`username`、`nickname`、`exRoles`、`permissions`、`refreshToken`、`expires`这七条信息放在key值为`user-info`的localStorage里(利用`multipleTabsKey`当浏览器完全关闭后自动销毁)
 */
export function setToken(data: DataInfo<Date>) {
  let expires = 0;
@@ -115,6 +115,36 @@
  }
}
export function setEnterpriseInfo(data: DataInfo<Date>) {
  useUserStoreHook().SET_ENTERPRISEINFO(data);
  useUserStoreHook().SET_USERNAME(data.enterpriseName);
  storageLocal().setItem("enterpriseInfo", data);
  const obj = storageLocal().getItem(userKey);
  obj.username = data.enterpriseName;
  storageLocal().setItem(userKey, obj);
}
export function setRoleListInfo(data: DataInfo<Date>) {
  useUserStoreHook().SET_ROLES_LIST(data);
  storageLocal().setItem("rolesList", data);
}
export function setNowRole(data: DataInfo<Date>) {
  const list = storageLocal().getItem<DataInfo<number>>(userKey)?.exRoles ?? [];
  if (list.length > 0) {
    const obj = list.find(item => {
      return item.code == data.code;
    });
    data = { ...obj, ...data };
  }
  useUserStoreHook().SET_NOW_ROLE(data);
  storageLocal().setItem("nowRole", data);
}
export function removeEnterpriseInfo() {
  storageLocal().removeItem("enterpriseInfo");
}
/** 删除`token`以及key值为`user-info`的localStorage信息 */
export function removeToken() {
  Cookies.remove(TokenKey);