Files
Home-Care/hss-home-service/website/.nuxt/dist/server/_nuxt/ServiceLoopFlow-BcBowZhS.js.map.json
comclib c02029a5f3 feat: 初始化居家上门服务系统完整项目代码
- Spring Boot 后端服务 (hss-home-service)
- delivery-miniapp 配送小程序
- website 官网 (Nuxt)
- docs 架构设计文档
- Docker 容器化部署配置

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 09:04:49 +08:00

1 line
4.5 KiB
JSON

{"file":"ServiceLoopFlow-BcBowZhS.js","mappings":";;;AAQO,SAAS,cAAc,UAA6B,IAAI;AAC7D,QAAM,EAAE,QAAQ,GAAG,YAAY,SAAS;AACxC,QAAM,YAAY,IAAI,KAAK;AAC3B,MAAI,WAAwC;AAE5C,WAAS,QAAQ,IAAa,YAA+B,IAAI;AAC/D,UAAM,IAAI,UAAU,SAAS;AAC7B,UAAM,MAAM,UAAU,SAAS;AAC/B,eAAW,IAAI;AAAA,MACb,CAAC,YAAY;AACX,gBAAQ,QAAQ,CAAC,UAAU;AACzB,cAAI,MAAM,gBAAgB;AACxB,uBAAW,MAAM;AACf,oBAAM,OAAO,UAAU,IAAI,GAAG;AAAA,YAChC,GAAG,CAAC;AACJ,sBAAU,UAAU,MAAM,MAAM;AAAA,UAClC;AAAA,QACF,CAAC;AAAA,MACH;AAAA,MACA,EAAE,UAAA;AAAA,IAAU;AAEd,aAAS,QAAQ,EAAE;AAAA,EACrB;AAEA,WAAS,eAAe;AACtB,cAAU,WAAA;AAAA,EACZ;AAIA,SAAO,EAAE,WAAW,SAAS,WAAW,aAAA;AAC1C;;;;;ACnCA,UAAM,QAAQ;AAAA,MACZ,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,mBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,mBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,kBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,iBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,mBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,iBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,oBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,iBAAA;AAAA,IAAiB;AAGjC,kBAAA;;AASb,YAAA,OAAAA,eAAAC,WAAA,EAAA,OAAM,cAAU,MAAA,CAAA,CAAA,qPAAA;oBAGK,OAAK,CAAd,GAAG,MAAC;8bAGVC,eAAA,EAAE,GAAG,8DAE4BA,eAAA,EAAE,KAAK,oGACiCA,eAAA,EAAE,IAAI;;;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps","_ssrInterpolate"],"sources":["../../../../composables/useScrollAnim.ts","../../../../components/ServiceLoopFlow.vue"],"sourcesContent":["import { ref, onMounted, onBeforeUnmount } from 'vue'\n\ninterface ScrollAnimOptions {\n delay?: number\n class?: string\n threshold?: number\n}\n\nexport function useScrollAnim(options: ScrollAnimOptions = {}) {\n const { delay = 0, threshold = 0.15 } = options\n const isVisible = ref(false)\n let observer: IntersectionObserver | null = null\n\n function observe(el: Element, overrides: ScrollAnimOptions = {}) {\n const d = overrides.delay ?? delay\n const cls = overrides.class ?? 'flow-visible'\n observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setTimeout(() => {\n entry.target.classList.add(cls)\n }, d)\n observer?.unobserve(entry.target)\n }\n })\n },\n { threshold }\n )\n observer.observe(el)\n }\n\n function unobserveAll() {\n observer?.disconnect()\n }\n\n onBeforeUnmount(() => unobserveAll())\n\n return { isVisible, observe, unobserve: unobserveAll }\n}\n","<script setup lang=\"ts\">\nimport { onMounted } from 'vue'\nimport { useScrollAnim } from '~/composables/useScrollAnim'\n\nconst steps = [\n { num: '01', title: '需求受理', desc: '多渠道统一接入\\n自动校验与审核' },\n { num: '02', title: '能力评估', desc: '上门评估定级\\nGPS签到+拍照' },\n { num: '03', title: '方案制定', desc: '个性化服务方案\\n费用透明计算' },\n { num: '04', title: '智能派单', desc: '算法匹配推荐\\n人工确认兜底' },\n { num: '05', title: '上门执行', desc: 'GPS签到校验\\n项目级执行记录' },\n { num: '06', title: '过程监管', desc: '抽查违规整改\\n审计日志追溯' },\n { num: '07', title: '验收评价', desc: '星级+标签评价\\n评分影响后续派单' },\n { num: '08', title: '结算归档', desc: '自动汇总结算\\n电子台账归档' },\n]\n\nconst { observe } = useScrollAnim()\nonMounted(() => {\n document.querySelectorAll('.flow-step').forEach((el, i) => {\n observe(el, { delay: i * 100, class: 'flow-visible' })\n })\n})\n</script>\n\n<template>\n <div class=\"relative\">\n <div class=\"hidden lg:block absolute top-1/2 left-[5%] right-[5%] h-0.5 bg-gray-200 -translate-y-1/2 z-0\" />\n <div class=\"grid grid-cols-2 lg:grid-cols-4 gap-4 md:gap-6 relative z-10\">\n <div v-for=\"(s, i) in steps\" :key=\"i\"\n class=\"flow-step bg-white rounded-2xl p-5 md:p-6 text-center shadow-sm opacity-0 translate-y-8 transition-all duration-500 hover:shadow-lg group\">\n <span class=\"w-12 h-12 mx-auto mb-4 rounded-full bg-gradient-to-br from-primary-50 to-accent-50 text-primary font-bold text-sm flex items-center justify-center group-hover:from-primary group-hover:to-accent group-hover:text-white transition-all\">\n {{ s.num }}\n </span>\n <h4 class=\"font-bold text-sm mb-1\">{{ s.title }}</h4>\n <p class=\"text-xs text-text-secondary whitespace-pre-line leading-relaxed\">{{ s.desc }}</p>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.flow-visible { opacity: 1; transform: translateY(0); }\n</style>\n"],"version":3}