Files
jczxw-pc/.output/server/chunks/build/website-Cj_wOCFL.mjs
赵忠林 528fe28ffc feat(api): 添加多路由代理处理实现
- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL
- 根据环境变量选择不同的后端服务地址(如dev和生产环境)
- 统一添加TenantId和Authorization请求头传递租户及身份信息
- 实现请求参数及搜索参数的完整转发
- 引入better-sqlite3及node内建模块支持服务端功能
- 新增专家详情页面,实现文章、成果及预约咨询功能展示
- 页面实现加载骨架屏、标签页切换及空状态提示优化体验
2026-04-28 13:50:27 +08:00

420 lines
22 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { a as _export_sfc, n as navigateTo } from './server.mjs';
import { defineComponent, resolveComponent, mergeProps, withCtx, createTextVNode, unref, createSlots, createVNode, toDisplayString, createBlock, openBlock, Fragment, renderList, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderStyle, ssrRenderComponent, ssrRenderList, ssrInterpolate } from 'vue/server-renderer';
import { u as usePageSeo } from './usePageSeo-0Fjg7K52.mjs';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import 'better-sqlite3';
import 'vue-router';
import 'ant-design-vue';
import '@babel/runtime/helpers/esm/extends';
import 'stylis';
import 'dayjs';
import '../routes/renderer.mjs';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'unhead/plugins';
import 'unhead/utils';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "website",
__ssrInlineRender: true,
setup(__props) {
usePageSeo({
title: "云官网 - 企业品牌展示与在线获客一体化解决方案",
description: "专为中小企业设计的 SaaS 云官网系统支持多模板、多语言、SEO 优化与可视化内容管理,下单即开通,快速搭建品牌展示与在线获客阵地。",
path: "/website"
});
const go = (url) => {
if (/^https?:\/\//i.test(url)) {
return;
}
return navigateTo(url);
};
const stats = [
{ value: "10+", label: "行业精品模板", sub: "持续更新" },
{ value: "多语言", label: "国际化支持", sub: "覆盖海外市场" },
{ value: "99.9%", label: "SLA 可用性", sub: "全年稳定运行" },
{ value: "5分钟", label: "极速开通", sub: "支付即用" }
];
const features = [
{
icon: "✨",
title: "AI 一句话建站",
desc: "描述您的业务AI 自动生成页面结构、文案与配色,告别空白页面焦虑。"
},
{
icon: "🎨",
title: "多模板一键套用",
desc: "覆盖企业、品牌、服务等多种行业风格,可视化编辑,无需代码即可上线。"
},
{
icon: "🔍",
title: "SEO 深度优化",
desc: "内置 TDK 配置、结构化数据、Sitemap 自动生成,助力搜索引擎收录与排名提升。"
},
{
icon: "🌐",
title: "多语言国际化",
desc: "支持中英文及多语言站点,自动切换,轻松拓展海外市场。"
},
{
icon: "📝",
title: "内容管理系统",
desc: "文章、案例、产品、团队等内容板块灵活配置,支持富文本与 Markdown。"
},
{
icon: "📊",
title: "访客数据分析",
desc: "集成 PV/UV 统计、来源分析与转化漏斗,量化营销效果。"
},
{
icon: "📱",
title: "全端响应式适配",
desc: "桌面、平板、手机全端适配,保证任意设备下的品牌一致性。"
},
{
icon: "🔗",
title: "自定义域名绑定",
desc: "支持绑定企业专属域名,一键配置 HTTPS品牌形象更专业。"
},
{
icon: "📬",
title: "在线表单与获客",
desc: "内置联系表单、询盘收集与线索管理,帮助企业高效跟进客户。"
}
];
const scenes = [
{ icon: "🏢", title: "企业品牌官网", desc: "展示公司实力、产品与团队,提升品牌信任度。" },
{ icon: "🛍️", title: "产品与服务展示", desc: "清晰呈现产品特性与优势,驱动在线询盘转化。" },
{ icon: "📣", title: "营销落地页", desc: "快速搭建活动、推广专题页,配合广告投放高效获客。" },
{ icon: "🌍", title: "跨境外贸官网", desc: "多语言站点支持,帮助企业开拓海外市场与客户。" }
];
const steps = [
{
title: "选择套餐",
desc: "按业务需求选择合适的套餐,支持随时升级。"
},
{
title: "完成支付",
desc: "支付成功后系统自动触发开通流程,无需人工干预。"
},
{
title: "即刻上线",
desc: "自动完成站点初始化与模板安装,登录管理后台开始运营。"
}
];
const plans = [
{
name: "基础版",
price: "¥399",
period: "/年",
recommend: false,
desc: "适合初创企业快速建站",
features: ["5 个内容页面", "3 套基础模板", "SSL + 自定义域名", "访客统计", "在线表单"]
},
{
name: "专业版",
price: "¥999",
period: "/年",
recommend: true,
desc: "适合品牌塑造与持续运营",
features: [
"不限页面数量",
"全部模板解锁",
"AI 一句话建站",
"SEO 深度优化",
"多语言支持",
"数据分析报表",
"插件市场加购",
"优先客服支持"
]
},
{
name: "私有化版",
price: "面议",
period: "",
recommend: false,
desc: "适合有私有化需求的企业",
features: [
"专业版全部功能",
"AI 建站全功能",
"源码交付",
"私有化部署",
"二次开发支持",
"专属售后服务",
"定制功能开发"
]
}
];
return (_ctx, _push, _parent, _attrs) => {
const _component_a_tag = resolveComponent("a-tag");
const _component_a_button = resolveComponent("a-button");
const _component_a_card = resolveComponent("a-card");
const _component_a_divider = resolveComponent("a-divider");
_push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-be0b0c41><section class="relative overflow-hidden bg-gradient-to-br from-gray-950 via-slate-900 to-blue-950 text-white" data-v-be0b0c41><div class="absolute inset-0 overflow-hidden" data-v-be0b0c41><div class="absolute -top-1/2 left-1/2 -translate-x-1/2 w-[800px] h-[400px] rounded-full bg-blue-500/20 blur-3xl" data-v-be0b0c41></div><div class="absolute -bottom-1/3 -right-1/4 w-[600px] h-[600px] rounded-full bg-indigo-500/15 blur-3xl" data-v-be0b0c41></div><div class="absolute inset-0 bg-[linear-gradient(rgba(255,255,255,0.02)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.02)_1px,transparent_1px)] bg-[size:60px_60px]" data-v-be0b0c41></div><div class="absolute top-16 left-20 w-2 h-2 rounded-full bg-white/40 animate-pulse" data-v-be0b0c41></div><div class="absolute top-40 right-32 w-3 h-3 rounded-full bg-blue-300/40 animate-pulse" style="${ssrRenderStyle({ "animation-delay": "0.5s" })}" data-v-be0b0c41></div><div class="absolute bottom-28 left-1/3 w-2 h-2 rounded-full bg-indigo-300/40 animate-pulse" style="${ssrRenderStyle({ "animation-delay": "1s" })}" data-v-be0b0c41></div><div class="absolute top-1/3 right-1/5 w-1.5 h-1.5 rounded-full bg-white/30 animate-pulse" style="${ssrRenderStyle({ "animation-delay": "1.5s" })}" data-v-be0b0c41></div></div><div class="relative mx-auto max-w-screen-xl px-4 py-20 md:py-28" data-v-be0b0c41><div class="grid items-center gap-10 md:grid-cols-2" data-v-be0b0c41><div data-v-be0b0c41><div class="mb-4 flex flex-wrap gap-2" data-v-be0b0c41>`);
_push(ssrRenderComponent(_component_a_tag, {
color: "blue",
class: "text-white border-white/30 bg-white/20"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`云官网`);
} else {
return [
createTextVNode("云官网")
];
}
}),
_: 1
}, _parent));
_push(ssrRenderComponent(_component_a_tag, {
color: "cyan",
class: "text-white border-white/30 bg-white/15"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`AI 建站`);
} else {
return [
createTextVNode("AI 建站")
];
}
}),
_: 1
}, _parent));
_push(`</div><h1 class="mb-4 text-3xl font-bold md:text-5xl leading-tight" data-v-be0b0c41> 企业云官网<br data-v-be0b0c41><span class="text-blue-400" data-v-be0b0c41>品牌展示 · 获客转化</span></h1><p class="mb-6 text-lg text-gray-300" data-v-be0b0c41> 专为中小企业设计的 SaaS 官网系统支持多模板、多语言、SEO 优化与可视化内容管理;下单即开通,快速搭建品牌展示与在线获客阵地。 </p><div class="flex flex-wrap gap-3" data-v-be0b0c41>`);
_push(ssrRenderComponent(_component_a_button, {
type: "primary",
size: "large",
class: "bg-blue-500 border-blue-500 hover:bg-blue-400",
onClick: ($event) => go("https://site.websoft.top/register")
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`立即开通`);
} else {
return [
createTextVNode("立即开通")
];
}
}),
_: 1
}, _parent));
_push(ssrRenderComponent(_component_a_button, {
ghost: "",
size: "large",
class: "border-white text-white hover:bg-white/10",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/contact")
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`预约演示`);
} else {
return [
createTextVNode("预约演示")
];
}
}),
_: 1
}, _parent));
_push(`</div></div><div class="grid grid-cols-2 gap-4" data-v-be0b0c41><!--[-->`);
ssrRenderList(stats, (stat) => {
_push(`<div class="rounded-2xl border border-white/10 bg-white/5 p-5 backdrop-blur text-center hover:bg-white/10 transition-colors" data-v-be0b0c41><div class="text-3xl font-bold text-white mb-1" data-v-be0b0c41>${ssrInterpolate(stat.value)}</div><div class="text-sm text-gray-400" data-v-be0b0c41>${ssrInterpolate(stat.label)}</div>`);
if (stat.sub) {
_push(`<div class="text-xs text-blue-400 mt-1" data-v-be0b0c41>${ssrInterpolate(stat.sub)}</div>`);
} else {
_push(`<!---->`);
}
_push(`</div>`);
});
_push(`<!--]--></div></div></div></section><section class="bg-gradient-to-r from-blue-600 via-indigo-600 to-violet-600 py-8" data-v-be0b0c41><div class="mx-auto max-w-screen-xl px-4" data-v-be0b0c41><div class="flex flex-wrap items-center justify-between gap-4" data-v-be0b0c41><div class="flex items-center gap-4" data-v-be0b0c41><span class="text-3xl" data-v-be0b0c41>✨</span><div class="text-white" data-v-be0b0c41><div class="font-bold text-lg" data-v-be0b0c41>AI 一句话生成官网</div><div class="text-white/80 text-sm" data-v-be0b0c41>描述您的业务AI 自动生成页面结构、文案与配色5 分钟搭建专业官网</div></div></div>`);
_push(ssrRenderComponent(_component_a_button, {
size: "large",
class: "bg-white text-blue-600 border-white font-semibold hover:bg-white/90",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/ai-agent")
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(` 体验 AI 建站 `);
} else {
return [
createTextVNode(" 体验 AI 建站 ")
];
}
}),
_: 1
}, _parent));
_push(`</div></div></section><section class="py-16 md:py-24" data-v-be0b0c41><div class="mx-auto max-w-screen-xl px-4" data-v-be0b0c41><div class="mb-12 text-center" data-v-be0b0c41><h2 class="mb-3 text-2xl font-bold md:text-3xl" data-v-be0b0c41>核心功能</h2><p class="text-slate-500" data-v-be0b0c41>从品牌展示到线索获取,全链路覆盖</p></div><div class="grid gap-5 md:grid-cols-3" data-v-be0b0c41><!--[-->`);
ssrRenderList(features, (feat) => {
_push(`<div class="rounded-2xl border border-slate-100 bg-white p-6 shadow-sm hover:shadow-md transition-shadow hover:-translate-y-1 duration-200" data-v-be0b0c41><div class="flex items-start gap-4" data-v-be0b0c41><span class="text-3xl" data-v-be0b0c41>${ssrInterpolate(feat.icon)}</span><div data-v-be0b0c41><div class="font-semibold text-base mb-1" data-v-be0b0c41>${ssrInterpolate(feat.title)}</div><div class="text-slate-500 text-sm leading-relaxed" data-v-be0b0c41>${ssrInterpolate(feat.desc)}</div></div></div></div>`);
});
_push(`<!--]--></div></div></section><section class="bg-slate-50 py-16 md:py-20" data-v-be0b0c41><div class="mx-auto max-w-screen-xl px-4" data-v-be0b0c41><div class="mb-12 text-center" data-v-be0b0c41><h2 class="mb-3 text-2xl font-bold md:text-3xl" data-v-be0b0c41>适用场景</h2><p class="text-slate-500" data-v-be0b0c41>覆盖各类企业品牌展示与在线营销需求</p></div><div class="grid gap-6 md:grid-cols-4" data-v-be0b0c41><!--[-->`);
ssrRenderList(scenes, (scene) => {
_push(`<div class="rounded-xl bg-white p-6 text-center shadow-sm hover:shadow-md transition-shadow hover:-translate-y-1 duration-200 cursor-default" data-v-be0b0c41><div class="text-4xl mb-4" data-v-be0b0c41>${ssrInterpolate(scene.icon)}</div><div class="font-semibold mb-2" data-v-be0b0c41>${ssrInterpolate(scene.title)}</div><div class="text-slate-500 text-sm" data-v-be0b0c41>${ssrInterpolate(scene.desc)}</div></div>`);
});
_push(`<!--]--></div></div></section><section class="py-16 md:py-20" data-v-be0b0c41><div class="mx-auto max-w-screen-xl px-4" data-v-be0b0c41><div class="mb-12 text-center" data-v-be0b0c41><h2 class="mb-3 text-2xl font-bold md:text-3xl" data-v-be0b0c41>3 步完成开通</h2><p class="text-slate-500" data-v-be0b0c41>支付即开通,无需等待,极速上线</p></div><div class="grid gap-6 md:grid-cols-3" data-v-be0b0c41><!--[-->`);
ssrRenderList(steps, (step, i) => {
_push(`<div class="relative text-center" data-v-be0b0c41>`);
if (i < steps.length - 1) {
_push(`<div class="absolute top-7 left-[calc(50%+28px)] right-0 h-0.5 bg-gradient-to-r from-blue-300 to-transparent hidden md:block" data-v-be0b0c41></div>`);
} else {
_push(`<!---->`);
}
_push(`<div class="mx-auto mb-4 flex h-14 w-14 items-center justify-center rounded-2xl bg-gradient-to-br from-blue-500 to-indigo-600 text-white text-xl font-bold shadow-lg" data-v-be0b0c41>${ssrInterpolate(i + 1)}</div><h4 class="mb-2 font-semibold" data-v-be0b0c41>${ssrInterpolate(step.title)}</h4><p class="text-sm text-slate-500" data-v-be0b0c41>${ssrInterpolate(step.desc)}</p></div>`);
});
_push(`<!--]--></div></div></section><section class="bg-slate-50 py-16 md:py-24" data-v-be0b0c41><div class="mx-auto max-w-screen-xl px-4" data-v-be0b0c41><div class="mb-12 text-center" data-v-be0b0c41><h2 class="mb-3 text-2xl font-bold md:text-3xl" data-v-be0b0c41>套餐选择</h2><p class="text-slate-500" data-v-be0b0c41>按需选择,支付即开通,随时升级</p></div><div class="grid gap-6 md:grid-cols-3" data-v-be0b0c41><!--[-->`);
ssrRenderList(plans, (plan) => {
_push(ssrRenderComponent(_component_a_card, {
key: plan.name,
class: ["h-full text-center", plan.recommend ? "border-2 border-blue-500 shadow-xl" : ""]
}, createSlots({
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<div class="text-lg font-bold mb-1" data-v-be0b0c41${_scopeId}>${ssrInterpolate(plan.name)}</div><div class="text-3xl font-bold text-blue-600 my-3" data-v-be0b0c41${_scopeId}>${ssrInterpolate(plan.price)} <span class="text-sm text-slate-400 font-normal" data-v-be0b0c41${_scopeId}>${ssrInterpolate(plan.period)}</span></div><div class="text-slate-500 text-sm mb-4" data-v-be0b0c41${_scopeId}>${ssrInterpolate(plan.desc)}</div>`);
_push2(ssrRenderComponent(_component_a_divider, null, null, _parent2, _scopeId));
_push2(`<ul class="text-left text-sm space-y-2 mb-6" data-v-be0b0c41${_scopeId}><!--[-->`);
ssrRenderList(plan.features, (item) => {
_push2(`<li class="flex items-center gap-2" data-v-be0b0c41${_scopeId}><span class="text-green-500 font-bold" data-v-be0b0c41${_scopeId}>✓</span><span class="text-slate-600" data-v-be0b0c41${_scopeId}>${ssrInterpolate(item)}</span></li>`);
});
_push2(`<!--]--></ul>`);
_push2(ssrRenderComponent(_component_a_button, {
type: plan.recommend ? "primary" : "default",
block: "",
size: "large",
onClick: ($event) => go("https://site.websoft.top/register")
}, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(` 立即开通 `);
} else {
return [
createTextVNode(" 立即开通 ")
];
}
}),
_: 2
}, _parent2, _scopeId));
} else {
return [
createVNode("div", { class: "text-lg font-bold mb-1" }, toDisplayString(plan.name), 1),
createVNode("div", { class: "text-3xl font-bold text-blue-600 my-3" }, [
createTextVNode(toDisplayString(plan.price) + " ", 1),
createVNode("span", { class: "text-sm text-slate-400 font-normal" }, toDisplayString(plan.period), 1)
]),
createVNode("div", { class: "text-slate-500 text-sm mb-4" }, toDisplayString(plan.desc), 1),
createVNode(_component_a_divider),
createVNode("ul", { class: "text-left text-sm space-y-2 mb-6" }, [
(openBlock(true), createBlock(Fragment, null, renderList(plan.features, (item) => {
return openBlock(), createBlock("li", {
key: item,
class: "flex items-center gap-2"
}, [
createVNode("span", { class: "text-green-500 font-bold" }, "✓"),
createVNode("span", { class: "text-slate-600" }, toDisplayString(item), 1)
]);
}), 128))
]),
createVNode(_component_a_button, {
type: plan.recommend ? "primary" : "default",
block: "",
size: "large",
onClick: ($event) => go("https://site.websoft.top/register")
}, {
default: withCtx(() => [
createTextVNode(" 立即开通 ")
]),
_: 1
}, 8, ["type", "onClick"])
];
}
}),
_: 2
}, [
plan.recommend ? {
name: "extra",
fn: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(ssrRenderComponent(_component_a_tag, { color: "blue" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`推荐`);
} else {
return [
createTextVNode("推荐")
];
}
}),
_: 2
}, _parent2, _scopeId));
} else {
return [
createVNode(_component_a_tag, { color: "blue" }, {
default: withCtx(() => [
createTextVNode("推荐")
]),
_: 1
})
];
}
}),
key: "0"
} : void 0
]), _parent));
});
_push(`<!--]--></div></div></section><section class="bg-gradient-to-r from-blue-600 to-indigo-700 py-16 text-white" data-v-be0b0c41><div class="mx-auto max-w-screen-xl px-4 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between" data-v-be0b0c41><div data-v-be0b0c41><div class="text-2xl font-bold mb-2" data-v-be0b0c41>立即搭建你的企业云官网</div><div class="text-blue-200" data-v-be0b0c41>下单支付即开通,数分钟完成部署与初始化</div></div><div class="flex gap-3" data-v-be0b0c41>`);
_push(ssrRenderComponent(_component_a_button, {
size: "large",
ghost: "",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/contact")
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`预约演示`);
} else {
return [
createTextVNode("预约演示")
];
}
}),
_: 1
}, _parent));
_push(ssrRenderComponent(_component_a_button, {
size: "large",
class: "bg-white text-blue-700 border-white hover:bg-white/90",
onClick: ($event) => go("https://site.websoft.top/register")
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(` 立即开通 `);
} else {
return [
createTextVNode(" 立即开通 ")
];
}
}),
_: 1
}, _parent));
_push(`</div></div></section></div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/website.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const website = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-be0b0c41"]]);
export { website as default };
//# sourceMappingURL=website-Cj_wOCFL.mjs.map