- Spring Boot 后端服务 (hss-home-service) - delivery-miniapp 配送小程序 - website 官网 (Nuxt) - docs 架构设计文档 - Docker 容器化部署配置 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
213 lines
14 KiB
JavaScript
213 lines
14 KiB
JavaScript
import { f as siteTagline, d as siteDescription, _ as __nuxt_component_0, m as metrics, a as _export_sfc, p as painPoints, c as capabilities, s as scenarios } from "../server.mjs";
|
|
import { defineComponent, mergeProps, unref, withCtx, createTextVNode, useSSRContext, ref } from "vue";
|
|
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderList } from "vue/server-renderer";
|
|
import { _ as _sfc_main$5 } from "./PainPointCard-Lm1N0rdZ.js";
|
|
import { _ as __nuxt_component_0$1 } from "./ServiceLoopFlow-BcBowZhS.js";
|
|
import { _ as _sfc_main$6, a as _sfc_main$7 } from "./TriEndDisplay-B5fVYJfo.js";
|
|
import { _ as _sfc_main$8 } from "./ScenarioCard-KNU_bnPj.js";
|
|
import { _ as _sfc_main$9 } from "./SecurityGrid-LoMlH504.js";
|
|
import { _ as _sfc_main$a } from "./DownloadForm-DWoM9wYa.js";
|
|
import { _ as __nuxt_component_2 } from "./CtaSection-ClDHCKqS.js";
|
|
import { u as useSeo } from "./useSeo-BkcZp48C.js";
|
|
import "/home/akoo/居家服务/hss-home-service/website/node_modules/ofetch/dist/node.mjs";
|
|
import "#internal/nuxt/paths";
|
|
import "/home/akoo/居家服务/hss-home-service/website/node_modules/hookable/dist/index.mjs";
|
|
import "/home/akoo/居家服务/hss-home-service/website/node_modules/unctx/dist/index.mjs";
|
|
import "/home/akoo/居家服务/hss-home-service/website/node_modules/h3/dist/index.mjs";
|
|
import "vue-router";
|
|
import "/home/akoo/居家服务/hss-home-service/website/node_modules/defu/dist/defu.mjs";
|
|
import "/home/akoo/居家服务/hss-home-service/website/node_modules/ufo/dist/index.mjs";
|
|
import "./AppIcon--JRwwp2l.js";
|
|
import "./useLeadForm-hNHTDEhY.js";
|
|
import "./v3-eWcT6REp.js";
|
|
import "/home/akoo/居家服务/hss-home-service/website/node_modules/@unhead/vue/dist/index.mjs";
|
|
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
__name: "HeroSection",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
const _component_NuxtLink = __nuxt_component_0;
|
|
_push(`<section${ssrRenderAttrs(mergeProps({ class: "relative overflow-hidden bg-gradient-to-br from-primary-900 via-primary-700 to-primary-500 text-white" }, _attrs))}><div class="absolute inset-0 opacity-10"><div class="absolute top-10 left-10 w-72 h-72 bg-white rounded-full blur-3xl"></div><div class="absolute bottom-10 right-10 w-96 h-96 bg-accent rounded-full blur-3xl"></div></div><div class="section-container relative py-20 lg:py-32"><div class="max-w-3xl"><span class="inline-block px-3 py-1 rounded-full bg-white/20 text-sm font-medium mb-6 backdrop-blur"> 智慧医养 · 居家上门服务 · 长护险管理 </span><h1 class="text-4xl md:text-5xl lg:text-6xl font-bold leading-tight mb-6">${ssrInterpolate(unref(siteTagline))}</h1><p class="text-lg md:text-xl text-blue-100 mb-8 max-w-2xl">${ssrInterpolate(unref(siteDescription))}</p><div class="flex flex-col sm:flex-row gap-4">`);
|
|
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
to: "/contact",
|
|
class: "px-8 py-4 bg-cta text-white rounded-xl text-lg font-semibold hover:bg-cta-700 transition-colors text-center shadow-lg shadow-cta/25"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(` 预约演示 `);
|
|
} else {
|
|
return [
|
|
createTextVNode(" 预约演示 ")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
to: "/service-loop",
|
|
class: "px-8 py-4 bg-white/15 backdrop-blur text-white rounded-xl text-lg font-semibold hover:bg-white/25 transition-colors text-center border border-white/20"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(` 查看服务闭环 `);
|
|
} else {
|
|
return [
|
|
createTextVNode(" 查看服务闭环 ")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div></div><div class="mt-12 lg:absolute lg:right-8 lg:top-1/2 lg:-translate-y-1/2 lg:mt-0"><img src="https://loremflickr.com/560/400/technology" alt="平台概览示意图(示意素材,待替换)" class="rounded-2xl shadow-2xl w-full max-w-lg opacity-90" width="560" height="400" loading="eager"></div></div></section>`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup$4 = _sfc_main$4.setup;
|
|
_sfc_main$4.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/HeroSection.vue");
|
|
return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
|
|
};
|
|
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
__name: "DataDashboard",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
const stats = ref([
|
|
{ label: "今日工单", value: 0, suffix: "单" },
|
|
{ label: "进行中", value: 0, suffix: "单" },
|
|
{ label: "服务完成率", value: 0, suffix: "%" },
|
|
{ label: "异常工单", value: 0, suffix: "单" }
|
|
]);
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(`<div${ssrRenderAttrs(mergeProps({
|
|
id: "dashboard-section",
|
|
class: "space-y-6"
|
|
}, _attrs))}><div class="grid grid-cols-2 lg:grid-cols-4 gap-4"><!--[-->`);
|
|
ssrRenderList(stats.value, (s) => {
|
|
_push(`<div class="bg-white rounded-2xl p-6 text-center shadow-sm border border-gray-50"><div class="text-3xl font-bold font-mono text-primary mb-2">${ssrInterpolate(s.value)}${ssrInterpolate(s.suffix)}</div><div class="text-sm text-text-secondary">${ssrInterpolate(s.label)}</div></div>`);
|
|
});
|
|
_push(`<!--]--></div><img src="https://loremflickr.com/960/300/technology" alt="数据看板示意图(示意素材,待替换)" class="w-full rounded-xl shadow-sm" width="960" height="300" loading="lazy"></div>`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup$3 = _sfc_main$3.setup;
|
|
_sfc_main$3.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/DataDashboard.vue");
|
|
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
|
|
};
|
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
__name: "ValueMetrics",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "grid grid-cols-2 lg:grid-cols-4 gap-6" }, _attrs))}><!--[-->`);
|
|
ssrRenderList(unref(metrics), (m) => {
|
|
_push(`<div class="bg-white rounded-2xl p-8 text-center shadow-sm border border-gray-100"><div class="text-4xl font-bold font-mono text-primary mb-3">${ssrInterpolate(m.value)}</div><div class="font-semibold text-text-primary mb-1">${ssrInterpolate(m.label)}</div><div class="text-xs text-text-secondary">${ssrInterpolate(m.desc)}</div></div>`);
|
|
});
|
|
_push(`<!--]--></div>`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup$2 = _sfc_main$2.setup;
|
|
_sfc_main$2.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/ValueMetrics.vue");
|
|
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
};
|
|
const _sfc_main$1 = {};
|
|
function _sfc_ssrRender(_ctx, _push, _parent, _attrs) {
|
|
const _component_NuxtLink = __nuxt_component_0;
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "fixed bottom-0 left-0 right-0 lg:hidden z-40 bg-white border-t border-gray-200 px-4 py-3 safe-area-bottom" }, _attrs))} data-v-f60dad24>`);
|
|
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
to: "/contact",
|
|
class: "block w-full text-center px-6 py-3 bg-cta text-white rounded-xl font-semibold text-base shadow-lg"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(` 预约演示 `);
|
|
} else {
|
|
return [
|
|
createTextVNode(" 预约演示 ")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div>`);
|
|
}
|
|
const _sfc_setup$1 = _sfc_main$1.setup;
|
|
_sfc_main$1.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/MobileBottomCTA.vue");
|
|
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
};
|
|
const __nuxt_component_11 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-f60dad24"]]);
|
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
__name: "index",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
useSeo({ title: "首页", description: "智慧医养居家上门服务闭环管理平台,覆盖申请、评估、方案、派单、执行、监管、验收、结算全流程。" });
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
const _component_HeroSection = _sfc_main$4;
|
|
const _component_PainPointCard = _sfc_main$5;
|
|
const _component_ServiceLoopFlow = __nuxt_component_0$1;
|
|
const _component_CapabilityCard = _sfc_main$6;
|
|
const _component_TriEndDisplay = _sfc_main$7;
|
|
const _component_ScenarioCard = _sfc_main$8;
|
|
const _component_DataDashboard = _sfc_main$3;
|
|
const _component_SecurityGrid = _sfc_main$9;
|
|
const _component_ValueMetrics = _sfc_main$2;
|
|
const _component_DownloadForm = _sfc_main$a;
|
|
const _component_CtaSection = __nuxt_component_2;
|
|
const _component_MobileBottomCTA = __nuxt_component_11;
|
|
_push(`<!--[-->`);
|
|
_push(ssrRenderComponent(_component_HeroSection, null, null, _parent));
|
|
_push(`<section class="py-20 bg-surface"><div class="section-container"><h2 class="section-title">居家上门服务,为什么这么难管?</h2><p class="section-subtitle">申请流程乱、评估标准不一、派单靠经验、上门难监管、质量难追溯、结算不规范</p><div class="grid md:grid-cols-3 gap-8 mt-12"><!--[-->`);
|
|
ssrRenderList(unref(painPoints), (p) => {
|
|
_push(ssrRenderComponent(_component_PainPointCard, mergeProps({
|
|
key: p.title
|
|
}, { ref_for: true }, p), null, _parent));
|
|
});
|
|
_push(`<!--]--></div></div></section><section class="py-20 bg-white"><div class="section-container"><h2 class="section-title">一套平台,打通居家服务全流程</h2><p class="section-subtitle">从服务申请到结算归档,每个环节都可监管、可追溯、可评价</p><img src="https://loremflickr.com/1024/400/technology" alt="平台概览示意图(示意素材,待替换)" class="mt-12 rounded-2xl shadow-lg w-full" width="1024" height="400" loading="lazy"></div></section><section class="py-20 bg-surface"><div class="section-container"><h2 class="section-title">完整服务闭环</h2><p class="section-subtitle">8 个阶段无缝衔接,每个节点都可监管、可追溯</p>`);
|
|
_push(ssrRenderComponent(_component_ServiceLoopFlow, { class: "mt-12" }, null, _parent));
|
|
_push(`</div></section><section class="py-20 bg-white"><div class="section-container"><h2 class="section-title">八大核心能力</h2><p class="section-subtitle">覆盖居家上门服务完整业务链路</p><div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6 mt-12"><!--[-->`);
|
|
ssrRenderList(unref(capabilities), (c) => {
|
|
_push(ssrRenderComponent(_component_CapabilityCard, mergeProps({
|
|
key: c.title
|
|
}, { ref_for: true }, c), null, _parent));
|
|
});
|
|
_push(`<!--]--></div></div></section><section class="py-20 bg-surface"><div class="section-container"><h2 class="section-title">三端协同,角色分明</h2><p class="section-subtitle">家属端、服务端、管理端各司其职</p>`);
|
|
_push(ssrRenderComponent(_component_TriEndDisplay, { class: "mt-12" }, null, _parent));
|
|
_push(`</div></section><section class="py-20 bg-white"><div class="section-container"><h2 class="section-title">覆盖五大应用场景</h2><p class="section-subtitle">适配不同机构类型的业务需求</p><div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6 mt-12"><!--[-->`);
|
|
ssrRenderList(unref(scenarios), (s) => {
|
|
_push(ssrRenderComponent(_component_ScenarioCard, mergeProps({
|
|
key: s.title
|
|
}, { ref_for: true }, s), null, _parent));
|
|
});
|
|
_push(`<!--]--></div></div></section><section class="py-20 bg-surface"><div class="section-container"><h2 class="section-title">实时监管,数据驱动</h2><p class="section-subtitle">运营数据一目了然,异常预警即时通知</p>`);
|
|
_push(ssrRenderComponent(_component_DataDashboard, { class: "mt-12" }, null, _parent));
|
|
_push(`</div></section><section class="py-20 bg-white"><div class="section-container"><h2 class="section-title">医疗级安全合规</h2><p class="section-subtitle">数据安全与合规体系,满足政企医疗行业标准</p>`);
|
|
_push(ssrRenderComponent(_component_SecurityGrid, { class: "mt-12" }, null, _parent));
|
|
_push(`</div></section><section class="py-20 bg-surface"><div class="section-container"><h2 class="section-title">平台建设价值</h2>`);
|
|
_push(ssrRenderComponent(_component_ValueMetrics, { class: "mt-12" }, null, _parent));
|
|
_push(`</div></section><section class="py-20 bg-white"><div class="section-container text-center"><h2 class="section-title">获取完整方案</h2><p class="section-subtitle">下载解决方案 PDF、白皮书和产品介绍资料</p>`);
|
|
_push(ssrRenderComponent(_component_DownloadForm, { class: "mt-8" }, null, _parent));
|
|
_push(`</div></section>`);
|
|
_push(ssrRenderComponent(_component_CtaSection, null, null, _parent));
|
|
_push(ssrRenderComponent(_component_MobileBottomCTA, null, null, _parent));
|
|
_push(`<!--]-->`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup = _sfc_main.setup;
|
|
_sfc_main.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/index.vue");
|
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
};
|
|
export {
|
|
_sfc_main as default
|
|
};
|
|
//# sourceMappingURL=index-BDL6Z3sD.js.map
|