From b1dba84c497008d0b8ac605aab5730726f51877a Mon Sep 17 00:00:00 2001 From: chenxing Date: Tue, 6 Oct 2026 20:16:21 +0800 Subject: [PATCH] =?UTF-8?q?feat(appicon):=20=E5=BA=94=E7=94=A8=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=20AppIcon=20=E7=9F=A2=E9=87=8F=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=99=A8=E6=8E=A5=E5=85=A5=EF=BC=88YschAppIcons=20=E8=B5=84?= =?UTF-8?q?=E4=BA=A7=E5=BA=93=2010-04=20=E8=BD=AE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - src/assets/appicon-icons.json:资产库图标清单 - src/components/AppIconPicker.vue:矢量图标+配色选择器(YschAppIcons mask 资产) - AppForm.vue:平台模式 Pc 应用图标换 AppIconPicker(学校模式保留位图上传,学校覆盖线只收 pcIcon);App 位图图标移入高级折叠区(遗留通道,存量 pc_icon/app_icon 链路保留,新应用优先矢量图标键) - AddAppContainer/EditAppContainer:配套接线 依据:根目录《AppIcon资产库落地-执行报告-20261004.md》P2 管理端图标选择器 --- src/assets/appicon-icons.json | 23 +++ src/components/AppIconPicker.vue | 315 +++++++++++++++++++++++++++++ src/views/app/AddAppContainer.vue | 4 +- src/views/app/AppForm.vue | 123 +++++++++-- src/views/app/EditAppContainer.vue | 7 +- 5 files changed, 447 insertions(+), 25 deletions(-) create mode 100644 src/assets/appicon-icons.json create mode 100644 src/components/AppIconPicker.vue diff --git a/src/assets/appicon-icons.json b/src/assets/appicon-icons.json new file mode 100644 index 0000000..7088008 --- /dev/null +++ b/src/assets/appicon-icons.json @@ -0,0 +1,23 @@ +{ + "prefix": "appicon", + "info": { + "name": "AppIcon", + "total": 2, + "author": "ysch front-end team", + "license": { + "title": "Remix Icon (Apache-2.0) 等,见 meta.json source", + "spdx": "Apache-2.0" + }, + "height": 1024 + }, + "icons": { + "tongzhi": { + "body": "", + "cn": "通知" + }, + "wenjuan": { + "body": "", + "cn": "问卷" + } + } +} \ No newline at end of file diff --git a/src/components/AppIconPicker.vue b/src/components/AppIconPicker.vue new file mode 100644 index 0000000..928585a --- /dev/null +++ b/src/components/AppIconPicker.vue @@ -0,0 +1,315 @@ + + + + + diff --git a/src/views/app/AddAppContainer.vue b/src/views/app/AddAppContainer.vue index 268ee15..6d6dbd2 100644 --- a/src/views/app/AddAppContainer.vue +++ b/src/views/app/AddAppContainer.vue @@ -22,7 +22,7 @@ let onSuccessCallback: (() => void) | null = null; // useForm 托管提交 const { form, loading: submitting, send: sendForm, onSuccess, onError } = useForm( (dto) => Apis.AppSettings.addApp({ data: dto }), - { initialForm: { name: '', categoryId: undefined, desc: '', appCode: '', appNature: 'BUSINESS', clients: [], pcUrl: '', pcIcon: '', appUrl: '', appIcon: '', officialAccountUrl: '', dingtalkUrl: '' }, resetAfterSubmiting: true } + { initialForm: { name: '', categoryId: undefined, desc: '', appCode: '', appNature: 'BUSINESS', clients: [], pcUrl: '', pcIcon: '', appUrl: '', appIcon: '', iconKey: '', iconColor: '', officialAccountUrl: '', dingtalkUrl: '' }, resetAfterSubmiting: true } ); onSuccess(() => { @@ -57,6 +57,8 @@ async function handleSubmit(formData: Record) { pcIcon: formData.pcIcon, appUrl: formData.appUrl, appIcon: formData.appIcon, + iconKey: formData.iconKey, + iconColor: formData.iconColor, officialAccountUrl: formData.officialAccountUrl, dingtalkUrl: formData.dingtalkUrl, }; diff --git a/src/views/app/AppForm.vue b/src/views/app/AppForm.vue index a47268c..8e0b91d 100644 --- a/src/views/app/AppForm.vue +++ b/src/views/app/AppForm.vue @@ -86,14 +86,14 @@ - + - + + + + + + - + - - - -
- -
-
- - -
-
-
+
+ + + + + + + 上传位图图标(高级 · 遗留通道) + + + @@ -160,6 +198,7 @@