From ed277c1b81cca845530e35339582cdad77d6acdc Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Sat, 28 Sep 2024 22:28:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=A7=A9=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/service/types.d.ts | 50 ++++++---------- src/api/v1/routes.ts | 2 +- src/api/v1/system.ts | 2 +- src/api/v1/user.ts | 2 +- src/enums/enums.ts | 1 - src/types/BaseResult.ts | 6 -- src/views/menu/README.md | 26 --------- src/views/menu/form.vue | 103 +++++---------------------------- src/views/menu/index.vue | 19 ++---- src/views/menu/utils/hook.tsx | 106 +++++++--------------------------- src/views/menu/utils/rule.ts | 10 ---- src/views/menu/utils/rule.tsx | 57 ++++++++++++++++++ src/views/menu/utils/types.ts | 3 - 13 files changed, 117 insertions(+), 270 deletions(-) delete mode 100644 src/types/BaseResult.ts delete mode 100644 src/views/menu/README.md delete mode 100644 src/views/menu/utils/rule.ts create mode 100644 src/views/menu/utils/rule.tsx diff --git a/src/api/service/types.d.ts b/src/api/service/types.d.ts index ef7c25f..8334d9b 100644 --- a/src/api/service/types.d.ts +++ b/src/api/service/types.d.ts @@ -1,47 +1,35 @@ -import type { - Method, - AxiosError, - AxiosResponse, - AxiosRequestConfig -} from "axios"; +import type { AxiosError, AxiosRequestConfig, AxiosResponse, Method } from 'axios'; + +// 基础后端返回内容 +export interface BaseResult { + code: number; + data: T; + message: string; +} export type resultType = { - accessToken?: string; + accessToken?: string; }; -export type RequestMethods = Extract< - Method, - "get" | "post" | "put" | "delete" | "patch" | "option" | "head" ->; +export type RequestMethods = Extract; export interface PureHttpError extends AxiosError { - isCancelRequest?: boolean; + isCancelRequest?: boolean; } export interface PureHttpResponse extends AxiosResponse { - config: PureHttpRequestConfig; + config: PureHttpRequestConfig; } export interface PureHttpRequestConfig extends AxiosRequestConfig { - beforeRequestCallback?: (request: PureHttpRequestConfig) => void; - beforeResponseCallback?: (response: PureHttpResponse) => void; + beforeRequestCallback?: (request: PureHttpRequestConfig) => void; + beforeResponseCallback?: (response: PureHttpResponse) => void; } export default class PureHttp { - request( - method: RequestMethods, - url: string, - param?: AxiosRequestConfig, - axiosConfig?: PureHttpRequestConfig - ): Promise; - post( - url: string, - params?: P, - config?: PureHttpRequestConfig - ): Promise; - get( - url: string, - params?: P, - config?: PureHttpRequestConfig - ): Promise; + request(method: RequestMethods, url: string, param?: AxiosRequestConfig, axiosConfig?: PureHttpRequestConfig): Promise; + + post(url: string, params?: P, config?: PureHttpRequestConfig): Promise; + + get(url: string, params?: P, config?: PureHttpRequestConfig): Promise; } diff --git a/src/api/v1/routes.ts b/src/api/v1/routes.ts index be5a737..8bb0747 100644 --- a/src/api/v1/routes.ts +++ b/src/api/v1/routes.ts @@ -1,5 +1,5 @@ import { http } from '@/api/service/request'; -import type { BaseResult } from '@/types/BaseResult'; +import type { BaseResult } from '@/api/service/types'; export const getRouterAsync = () => { return http.request>('get', 'router/getRouterAsync'); diff --git a/src/api/v1/system.ts b/src/api/v1/system.ts index ad533d0..b3de36a 100644 --- a/src/api/v1/system.ts +++ b/src/api/v1/system.ts @@ -1,5 +1,5 @@ import { http } from '@/api/service/request'; -import type { BaseResult } from '@/types/BaseResult'; +import type { BaseResult } from '@/api/service/types'; type ResultTable = { /** 列表数据 */ diff --git a/src/api/v1/user.ts b/src/api/v1/user.ts index f5f90d8..2d2173e 100644 --- a/src/api/v1/user.ts +++ b/src/api/v1/user.ts @@ -1,5 +1,5 @@ import { http } from '@/api/service/request'; -import type { BaseResult } from '@/types/BaseResult'; +import type { BaseResult } from '@/api/service/types'; export interface UserResult { /** 头像 */ diff --git a/src/enums/enums.ts b/src/enums/enums.ts index d1c4f24..95a66ac 100644 --- a/src/enums/enums.ts +++ b/src/enums/enums.ts @@ -4,7 +4,6 @@ const menuTypeOptions: Array = [ { label: '菜单', value: 0 }, { label: 'iframe', value: 1 }, { label: '外链', value: 2 }, - { label: '按钮', value: 3 }, ]; const showLinkOptions: Array = [ diff --git a/src/types/BaseResult.ts b/src/types/BaseResult.ts deleted file mode 100644 index 962851b..0000000 --- a/src/types/BaseResult.ts +++ /dev/null @@ -1,6 +0,0 @@ -// 基础后端返回内容 -export interface BaseResult { - code: number; - data: T; - message: string; -} diff --git a/src/views/menu/README.md b/src/views/menu/README.md deleted file mode 100644 index a1d3da5..0000000 --- a/src/views/menu/README.md +++ /dev/null @@ -1,26 +0,0 @@ -## 字段含义 - -| 字段 | 说明 | -|:------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `menuType` | 菜单类型(`0`代表菜单、`1`代表`iframe`、`2`代表外链、`3`代表按钮) | -| `parentId` | | -| `title` | 菜单名称(兼容国际化、非国际化,如果用国际化的写法就必须在根目录的`locales`文件夹下对应添加) | -| `name` | 路由名称(必须唯一并且和当前路由`component`字段对应的页面里用`defineOptions`包起来的`name`保持一致) | -| `path` | 路由路径 | -| `component` | 组件路径(传`component`组件路径,那么`path`可以随便写,如果不传,`component`组件路径会跟`path`保持一致) | -| `rank` | 菜单排序(平台规定只有`home`路由的`rank`才能为`0`,所以后端在返回`rank`的时候需要从非`0`开始 [点击查看更多](https://pure-admin.github.io/pure-admin-doc/pages/routerMenu/#%E8%8F%9C%E5%8D%95%E6%8E%92%E5%BA%8F-rank)) | -| `redirect` | 路由重定向 | -| `icon` | 菜单图标 | -| `extraIcon` | 右侧图标 | -| `enterTransition` | 进场动画(页面加载动画) | -| `leaveTransition` | 离场动画(页面加载动画) | -| `activePath` | 菜单激活(将某个菜单激活,主要用于通过`query`或`params`传参的路由,当它们通过配置`showLink: false`后不在菜单中显示,就不会有任何菜单高亮,而通过设置`activePath`指定激活菜单即可获得高亮,`activePath`为指定激活菜单的`path`) | -| `auths` | 权限标识(按钮级别权限设置) | -| `frameSrc` | 链接地址(需要内嵌的`iframe`链接地址) | -| `frameLoading` | 加载动画(内嵌的`iframe`页面是否开启首次加载动画) | -| `keepAlive` | 缓存页面(是否缓存该路由页面,开启后会保存该页面的整体状态,刷新后会清空状态) | -| `hiddenTag` | 标签页(当前菜单名称或自定义信息禁止添加到标签页) | -| `fixedTag` | 固定标签页(当前菜单名称是否固定显示在标签页且不可关闭) | -| `showLink` | 菜单(是否显示该菜单) | -| `showParent` | 父级菜单(是否显示父级菜单 [点击查看更多](https://pure-admin.github.io/pure-admin-doc/pages/routerMenu/#%E7%AC%AC%E4%B8%80%E7%A7%8D-%E8%AF%A5%E6%A8%A1%E5%BC%8F%E9%92%88%E5%AF%B9%E7%88%B6%E7%BA%A7%E8%8F%9C%E5%8D%95%E4%B8%8B%E5%8F%AA%E6%9C%89%E4%B8%80%E4%B8%AA%E5%AD%90%E8%8F%9C%E5%8D%95%E7%9A%84%E6%83%85%E5%86%B5-%E5%9C%A8%E5%AD%90%E8%8F%9C%E5%8D%95%E7%9A%84-meta-%E5%B1%9E%E6%80%A7%E4%B8%AD%E5%8A%A0%E4%B8%8A-showparent-true-%E5%8D%B3%E5%8F%AF)) | - diff --git a/src/views/menu/form.vue b/src/views/menu/form.vue index 5291309..610afd6 100644 --- a/src/views/menu/form.vue +++ b/src/views/menu/form.vue @@ -21,11 +21,8 @@ const props = withDefaults(defineProps(), { rank: 99, redirect: '', icon: '', - extraIcon: '', enterTransition: '', leaveTransition: '', - activePath: '', - auths: '', frameSrc: '', frameLoading: true, keepAlive: false, @@ -39,11 +36,7 @@ const props = withDefaults(defineProps(), { const ruleFormRef = ref(); const newFormInline = ref(props.formInline); -function getRef() { - return ruleFormRef.value; -} - -defineExpose({ getRef }); +defineExpose({ getRef: ruleFormRef.value });