From c7f12cc4cf523a41b6e9354a8c456cfdf6286028 Mon Sep 17 00:00:00 2001 From: Lexcubia Date: Wed, 9 Apr 2025 09:52:03 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 0 .gitignore | 0 .husky/commit-msg | 0 .husky/pre-commit | 0 .npmrc | 0 .prettierrc.json | 0 .vscode/extensions.json | 0 .vscode/settings.json | 0 README.md | 0 commitlint.config.ts | 0 eslint.config.js | 2 + index.html | 0 package.json | 2 + postcss.config.js | 0 public/favicon.ico | Bin public/icons/favicon-128x128.png | Bin public/icons/favicon-16x16.png | Bin public/icons/favicon-32x32.png | Bin public/icons/favicon-96x96.png | Bin quasar.config.ts | 20 +- src-electron/electron-env.d.ts | 0 src-electron/electron-main.ts | 0 src-electron/electron-preload.ts | 0 src-electron/icons/icon.icns | Bin src-electron/icons/icon.ico | Bin src-electron/icons/icon.png | Bin src/App.vue | 0 src/assets/quasar-logo-vertical.svg | 0 src/boot/.gitkeep | 0 src/boot/axios.ts | 0 src/boot/i18n.ts | 2 +- src/boot/mock.ts | 6 + src/components/EssentialLink.vue | 0 src/components/ExampleComponent.vue | 0 src/components/models.ts | 0 src/config/default/setting.default.ts | 33 + src/config/setting.ts | 0 src/css/app.scss | 0 src/css/quasar.variables.scss | 0 src/env.d.ts | 0 src/i18n/en-US/index.ts | 0 src/i18n/index.ts | 0 src/i18n/zh-CN/index.ts | 0 src/layouts/BlankLayout/BlankLayoutIndex.vue | 9 + src/layouts/LoginLayout/LoginLayoutIndex.vue | 7 + .../{ => MainLayout}/ContainerLayout.vue | 0 src/layouts/{ => MainLayout}/FooterLayout.vue | 0 src/layouts/{ => MainLayout}/HeaderLayout.vue | 0 .../{ => MainLayout}/LeftDrawerLayout.vue | 7 +- .../MainLayoutIndex.vue} | 7 +- .../{ => MainLayout}/RightDrawerLayout.vue | 7 +- src/layouts/{ => MainLayout}/TabsLayout.vue | 0 src/mock/mockProdServer.ts | 16 + src/model/theme.ts | 11 + src/pages/ErrorNotFound.vue | 0 src/pages/IndexPage.vue | 2 +- src/pages/PageOne.vue | 9 + src/pages/PageThree.vue | 9 + src/pages/PageTwo.vue | 9 + src/router/index.ts | 0 src/router/routes.ts | 31 +- src/stores/example-store.ts | 0 src/stores/index.ts | 0 src/stores/setting.ts | 3 +- src/stores/tabMenu.js | 54 + src/stores/user.js | 113 + src/utils/arrayAndTree.js | 43 + src/utils/date.js | 13 + src/utils/router.js | 61 + tsconfig.json | 0 yarn.lock | 5983 ----------------- 71 files changed, 452 insertions(+), 6007 deletions(-) mode change 100644 => 100755 .editorconfig mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .husky/commit-msg mode change 100644 => 100755 .husky/pre-commit mode change 100644 => 100755 .npmrc mode change 100644 => 100755 .prettierrc.json mode change 100644 => 100755 .vscode/extensions.json mode change 100644 => 100755 .vscode/settings.json mode change 100644 => 100755 README.md mode change 100644 => 100755 commitlint.config.ts mode change 100644 => 100755 eslint.config.js mode change 100644 => 100755 index.html mode change 100644 => 100755 postcss.config.js mode change 100644 => 100755 public/favicon.ico mode change 100644 => 100755 public/icons/favicon-128x128.png mode change 100644 => 100755 public/icons/favicon-16x16.png mode change 100644 => 100755 public/icons/favicon-32x32.png mode change 100644 => 100755 public/icons/favicon-96x96.png mode change 100644 => 100755 quasar.config.ts mode change 100644 => 100755 src-electron/electron-env.d.ts mode change 100644 => 100755 src-electron/electron-main.ts mode change 100644 => 100755 src-electron/electron-preload.ts mode change 100644 => 100755 src-electron/icons/icon.icns mode change 100644 => 100755 src-electron/icons/icon.ico mode change 100644 => 100755 src-electron/icons/icon.png mode change 100644 => 100755 src/App.vue mode change 100644 => 100755 src/assets/quasar-logo-vertical.svg mode change 100644 => 100755 src/boot/.gitkeep mode change 100644 => 100755 src/boot/axios.ts mode change 100644 => 100755 src/boot/i18n.ts create mode 100755 src/boot/mock.ts mode change 100644 => 100755 src/components/EssentialLink.vue mode change 100644 => 100755 src/components/ExampleComponent.vue mode change 100644 => 100755 src/components/models.ts create mode 100755 src/config/default/setting.default.ts create mode 100755 src/config/setting.ts mode change 100644 => 100755 src/css/app.scss mode change 100644 => 100755 src/css/quasar.variables.scss mode change 100644 => 100755 src/env.d.ts mode change 100644 => 100755 src/i18n/en-US/index.ts mode change 100644 => 100755 src/i18n/index.ts mode change 100644 => 100755 src/i18n/zh-CN/index.ts create mode 100755 src/layouts/BlankLayout/BlankLayoutIndex.vue create mode 100755 src/layouts/LoginLayout/LoginLayoutIndex.vue rename src/layouts/{ => MainLayout}/ContainerLayout.vue (100%) mode change 100644 => 100755 rename src/layouts/{ => MainLayout}/FooterLayout.vue (100%) mode change 100644 => 100755 rename src/layouts/{ => MainLayout}/HeaderLayout.vue (100%) mode change 100644 => 100755 rename src/layouts/{ => MainLayout}/LeftDrawerLayout.vue (66%) mode change 100644 => 100755 rename src/layouts/{MainLayout.vue => MainLayout/MainLayoutIndex.vue} (77%) mode change 100644 => 100755 rename src/layouts/{ => MainLayout}/RightDrawerLayout.vue (65%) mode change 100644 => 100755 rename src/layouts/{ => MainLayout}/TabsLayout.vue (100%) mode change 100644 => 100755 create mode 100644 src/mock/mockProdServer.ts create mode 100755 src/model/theme.ts mode change 100644 => 100755 src/pages/ErrorNotFound.vue mode change 100644 => 100755 src/pages/IndexPage.vue create mode 100755 src/pages/PageOne.vue create mode 100755 src/pages/PageThree.vue create mode 100755 src/pages/PageTwo.vue mode change 100644 => 100755 src/router/index.ts mode change 100644 => 100755 src/router/routes.ts mode change 100644 => 100755 src/stores/example-store.ts mode change 100644 => 100755 src/stores/index.ts mode change 100644 => 100755 src/stores/setting.ts create mode 100755 src/stores/tabMenu.js create mode 100755 src/stores/user.js create mode 100755 src/utils/arrayAndTree.js create mode 100755 src/utils/date.js create mode 100755 src/utils/router.js mode change 100644 => 100755 tsconfig.json delete mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.husky/commit-msg b/.husky/commit-msg old mode 100644 new mode 100755 diff --git a/.husky/pre-commit b/.husky/pre-commit old mode 100644 new mode 100755 diff --git a/.npmrc b/.npmrc old mode 100644 new mode 100755 diff --git a/.prettierrc.json b/.prettierrc.json old mode 100644 new mode 100755 diff --git a/.vscode/extensions.json b/.vscode/extensions.json old mode 100644 new mode 100755 diff --git a/.vscode/settings.json b/.vscode/settings.json old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/commitlint.config.ts b/commitlint.config.ts old mode 100644 new mode 100755 diff --git a/eslint.config.js b/eslint.config.js old mode 100644 new mode 100755 index c536ca7..1324d10 --- a/eslint.config.js +++ b/eslint.config.js @@ -73,6 +73,8 @@ export default defineConfigWithVueTs( // allow debugger during development only 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + // 关闭驼峰命名规则 + 'vue/multi-word-component-names': 'off', }, }, diff --git a/index.html b/index.html old mode 100644 new mode 100755 diff --git a/package.json b/package.json index 44c7eee..c68e63a 100644 --- a/package.json +++ b/package.json @@ -55,9 +55,11 @@ "eslint": "^9.14.0", "eslint-plugin-vue": "^9.30.0", "globals": "^15.12.0", + "mockjs": "^1.1.0", "prettier": "^3.3.3", "typescript": "~5.5.3", "vite-plugin-checker": "^0.8.0", + "vite-plugin-mock": "^3.0.2", "vue-tsc": "^2.0.29" }, "engines": { diff --git a/postcss.config.js b/postcss.config.js old mode 100644 new mode 100755 diff --git a/public/favicon.ico b/public/favicon.ico old mode 100644 new mode 100755 diff --git a/public/icons/favicon-128x128.png b/public/icons/favicon-128x128.png old mode 100644 new mode 100755 diff --git a/public/icons/favicon-16x16.png b/public/icons/favicon-16x16.png old mode 100644 new mode 100755 diff --git a/public/icons/favicon-32x32.png b/public/icons/favicon-32x32.png old mode 100644 new mode 100755 diff --git a/public/icons/favicon-96x96.png b/public/icons/favicon-96x96.png old mode 100644 new mode 100755 diff --git a/quasar.config.ts b/quasar.config.ts old mode 100644 new mode 100755 index ccb5669..7935424 --- a/quasar.config.ts +++ b/quasar.config.ts @@ -12,7 +12,7 @@ export default defineConfig((ctx) => { // app boot file (/src/boot) // --> boot files are part of "main.js" // https://v2.quasar.dev/quasar-cli-vite/boot-files - boot: ['i18n', 'axios'], + boot: ['i18n', 'axios', 'mock'], // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#css css: ['app.scss'], @@ -93,13 +93,29 @@ export default defineConfig((ctx) => { }, { server: false }, ], + + // 配置 vite-plugin-mock 插件 + [ + 'vite-plugin-mock', + { + mockPath: './src/mock', // 指定 mock 文件目录 + localEnabled: true, // 开发环境启用 mock + prodEnabled: false, // 生产环境禁用 mock + injectCode: ` + import { setupProdMockServer } from './mockProdServer'; + setupProdMockServer(); + `, + }, + ], ], }, // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#devserver devServer: { // https: true, - open: true, // opens browser window automatically + open: false, // opens browser window automatically + allowedHosts: ['fire.lexcubia.com'], + port: 22222, }, // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#framework diff --git a/src-electron/electron-env.d.ts b/src-electron/electron-env.d.ts old mode 100644 new mode 100755 diff --git a/src-electron/electron-main.ts b/src-electron/electron-main.ts old mode 100644 new mode 100755 diff --git a/src-electron/electron-preload.ts b/src-electron/electron-preload.ts old mode 100644 new mode 100755 diff --git a/src-electron/icons/icon.icns b/src-electron/icons/icon.icns old mode 100644 new mode 100755 diff --git a/src-electron/icons/icon.ico b/src-electron/icons/icon.ico old mode 100644 new mode 100755 diff --git a/src-electron/icons/icon.png b/src-electron/icons/icon.png old mode 100644 new mode 100755 diff --git a/src/App.vue b/src/App.vue old mode 100644 new mode 100755 diff --git a/src/assets/quasar-logo-vertical.svg b/src/assets/quasar-logo-vertical.svg old mode 100644 new mode 100755 diff --git a/src/boot/.gitkeep b/src/boot/.gitkeep old mode 100644 new mode 100755 diff --git a/src/boot/axios.ts b/src/boot/axios.ts old mode 100644 new mode 100755 diff --git a/src/boot/i18n.ts b/src/boot/i18n.ts old mode 100644 new mode 100755 index 948ce5f..42f72c1 --- a/src/boot/i18n.ts +++ b/src/boot/i18n.ts @@ -21,7 +21,7 @@ declare module 'vue-i18n' { } /* eslint-enable @typescript-eslint/no-empty-object-type */ -import { useSettingStore } from 'src/stores/setting-store' // 导入 setting-store +import { useSettingStore } from 'src/stores/setting' // 导入 setting-store export default defineBoot(({ app }) => { const settingStore = useSettingStore() // 初始化 setting-store diff --git a/src/boot/mock.ts b/src/boot/mock.ts new file mode 100755 index 0000000..8ec2d75 --- /dev/null +++ b/src/boot/mock.ts @@ -0,0 +1,6 @@ +// mock--start +import { setupProdMockServer } from 'mock/mockProdServer' +// if (process.env.NODE_ENV === 'production') { +setupProdMockServer() +// } +// mock--end diff --git a/src/components/EssentialLink.vue b/src/components/EssentialLink.vue old mode 100644 new mode 100755 diff --git a/src/components/ExampleComponent.vue b/src/components/ExampleComponent.vue old mode 100644 new mode 100755 diff --git a/src/components/models.ts b/src/components/models.ts old mode 100644 new mode 100755 diff --git a/src/config/default/setting.default.ts b/src/config/default/setting.default.ts new file mode 100755 index 0000000..ad8a3af --- /dev/null +++ b/src/config/default/setting.default.ts @@ -0,0 +1,33 @@ +export const ThemeStyleQuasar = { + primary: '#1976D2', + secondary: '#26A69A', + accent: '#9C27B0', + positive: '#21BA45', + negative: '#C10015', + info: '#31CCEC', + warning: '#F2C037', + light: '#FFFFFF', + dark: '#1D1D1D', +} +export const ThemeStyleElement = { + primary: '#409EFF', + secondary: '#26A69A', + accent: '#9C27B0', + positive: '#67C23A', + negative: '#F56C6C', + info: '#8896b3', + warning: '#e6a23c', + light: '#FFFFFF', + dark: '#1D1D1D', +} +export const ThemeStyleAnt = { + primary: '#1677ff', + secondary: '#26A69A', + accent: '#9C27B0', + positive: '#52c41a', + negative: '#f5222d', + info: '#fafafa', + warning: '#faad14', + light: '#FFFFFF', + dark: '#141414', +} diff --git a/src/config/setting.ts b/src/config/setting.ts new file mode 100755 index 0000000..e69de29 diff --git a/src/css/app.scss b/src/css/app.scss old mode 100644 new mode 100755 diff --git a/src/css/quasar.variables.scss b/src/css/quasar.variables.scss old mode 100644 new mode 100755 diff --git a/src/env.d.ts b/src/env.d.ts old mode 100644 new mode 100755 diff --git a/src/i18n/en-US/index.ts b/src/i18n/en-US/index.ts old mode 100644 new mode 100755 diff --git a/src/i18n/index.ts b/src/i18n/index.ts old mode 100644 new mode 100755 diff --git a/src/i18n/zh-CN/index.ts b/src/i18n/zh-CN/index.ts old mode 100644 new mode 100755 diff --git a/src/layouts/BlankLayout/BlankLayoutIndex.vue b/src/layouts/BlankLayout/BlankLayoutIndex.vue new file mode 100755 index 0000000..651df23 --- /dev/null +++ b/src/layouts/BlankLayout/BlankLayoutIndex.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/layouts/LoginLayout/LoginLayoutIndex.vue b/src/layouts/LoginLayout/LoginLayoutIndex.vue new file mode 100755 index 0000000..b2a47d5 --- /dev/null +++ b/src/layouts/LoginLayout/LoginLayoutIndex.vue @@ -0,0 +1,7 @@ + + + diff --git a/src/layouts/ContainerLayout.vue b/src/layouts/MainLayout/ContainerLayout.vue old mode 100644 new mode 100755 similarity index 100% rename from src/layouts/ContainerLayout.vue rename to src/layouts/MainLayout/ContainerLayout.vue diff --git a/src/layouts/FooterLayout.vue b/src/layouts/MainLayout/FooterLayout.vue old mode 100644 new mode 100755 similarity index 100% rename from src/layouts/FooterLayout.vue rename to src/layouts/MainLayout/FooterLayout.vue diff --git a/src/layouts/HeaderLayout.vue b/src/layouts/MainLayout/HeaderLayout.vue old mode 100644 new mode 100755 similarity index 100% rename from src/layouts/HeaderLayout.vue rename to src/layouts/MainLayout/HeaderLayout.vue diff --git a/src/layouts/LeftDrawerLayout.vue b/src/layouts/MainLayout/LeftDrawerLayout.vue old mode 100644 new mode 100755 similarity index 66% rename from src/layouts/LeftDrawerLayout.vue rename to src/layouts/MainLayout/LeftDrawerLayout.vue index 01f6010..07442ec --- a/src/layouts/LeftDrawerLayout.vue +++ b/src/layouts/MainLayout/LeftDrawerLayout.vue @@ -1,10 +1,5 @@