From bf75f0f789540154ae758cc6022e4719da9ef5e5 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 25 Apr 2025 23:02:16 +0800 Subject: [PATCH] =?UTF-8?q?review=EF=BC=9A=E3=80=90INFRA=E3=80=91=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=9E=84=E5=BB=BA=E7=9A=84=E4=BB=A3=E7=A0=81=E6=84=8F?= =?UTF-8?q?=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/package.json | 4 +--- apps/web-antd/src/bootstrap.ts | 1 + apps/web-antd/src/components/dict-tag/dict-tag.vue | 3 --- .../form-create/components/dict-select.vue | 9 +++------ .../components/form-create/rules/use-dict-select.ts | 4 +--- .../components/form-create/rules/use-select-rule.ts | 4 +--- apps/web-antd/src/components/form-create/typing.ts | 13 +++++++------ apps/web-antd/src/components/tinymce/editor.vue | 3 +-- apps/web-antd/src/locales/langs/en-US/common.json | 5 ----- apps/web-antd/src/locales/langs/zh-CN/common.json | 5 ----- apps/web-antd/src/utils/dict.ts | 3 +++ apps/web-antd/src/views/infra/build/index.vue | 9 +++------ pnpm-lock.yaml | 3 --- 13 files changed, 21 insertions(+), 45 deletions(-) delete mode 100644 apps/web-antd/src/locales/langs/en-US/common.json delete mode 100644 apps/web-antd/src/locales/langs/zh-CN/common.json diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index a703101ff..c608b554d 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -49,14 +49,12 @@ "crypto-js": "catalog:", "dayjs": "catalog:", "highlight.js": "catalog:", - "lodash.clonedeep": "catalog:", "pinia": "catalog:", "vue": "catalog:", "vue-dompurify-html": "catalog:", "vue-router": "catalog:" }, "devDependencies": { - "@types/crypto-js": "catalog:", - "@types/lodash.clonedeep": "catalog:" + "@types/crypto-js": "catalog:" } } diff --git a/apps/web-antd/src/bootstrap.ts b/apps/web-antd/src/bootstrap.ts index 761e58ed2..68d19ee1a 100644 --- a/apps/web-antd/src/bootstrap.ts +++ b/apps/web-antd/src/bootstrap.ts @@ -58,6 +58,7 @@ async function bootstrap(namespace: string) { setupFormCreate(app); // vue-dompurify-html + // TODO @dhb52:VueDOMPurifyHTML 是不是不用引入哈? app.use(VueDOMPurifyHTML); // 配置Motion插件 diff --git a/apps/web-antd/src/components/dict-tag/dict-tag.vue b/apps/web-antd/src/components/dict-tag/dict-tag.vue index d000b6669..9e1825e08 100644 --- a/apps/web-antd/src/components/dict-tag/dict-tag.vue +++ b/apps/web-antd/src/components/dict-tag/dict-tag.vue @@ -41,17 +41,14 @@ const dictTag = computed(() => { switch (colorType) { case 'danger': { colorType = 'error'; - break; } case 'info': { colorType = 'default'; - break; } case 'primary': { colorType = 'processing'; - break; } default: { diff --git a/apps/web-antd/src/components/form-create/components/dict-select.vue b/apps/web-antd/src/components/form-create/components/dict-select.vue index b4c54fd0f..e6e198f06 100644 --- a/apps/web-antd/src/components/form-create/components/dict-select.vue +++ b/apps/web-antd/src/components/form-create/components/dict-select.vue @@ -13,11 +13,7 @@ import { SelectOption, } from 'ant-design-vue'; -import { - getBoolDictOptions, - getIntDictOptions, - getStrDictOptions, -} from '#/utils/dict'; +import { getDictObj, getIntDictOptions, getStrDictOptions } from '#/utils/dict'; defineOptions({ name: 'DictSelect' }); @@ -29,10 +25,11 @@ const props = withDefaults(defineProps(), { const attrs = useAttrs(); // 获得字典配置 +// TODO @dhb:可以使用 getDictOptions 替代么? const getDictOptions = computed(() => { switch (props.valueType) { case 'bool': { - return getBoolDictOptions(props.dictType); + return getDictObj(props.dictType, 'bool'); } case 'int': { return getIntDictOptions(props.dictType); diff --git a/apps/web-antd/src/components/form-create/rules/use-dict-select.ts b/apps/web-antd/src/components/form-create/rules/use-dict-select.ts index 8524ea3d5..c9c438e8b 100644 --- a/apps/web-antd/src/components/form-create/rules/use-dict-select.ts +++ b/apps/web-antd/src/components/form-create/rules/use-dict-select.ts @@ -1,8 +1,6 @@ import { onMounted, ref } from 'vue'; -import { buildUUID } from '@vben/utils'; - -import cloneDeep from 'lodash.clonedeep'; +import { buildUUID, cloneDeep } from '@vben/utils'; import * as DictDataApi from '#/api/system/dict/type'; import { diff --git a/apps/web-antd/src/components/form-create/rules/use-select-rule.ts b/apps/web-antd/src/components/form-create/rules/use-select-rule.ts index 2bbdf55c4..fd4213783 100644 --- a/apps/web-antd/src/components/form-create/rules/use-select-rule.ts +++ b/apps/web-antd/src/components/form-create/rules/use-select-rule.ts @@ -1,8 +1,6 @@ import type { SelectRuleOption } from '#/components/form-create/typing'; -import { buildUUID } from '@vben/utils'; - -import cloneDeep from 'lodash.clonedeep'; +import { buildUUID, cloneDeep } from '@vben/utils'; import { localeProps, diff --git a/apps/web-antd/src/components/form-create/typing.ts b/apps/web-antd/src/components/form-create/typing.ts index 9ddd9a2cd..b89e6f780 100644 --- a/apps/web-antd/src/components/form-create/typing.ts +++ b/apps/web-antd/src/components/form-create/typing.ts @@ -1,21 +1,21 @@ import type { Rule } from '@form-create/ant-design-vue'; -// 数据字典 Select 选择器组件 Props 类型 +/** 数据字典 Select 选择器组件 Props 类型 */ export interface DictSelectProps { dictType: string; // 字典类型 - valueType?: 'bool' | 'int' | 'str'; // 字典值类型 + valueType?: 'bool' | 'int' | 'str'; // 字典值类型 TODO @芋艿:'boolean' | 'number' | 'string';需要和 vue3 一起统一! selectType?: 'checkbox' | 'radio' | 'select'; // 选择器类型,下拉框 select、多选框 checkbox、单选框 radio formCreateInject?: any; } -// 左侧拖拽按钮 +/** 左侧拖拽按钮 */ export interface MenuItem { label: string; name: string; icon: string; } -// 左侧拖拽按钮分类 +/** 左侧拖拽按钮分类 */ export interface Menu { title: string; name: string; @@ -24,6 +24,7 @@ export interface Menu { export type MenuList = Array; +// TODO @dhb52:MenuList、Menu、MenuItem、DragRule 这几个,是不是没用到呀? // 拖拽组件的规则 export interface DragRule { icon: string; @@ -40,7 +41,7 @@ export interface DragRule { props(v: any, v1: any): Rule[]; } -// 通用下拉组件 Props 类型 +/** 通用 API 下拉组件 Props 类型 */ export interface ApiSelectProps { name: string; // 组件名称 labelField?: string; // 选项标签 @@ -49,7 +50,7 @@ export interface ApiSelectProps { isDict?: boolean; // 是否字典选择器 } -// 选择组件规则配置类型 +/** 选择组件规则配置类型 */ export interface SelectRuleOption { label: string; // label 名称 name: string; // 组件名称 diff --git a/apps/web-antd/src/components/tinymce/editor.vue b/apps/web-antd/src/components/tinymce/editor.vue index e0e62c2f0..cb874f6c9 100644 --- a/apps/web-antd/src/components/tinymce/editor.vue +++ b/apps/web-antd/src/components/tinymce/editor.vue @@ -157,11 +157,10 @@ const initOptions = computed((): InitOptions => { const { httpRequest } = useUpload(); httpRequest(file) .then((url) => { - // console.log('tinymce 上传图片成功:', url); resolve(url); }) .catch((error) => { - // console.error('tinymce 上传图片失败:', error); + console.error('tinymce 上传图片失败:', error); reject(error.message); }); }); diff --git a/apps/web-antd/src/locales/langs/en-US/common.json b/apps/web-antd/src/locales/langs/en-US/common.json deleted file mode 100644 index c5cee3ea9..000000000 --- a/apps/web-antd/src/locales/langs/en-US/common.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "copy": "Copy", - "copySuccess": "Copy Success", - "copyError": "Copy Error" -} diff --git a/apps/web-antd/src/locales/langs/zh-CN/common.json b/apps/web-antd/src/locales/langs/zh-CN/common.json deleted file mode 100644 index c2fec61f7..000000000 --- a/apps/web-antd/src/locales/langs/zh-CN/common.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "copy": "复制", - "copySuccess": "复制成功", - "copyError": "复制失败" -} diff --git a/apps/web-antd/src/utils/dict.ts b/apps/web-antd/src/utils/dict.ts index e647665b9..c2c15b755 100644 --- a/apps/web-antd/src/utils/dict.ts +++ b/apps/web-antd/src/utils/dict.ts @@ -95,6 +95,7 @@ function getDictOptions( return dictOptions.length > 0 ? dictOptions : []; } +// TODO @dhb52:下面的一系列方法,看看能不能复用 getDictOptions 方法 export const getIntDictOptions = (dictType: string): NumberDictDataType[] => { // 获得通用的 DictDataType 列表 const dictOptions = getDictOptions(dictType) as DictDataType[]; @@ -110,6 +111,7 @@ export const getIntDictOptions = (dictType: string): NumberDictDataType[] => { return dictOption; }; +// TODO @dhb52:下面的一系列方法,看看能不能复用 getDictOptions 方法 export const getStrDictOptions = (dictType: string) => { // 获得通用的 DictDataType 列表 const dictOptions = getDictOptions(dictType) as DictDataType[]; @@ -125,6 +127,7 @@ export const getStrDictOptions = (dictType: string) => { return dictOption; }; +// TODO @dhb52:下面的一系列方法,看看能不能复用 getDictOptions 方法 export const getBoolDictOptions = (dictType: string) => { const dictOption: DictDataType[] = []; const dictOptions = getDictOptions(dictType) as DictDataType[]; diff --git a/apps/web-antd/src/views/infra/build/index.vue b/apps/web-antd/src/views/infra/build/index.vue index ba2569814..875b7b79e 100644 --- a/apps/web-antd/src/views/infra/build/index.vue +++ b/apps/web-antd/src/views/infra/build/index.vue @@ -14,7 +14,6 @@ import xml from 'highlight.js/lib/languages/java'; import json from 'highlight.js/lib/languages/json'; import { useFormCreateDesigner } from '#/components/form-create'; -import { $t } from '#/locales'; import 'highlight.js/styles/github.css'; @@ -121,10 +120,10 @@ const copy = async (text: string) => { if (isSupported) { await copy(); if (unref(copied)) { - message.success($t('common.copySuccess')); + message.success('复制成功'); } } else { - message.error($t('common.copyError')); + message.error('复制失败'); } }; @@ -173,9 +172,7 @@ onMounted(async () => {
- +
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e4720de0..7e2375cd1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -743,9 +743,6 @@ importers: highlight.js: specifier: 'catalog:' version: 11.11.1 - lodash.clonedeep: - specifier: 'catalog:' - version: 4.5.0 pinia: specifier: ^2.3.1 version: 2.3.1(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))