From 36f557afa538755e62491ac7abcedcd0b1767dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=90=A6?= Date: Wed, 12 Aug 2026 17:17:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/CinematicVideoPlayer.vue | 3 +- src/components/SiteHeader.vue | 10 + src/components/vue-bits/CountUp.vue | 119 ++ src/components/vue-bits/TiltCard.vue | 137 ++ src/layouts/Header.vue | 1 + src/router/index.js | 3 + src/site.config.js | 100 +- src/style.css | 81 +- src/views/demo/components/BrowserFrame.vue | 182 ++ src/views/demo/components/FakeQrcode.vue | 87 + src/views/demo/components/PhoneFrame.vue | 262 +++ src/views/demo/components/WxNavBar.vue | 78 + src/views/demo/components/WxTabBar.vue | 88 + src/views/demo/flows.js | 201 ++ src/views/demo/flows/DoctorReceptionFlow.vue | 1406 +++++++++++++ src/views/demo/flows/FullJourneyFlow.vue | 1750 +++++++++++++++++ src/views/demo/flows/OfflineRegisterFlow.vue | 831 ++++++++ src/views/demo/flows/OnlineFollowupFlow.vue | 900 +++++++++ src/views/demo/flows/OrderPayFlow.vue | 916 +++++++++ src/views/demo/flows/PcPrescriptionFlow.vue | 1594 +++++++++++++++ src/views/demo/flows/PcReceptionFlow.vue | 1581 +++++++++++++++ src/views/demo/flows/PharmacyBuyFlow.vue | 1023 ++++++++++ src/views/demo/flows/PharmacyFollowupFlow.vue | 683 +++++++ .../demo/flows/shared/PatientHomeScreen.vue | 507 +++++ .../demo/flows/shared/WeChatHomeScreen.vue | 320 +++ src/views/demo/flows/shared/WxScanScreen.vue | 198 ++ src/views/demo/index.vue | 1403 +++++++++++++ src/views/index/index.vue | 15 +- src/views/product/index.vue | 65 +- src/views/video/index.vue | 231 ++- 30 files changed, 14555 insertions(+), 220 deletions(-) create mode 100644 src/components/vue-bits/CountUp.vue create mode 100644 src/components/vue-bits/TiltCard.vue create mode 100644 src/views/demo/components/BrowserFrame.vue create mode 100644 src/views/demo/components/FakeQrcode.vue create mode 100644 src/views/demo/components/PhoneFrame.vue create mode 100644 src/views/demo/components/WxNavBar.vue create mode 100644 src/views/demo/components/WxTabBar.vue create mode 100644 src/views/demo/flows.js create mode 100644 src/views/demo/flows/DoctorReceptionFlow.vue create mode 100644 src/views/demo/flows/FullJourneyFlow.vue create mode 100644 src/views/demo/flows/OfflineRegisterFlow.vue create mode 100644 src/views/demo/flows/OnlineFollowupFlow.vue create mode 100644 src/views/demo/flows/OrderPayFlow.vue create mode 100644 src/views/demo/flows/PcPrescriptionFlow.vue create mode 100644 src/views/demo/flows/PcReceptionFlow.vue create mode 100644 src/views/demo/flows/PharmacyBuyFlow.vue create mode 100644 src/views/demo/flows/PharmacyFollowupFlow.vue create mode 100644 src/views/demo/flows/shared/PatientHomeScreen.vue create mode 100644 src/views/demo/flows/shared/WeChatHomeScreen.vue create mode 100644 src/views/demo/flows/shared/WxScanScreen.vue create mode 100644 src/views/demo/index.vue diff --git a/src/components/CinematicVideoPlayer.vue b/src/components/CinematicVideoPlayer.vue index 98108f0..96c210a 100644 --- a/src/components/CinematicVideoPlayer.vue +++ b/src/components/CinematicVideoPlayer.vue @@ -12,7 +12,8 @@ interface CinematicVideoPlayerProps { const props = withDefaults(defineProps(), { poster: '', title: '产品演示视频', - accent: '#14b8a6' + // 默认强调色与全站品牌青蓝一致(--brand 亮色值) + accent: '#0891b2' }) const videoRef = ref(null) diff --git a/src/components/SiteHeader.vue b/src/components/SiteHeader.vue index bd1ae6f..74db852 100644 --- a/src/components/SiteHeader.vue +++ b/src/components/SiteHeader.vue @@ -55,6 +55,7 @@ const themeOptions = [ const menuGroups = [ { key: 'home', label: '首页', to: '/', links: siteConfig.navigation.secondary.home }, { key: 'product', label: '产品', to: '/product', links: siteConfig.navigation.secondary.product }, + { key: 'demo', label: '流程模拟', to: '/demo/full-journey', activePath: '/demo', links: siteConfig.navigation.secondary.demo }, { key: 'video', label: '视频', to: '/video/user', activePath: '/video', links: siteConfig.navigation.secondary.video }, { key: 'about', label: '关于我们', to: '/about', links: siteConfig.navigation.secondary.about } ] @@ -87,6 +88,14 @@ const routeSearchItems = computed(() => [ category: '页面', keywords: ['产品介绍', '功能', '价格', 'FAQ'] }, + { + id: 'route-demo', + title: '流程模拟', + description: '跨端全流程演示(患者扫码到支付完成),以及线下挂号、在线复诊、药店购药、订单支付、医生端接诊开方与 PC 端接诊开方、代付的可交互演示。', + to: '/demo/full-journey', + category: '页面', + keywords: ['流程模拟', '演示', '全流程', '全景', '跨端', '挂号', '复诊', '购药', '支付', '医生端', '开方', 'PC端', '线下接诊', '在线复诊开方', '发送处方', '就诊人', '认领', '代付'] + }, { id: 'route-video', title: '视频', @@ -109,6 +118,7 @@ const navigationSearchItems = computed(() => { const groups = [ { category: '首页标题', links: siteConfig.navigation.secondary.home }, { category: '产品标题', links: siteConfig.navigation.secondary.product }, + { category: '流程模拟', links: siteConfig.navigation.secondary.demo }, { category: '视频分区', links: siteConfig.navigation.secondary.video }, { category: '关于我们', links: siteConfig.navigation.secondary.about } ] diff --git a/src/components/vue-bits/CountUp.vue b/src/components/vue-bits/CountUp.vue new file mode 100644 index 0000000..96e40f7 --- /dev/null +++ b/src/components/vue-bits/CountUp.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/src/components/vue-bits/TiltCard.vue b/src/components/vue-bits/TiltCard.vue new file mode 100644 index 0000000..10df080 --- /dev/null +++ b/src/components/vue-bits/TiltCard.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/src/layouts/Header.vue b/src/layouts/Header.vue index 9a6d771..c841498 100644 --- a/src/layouts/Header.vue +++ b/src/layouts/Header.vue @@ -30,6 +30,7 @@ const backdropClass = computed(() => {