refactor: ♻️ 重构API为静态方法实现模块化管理,并将types.ts重命名为model.ts用于存放接口模型定义
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import { loginApi, logoutApi } from "@/api/auth";
|
||||
import { getUserInfoApi } from "@/api/user";
|
||||
import AuthAPI from "@/api/auth";
|
||||
import UserAPI from "@/api/user";
|
||||
import { resetRouter } from "@/router";
|
||||
import { store } from "@/store";
|
||||
|
||||
import { LoginData } from "@/api/auth/types";
|
||||
import { UserInfo } from "@/api/user/types";
|
||||
import { LoginData } from "@/api/auth/model";
|
||||
import { UserInfo } from "@/api/user/model";
|
||||
import { TOKEN_KEY } from "@/enums/CacheEnum";
|
||||
|
||||
export const useUserStore = defineStore("user", () => {
|
||||
const user = ref<UserInfo>({
|
||||
@@ -20,10 +21,10 @@ export const useUserStore = defineStore("user", () => {
|
||||
*/
|
||||
function login(loginData: LoginData) {
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
loginApi(loginData)
|
||||
.then((response) => {
|
||||
const { tokenType, accessToken } = response.data;
|
||||
localStorage.setItem("accessToken", tokenType + " " + accessToken); // Bearer eyJhbGciOiJIUzI1NiJ9.xxx.xxx
|
||||
AuthAPI.login(loginData)
|
||||
.then((data) => {
|
||||
const { tokenType, accessToken } = data;
|
||||
localStorage.setItem(TOKEN_KEY, tokenType + " " + accessToken); // Bearer eyJhbGciOiJIUzI1NiJ9.xxx.xxx
|
||||
resolve();
|
||||
})
|
||||
.catch((error) => {
|
||||
@@ -35,8 +36,8 @@ export const useUserStore = defineStore("user", () => {
|
||||
// 获取信息(用户昵称、头像、角色集合、权限集合)
|
||||
function getUserInfo() {
|
||||
return new Promise<UserInfo>((resolve, reject) => {
|
||||
getUserInfoApi()
|
||||
.then(({ data }) => {
|
||||
UserAPI.getInfo()
|
||||
.then((data) => {
|
||||
if (!data) {
|
||||
reject("Verification failed, please Login again.");
|
||||
return;
|
||||
@@ -57,9 +58,9 @@ export const useUserStore = defineStore("user", () => {
|
||||
// user logout
|
||||
function logout() {
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
logoutApi()
|
||||
AuthAPI.logout()
|
||||
.then(() => {
|
||||
localStorage.setItem("accessToken", "");
|
||||
localStorage.setItem(TOKEN_KEY, "");
|
||||
location.reload(); // 清空路由
|
||||
resolve();
|
||||
})
|
||||
@@ -73,7 +74,7 @@ export const useUserStore = defineStore("user", () => {
|
||||
function resetToken() {
|
||||
console.log("resetToken");
|
||||
return new Promise<void>((resolve) => {
|
||||
localStorage.setItem("accessToken", "");
|
||||
localStorage.setItem(TOKEN_KEY, "");
|
||||
resetRouter();
|
||||
resolve();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user