diff --git a/docs/.vuepress/.cache/deps/_metadata.json b/docs/.vuepress/.cache/deps/_metadata.json index 94b9a91..2469b4b 100644 --- a/docs/.vuepress/.cache/deps/_metadata.json +++ b/docs/.vuepress/.cache/deps/_metadata.json @@ -2,42 +2,48 @@ "hash": "dbfb4ebf", "configHash": "f19bc6d0", "lockfileHash": "3f2b08de", - "browserHash": "cb8ec1ff", + "browserHash": "913e5fce", "optimized": { "@vue/devtools-api": { "src": "../../../../node_modules/@vuepress/client/node_modules/@vue/devtools-api/dist/index.js", "file": "@vue_devtools-api.js", - "fileHash": "005cdcac", + "fileHash": "edf09bec", "needsInterop": false }, "@vuepress/shared": { "src": "../../../../node_modules/@vuepress/shared/dist/index.js", "file": "@vuepress_shared.js", - "fileHash": "2da745d6", + "fileHash": "699ebd3d", "needsInterop": false }, "vue": { "src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", "file": "vue.js", - "fileHash": "5b457f1e", + "fileHash": "c41e6cb4", "needsInterop": false }, "vue-router": { "src": "../../../../node_modules/vue-router/dist/vue-router.mjs", "file": "vue-router.js", - "fileHash": "c96b9ef5", + "fileHash": "a66ef908", "needsInterop": false }, "pinia": { "src": "../../../../node_modules/pinia/dist/pinia.mjs", "file": "pinia.js", - "fileHash": "65f26231", + "fileHash": "ac20dbc2", "needsInterop": false }, "axios": { "src": "../../../../node_modules/axios/index.js", "file": "axios.js", - "fileHash": "6da2d9d4", + "fileHash": "589b1bb8", + "needsInterop": false + }, + "medium-zoom": { + "src": "../../../../node_modules/medium-zoom/dist/medium-zoom.esm.js", + "file": "medium-zoom.js", + "fileHash": "cee69026", "needsInterop": false } }, diff --git a/docs/.vuepress/.temp/internal/routes.js b/docs/.vuepress/.temp/internal/routes.js index 7676fa6..4273b03 100644 --- a/docs/.vuepress/.temp/internal/routes.js +++ b/docs/.vuepress/.temp/internal/routes.js @@ -21,3 +21,20 @@ export const routes = Object.fromEntries([ ["/posts/userServiceProcess.html", { loader: () => import(/* webpackChunkName: "posts_userServiceProcess.html" */"D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/userServiceProcess.html.js"), meta: {"title":"用户服务流程说明"} }], ["/404.html", { loader: () => import(/* webpackChunkName: "404.html" */"D:/xue/dma_handbook/docs/.vuepress/.temp/pages/404.html.js"), meta: {"title":""} }], ]); + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updateRoutes) { + __VUE_HMR_RUNTIME__.updateRoutes(routes) + } + if (__VUE_HMR_RUNTIME__.updateRedirects) { + __VUE_HMR_RUNTIME__.updateRedirects(redirects) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ routes, redirects }) => { + __VUE_HMR_RUNTIME__.updateRoutes(routes) + __VUE_HMR_RUNTIME__.updateRedirects(redirects) + }) +} diff --git a/docs/.vuepress/.temp/internal/siteData.js b/docs/.vuepress/.temp/internal/siteData.js index 9176058..db9a354 100644 --- a/docs/.vuepress/.temp/internal/siteData.js +++ b/docs/.vuepress/.temp/internal/siteData.js @@ -1 +1,14 @@ -export const siteData = JSON.parse("{\"base\":\"/dma_handbook/\",\"lang\":\"zh-CN\",\"title\":\"DMA服务人员服务操作手册\",\"description\":\"DMA服务人员服务操作手册\",\"head\":[[\"meta\",{\"name\":\"og:type\",\"content\":\"website\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"DMA服务人员操作手册\"}],[\"meta\",{\"name\":\"description\",\"content\":\"DMA服务操作手册\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"DMA服务全流程操作指南\"}],[\"meta\",{\"property\":\"og:image\",\"content\":\"https://images.health.ufutx.com/202503/12/1f227399ffc2ddbf6c58eafa80627d19.png?v=1773297630824\"}],[\"link\",{\"rel\":\"icon\",\"href\":\"https://images.health.ufutx.com/202503/12/1f227399ffc2ddbf6c58eafa80627d19.png?v=1773297630824\"}]],\"locales\":{}}") +export const siteData = JSON.parse("{\"base\":\"/dma_handbook/\",\"lang\":\"zh-CN\",\"title\":\"DMA服务人员服务操作手册\",\"description\":\"DMA服务人员服务操作手册\",\"head\":[[\"meta\",{\"name\":\"og:type\",\"content\":\"website\"}],[\"meta\",{\"property\":\"og:title\",\"content\":\"DMA服务人员操作手册\"}],[\"meta\",{\"name\":\"description\",\"content\":\"DMA服务操作手册\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"DMA服务全流程操作指南\"}],[\"meta\",{\"property\":\"og:image\",\"content\":\"https://images.health.ufutx.com/202503/12/1f227399ffc2ddbf6c58eafa80627d19.png?v=1774516020312\"}],[\"link\",{\"rel\":\"icon\",\"href\":\"https://images.health.ufutx.com/202503/12/1f227399ffc2ddbf6c58eafa80627d19.png?v=1774516020312\"}]],\"locales\":{}}") + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updateSiteData) { + __VUE_HMR_RUNTIME__.updateSiteData(siteData) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ siteData }) => { + __VUE_HMR_RUNTIME__.updateSiteData(siteData) + }) +} diff --git a/docs/.vuepress/.temp/internal/themeData.js b/docs/.vuepress/.temp/internal/themeData.js index 10b1746..c074e94 100644 --- a/docs/.vuepress/.temp/internal/themeData.js +++ b/docs/.vuepress/.temp/internal/themeData.js @@ -1 +1,14 @@ export const themeData = JSON.parse("{\"navbar\":[\"/\",{\"text\":\"核心操作\",\"link\":\"/posts/overview\",\"activeMatch\":\"^/posts/overview\"},{\"text\":\"角色文档\",\"children\":[{\"text\":\"主教练\",\"link\":\"/posts/chiefCoach.html\"},{\"text\":\"副教练\",\"link\":\"/posts/assistantCoach.html\"},{\"text\":\"客服\",\"link\":\"/posts/service.html\"},{\"text\":\"健康管理师\",\"link\":\"/posts/teacher.html\"}]},{\"text\":\"操作指南\",\"children\":[{\"text\":\"分润提现\",\"link\":\"/posts/shareBenefit\"},{\"text\":\"APP相关\",\"link\":\"/posts/appCorrelation\"},{\"text\":\"DMA模块\",\"link\":\"/posts/DMAModule\"},{\"text\":\"考试预约\",\"link\":\"/posts/examReservation\"},{\"text\":\"代理商\",\"link\":\"/posts/agent\"},{\"text\":\"用户服务流程\",\"link\":\"/posts/userServiceProcess\"},{\"text\":\"行为记录\",\"link\":\"/posts/behaviorRecord\"}]},{\"text\":\"常见问题\",\"link\":\"/posts/helpCenter\"},{\"text\":\"更新日志\",\"link\":\"/posts/changelogV2\"}],\"locales\":{\"/\":{\"selectLanguageName\":\"English\"}},\"colorMode\":\"auto\",\"colorModeSwitch\":true,\"logo\":null,\"repo\":null,\"selectLanguageText\":\"Languages\",\"selectLanguageAriaLabel\":\"Select language\",\"sidebarDepth\":2,\"editLink\":true,\"editLinkText\":\"Edit this page\",\"lastUpdated\":true,\"contributors\":true,\"contributorsText\":\"Contributors\",\"notFound\":[\"There's nothing here.\",\"How did we get here?\",\"That's a Four-Oh-Four.\",\"Looks like we've got some broken links.\"],\"backToHome\":\"Take me home\",\"openInNewWindow\":\"open in new window\",\"toggleColorMode\":\"toggle color mode\",\"toggleSidebar\":\"toggle sidebar\"}") + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updateThemeData) { + __VUE_HMR_RUNTIME__.updateThemeData(themeData) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ themeData }) => { + __VUE_HMR_RUNTIME__.updateThemeData(themeData) + }) +} diff --git a/docs/.vuepress/.temp/pages/404.html.js b/docs/.vuepress/.temp/pages/404.html.js index 76933b5..bbe3a2b 100644 --- a/docs/.vuepress/.temp/pages/404.html.js +++ b/docs/.vuepress/.temp/pages/404.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/404.html.vue" const data = JSON.parse("{\"path\":\"/404.html\",\"title\":\"\",\"lang\":\"zh-CN\",\"frontmatter\":{\"layout\":\"NotFound\"},\"git\":{},\"filePathRelative\":null}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/index.html.js b/docs/.vuepress/.temp/pages/index.html.js index eda586c..44f8881 100644 --- a/docs/.vuepress/.temp/pages/index.html.js +++ b/docs/.vuepress/.temp/pages/index.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/index.html.vue" const data = JSON.parse("{\"path\":\"/\",\"title\":\"首页\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1770258280000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":5}],\"changelog\":[{\"hash\":\"118aab4f3bb5c4790ce2ecfc3c5897cfd7146161\",\"time\":1770258280000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"增加登录功能和权限验证\"},{\"hash\":\"326fedda6067ab0da7a7c497e8fef608057cb12e\",\"time\":1766471007000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"169908d04e7a4ef15ffea1d8ca58004c9c7451c4\",\"time\":1762222814000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"7799842e4c8bfd3bbd24d9cbc89c8ac4c28c918b\",\"time\":1761103662000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"README.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/index.html.vue b/docs/.vuepress/.temp/pages/index.html.vue index 54aaa2e..30aec01 100644 --- a/docs/.vuepress/.temp/pages/index.html.vue +++ b/docs/.vuepress/.temp/pages/index.html.vue @@ -110,7 +110,7 @@ -流程节点(版本:2025/10/17) +流程节点(版本:2026/3/25) 时效要求 @@ -122,19 +122,23 @@ 合同类型确认后 2 小时内 -客服跟进用户端合同签署 -3 个工作日内完成 +客服确认用户使用电子或纸质版本;
客服跟进电子版,用户端合同签署 +电子版合同,3 个工作日内完成 -行政处理线上合同签署 +行政代表公司端签署合同 收到 “待公司签署” 通知后 1 个工作日内 +行政跟进线下纸质合同:附上操作指引、邮寄、签署 +客服通知合同版本后 1 个工作日内 + + 审核团队审核《用户方案前问卷》 1个工作日内完成 -客服审核健康档案 +客服审核健康档案是否完善 收到【健康档案待确认】通知后 1 个工作日内 @@ -142,19 +146,19 @@ 收到 “健康档案已确认” 通知后 3 个工作日内 -客服确认收货方式和手环类型
A. 已测试手环
B. 未测试有塑封包装手环 -收到方案完成通知后 24 小时内完成 +客服确认收货方式(自提或是邮寄) +收到方案完成通知后 1 小时内完成 -行政配货 -收到收货方式同步后 4 小时内 +行政配货(手环统一配送测试版本) +收到配送发货通知后1个工作日内 行政发货确认与记录 发货后 1 小时内 -客服跟进收货状态(首次提醒) +客服跟进收货状态(首次提醒)
服务群通知用户:包裹发出,预计到达的大约时间。 系统触发 “已发货” 通知后 24 小时内 @@ -162,7 +166,19 @@ 超 48 小时未确认收货时 -方案前视频沟通(第一次) +副教练核对用户包裹物料是否齐全 +方案启动前1个工作日内 + + +副教练填写方案启动和结束时间 +用户确认方案启动时间后1个工作日内 + + +客服/主教练/副教练 标记方案开始 +用户方案开启前1个工作日至当日 + + +方案前视频沟通(第一次)
副教练发起会议;
主/副教练/客服:参会; 系统通知后 24 小时内完成 @@ -170,7 +186,7 @@ 客户收货确认后 24 小时内完成 -副教练跟进手环使用指导 +副教练跟进手环使用指导
建议:收到后先充电10小时以上,再操作绑定连接 客户收货确认后 24 小时内完成 @@ -178,19 +194,19 @@ 每日 18:00 前完成 -方案中视频沟通(第二次) +方案中视频沟通(第二次)
副教练发起会议;
主/副教练/客服:参会; 方案第三周结束后 24 小时内完成 -用户是否需要做身体复检?
当不需要时,主教练需在内部沟通群留言 +主教练指引:用户是否需要做身体复检?
当不需要时,主教练需在内部沟通群留言 第 49 天 方案后第三次视频会议沟通前 -方案后视频沟通(第三次) +方案后视频沟通(第三次)
副教练发起会议;
主/副教练/客服:参会; 方案结束的最后一天(第49天)完成,教练团队需要提前5分钟进入会议室,先内部沟通会议内容与用户是否需要去体检 -方案后毕业结束语
第一发送人:副教练
第二发送人:客服
第三发送人:主教练 +方案后毕业结束语
第一发送人:副教练(巩固期生活指导)
第二发送人:客服(邀请填写系统问卷及上传照片)
第三发送人:主教练(查缺补漏) 第 50 天 12:00 前完成 @@ -198,21 +214,37 @@ 第 50 天 11:00 前完成 -服务人员填写教练复盘服务评价表 +客服/主教练/副教练,标记方案结束 +用户方案结束第50天 + + +主/副教练/客服:填写内部教练复盘服务评价表 方案结束后 3 个工作日内完成 -第一次对用户的评估报告生成 +主/副教练/客服:第一次对用户做方案后评估表 方案结束后第 3 天 18:00 前完成 -用户上传复检报告提醒 -方案结束后第 23 天发送 +系统通知,提醒主教练和副教练提醒用户每周做清洁日 +周日晚上20:00点 -第二次对用户的评估报告生成 +系统通知,提醒主教练和副教练提醒用户做复检 +方案结束后第 23、26、29 天发送 + + +主教练和副教练根据实际情况,在服务群提醒用户做复检并上传报告 +副教练/主教练:在第28天在服务群里提醒用户做体检 + + +主/副教练/客服:第二次对用户做方案后评估表 方案结束后第 60 天 18:00 前完成 + +副教练:方案后巩固期,不定时问候 +方案结束后3个月内 +
diff --git a/docs/.vuepress/.temp/pages/posts/administrative.html.js b/docs/.vuepress/.temp/pages/posts/administrative.html.js index d70e5f9..a2ab555 100644 --- a/docs/.vuepress/.temp/pages/posts/administrative.html.js +++ b/docs/.vuepress/.temp/pages/posts/administrative.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/administrative.html.vue" const data = JSON.parse("{\"path\":\"/posts/administrative.html\",\"title\":\"行政\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1759135896000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":1}],\"changelog\":[{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/administrative.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/posts/assistantCoach.html.js b/docs/.vuepress/.temp/pages/posts/assistantCoach.html.js index 88fa5f6..ba47a56 100644 --- a/docs/.vuepress/.temp/pages/posts/assistantCoach.html.js +++ b/docs/.vuepress/.temp/pages/posts/assistantCoach.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/assistantCoach.html.vue" -const data = JSON.parse("{\"path\":\"/posts/assistantCoach.html\",\"title\":\"副教练\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1766471007000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":4}],\"changelog\":[{\"hash\":\"326fedda6067ab0da7a7c497e8fef608057cb12e\",\"time\":1766471007000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"2eace682f2e7d0c8c663ff7200d318edf973b980\",\"time\":1762239646000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"增加DMA通用问题处理原则(2025-11-03更新) 增加主教练-信息保密规范、副教练-信息保密规范、客服-信息保密规范\"},{\"hash\":\"8f0f08771e3748002699aa33318dbae7e39a397f\",\"time\":1760424178000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新职责\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/assistantCoach.md\"}") +const data = JSON.parse("{\"path\":\"/posts/assistantCoach.html\",\"title\":\"副教练\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1773297785000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":5}],\"changelog\":[{\"hash\":\"263c4a87d2a7384f0740862be100870b4396fc14\",\"time\":1773297785000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"326fedda6067ab0da7a7c497e8fef608057cb12e\",\"time\":1766471007000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"2eace682f2e7d0c8c663ff7200d318edf973b980\",\"time\":1762239646000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"增加DMA通用问题处理原则(2025-11-03更新) 增加主教练-信息保密规范、副教练-信息保密规范、客服-信息保密规范\"},{\"hash\":\"8f0f08771e3748002699aa33318dbae7e39a397f\",\"time\":1760424178000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新职责\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/assistantCoach.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/posts/chiefCoach.html.js b/docs/.vuepress/.temp/pages/posts/chiefCoach.html.js index aa5135c..70fb5ec 100644 --- a/docs/.vuepress/.temp/pages/posts/chiefCoach.html.js +++ b/docs/.vuepress/.temp/pages/posts/chiefCoach.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/chiefCoach.html.vue" const data = JSON.parse("{\"path\":\"/posts/chiefCoach.html\",\"title\":\"主教练\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1766471007000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":5}],\"changelog\":[{\"hash\":\"326fedda6067ab0da7a7c497e8fef608057cb12e\",\"time\":1766471007000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"55e24b1ebd4366534ba91b6b6e7e2e216de4adb2\",\"time\":1765358621000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"2eace682f2e7d0c8c663ff7200d318edf973b980\",\"time\":1762239646000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"增加DMA通用问题处理原则(2025-11-03更新) 增加主教练-信息保密规范、副教练-信息保密规范、客服-信息保密规范\"},{\"hash\":\"8f0f08771e3748002699aa33318dbae7e39a397f\",\"time\":1760424178000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新职责\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/chiefCoach.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/posts/helpCenter.html.js b/docs/.vuepress/.temp/pages/posts/helpCenter.html.js index 1d4e3d2..42b895f 100644 --- a/docs/.vuepress/.temp/pages/posts/helpCenter.html.js +++ b/docs/.vuepress/.temp/pages/posts/helpCenter.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/helpCenter.html.vue" -const data = JSON.parse("{\"path\":\"/posts/helpCenter.html\",\"title\":\"常见问题\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1770343928000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":9}],\"changelog\":[{\"hash\":\"4286fa07f0adaee3f0095ab40ace1807d19994d4\",\"time\":1770343928000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"登录功能\"},{\"hash\":\"66f79e6de026448817b55bd6969c15fd05e5a53c\",\"time\":1768282379000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"e33125e761c68b1bfc4fe2e521992fbf42c49f20\",\"time\":1768184350000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"6e27dcce01edcc47b1f9ceaf1fe1ec4485400ef7\",\"time\":1763004968000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"c8086f8415d2ad3257a016a0e2e80012dbf715f5\",\"time\":1762244574000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"2eace682f2e7d0c8c663ff7200d318edf973b980\",\"time\":1762239646000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"增加DMA通用问题处理原则(2025-11-03更新) 增加主教练-信息保密规范、副教练-信息保密规范、客服-信息保密规范\"},{\"hash\":\"169908d04e7a4ef15ffea1d8ca58004c9c7451c4\",\"time\":1762222814000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"8f0f08771e3748002699aa33318dbae7e39a397f\",\"time\":1760424178000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新职责\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/helpCenter.md\"}") +const data = JSON.parse("{\"path\":\"/posts/helpCenter.html\",\"title\":\"常见问题\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1773297785000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":10}],\"changelog\":[{\"hash\":\"263c4a87d2a7384f0740862be100870b4396fc14\",\"time\":1773297785000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"4286fa07f0adaee3f0095ab40ace1807d19994d4\",\"time\":1770343928000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"登录功能\"},{\"hash\":\"66f79e6de026448817b55bd6969c15fd05e5a53c\",\"time\":1768282379000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"e33125e761c68b1bfc4fe2e521992fbf42c49f20\",\"time\":1768184350000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"6e27dcce01edcc47b1f9ceaf1fe1ec4485400ef7\",\"time\":1763004968000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"c8086f8415d2ad3257a016a0e2e80012dbf715f5\",\"time\":1762244574000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"2eace682f2e7d0c8c663ff7200d318edf973b980\",\"time\":1762239646000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"增加DMA通用问题处理原则(2025-11-03更新) 增加主教练-信息保密规范、副教练-信息保密规范、客服-信息保密规范\"},{\"hash\":\"169908d04e7a4ef15ffea1d8ca58004c9c7451c4\",\"time\":1762222814000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"8f0f08771e3748002699aa33318dbae7e39a397f\",\"time\":1760424178000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新职责\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/helpCenter.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/posts/helpCenter.html.vue b/docs/.vuepress/.temp/pages/posts/helpCenter.html.vue index f3895f3..8bf2986 100644 --- a/docs/.vuepress/.temp/pages/posts/helpCenter.html.vue +++ b/docs/.vuepress/.temp/pages/posts/helpCenter.html.vue @@ -1,7 +1,7 @@ + + + +
diff --git a/docs/.vuepress/.temp/pages/posts/overview.html.js b/docs/.vuepress/.temp/pages/posts/overview.html.js index 36048be..65e766d 100644 --- a/docs/.vuepress/.temp/pages/posts/overview.html.js +++ b/docs/.vuepress/.temp/pages/posts/overview.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/overview.html.vue" const data = JSON.parse("{\"path\":\"/posts/overview.html\",\"title\":\"核心操作流程\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1765524799000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":2}],\"changelog\":[{\"hash\":\"acc531138f97433b765b2d0a43f9edb90f646da1\",\"time\":1765524799000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"第一版\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/overview.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/posts/service.html.js b/docs/.vuepress/.temp/pages/posts/service.html.js index 28ef875..0b6bb3a 100644 --- a/docs/.vuepress/.temp/pages/posts/service.html.js +++ b/docs/.vuepress/.temp/pages/posts/service.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/service.html.vue" const data = JSON.parse("{\"path\":\"/posts/service.html\",\"title\":\"客服\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1765358621000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":4}],\"changelog\":[{\"hash\":\"55e24b1ebd4366534ba91b6b6e7e2e216de4adb2\",\"time\":1765358621000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"2eace682f2e7d0c8c663ff7200d318edf973b980\",\"time\":1762239646000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"增加DMA通用问题处理原则(2025-11-03更新) 增加主教练-信息保密规范、副教练-信息保密规范、客服-信息保密规范\"},{\"hash\":\"8f0f08771e3748002699aa33318dbae7e39a397f\",\"time\":1760424178000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新职责\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/service.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/posts/shareBenefit.html.js b/docs/.vuepress/.temp/pages/posts/shareBenefit.html.js index e597da4..a42dfb4 100644 --- a/docs/.vuepress/.temp/pages/posts/shareBenefit.html.js +++ b/docs/.vuepress/.temp/pages/posts/shareBenefit.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/shareBenefit.html.vue" -const data = JSON.parse("{\"path\":\"/posts/shareBenefit.html\",\"title\":\"分润提现操作说明\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1771915289000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":7}],\"changelog\":[{\"hash\":\"732b13159c94b473eb57dc99992effbcb18ce111\",\"time\":1771915289000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"图片更新\"},{\"hash\":\"88720577da1423f5da911e33d2d9a6e5f8888191\",\"time\":1770945819000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"ed4670234dca64f3448451fd8ef704b62cc1db8b\",\"time\":1770603095000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"4286fa07f0adaee3f0095ab40ace1807d19994d4\",\"time\":1770343928000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"登录功能\"},{\"hash\":\"7799842e4c8bfd3bbd24d9cbc89c8ac4c28c918b\",\"time\":1761103662000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新\"},{\"hash\":\"8f0f08771e3748002699aa33318dbae7e39a397f\",\"time\":1760424178000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新职责\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/shareBenefit.md\"}") +const data = JSON.parse("{\"path\":\"/posts/shareBenefit.html\",\"title\":\"分润提现操作说明\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1773297785000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":8}],\"changelog\":[{\"hash\":\"263c4a87d2a7384f0740862be100870b4396fc14\",\"time\":1773297785000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"732b13159c94b473eb57dc99992effbcb18ce111\",\"time\":1771915289000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"图片更新\"},{\"hash\":\"88720577da1423f5da911e33d2d9a6e5f8888191\",\"time\":1770945819000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"ed4670234dca64f3448451fd8ef704b62cc1db8b\",\"time\":1770603095000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"4286fa07f0adaee3f0095ab40ace1807d19994d4\",\"time\":1770343928000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"登录功能\"},{\"hash\":\"7799842e4c8bfd3bbd24d9cbc89c8ac4c28c918b\",\"time\":1761103662000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新\"},{\"hash\":\"8f0f08771e3748002699aa33318dbae7e39a397f\",\"time\":1760424178000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"更新职责\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/shareBenefit.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/.temp/pages/posts/shareBenefit.html.vue b/docs/.vuepress/.temp/pages/posts/shareBenefit.html.vue index 3570787..2e7895a 100644 --- a/docs/.vuepress/.temp/pages/posts/shareBenefit.html.vue +++ b/docs/.vuepress/.temp/pages/posts/shareBenefit.html.vue @@ -62,9 +62,9 @@

