From cad1f8b03fb425e9b1c31f8609ee7a4cbda4f665 Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Fri, 9 Jan 2026 11:44:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E9=80=9F=E5=BA=A6=EF=BC=8C=E6=9B=B4=E6=96=B0=20Element=20Plus?= =?UTF-8?q?=20=E6=A0=B7=E5=BC=8F=E5=8F=98=E9=87=8F=E5=8F=8A=20API=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mock/auth.mock.ts | 19 +++++++++++++++- mock/user.mock.ts | 2 +- package.json | 2 +- src/main.ts | 1 + src/styles/element-plus.scss | 44 ++++++++++++++++++++++++++++++++++++ vite.config.ts | 24 ++++++++------------ 6 files changed, 74 insertions(+), 18 deletions(-) diff --git a/mock/auth.mock.ts b/mock/auth.mock.ts index 3a187297..dbaae3d3 100644 --- a/mock/auth.mock.ts +++ b/mock/auth.mock.ts @@ -26,7 +26,24 @@ export default defineMock([ tokenType: "Bearer", refreshToken: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlcHRJZCI6MSwiZGF0YVNjb3BlIjoxLCJ1c2VySWQiOjIsImlhdCI6MTcyODE5MzA1MiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9BRE1JTiJdLCJqdGkiOiJhZDg3NzlhZDZlYWY0OWY3OTE4M2ZmYmI5OWM4MjExMSJ9.58YHwL3sNNC22jyAmOZeSm-7MITzfHb_epBIz7LvWeA", - expiresIn: null, + expiresIn: 7200, + }, + msg: "一切ok", + }, + }, + + { + url: "auth/refresh-token", + method: ["POST"], + body: { + code: "00000", + data: { + accessToken: + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlcHRJZCI6MSwiZGF0YVNjb3BlIjoxLCJ1c2VySWQiOjIsImlhdCI6MTcyODE5MzA1MiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9BRE1JTiJdLCJqdGkiOiJhZDg3NzlhZDZlYWY0OWY3OTE4M2ZmYmI5OWM4MjExMSJ9.58YHwL3sNNC22jyAmOZeSm-7MITzfHb_epBIz7LvWeA", + tokenType: "Bearer", + refreshToken: + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlcHRJZCI6MSwiZGF0YVNjb3BlIjoxLCJ1c2VySWQiOjIsImlhdCI6MTcyODE5MzA1MiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9BRE1JTiJdLCJqdGkiOiJhZDg3NzlhZDZlYWY0OWY3OTE4M2ZmYmI5OWM4MjExMSJ9.58YHwL3sNNC22jyAmOZeSm-7MITzfHb_epBIz7LvWeA", + expiresIn: 7200, }, msg: "一切ok", }, diff --git a/mock/user.mock.ts b/mock/user.mock.ts index 3acbea90..ce95c1a6 100644 --- a/mock/user.mock.ts +++ b/mock/user.mock.ts @@ -171,7 +171,7 @@ export default defineMock([ // 导出Excel { - url: "users/_export", + url: "users/export", method: ["GET"], headers: { "Content-Disposition": "attachment; filename=%E7%94%A8%E6%88%B7%E5%88%97%E8%A1%A8.xlsx", diff --git a/package.json b/package.json index 0546e1d5..b95be093 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "vue-tsc --noEmit & vite build", + "build": "vue-tsc --noEmit && vite build", "preview": "vite preview", "build-only": "vite build", "type-check": "vue-tsc --noEmit", diff --git a/src/main.ts b/src/main.ts index 8c4d35cd..16789dd9 100644 --- a/src/main.ts +++ b/src/main.ts @@ -9,6 +9,7 @@ import { createApp } from "vue"; import App from "./App.vue"; // ===== 样式导入 ===== +import "element-plus/dist/index.css"; import "element-plus/theme-chalk/dark/css-vars.css"; import "vxe-table/lib/style.css"; import "@/styles/index.scss"; diff --git a/src/styles/element-plus.scss b/src/styles/element-plus.scss index 6cdc078f..24efeafb 100644 --- a/src/styles/element-plus.scss +++ b/src/styles/element-plus.scss @@ -1,6 +1,50 @@ // Element Plus 变量覆盖(必须在最前面) @use "./element-plus-vars"; +:root { + --el-color-primary: #4080ff; + --el-color-primary-dark-2: color-mix(in srgb, var(--el-color-primary) 80%, #000); + --el-color-primary-light-3: color-mix(in srgb, var(--el-color-primary) 30%, #fff); + --el-color-primary-light-5: color-mix(in srgb, var(--el-color-primary) 50%, #fff); + --el-color-primary-light-7: color-mix(in srgb, var(--el-color-primary) 70%, #fff); + --el-color-primary-light-8: color-mix(in srgb, var(--el-color-primary) 80%, #fff); + --el-color-primary-light-9: color-mix(in srgb, var(--el-color-primary) 90%, #fff); + + --el-color-success: #23c343; + --el-color-success-dark-2: color-mix(in srgb, var(--el-color-success) 80%, #000); + --el-color-success-light-3: color-mix(in srgb, var(--el-color-success) 30%, #fff); + --el-color-success-light-5: color-mix(in srgb, var(--el-color-success) 50%, #fff); + --el-color-success-light-7: color-mix(in srgb, var(--el-color-success) 70%, #fff); + --el-color-success-light-8: color-mix(in srgb, var(--el-color-success) 80%, #fff); + --el-color-success-light-9: color-mix(in srgb, var(--el-color-success) 90%, #fff); + + --el-color-warning: #ff9a2e; + --el-color-warning-dark-2: color-mix(in srgb, var(--el-color-warning) 80%, #000); + --el-color-warning-light-3: color-mix(in srgb, var(--el-color-warning) 30%, #fff); + --el-color-warning-light-5: color-mix(in srgb, var(--el-color-warning) 50%, #fff); + --el-color-warning-light-7: color-mix(in srgb, var(--el-color-warning) 70%, #fff); + --el-color-warning-light-8: color-mix(in srgb, var(--el-color-warning) 80%, #fff); + --el-color-warning-light-9: color-mix(in srgb, var(--el-color-warning) 90%, #fff); + + --el-color-danger: #f76560; + --el-color-danger-dark-2: color-mix(in srgb, var(--el-color-danger) 80%, #000); + --el-color-danger-light-3: color-mix(in srgb, var(--el-color-danger) 30%, #fff); + --el-color-danger-light-5: color-mix(in srgb, var(--el-color-danger) 50%, #fff); + --el-color-danger-light-7: color-mix(in srgb, var(--el-color-danger) 70%, #fff); + --el-color-danger-light-8: color-mix(in srgb, var(--el-color-danger) 80%, #fff); + --el-color-danger-light-9: color-mix(in srgb, var(--el-color-danger) 90%, #fff); + + --el-color-info: #a9aeb8; + --el-color-info-dark-2: color-mix(in srgb, var(--el-color-info) 80%, #000); + --el-color-info-light-3: color-mix(in srgb, var(--el-color-info) 30%, #fff); + --el-color-info-light-5: color-mix(in srgb, var(--el-color-info) 50%, #fff); + --el-color-info-light-7: color-mix(in srgb, var(--el-color-info) 70%, #fff); + --el-color-info-light-8: color-mix(in srgb, var(--el-color-info) 80%, #fff); + --el-color-info-light-9: color-mix(in srgb, var(--el-color-info) 90%, #fff); + + --el-bg-color-page: #f5f8fd; +} + $border: 1px solid var(--el-border-color-light); /* el-dialog */ diff --git a/vite.config.ts b/vite.config.ts index c622774e..18a0540e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -83,7 +83,8 @@ export default defineConfig(({ mode }: ConfigEnv): UserConfig => { // 指定自定义组件位置(默认:src/components) dirs: ["src/components", "src/**/components"], // 导入组件类型声明文件路径 (false:关闭自动生成) - dts: "src/types/components.d.ts", + dts: false, + //dts: "src/types/components.d.ts", }), ] as PluginOption[], // 预加载项目必需的组件 @@ -188,23 +189,16 @@ export default defineConfig(({ mode }: ConfigEnv): UserConfig => { "element-plus/es/components/space/style/index", ], }, + esbuild: isProduction + ? { + drop: ["console", "debugger"], + } + : undefined, // 构建配置 build: { chunkSizeWarningLimit: 2000, // 消除打包大小超过500kb警告 - minify: isProduction ? "terser" : false, // 只在生产环境启用压缩 - terserOptions: isProduction - ? { - compress: { - keep_infinity: true, // 防止 Infinity 被压缩成 1/0,这可能会导致 Chrome 上的性能问题 - drop_console: true, // 生产环境去除 console.log, console.warn, console.error 等 - drop_debugger: true, // 生产环境去除 debugger - pure_funcs: ["console.log", "console.info"], // 移除指定的函数调用 - }, - format: { - comments: false, // 删除注释 - }, - } - : {}, + reportCompressedSize: false, + minify: isProduction ? "esbuild" : false, // 只在生产环境启用压缩 rollupOptions: { output: { // manualChunks: {