From d46cfff07931f6d33ec4aa0d305d28fe8ded614a Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Mon, 25 May 2026 10:37:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(uniapp):=20=E5=8A=A0=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E7=94=A8=E3=80=8C=E7=BB=83=E4=B8=80=E7=BB=83=E3=80=8D=E6=82=AC?= =?UTF-8?q?=E6=B5=AE=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新组件 dev-training-entry:右下角圆形悬浮按钮,带 DEV 标签 - 仅在 isDevMode() 为真时显示,上线打包自动隐藏 - 挂载到首页和个人中心,方便快速跳转 /pages/training/index 测试 后续走装修系统给 user 页配「练一练」服务图标后即可移除此组件 Co-authored-by: Cursor --- .../components/dev-training-entry/index.vue | 75 +++++++++++++++++++ uniapp/src/pages/index/index.vue | 3 + uniapp/src/pages/user/user.vue | 2 + 3 files changed, 80 insertions(+) create mode 100644 uniapp/src/components/dev-training-entry/index.vue diff --git a/uniapp/src/components/dev-training-entry/index.vue b/uniapp/src/components/dev-training-entry/index.vue new file mode 100644 index 00000000..13df6145 --- /dev/null +++ b/uniapp/src/components/dev-training-entry/index.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/uniapp/src/pages/index/index.vue b/uniapp/src/pages/index/index.vue index dbd21a14..6d73d8b3 100644 --- a/uniapp/src/pages/index/index.vue +++ b/uniapp/src/pages/index/index.vue @@ -87,6 +87,8 @@ + + @@ -96,6 +98,7 @@ import {getIndex} from '@/api/shop' import {onLoad, onPageScroll} from "@dcloudio/uni-app"; import {computed, reactive, ref} from 'vue' import {useAppStore} from '@/stores/app' +import DevTrainingEntry from '@/components/dev-training-entry/index.vue' // #ifdef MP import MpPrivacyPopup from './component/mp-privacy-popup.vue' diff --git a/uniapp/src/pages/user/user.vue b/uniapp/src/pages/user/user.vue index 7bf604c1..42a50fae 100644 --- a/uniapp/src/pages/user/user.vue +++ b/uniapp/src/pages/user/user.vue @@ -25,6 +25,7 @@ + @@ -35,6 +36,7 @@ import { useUserStore } from '@/stores/user' import { onShow } from '@dcloudio/uni-app' import { storeToRefs } from 'pinia' import { reactive } from 'vue' +import DevTrainingEntry from '@/components/dev-training-entry/index.vue' const state = reactive<{ meta: any[] pages: any[]