2.2.4 填写信息(以个人为例)



- +

- +

必填项要求

五、开票指引和灵活用工平台账户(深圳)

1.深圳公司开发票指引

- -

2.个人开发票指引

- -

3.灵工平台账号指引(深圳)

+

2.个人开发票指引

+

3.灵工平台账号指引(深圳)

3.1 灵工平台账号申请二维码

3.2 灵工平台账号申请步骤

- - - - - - - - - - +
    +
  1. 扫描二维码,上传身份证信息,填写手机号
  2. +
+ +
    +
  1. 签约园区选择【第肆纪(深圳)数字科技有限公司】
  2. +
+ +
    +
  1. 点击下一步,确认信息无误后开始进行人脸认证
  2. +
+ +
+ +
+ +
    +
  1. +

    认证完成后填写银行卡号,可上传或填写银行卡信息

    + +
  2. +
  3. +

    填写完成后进行签约

    +
  4. +
+ +
+ +
+ +
+ +
+ +
+ diff --git a/docs/.vuepress/.temp/pages/posts/teacher.html.js b/docs/.vuepress/.temp/pages/posts/teacher.html.js index fa6617c..ac5d182 100644 --- a/docs/.vuepress/.temp/pages/posts/teacher.html.js +++ b/docs/.vuepress/.temp/pages/posts/teacher.html.js @@ -1,3 +1,16 @@ import comp from "D:/xue/dma_handbook/docs/.vuepress/.temp/pages/posts/teacher.html.vue" const data = JSON.parse("{\"path\":\"/posts/teacher.html\",\"title\":\"健康管理师\",\"lang\":\"zh-CN\",\"frontmatter\":{},\"git\":{\"updatedTime\":1766471007000,\"contributors\":[{\"name\":\"lanzhihui\",\"username\":\"\",\"email\":\"503792708@qq.com\",\"commits\":2}],\"changelog\":[{\"hash\":\"326fedda6067ab0da7a7c497e8fef608057cb12e\",\"time\":1766471007000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"update\"},{\"hash\":\"e73bbe09086600f49aec344301695549746ba3c4\",\"time\":1759135896000,\"email\":\"503792708@qq.com\",\"author\":\"lanzhihui\",\"message\":\"初始化\"}]},\"filePathRelative\":\"posts/teacher.md\"}") export { comp, data } + +if (import.meta.webpackHot) { + import.meta.webpackHot.accept() + if (__VUE_HMR_RUNTIME__.updatePageData) { + __VUE_HMR_RUNTIME__.updatePageData(data) + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ data }) => { + __VUE_HMR_RUNTIME__.updatePageData(data) + }) +} diff --git a/docs/.vuepress/client.js b/docs/.vuepress/client.js index e1a94e7..5c4d4d0 100644 --- a/docs/.vuepress/client.js +++ b/docs/.vuepress/client.js @@ -15,6 +15,8 @@ import WithAuth from './components/WithAuth.vue' import Login from './components/Login.vue' import helperHTML from './components/helperHTML.vue' import longPic from './components/longPic.vue' +import FaqList from './components/FaqList.vue' +import LongPicSplit from './components/LongPicSplit.vue' export default defineClientConfig({ // 新增:注册布局 @@ -31,6 +33,8 @@ export default defineClientConfig({ app.component('Login', Login) app.component('helperHTML', helperHTML) app.component('longPic', longPic) + app.component('FaqList', FaqList) + app.component('LongPicSplit', LongPicSplit) // 权限指令v-auth:修复this指向+Pinia实例化问题 app.directive('auth', { @@ -60,49 +64,71 @@ export default defineClientConfig({ // 全局路由守卫:VuePress 2.x 适配版(白名单+未登录跳登录) const whiteList = ['/login.html'] // 无需登录的页面 - if (typeof window !== 'undefined') { + + // 上线做处理 + if (typeof window == 'undefined') { return } // 隐藏登录功能 - router.beforeEach(async (to, from, next) => { - const userStore = useUserStore() - const isLogin = userStore.isLogin + // router.beforeEach(async (to, from, next) => { + // const userStore = useUserStore() + // const isLogin = userStore.isLogin + // + // // 白名单页面,直接放行 + // if (whiteList.includes(to.path)) { + // next() + // return + // } + // if (typeof window == 'undefined') { + // next() + // return + // } + // // 未登录:跳登录页并记录跳转前地址(适配base: /dma_handbook/) + // // 替换client.js中路由守卫的未登录跳转代码 + // if (!isLogin) { + // showToast('请先登录后访问') + // // 核心修复:直接使用to.fullPath(已包含SITE_BASE),无需手动拼接 + // let redirectPath = to.fullPath + // // 兜底校验:极端情况若fullPath未带SITE_BASE,手动拼接(防止地址栏手动修改) + // if (!redirectPath.startsWith(SITE_BASE)) { + // redirectPath = `${SITE_BASE}${redirectPath.replace(/^\//, '')}` // 去掉开头的/,避免双斜杠 + // } + // // 编码后拼接登录页地址 + // const redirect = encodeURIComponent(redirectPath) + // window.location.href = `${SITE_BASE}login.html?redirect=${redirect}` + // return + // } + // // 核心修改:仅【已登录 + 未拉取过用户信息】时,才调用接口 + // if (!userStore.isUserInfoFetched) { + // await getUserInfo(userStore) + // // 拉取成功后,更新标记为true(本次会话不再重复调用) + // userStore.setUserInfoFetched(true) + // } + // // 已登录,正常放行 + // next() + // }) + // ============================================== +// 【唯一正确】等待页面完全加载完再滚动锚点 +// 解决:图片/长图未加载完 → 滚动错位、自动上飘 +// ============================================== + router.afterEach((to) => { + if (!to.hash) return + console.log(to.hash,'to-----') - // 白名单页面,直接放行 - if (whiteList.includes(to.path)) { - next() - return - } - if (typeof window == 'undefined') { - next() - return - } - // 未登录:跳登录页并记录跳转前地址(适配base: /dma_handbook/) - // 替换client.js中路由守卫的未登录跳转代码 - if (!isLogin) { - showToast('请先登录后访问') - // 核心修复:直接使用to.fullPath(已包含SITE_BASE),无需手动拼接 - let redirectPath = to.fullPath - // 兜底校验:极端情况若fullPath未带SITE_BASE,手动拼接(防止地址栏手动修改) - if (!redirectPath.startsWith(SITE_BASE)) { - redirectPath = `${SITE_BASE}${redirectPath.replace(/^\//, '')}` // 去掉开头的/,避免双斜杠 - } - // 编码后拼接登录页地址 - const redirect = encodeURIComponent(redirectPath) - window.location.href = `${SITE_BASE}login.html?redirect=${redirect}` - return - } - // 核心修改:仅【已登录 + 未拉取过用户信息】时,才调用接口 - if (!userStore.isUserInfoFetched) { - await getUserInfo(userStore) - // 拉取成功后,更新标记为true(本次会话不再重复调用) - userStore.setUserInfoFetched(true) - } - // 已登录,正常放行 - next() + // 等待页面【所有资源完全加载完毕】再执行滚动 + // 这是浏览器最稳的保证:HTML/CSS/图片/异步图 全部完成 + window.addEventListener('load', () => { + setTimeout(() => { + const target = document.querySelector(to.hash) + if (!target) return + + // 滚动到目标(固定偏移,不飘) + const top = target.getBoundingClientRect().top + window.scrollY - 50 + window.scrollTo(0, top) + }, 100) + }, { once: true }) // 只执行一次,防止重复触发 }) - }, setup() {}, }) diff --git a/docs/.vuepress/components/FaqList.vue b/docs/.vuepress/components/FaqList.vue new file mode 100644 index 0000000..6778aa0 --- /dev/null +++ b/docs/.vuepress/components/FaqList.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/docs/.vuepress/components/LongPicSplit.vue b/docs/.vuepress/components/LongPicSplit.vue new file mode 100644 index 0000000..7a64105 --- /dev/null +++ b/docs/.vuepress/components/LongPicSplit.vue @@ -0,0 +1,249 @@ + + + + + diff --git a/docs/.vuepress/components/longPic.vue b/docs/.vuepress/components/longPic.vue index 4cb3852..318220a 100644 --- a/docs/.vuepress/components/longPic.vue +++ b/docs/.vuepress/components/longPic.vue @@ -13,11 +13,16 @@ const props = defineProps({ maxHeight: { type: Number, default: 500 + }, + // 新增:外部可配置宽度(支持数字/字符串,如 300 | '300px' | '100%') + width: { + type: [Number, String], + default: '100%' } }) const isExpanded = ref(false) -const showExpand = ref(false) +const showExpand = ref(false) // 仅当高度超maxHeight时显示展开/收起按钮 const isImageLoaded = ref(false) const imgRef = ref(null) const resizeObserver = ref(null) @@ -31,14 +36,23 @@ const notifyImageLoaded = () => { document.dispatchEvent(new CustomEvent('longPicImageLoaded')); }; -// 检查图片高度并通知外部 +// 检查图片高度并控制展开按钮显示 +// 核心修改:未超过maxHeight时不显示按钮,也不处理任何高度限制逻辑 const checkImageHeight = (img) => { if (typeof window === 'undefined') return + const naturalHeight = img.naturalHeight || img.offsetHeight console.log(props.alt, naturalHeight, '图片实际高度') - // 仅初始化时判断是否显示展开按钮 + + // 关键逻辑:仅当图片高度超过maxHeight时才显示展开按钮 showExpand.value = naturalHeight > props.maxHeight isImageLoaded.value = true + + // 未超高度时直接展开(取消高度限制) + if (!showExpand.value) { + isExpanded.value = true + } + notifyImageLoaded() } @@ -51,27 +65,45 @@ const handleImageLoad = (event) => { // 监听元素尺寸变化 const observeResize = () => { if (typeof window === 'undefined' || !window.ResizeObserver) return + resizeObserver.value = new ResizeObserver((entries) => { + // 尺寸变化时重新检查高度(适配窗口缩放等场景) + const img = imgRef.value + if (img && isImageLoaded.value) { + checkImageHeight(img) + } notifyImageLoaded() }) + if (imgRef.value) { resizeObserver.value.observe(imgRef.value) } } -// 展开/收起切换 +// 展开/收起切换(仅当showExpand为true时触发) const toggleExpand = () => { + if (!showExpand.value) return // 未超高度时不执行切换逻辑 isExpanded.value = !isExpanded.value setTimeout(() => notifyImageLoaded(), 100) } +// 格式化宽度值(处理数字/字符串输入) +const formatWidth = () => { + if (typeof props.width === 'number') { + return `${props.width}px` + } + return props.width +} + // 生命周期 onMounted(() => { if (typeof window === 'undefined') return + const img = imgRef.value if (img && img.complete) { checkImageHeight(img) } + observeResize() }) @@ -80,17 +112,27 @@ onUnmounted(() => { resizeObserver.value.disconnect() } }) + +// 监听width属性变化,重新通知尺寸更新 +watch(() => props.width, () => { + if (isImageLoaded.value) { + notifyImageLoaded() + } +})