From b14435e35b9bec1ccb8ee213f4de913d7efc4c22 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Sun, 6 Apr 2025 12:55:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 +- pnpm-lock.yaml | 25 --------- src/api/vms.ts | 5 ++ src/router/index.ts | 6 -- src/store/modules/vms.ts | 21 ++++++- src/utils/file.ts | 2 +- .../generator/components/generator-form.vue | 26 +++++---- .../components/generator-preview.vue | 8 +-- .../components/generator/hook.ts | 12 ++-- .../components/generator/index.vue | 56 ++++++++++--------- .../components/generator/option.ts | 20 ------- 11 files changed, 81 insertions(+), 104 deletions(-) diff --git a/package.json b/package.json index a2f6767..5f30760 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "animate.css": "^4.1.1", "axios": "^1.7.9", "boxen": "^8.0.1", + "dayjs": "^1.11.13", "esbuild": "^0.25.1", "eslint": "^9.9.1", "eslint-config-prettier": "^9.1.0", @@ -29,8 +30,6 @@ "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-vue": "^9.27.0", "gradient-string": "^3.0.0", - "js-cookie": "^3.0.5", - "list": "^2.0.19", "naive-ui": "^2.41.0", "nprogress": "^0.2.0", "pinia": "^2.3.1", @@ -48,7 +47,6 @@ "stylelint-prettier": "^5.0.3", "terser": "^5.39.0", "unocss": "^66.0.0", - "vfonts": "^0.0.3", "vite-plugin-cdn-import": "^1.0.1", "vite-plugin-remove-console": "^2.2.0", "vite-plugin-vue-inspector": "^5.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 83e1c9c..de461a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,12 +62,6 @@ importers: gradient-string: specifier: ^3.0.0 version: 3.0.0 - js-cookie: - specifier: ^3.0.5 - version: 3.0.5 - list: - specifier: ^2.0.19 - version: 2.0.19 naive-ui: specifier: ^2.41.0 version: 2.41.0(vue@3.5.13(typescript@5.7.3)) @@ -119,9 +113,6 @@ importers: unocss: specifier: ^66.0.0 version: 66.0.0(postcss@8.5.3)(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))(vue@3.5.13(typescript@5.7.3)) - vfonts: - specifier: ^0.0.3 - version: 0.0.3 vite-plugin-cdn-import: specifier: ^1.0.1 version: 1.0.1(rollup@4.34.8)(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)) @@ -1980,10 +1971,6 @@ packages: resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} hasBin: true - js-cookie@3.0.5: - resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} - engines: {node: '>=14'} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2050,9 +2037,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - list@2.0.19: - resolution: {integrity: sha512-nnVaRp4RaMAQkCpypTThsdxKqgPMiSwJq93eAm2/IbpUa8sd04XKBhkKu+bMk63HmdjK8b8Cuh4xARHWX2ye/Q==} - local-pkg@1.0.0: resolution: {integrity: sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==} engines: {node: '>=14'} @@ -2729,9 +2713,6 @@ packages: peerDependencies: vue: ^3.0.11 - vfonts@0.0.3: - resolution: {integrity: sha512-nguyw8L6Un8eelg1vQ31vIU2ESxqid7EYmy8V+MDeMaHBqaRSkg3dTBToC1PR00D89UzS/SLkfYPnx0Wf23IQQ==} - vite-plugin-cdn-import@1.0.1: resolution: {integrity: sha512-lgjLxgwFSKvJLbqjVBirUZ0rQo00GpUGJzRpgQu8RyBw9LA7jaqG6fUMQzBC9qWmTGabPC3iOzwCcoi7PseRAQ==} @@ -4695,8 +4676,6 @@ snapshots: jiti@2.4.2: {} - js-cookie@3.0.5: {} - js-tokens@4.0.0: {} js-tokens@9.0.1: {} @@ -4761,8 +4740,6 @@ snapshots: lines-and-columns@1.2.4: {} - list@2.0.19: {} - local-pkg@1.0.0: dependencies: mlly: 1.7.4 @@ -5482,8 +5459,6 @@ snapshots: evtd: 0.2.4 vue: 3.5.13(typescript@5.7.3) - vfonts@0.0.3: {} - vite-plugin-cdn-import@1.0.1(rollup@4.34.8)(vite@6.1.1(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)): dependencies: rollup-plugin-external-globals: 0.10.0(rollup@4.34.8) diff --git a/src/api/vms.ts b/src/api/vms.ts index 1a34d6a..d4c1337 100644 --- a/src/api/vms.ts +++ b/src/api/vms.ts @@ -5,3 +5,8 @@ import type { BaseResult } from '@/types/request'; /* 获取所有数据表 */ export const generator = (data: any) => { return request>({ url: '/vms/generator', method: 'post', data }); }; + +/* 获取vms文件路径 */ +export const getVmsPathList = () => { + return request>({ url: '/vms/getVmsPathList', method: 'get' }); +}; diff --git a/src/router/index.ts b/src/router/index.ts index f022f2e..c7f109f 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -23,10 +23,4 @@ export const resetRouter = () => { router.replace({ path: '/' }).then(); }; -// router.afterEach((to, from) => { -// const toDepth = to.path.split('/').length; -// const fromDepth = from.path.split('/').length; -// to.meta.transition = toDepth < fromDepth ? 'slide-right' : 'slide-left'; -// }); - export default router; diff --git a/src/store/modules/vms.ts b/src/store/modules/vms.ts index a459ff9..d956c9b 100644 --- a/src/store/modules/vms.ts +++ b/src/store/modules/vms.ts @@ -1,10 +1,14 @@ import { defineStore } from 'pinia'; -import { generator } from '@/api/vms'; +import { generator, getVmsPathList } from '@/api/vms'; export const useVmsStore = defineStore('vmsStore', { state: () => ({ generators: [], + // 生成服务端内容 + serverOptions: [], + // 生成前端内容 + webOptions: [], }), getters: {}, actions: { @@ -16,8 +20,21 @@ export const useVmsStore = defineStore('vmsStore', { (window as any).$message.error(result.message); } - this.generators = result.data; + this.generators = result.data.map((i) => ({ ...i, path: i.path.replace('.vm', '') })); (window as any).$message.success(`生成成功,共 ${this.generators.length} 数据`); }, + + /* 获取vms文件路径 */ + async getVmsPathList() { + const result = await getVmsPathList(); + // 需要确保已经在 setup 中执行了 window.$message = message + if (result.code !== 200) { + (window as any).$message.error(result.message); + return {}; + } + + this.webOptions = result.data.web; + this.serverOptions = result.data.server; + }, }, }); diff --git a/src/utils/file.ts b/src/utils/file.ts index 339f9b6..9c092e0 100644 --- a/src/utils/file.ts +++ b/src/utils/file.ts @@ -7,7 +7,7 @@ export function downloadTextAsFile(text: string, filename: string) { const a = document.createElement('a'); a.href = url; a.download = filename; - console.log(filename); + // 触发下载 document.body.appendChild(a); a.click(); diff --git a/src/views/generator-code/components/generator/components/generator-form.vue b/src/views/generator-code/components/generator/components/generator-form.vue index 5f2920f..23ee3a6 100644 --- a/src/views/generator-code/components/generator/components/generator-form.vue +++ b/src/views/generator-code/components/generator/components/generator-form.vue @@ -1,13 +1,11 @@ diff --git a/src/views/generator-code/components/generator/option.ts b/src/views/generator-code/components/generator/option.ts index 787d919..435bfee 100644 --- a/src/views/generator-code/components/generator/option.ts +++ b/src/views/generator-code/components/generator/option.ts @@ -7,26 +7,6 @@ const validatorFormOption = () => { return formOption.generatorServer.length > 0 || formOption.generatorWeb.length > 0; }; -// 生成服务端内容 -export const serverOptions = [ - { name: 'controller', label: 'controller' }, - { name: 'mapper', label: 'mapper' }, - { name: 'resourceMapper', label: 'resourceMapper' }, - { name: 'service', label: 'service' }, - { name: 'serviceImpl', label: 'serviceImpl' }, -]; - -// 生成前端内容 -export const webOptions = [ - { name: 'api', label: 'api' }, - { name: 'columns', label: 'columns' }, - { name: 'dialog', label: 'dialog' }, - { name: 'hook', label: 'hook' }, - { name: 'index', label: 'index' }, - { name: 'store', label: 'store' }, - { name: 'types', label: 'types' }, -]; - // 表单验证 export const rules: FormRules = { author: { required: true, trigger: ['blur', 'change', 'input'], message: '作者不能为空' },