feat: Oauth update

This commit is contained in:
landaiqing
2024-05-27 17:54:33 +08:00
parent 015d7b256f
commit 90a1c1f3ce
10 changed files with 78 additions and 72 deletions

View File

@@ -1,26 +1,28 @@
/** @format */
import { action, makeAutoObservable } from "mobx";
import { makePersistable, isHydrated } from "mobx-persist-store";
import { action, makeObservable, observable } from "mobx";
import { isHydrated, makePersistable } from "mobx-persist-store";
import { handleLocalforage } from "@/utils/localforage";
export class useUserStore {
token: any = "";
token: string = "";
userId: string = "";
constructor() {
makeAutoObservable(
this,
{
setToken: action,
},
{ autoBind: true },
);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// makeAutoObservable(this);
makeObservable(this, {
token: observable,
userId: observable,
setToken: action,
setUserId: action,
getToken: action,
getUserId: action,
isHydrated: action,
});
makePersistable(this, {
// 在构造函数内使用 makePersistable
name: "token", // 保存的name用于在storage中的名称标识只要不和storage中其他名称重复就可以
properties: ["token"], // 要保存的字段这些字段会被保存在name对应的storage中注意不写在这里面的字段将不会被保存刷新页面也将丢失get字段例外。get数据会在数据返回后再自动计算
name: "userInfo", // 保存的name用于在storage中的名称标识只要不和storage中其他名称重复就可以
properties: ["token", "userId"], // 要保存的字段这些字段会被保存在name对应的storage中注意不写在这里面的字段将不会被保存刷新页面也将丢失get字段例外。get数据会在数据返回后再自动计算
storage: handleLocalforage, // 保存的位置看自己的业务情况选择可以是localStoragesessionstorage
// 。。还有一些其他配置参数例如数据过期时间等等可以康康文档像storage这种字段可以配置在全局配置里详见文档
}).then(
@@ -31,15 +33,23 @@ export class useUserStore {
);
}
get getToken() {
getToken() {
return this.token ? this.token : null;
}
get isHydrated() {
getUserId() {
return this.userId ? this.userId : null;
}
isHydrated() {
return isHydrated(this);
}
setToken(token: string) {
this.token = token;
}
setUserId(userId: string) {
this.userId = userId;
}
}