From 1a6e5d22fdbe2d11aed22eb341a0eba3f654a4b9 Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Fri, 11 Oct 2024 20:58:59 +0800 Subject: [PATCH 1/3] =?UTF-8?q?chore:=20v-access=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=A0=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 4 +++- apps/web-antd/types/directive.d.ts | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 apps/web-antd/types/directive.d.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 0cbfa452..ece7b1f2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -222,5 +222,7 @@ "vitest.disableWorkspaceWarning": true, "cSpell.words": ["tinymce"], "typescript.tsdk": "node_modules/typescript/lib", - "editor.linkedEditing": true // 自动同步更改html标签 + "editor.linkedEditing": true, // 自动同步更改html标签, + "vscodeCustomCodeColor.highlightValue": "v-access", // v-access显示的颜色 + "vscodeCustomCodeColor.highlightValueColor": "#CCFFFF" } diff --git a/apps/web-antd/types/directive.d.ts b/apps/web-antd/types/directive.d.ts new file mode 100644 index 00000000..c2a6ff76 --- /dev/null +++ b/apps/web-antd/types/directive.d.ts @@ -0,0 +1,12 @@ +import type { Directive } from 'vue'; + +declare module 'vue' { + export interface ComponentCustomProperties { + /** + * 判断权限: v-access:code="" + * 判断角色 v-access:role="" + * TODO: 泛型第四个函数为code或role 不生效 + */ + vAccess: Directive; + } +} From fbbb02397148963099e5f3c2dc6097d8afaa149e Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Fri, 11 Oct 2024 21:05:25 +0800 Subject: [PATCH 2/3] =?UTF-8?q?chore:=20=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/types/directive.d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/web-antd/types/directive.d.ts b/apps/web-antd/types/directive.d.ts index c2a6ff76..06b9f553 100644 --- a/apps/web-antd/types/directive.d.ts +++ b/apps/web-antd/types/directive.d.ts @@ -5,7 +5,8 @@ declare module 'vue' { /** * 判断权限: v-access:code="" * 判断角色 v-access:role="" - * TODO: 泛型第四个函数为code或role 不生效 + * VueOfficial插件暂时不支持判断modifer/arg + * @see https://github.com/vuejs/language-tools/issues/4810 */ vAccess: Directive; } From 113c2d60b59f333417e0479f9856592feb23e93f Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Fri, 11 Oct 2024 21:20:23 +0800 Subject: [PATCH 3/3] fix: menu support i18n --- apps/web-antd/src/locales/langs/en-US.json | 1 + apps/web-antd/src/locales/langs/zh-CN.json | 1 + apps/web-antd/src/views/system/menu/menu-drawer.vue | 6 +++++- .../src/views/tool/gen/edit-steps/basic-setting.vue | 9 +++++++-- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/web-antd/src/locales/langs/en-US.json b/apps/web-antd/src/locales/langs/en-US.json index 2fac357b..ece9278c 100644 --- a/apps/web-antd/src/locales/langs/en-US.json +++ b/apps/web-antd/src/locales/langs/en-US.json @@ -84,6 +84,7 @@ } }, "menu": { + "root": "Root", "system": { "root": "System", "user": "User", diff --git a/apps/web-antd/src/locales/langs/zh-CN.json b/apps/web-antd/src/locales/langs/zh-CN.json index b6036dea..9ad8e04e 100644 --- a/apps/web-antd/src/locales/langs/zh-CN.json +++ b/apps/web-antd/src/locales/langs/zh-CN.json @@ -84,6 +84,7 @@ } }, "menu": { + "root": "根目录", "system": { "root": "系统管理", "user": "用户管理", diff --git a/apps/web-antd/src/views/system/menu/menu-drawer.vue b/apps/web-antd/src/views/system/menu/menu-drawer.vue index 0298f946..e07224e9 100644 --- a/apps/web-antd/src/views/system/menu/menu-drawer.vue +++ b/apps/web-antd/src/views/system/menu/menu-drawer.vue @@ -43,12 +43,16 @@ const [BasicForm, formApi] = useVbenForm({ async function setupMenuSelect() { // menu const menuArray = await menuList(); + // support i18n + menuArray.forEach((item) => { + item.menuName = $t(item.menuName); + }); // const folderArray = menuArray.filter((item) => item.menuType === 'M'); const menuTree = listToTree(menuArray, { id: 'menuId', pid: 'parentId' }); const fullMenuTree = [ { menuId: 0, - menuName: '根目录', + menuName: $t('menu.root'), children: menuTree, }, ]; diff --git a/apps/web-antd/src/views/tool/gen/edit-steps/basic-setting.vue b/apps/web-antd/src/views/tool/gen/edit-steps/basic-setting.vue index 9edaf73a..76bef792 100644 --- a/apps/web-antd/src/views/tool/gen/edit-steps/basic-setting.vue +++ b/apps/web-antd/src/views/tool/gen/edit-steps/basic-setting.vue @@ -4,6 +4,7 @@ import type { Column, GenInfo } from '#/api/tool/gen/model'; import { inject, onMounted, type Ref } from 'vue'; import { useVbenForm } from '@vben/common-ui'; +import { $t } from '@vben/locales'; import { addFullName, listToTree } from '@vben/utils'; import { Col, Row } from 'ant-design-vue'; @@ -66,12 +67,16 @@ async function initTreeSelect(columns: Column[]) { */ async function initMenuSelect() { const list = await menuList(); + // support i18n + list.forEach((item) => { + item.menuName = $t(item.menuName); + }); const tree = listToTree(list, { id: 'menuId', pid: 'parentId' }); const treeData = [ { - fullName: '根目录', + fullName: $t('menu.root'), menuId: 0, - menuName: '根目录', + menuName: $t('menu.root'), children: tree, }, ];