|
|
@@ -23,66 +23,33 @@ export function getToken(): API.UserInfo {
|
|
|
* 将除了 accessToken 之外的其他信息放在 key 值为 user-info 的 localStorage 里
|
|
|
*/
|
|
|
export function setToken(data: API.UserInfo) {
|
|
|
- const { accessToken = '', expires = 0, refreshToken = '' } = data;
|
|
|
- const cookieString = JSON.stringify({ accessToken, expires, refreshToken });
|
|
|
+ const { accessToken = '', accessExpires = 0, refreshToken = '' } = data;
|
|
|
+ const cookieString = JSON.stringify({ accessToken, accessExpires, refreshToken });
|
|
|
|
|
|
- if (expires > 0) {
|
|
|
+ if (accessExpires > 0) {
|
|
|
Cookies.set(tokenKey, cookieString, {
|
|
|
- expires: (expires * 1000 - currentJsTimestamp()) / 86400000,
|
|
|
+ expires: (accessExpires * 1000 - currentJsTimestamp()) / 86400000,
|
|
|
});
|
|
|
} else {
|
|
|
Cookies.set(tokenKey, cookieString);
|
|
|
}
|
|
|
|
|
|
- function setUserKey({
|
|
|
- userId,
|
|
|
- deviceId,
|
|
|
- username,
|
|
|
- nickname,
|
|
|
- avatar,
|
|
|
- email,
|
|
|
- phone,
|
|
|
- refer,
|
|
|
- }: API.UserInfo) {
|
|
|
+ function setUserKey(data: API.UserInfo) {
|
|
|
+ const { accessToken: _, accessExpires: __, refreshToken: ___, ...rest } = data;
|
|
|
ls.setLocal(userKey, {
|
|
|
refreshToken,
|
|
|
- expires,
|
|
|
- userId,
|
|
|
- deviceId,
|
|
|
- username,
|
|
|
- nickname,
|
|
|
- avatar,
|
|
|
- email,
|
|
|
- phone,
|
|
|
- refer,
|
|
|
+ accessExpires,
|
|
|
+ ...rest,
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- if (data.userId || data.deviceId) {
|
|
|
+ if (data.account?.username) {
|
|
|
// 登录时,后端接口会返回用户信息,直接设置到 localStorage 中
|
|
|
- setUserKey({
|
|
|
- userId: data.userId || '',
|
|
|
- deviceId: data.deviceId || '',
|
|
|
- username: data.username || '',
|
|
|
- nickname: data.nickname || '',
|
|
|
- avatar: data.avatar || '',
|
|
|
- email: data.email || '',
|
|
|
- phone: data.phone || '',
|
|
|
- refer: data.refer || '',
|
|
|
- });
|
|
|
+ setUserKey(data);
|
|
|
} else {
|
|
|
// 刷新 token 时,后端接口不会返回用户信息,需要从 localStorage 中获取用户信息
|
|
|
const d = ls.getLocal<API.UserInfo>(userKey);
|
|
|
- setUserKey({
|
|
|
- userId: d?.userId || '',
|
|
|
- deviceId: d?.deviceId || '',
|
|
|
- username: d?.username || '',
|
|
|
- nickname: d?.nickname || '',
|
|
|
- avatar: d?.avatar || '',
|
|
|
- email: d?.email || '',
|
|
|
- phone: d?.phone || '',
|
|
|
- refer: d?.refer || '',
|
|
|
- });
|
|
|
+ setUserKey({ ...d });
|
|
|
}
|
|
|
}
|
|
|
|