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

319 lines
12 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, c as useHead, e as useRoute, n as navigateTo } from './server.mjs';
import { defineComponent, ref, resolveComponent, mergeProps, unref, isRef, withCtx, createTextVNode, createVNode, toDisplayString, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrInterpolate, ssrRenderStyle } from 'vue/server-renderer';
import { message } from 'ant-design-vue';
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 '@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: "index",
__ssrInlineRender: true,
setup(__props) {
useHead({ title: "会员服务 - 决策咨询网" });
const activeType = ref(useRoute().query.type || "");
const loading = ref(false);
const services = ref([]);
const mockServices = [
{
id: 1,
type: "consult",
icon: "🏢",
title: "企业决策咨询",
description: "为企业提供战略规划、政策解读、市场分析等专业决策咨询服务,助力企业把握发展机遇。",
tags: ["企业咨询", "战略规划"]
},
{
id: 2,
type: "service",
icon: "📊",
title: "专题研究报告",
description: "提供行业专题研究、政策分析报告、区域发展研究等专业研究成果。",
tags: ["研究报告", "深度分析"]
},
{
id: 3,
type: "consult",
icon: "🎯",
title: "政策合规指导",
description: "协助企业理解最新政策法规,确保企业运营符合政策要求,规避合规风险。",
tags: ["政策合规", "风险规避"]
},
{
id: 4,
type: "service",
icon: "📋",
title: "专家论证会",
description: "组织相关领域专家为企业重大决策提供专业论证和咨询建议。",
tags: ["专家论证", "专业咨询"]
},
{
id: 5,
type: "service",
icon: "🌐",
title: "数据服务",
description: "提供决策所需的经济数据、行业数据、区域数据等专业数据服务(仅限会员)。",
tags: ["数据服务", "会员专享"]
},
{
id: 6,
type: "consult",
icon: "💼",
title: "培训与讲座",
description: "为企业及个人提供政策解读、决策方法等专题培训和讲座服务。",
tags: ["培训讲座", "能力提升"]
}
];
async function loadServices() {
loading.value = true;
try {
await new Promise((resolve) => setTimeout(resolve, 300));
const type = activeType.value;
services.value = type ? mockServices.filter((s) => s.type === type) : mockServices;
} catch (e) {
message.error("加载失败");
} finally {
loading.value = false;
}
}
function handleTypeChange() {
loadServices();
}
return (_ctx, _push, _parent, _attrs) => {
const _component_a_radio_group = resolveComponent("a-radio-group");
const _component_a_radio_button = resolveComponent("a-radio-button");
const _component_a_tag = resolveComponent("a-tag");
const _component_a_spin = resolveComponent("a-spin");
const _component_a_empty = resolveComponent("a-empty");
const _component_a_space = resolveComponent("a-space");
const _component_a_button = resolveComponent("a-button");
_push(`<div${ssrRenderAttrs(mergeProps({ class: "membership-page" }, _attrs))} data-v-548bc52a><div class="page-header" data-v-548bc52a><h1 class="page-title" data-v-548bc52a>会员服务</h1><p class="page-desc" data-v-548bc52a>为企业会员和个人会员提供专业、高效的咨询服务</p></div><div class="category-tabs" data-v-548bc52a>`);
_push(ssrRenderComponent(_component_a_radio_group, {
value: unref(activeType),
"onUpdate:value": ($event) => isRef(activeType) ? activeType.value = $event : null,
"button-style": "solid",
onChange: handleTypeChange
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(ssrRenderComponent(_component_a_radio_button, { value: "" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`全部`);
} else {
return [
createTextVNode("全部")
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(_component_a_radio_button, { value: "consult" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`企业咨询`);
} else {
return [
createTextVNode("企业咨询")
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(_component_a_radio_button, { value: "service" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`专项服务`);
} else {
return [
createTextVNode("专项服务")
];
}
}),
_: 1
}, _parent2, _scopeId));
} else {
return [
createVNode(_component_a_radio_button, { value: "" }, {
default: withCtx(() => [
createTextVNode("全部")
]),
_: 1
}),
createVNode(_component_a_radio_button, { value: "consult" }, {
default: withCtx(() => [
createTextVNode("企业咨询")
]),
_: 1
}),
createVNode(_component_a_radio_button, { value: "service" }, {
default: withCtx(() => [
createTextVNode("专项服务")
]),
_: 1
})
];
}
}),
_: 1
}, _parent));
_push(`</div><div class="service-grid" data-v-548bc52a><!--[-->`);
ssrRenderList(unref(services), (service) => {
_push(`<div class="service-card" data-v-548bc52a><div class="service-icon" data-v-548bc52a>${ssrInterpolate(service.icon)}</div><h3 class="service-title" data-v-548bc52a>${ssrInterpolate(service.title)}</h3><p class="service-desc" data-v-548bc52a>${ssrInterpolate(service.description)}</p><div class="service-tags" data-v-548bc52a><!--[-->`);
ssrRenderList(service.tags, (tag) => {
_push(ssrRenderComponent(_component_a_tag, {
key: tag,
color: "blue"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(tag)}`);
} else {
return [
createTextVNode(toDisplayString(tag), 1)
];
}
}),
_: 2
}, _parent));
});
_push(`<!--]--></div></div>`);
});
_push(`<!--]-->`);
if (unref(loading)) {
_push(`<div class="loading-placeholder" data-v-548bc52a>`);
_push(ssrRenderComponent(_component_a_spin, { size: "large" }, null, _parent));
_push(`</div>`);
} else {
_push(`<!---->`);
}
if (!unref(loading) && unref(services).length === 0) {
_push(`<div class="empty-placeholder" data-v-548bc52a>`);
_push(ssrRenderComponent(_component_a_empty, { description: "暂无服务" }, null, _parent));
_push(`</div>`);
} else {
_push(`<!---->`);
}
_push(`</div><div class="contact-section" data-v-548bc52a><h2 data-v-548bc52a>联系我们</h2><p data-v-548bc52a>如有疑问或需要帮助,请随时与我们联系</p>`);
_push(ssrRenderComponent(_component_a_space, {
size: "large",
direction: "vertical"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(ssrRenderComponent(_component_a_space, { size: "large" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`<span data-v-548bc52a${_scopeId2}>📞</span><span data-v-548bc52a${_scopeId2}>联系电话0771-5386339</span>`);
} else {
return [
createVNode("span", null, "📞"),
createVNode("span", null, "联系电话0771-5386339")
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(_component_a_space, { size: "large" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`<span data-v-548bc52a${_scopeId2}>📧</span><span data-v-548bc52a${_scopeId2}>咨询邮箱gxjzxzx@126.com</span>`);
} else {
return [
createVNode("span", null, "📧"),
createVNode("span", null, "咨询邮箱gxjzxzx@126.com")
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(_component_a_space, { size: "large" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`<span data-v-548bc52a${_scopeId2}>⏰</span><span data-v-548bc52a${_scopeId2}>服务时间:周一至周五 9:00-17:00</span>`);
} else {
return [
createVNode("span", null, "⏰"),
createVNode("span", null, "服务时间:周一至周五 9:00-17:00")
];
}
}),
_: 1
}, _parent2, _scopeId));
} else {
return [
createVNode(_component_a_space, { size: "large" }, {
default: withCtx(() => [
createVNode("span", null, "📞"),
createVNode("span", null, "联系电话0771-5386339")
]),
_: 1
}),
createVNode(_component_a_space, { size: "large" }, {
default: withCtx(() => [
createVNode("span", null, "📧"),
createVNode("span", null, "咨询邮箱gxjzxzx@126.com")
]),
_: 1
}),
createVNode(_component_a_space, { size: "large" }, {
default: withCtx(() => [
createVNode("span", null, "⏰"),
createVNode("span", null, "服务时间:周一至周五 9:00-17:00")
]),
_: 1
})
];
}
}),
_: 1
}, _parent));
_push(`<div style="${ssrRenderStyle({ "margin-top": "20px" })}" data-v-548bc52a>`);
_push(ssrRenderComponent(_component_a_button, {
type: "primary",
size: "large",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/about/consultation")
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(` 了解咨询服务详情 → `);
} else {
return [
createTextVNode(" 了解咨询服务详情 → ")
];
}
}),
_: 1
}, _parent));
_push(`</div></div></div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/membership/index.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-548bc52a"]]);
export { index as default };
//# sourceMappingURL=index-B8o-rKOg.mjs.map