From 7077d0f9e0402200c5445bf649796449ec289c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Mon, 12 Jan 2026 00:54:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=AE=A2=E6=88=B7=E7=AB=AF):=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=85=91=E6=8D=A2=E6=9C=8D=E5=8A=A1=E5=92=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=BA=A4=E4=BA=92=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现兑换服务弹窗和任务接单功能,包括: 1. 添加兑换服务弹窗及兑换逻辑 2. 实现任务列表平滑滚动和接单功能 3. 在Dashboard中添加语音通话、用药提醒和召唤机器人弹窗 4. 优化UI交互和动画效果 --- src/router/index.js | 5 + src/views/LandingPage.vue | 4 +- src/views/Whitepaper.vue | 332 +++++++++++++++++++++++++++++++++ src/views/client/Dashboard.vue | 187 ++++++++++++++++++- src/views/client/TimeBank.vue | 109 +++++++++-- 5 files changed, 621 insertions(+), 16 deletions(-) create mode 100644 src/views/Whitepaper.vue diff --git a/src/router/index.js b/src/router/index.js index 5e2e9b8..d1e84d2 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -11,6 +11,11 @@ const routes = [ name: 'Login', component: () => import('../views/LoginPage.vue') }, + { + path: '/whitepaper', + name: 'Whitepaper', + component: () => import('../views/Whitepaper.vue') + }, { path: '/client', component: () => import('../layouts/ClientLayout.vue'), diff --git a/src/views/LandingPage.vue b/src/views/LandingPage.vue index 76f880e..deb048d 100644 --- a/src/views/LandingPage.vue +++ b/src/views/LandingPage.vue @@ -25,9 +25,9 @@ - +
diff --git a/src/views/Whitepaper.vue b/src/views/Whitepaper.vue new file mode 100644 index 0000000..b8b8d29 --- /dev/null +++ b/src/views/Whitepaper.vue @@ -0,0 +1,332 @@ + + + + + \ No newline at end of file diff --git a/src/views/client/Dashboard.vue b/src/views/client/Dashboard.vue index 20aab15..d6c7cee 100644 --- a/src/views/client/Dashboard.vue +++ b/src/views/client/Dashboard.vue @@ -47,15 +47,15 @@
- - - @@ -63,6 +63,129 @@
+ +
+
+
+
+ 📞 +
+

语音/视频通话

+ +
+

+ 您当前处于演示模式,请登录后查看完整通话功能。 +

+
+ 💡 提示:正式用户可直接接入养老院呼机大屏或室内机器人摄像头。 +
+
+ +
+
+
老人绑定号码
+
138-****-5521
+
+ +
+ + +
+ +
+ +
+
+
+
+ +
+
+
+ + +
+
+
+
+ 💊 +
+

智能用药提醒

+

设置后 AI 助手将通过机器人和手环定时提醒老人吃药。

+ +
+
+
+ 🤖 + AI 智能提示功能 +
+

+ 您可以手动设置用药时间,AI 将在规定时间前 5 分钟自动通过语音引导机器人前往老人身边,并在手环上发出震动。 +

+
+ +
+
+ 下次用药 + 未设置 +
+
+
+
+
+ + +
+
+
+ + +
+
+
+
+
+
+ 🤖 +
+
+ +

召唤机器人

+ +
+
+

机器人将立即前往老人当前所在位置({{ store.robotStatus.location }})。

+ +
+ +
+
+
机器人正在来的路上...
+
+
+
+
+ +
+
+ 实时位置 + 2楼 走廊 C区 +
+
预计 45 秒后到达王大爷身边。
+
+
+
+
+
+ +
+
+
+
@@ -102,6 +225,48 @@ import { useGlobalStore } from '../../stores/global' const store = useGlobalStore() +// UI State +const isLoggedIn = ref(false) // 演示模式 +const showCallModal = ref(false) +const showMedModal = ref(false) +const showSummonModal = ref(false) +const isRobotComing = ref(false) + +// Actions +const handleVoiceCall = () => { + showCallModal.value = true +} + +const handleRemindMedication = () => { + showMedModal.value = true +} + +const handleSummonRobot = () => { + showSummonModal.value = true + isRobotComing.value = false +} + +const copyNumber = () => { + alert('号码 138-0013-5521 已复制到剪贴板') +} + +const startCall = () => { + alert('正在呼叫王大爷的移动终端...') +} + +const connectCamera = () => { + alert('正在接入室内机器人摄像头,请稍候...') +} + +const setMedication = () => { + alert('设置成功!AI 助手已接管提醒任务。') + showMedModal.value = false +} + +const startSummon = () => { + isRobotComing.value = true +} + // Computed Status based on Global Store const isCritical = computed(() => store.robotStatus.level === 'L4') @@ -135,3 +300,19 @@ const statusDesc = computed(() => { return map[store.robotStatus.level] }) + + diff --git a/src/views/client/TimeBank.vue b/src/views/client/TimeBank.vue index 3d891a7..4d6f1a3 100644 --- a/src/views/client/TimeBank.vue +++ b/src/views/client/TimeBank.vue @@ -7,33 +7,81 @@
我的智护通证 (Token)
1,250.00
- -
+ +
+
+
+
+

兑换服务

+

+ 💰 当前余额: 1,250.00 Token +

+
+ +
+ +
+
+
+
+ {{ service.icon }} +
+
+
{{ service.title }}
+
{{ service.desc }}
+
+
+
+
{{ service.price }} Token
+ +
+
+
+ +
+

区块链通证兑换将实时记录并进行哈希上链存证

+
+
+
+ -
-

社区互助任务

+
+

+ 社区互助任务 + 附近 {{ tasks.length }} 个任务 +

-
-
-
+
+
+
{{ task.icon }}
-
{{ task.title }}
-
{{ task.distance }} • {{ task.time }}
+
{{ task.title }}
+
+ 📍 {{ task.distance }} + + ⏱️ {{ task.time }} +
- +{{ task.reward }} - +
+{{ task.reward }}
+
@@ -44,9 +92,48 @@ + +