From 89686920738e118ef6c4eb4097dc6f56f356fce7 Mon Sep 17 00:00:00 2001 From: luoer Date: Wed, 22 Nov 2023 14:53:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 4 +- .gitea/stat.html | 2 +- src/App.vue | 16 +- src/api/index.ts | 6 +- src/api/instance/api.ts | 10 +- src/api/instance/service.ts | 2 +- src/api/interceptors/exception.ts | 34 ++- src/api/interceptors/toast.ts | 4 +- .../AniEmpty.vue => AnEmpty/AnEmpty.vue} | 0 .../AnForbidden.vue} | 0 src/components/AnForm/components/Form.tsx | 2 +- src/components/AnForm/components/FormItem.tsx | 1 + .../AnForm/components/FormModal.tsx | 5 +- .../AnForm/components/useModalSubmit.tsx | 7 +- src/components/AnForm/hooks/useFormModal.tsx | 68 ++++-- src/components/AnTable/components/Table.tsx | 17 +- .../AnTable/hooks/useCreateForm.tsx | 21 +- src/components/AnTable/hooks/useModiyForm.tsx | 18 -- src/components/AnTable/hooks/useTable.tsx | 7 +- .../AnTable/hooks/useTableColumn.tsx | 4 + .../AnTable/hooks/useTablePlugin.tsx | 8 +- .../AnTable/plugins/useTableConfig.tsx | 3 +- .../{toast/toast.vue => AnToast/AnToast.vue} | 16 +- src/components/AnToast/index.ts | 52 +++++ src/components/breadcrumb/temp.dev1.vue | 156 ------------- src/components/index.ts | 5 +- src/components/table/table.tsx | 2 +- src/components/toast/index.ts | 1 - src/components/toast/toast.ts | 42 ---- src/constants/defineConstants.ts | 15 +- src/libs/dayjs/index.ts | 24 +- src/main.ts | 12 +- src/pages/content/category/index.vue | 135 +++++------- src/pages/content/index.vue | 4 - .../components/{group.vue => AnGroup.vue} | 40 ++-- .../components/{upload.vue => AnUpload.vue} | 80 +++---- src/pages/content/media/index.vue | 152 ++++++------- src/pages/home/components/ColumnConfiger.vue | 131 ----------- src/pages/home/demo.vue | 205 ------------------ src/pages/home/{home.vue => index.vue} | 0 src/pages/home/test.vue | 198 ----------------- src/pages/system/dict/index.vue | 13 +- src/pages/system/index.vue | 2 - src/pages/system/user/index.vue | 162 ++++++-------- src/pages/user/index.vue | 28 ++- src/router/guards/auth.ts | 42 ++-- src/router/guards/progress.ts | 6 +- src/router/guards/title.ts | 4 +- src/router/index.ts | 7 +- src/router/menus/index.ts | 19 +- src/router/router/index.ts | 14 +- src/router/router/util.ts | 4 +- src/router/routes/base.ts | 8 +- src/router/routes/page.ts | 10 +- src/store/index.ts | 7 +- src/types/auto-component.d.ts | 12 +- 56 files changed, 546 insertions(+), 1301 deletions(-) rename src/components/{empty/AniEmpty.vue => AnEmpty/AnEmpty.vue} (100%) rename src/components/{error/page-403.vue => AnForbidden/AnForbidden.vue} (100%) rename src/components/{toast/toast.vue => AnToast/AnToast.vue} (74%) create mode 100644 src/components/AnToast/index.ts delete mode 100644 src/components/breadcrumb/temp.dev1.vue delete mode 100644 src/components/toast/index.ts delete mode 100644 src/components/toast/toast.ts rename src/pages/content/media/components/{group.vue => AnGroup.vue} (81%) rename src/pages/content/media/components/{upload.vue => AnUpload.vue} (79%) delete mode 100644 src/pages/home/components/ColumnConfiger.vue delete mode 100644 src/pages/home/demo.vue rename src/pages/home/{home.vue => index.vue} (100%) delete mode 100644 src/pages/home/test.vue diff --git a/.env b/.env index 4c0e516..812a14d 100644 --- a/.env +++ b/.env @@ -10,7 +10,7 @@ VITE_BASE = / # 接口前缀:参见 axios 的 baseURL VITE_API = https://appnify.app.juetan.cn/ # 首页路径 -VITE_HOME_PATH = /home/home +VITE_HOME_PATH = /home # 路由模式:web(路径) hash(锚点) VITE_HISTORY = web @@ -24,7 +24,7 @@ VITE_PORT = 3020 # 代理前缀 VITE_PROXY_PREFIX = /api,/upload # 代理地址 -VITE_PROXY = http://127.0.0.1:3030/ +VITE_PROXY = https://appnify.app.juetan.cn/ # API文档 说明:需返回符合 OPENAPI 规范的json内容 VITE_OPENAPI = http://127.0.0.1:3030/openapi.json # 文件后缀 说明:设为dev时会优先加载index.dev.vue文件,否则回退至index.vue文件 diff --git a/.gitea/stat.html b/.gitea/stat.html index f1499d2..921e109 100644 --- a/.gitea/stat.html +++ b/.gitea/stat.html @@ -4818,7 +4818,7 @@ var drawChart = (function (exports) { - - - - -{ - "meta": { - "sort": 10302, - "title": "菜单管理", - "icon": "icon-park-outline-add-subtract" - } -} - diff --git a/src/components/index.ts b/src/components/index.ts index 6010e97..22aa00a 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,3 +1,2 @@ -export * from "./form"; -export * from "./table"; -export * from "./toast"; +export * from './form'; +export * from './table'; \ No newline at end of file diff --git a/src/components/table/table.tsx b/src/components/table/table.tsx index 0bc1e25..8c64fb3 100644 --- a/src/components/table/table.tsx +++ b/src/components/table/table.tsx @@ -1,4 +1,4 @@ -import AniEmpty from "@/components/empty/AniEmpty.vue"; +import AniEmpty from "@/components/AnEmpty/AnEmpty.vue"; import { TableColumnData as BaseColumn, TableData as BaseData, Table as BaseTable } from "@arco-design/web-vue"; import { merge } from "lodash-es"; import { PropType, computed, defineComponent, reactive, ref } from "vue"; diff --git a/src/components/toast/index.ts b/src/components/toast/index.ts deleted file mode 100644 index da08986..0000000 --- a/src/components/toast/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./toast"; diff --git a/src/components/toast/toast.ts b/src/components/toast/toast.ts deleted file mode 100644 index 5791fe5..0000000 --- a/src/components/toast/toast.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { createVNode, render } from "vue"; -import Toast from "./toast.vue"; - -export interface IToastOptions { - /** - * 展示内容 - * @default '正在操作中,请稍等...' - */ - message?: string; - /** - * 图标 - * @default 'icon-park-outline-loading-one' - */ - icon?: string; - /** - * 是否显示遮罩层 - * @default true - */ - mask?: boolean; - /** - * 是否覆盖窗口(即不允许其他操作) - * @default true - */ - cover?: boolean; -} - -export const toast = (messageOrOptions?: string | IToastOptions) => { - if (typeof messageOrOptions === "string") { - messageOrOptions = { - message: messageOrOptions, - }; - } - const container = document.createElement("div"); - const vnode = createVNode(Toast, messageOrOptions as any); - render(vnode, container); - document.body.appendChild(container); - const close = () => { - render(null, container); - document.body.removeChild(container); - }; - return close; -}; diff --git a/src/constants/defineConstants.ts b/src/constants/defineConstants.ts index 29e46a5..d9b1540 100644 --- a/src/constants/defineConstants.ts +++ b/src/constants/defineConstants.ts @@ -9,30 +9,23 @@ class Constant { /** * 格式化值 - * @param value 值 - * @param key 对应属性名,默认为label - * @returns */ - fmt(value: K, key?: keyof T[number]) { - return this.raw.find((item) => item.value === value)?.[key ?? ("label" as any)]; + fmt(value: K, key?: keyof T[number]) { + return this.raw.find(item => item.value === value)?.[key ?? ('label' as any)]; } /** * 获取对应属性值组成的数组 - * @param key 属性名,默认为value - * @returns */ val(key?: K) { - return this.raw.map((item) => item[key ?? ("value" as any)]); + return this.raw.map(item => item[key ?? ('value' as any)]); } /** * 获取值对应的对象 - * @param value 值 - * @returns */ get(value: any) { - return this.raw.find((item) => item.value === value); + return this.raw.find(item => item.value === value); } } diff --git a/src/libs/dayjs/index.ts b/src/libs/dayjs/index.ts index 5ebc652..e73da4a 100644 --- a/src/libs/dayjs/index.ts +++ b/src/libs/dayjs/index.ts @@ -1,28 +1,28 @@ -import dayjs from "dayjs"; -import "dayjs/locale/zh-cn"; -import localData from "dayjs/plugin/localeData"; -import relativeTime from "dayjs/plugin/relativeTime"; +import dayjs from 'dayjs'; +import 'dayjs/locale/zh-cn'; +import localData from 'dayjs/plugin/localeData'; +import relativeTime from 'dayjs/plugin/relativeTime'; /** * * 默认日期时间格式 */ -const DATETIME = "YYYY-MM-DD HH:mm"; +const DATETIME = 'YYYY-MM-DD HH:mm'; /** * 默认日期格式 */ -const DATE = "YYYY-MM-DD"; +const DATE = 'YYYY-MM-DD'; /** * 默认时间格式 */ -const TIME = "HH:mm:ss"; +const TIME = 'HH:mm:ss'; /** * 中文语言包 */ -dayjs.locale("zh-cn"); +dayjs.locale('zh-cn'); /** * 相对时间插件 @@ -37,7 +37,6 @@ dayjs.extend(relativeTime); dayjs.extend(localData); /** - * * 默认时间格式 */ dayjs.DATETIME = DATETIME; @@ -53,9 +52,13 @@ dayjs.DATE = DATE; dayjs.TIME = TIME; /** - * 重写format方法,如果没有传入format参数,则使用默认的时间格式 + * 保留原方法 */ dayjs.prototype._format = dayjs.prototype.format; + +/** + * 重写,设置默认时间格式 + */ dayjs.prototype.format = function (format?: string) { if (format) { return this._format(format); @@ -64,4 +67,3 @@ dayjs.prototype.format = function (format?: string) { }; export { DATE, DATETIME, TIME, dayjs }; - diff --git a/src/main.ts b/src/main.ts index 767b518..947a094 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,8 +1,8 @@ -import { createApp } from "vue"; -import App from "./App.vue"; -import { router } from "./router"; -import { store } from "./store"; -import { style } from "./styles"; +import { createApp } from 'vue'; +import App from './App.vue'; +import { router } from './router'; +import { store } from './store'; +import { style } from './styles'; const run = async () => { const app = createApp(App); @@ -10,7 +10,7 @@ const run = async () => { app.use(style); app.use(router); await router.isReady(); - app.mount("#app"); + app.mount('#app'); }; run(); diff --git a/src/pages/content/category/index.vue b/src/pages/content/category/index.vue index 8dd1dfd..23bee04 100644 --- a/src/pages/content/category/index.vue +++ b/src/pages/content/category/index.vue @@ -1,52 +1,45 @@ - - - { "meta": { diff --git a/src/pages/content/media/components/group.vue b/src/pages/content/media/components/AnGroup.vue similarity index 81% rename from src/pages/content/media/components/group.vue rename to src/pages/content/media/components/AnGroup.vue index 3bf7eaf..73864b8 100644 --- a/src/pages/content/media/components/group.vue +++ b/src/pages/content/media/components/AnGroup.vue @@ -1,7 +1,7 @@