Эх сурвалжийг харах

优化用户个人信息查询和用户菜单查询

zhontai 2 жил өмнө
parent
commit
6da646a6ba

+ 1 - 1
package.json

@@ -10,7 +10,7 @@
     "lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/",
     "format": "npx prettier --write .",
     "install:pkg": "npm install --registry https://registry.npmmirror.com",
-    "gen:admin-api": "node ./gen/gen-api"
+    "gen:api": "node ./gen/gen-api"
   },
   "dependencies": {
     "@element-plus/icons-vue": "^2.1.0",

+ 54 - 0
src/api/admin/Auth.ts

@@ -14,7 +14,10 @@ import {
   AuthLoginInput,
   ResultOutputAuthGetPasswordEncryptKeyOutput,
   ResultOutputAuthGetUserInfoOutput,
+  ResultOutputAuthGetUserPermissionsOutput,
+  ResultOutputAuthUserProfileDto,
   ResultOutputCaptchaOutput,
+  ResultOutputListAuthUserMenuDto,
   ResultOutputObject,
 } from './data-contracts'
 import { ContentType, HttpClient, RequestParams } from './http-client'
@@ -37,6 +40,57 @@ export class AuthApi<SecurityDataType = unknown> extends HttpClient<SecurityData
       format: 'json',
       ...params,
     })
+  /**
+   * No description
+   *
+   * @tags auth
+   * @name GetUserProfile
+   * @summary 查询用户个人信息
+   * @request GET:/api/admin/auth/get-user-profile
+   * @secure
+   */
+  getUserProfile = (params: RequestParams = {}) =>
+    this.request<ResultOutputAuthUserProfileDto, any>({
+      path: `/api/admin/auth/get-user-profile`,
+      method: 'GET',
+      secure: true,
+      format: 'json',
+      ...params,
+    })
+  /**
+   * No description
+   *
+   * @tags auth
+   * @name GetUserMenus
+   * @summary 查询用户菜单列表
+   * @request GET:/api/admin/auth/get-user-menus
+   * @secure
+   */
+  getUserMenus = (params: RequestParams = {}) =>
+    this.request<ResultOutputListAuthUserMenuDto, any>({
+      path: `/api/admin/auth/get-user-menus`,
+      method: 'GET',
+      secure: true,
+      format: 'json',
+      ...params,
+    })
+  /**
+   * No description
+   *
+   * @tags auth
+   * @name GetUserPermissions
+   * @summary 查询用户权限列表
+   * @request GET:/api/admin/auth/get-user-permissions
+   * @secure
+   */
+  getUserPermissions = (params: RequestParams = {}) =>
+    this.request<ResultOutputAuthGetUserPermissionsOutput, any>({
+      path: `/api/admin/auth/get-user-permissions`,
+      method: 'GET',
+      secure: true,
+      format: 'json',
+      ...params,
+    })
   /**
    * No description
    *

+ 42 - 2
src/api/admin/data-contracts.ts

@@ -216,9 +216,15 @@ export interface AuthGetPasswordEncryptKeyOutput {
 
 export interface AuthGetUserInfoOutput {
   user?: AuthUserProfileDto
-  /** 用户菜单 */
+  /** 用户菜单列表 */
   menus?: AuthUserMenuDto[] | null
-  /** 用户权限点 */
+  /** 用户权限列表 */
+  permissions?: string[] | null
+}
+
+export interface AuthGetUserPermissionsOutput {
+  user?: AuthUserProfileDto
+  /** 用户权限列表 */
   permissions?: string[] | null
 }
 
@@ -2073,6 +2079,28 @@ export interface ResultOutputAuthGetUserInfoOutput {
   data?: AuthGetUserInfoOutput
 }
 
+/** 结果输出 */
+export interface ResultOutputAuthGetUserPermissionsOutput {
+  /** 是否成功标记 */
+  success?: boolean
+  /** 编码 */
+  code?: string | null
+  /** 消息 */
+  msg?: string | null
+  data?: AuthGetUserPermissionsOutput
+}
+
+/** 结果输出 */
+export interface ResultOutputAuthUserProfileDto {
+  /** 是否成功标记 */
+  success?: boolean
+  /** 编码 */
+  code?: string | null
+  /** 消息 */
+  msg?: string | null
+  data?: AuthUserProfileDto
+}
+
 /** 结果输出 */
 export interface ResultOutputCaptchaOutput {
   /** 是否成功标记 */
@@ -2203,6 +2231,18 @@ export interface ResultOutputListApiListOutput {
   data?: ApiListOutput[] | null
 }
 
+/** 结果输出 */
+export interface ResultOutputListAuthUserMenuDto {
+  /** 是否成功标记 */
+  success?: boolean
+  /** 编码 */
+  code?: string | null
+  /** 消息 */
+  msg?: string | null
+  /** 数据 */
+  data?: AuthUserMenuDto[] | null
+}
+
 /** 结果输出 */
 export interface ResultOutputListDocumentListOutput {
   /** 是否成功标记 */

+ 3 - 3
src/router/backEnd.ts

@@ -114,10 +114,10 @@ export async function setAddRoute() {
  * @returns 返回后端路由菜单数据
  */
 export async function getBackEndControlRoutes() {
-  const res = await new AuthApi().getUserInfo()
-  if (res?.success && (res?.data?.menus?.length as number) > 0) {
+  const res = await new AuthApi().getUserMenus()
+  if (res?.success && (res?.data?.length as number) > 0) {
     const menus = [] as any
-    res.data?.menus?.forEach((menu) => {
+    res.data?.forEach((menu) => {
       menus.push({
         id: menu.id,
         parentId: menu.parentId,

+ 1 - 1
src/stores/userInfo.ts

@@ -38,7 +38,7 @@ export const useUserInfo = defineStore('userInfo', {
     async getApiUserInfo() {
       return new Promise((resolve, reject) => {
         new AuthApi()
-          .getUserInfo()
+          .getUserPermissions()
           .then((res) => {
             if (res?.success) {
               const user = res.data?.user