From ec6655c64a730c20fbe989a1578db5ff105470da Mon Sep 17 00:00:00 2001 From: fangyunong Date: Thu, 10 Jul 2025 20:05:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auto-imports.d.ts | 1 + src/App.vue | 3 +++ src/api/roleApi.ts | 14 ++++++++++++++ src/api/userApi.ts | 10 +--------- src/components/InitAxiosInterceptors.vue | 13 +++++++++++++ src/utils/request.ts | 20 ++++++++++++++++---- src/views/login/OauthCallBack.vue | 6 +++--- src/views/role/pages/Auth.vue | 14 ++++++++++++-- src/vite-env.d.ts | 5 +++++ 9 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 src/api/roleApi.ts create mode 100644 src/components/InitAxiosInterceptors.vue diff --git a/auto-imports.d.ts b/auto-imports.d.ts index bafbb67..09b826d 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -16,6 +16,7 @@ declare global { const getCurrentInstance: typeof import('vue')['getCurrentInstance'] const getCurrentScope: typeof import('vue')['getCurrentScope'] const getUserInfo: typeof import('./src/api/userApi')['getUserInfo'] + const getUserList: typeof import('./src/api/roleApi')['getUserList'] const h: typeof import('vue')['h'] const inject: typeof import('vue')['inject'] const isNewUser: typeof import('./src/api/userApi')['isNewUser'] diff --git a/src/App.vue b/src/App.vue index f8d4136..f488556 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,6 +2,7 @@ + @@ -10,6 +11,7 @@ diff --git a/src/api/roleApi.ts b/src/api/roleApi.ts new file mode 100644 index 0000000..a53791e --- /dev/null +++ b/src/api/roleApi.ts @@ -0,0 +1,14 @@ +import http from "@/utils/request"; +// 用户列表 +interface UserListQuery{ + roleName?:string + page:number + pageSize:number +} +export function getUserList(data:UserListQuery){ + return http({ + url:"/api/v1/AdminRoleControllers/SearchUserFromRole", + method:'POST', + data + }) +} \ No newline at end of file diff --git a/src/api/userApi.ts b/src/api/userApi.ts index 75ad2ff..364a29d 100644 --- a/src/api/userApi.ts +++ b/src/api/userApi.ts @@ -1,17 +1,9 @@ import http from "@/utils/request"; -//是否第一次注册 -export const isNewUser = () => { - return http({ - url: "/api/UserInfo/IsNewUser", - method: "GET", - }); -}; - // 获取用户信息 export const getUserInfo = () => { return http({ - url:'/api/UserInfo/My', + url:'/api/v1/UserControllers/My', method:'GET' }) }; diff --git a/src/components/InitAxiosInterceptors.vue b/src/components/InitAxiosInterceptors.vue new file mode 100644 index 0000000..c3daad9 --- /dev/null +++ b/src/components/InitAxiosInterceptors.vue @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts index 97e0c91..d3c6d3f 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -1,5 +1,17 @@ -import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from "axios"; +import axios, { AxiosResponse } from "axios"; import { getToken, removeToken } from "./auth"; +import type { MessageApiInjection } from "naive-ui/es/message/src/MessageProvider"; +import type { Router } from "vue-router"; + +let message: MessageApiInjection = null; +let router: Router = null; +export function setupResponseInterceptors({ message: msg, router: rt }: { + message: MessageApiInjection; + router: Router; +}) { + message = msg; + router = rt; +} // 定义后端返回的统一数据结构 interface ApiResponse { @@ -39,11 +51,11 @@ instance.interceptors.response.use( // 401 未授权,跳转首页 if (code === 401) { // // 这里调用退出登录的逻辑 - // console.log("未授权,跳转首页"); + message.error("未授权,跳转首页"); // // 清除用户信息 - // removeToken(); + removeToken(); // // 跳转首页 - // window.location.href = "/"; //后续用发布订阅模式修改 + router.push('/'); return Promise.reject(new Error(msg || "未授权")); } diff --git a/src/views/login/OauthCallBack.vue b/src/views/login/OauthCallBack.vue index ceeecb4..2a60bfc 100644 --- a/src/views/login/OauthCallBack.vue +++ b/src/views/login/OauthCallBack.vue @@ -7,7 +7,7 @@ diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index ed43bea..9329eb9 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -8,3 +8,8 @@ declare module "@/components/*"; declare module "@/store/*"; declare module "@/utils/*"; declare module "@/router/*"; + +interface PageController{ + page:number + pageSize:number +}