| | |
| | | * @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; |
| | |
| | | } |
| | | } |
| | | |
| | | 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 removeEnterpriseInfo() { |
| | | storageLocal().removeItem("enterpriseInfo"); |
| | | } |
| | | |
| | | /** 删除`token`以及key值为`user-info`的localStorage信息 */ |
| | | export function removeToken() { |
| | | Cookies.remove(TokenKey); |