2025-04-22 15:57:06 +08:00

189 lines
9.2 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 { defineComponent, ref, withCtx, createVNode, createTextVNode, toDisplayString, mergeProps, useSSRContext } from 'file://D:/doc/workspace/web3/node_modules/vue/index.mjs';
import { ssrRenderClass, ssrRenderComponent, ssrRenderList, ssrInterpolate, ssrRenderAttrs, ssrRenderSlot } from 'file://D:/doc/workspace/web3/node_modules/vue/server-renderer/index.mjs';
import { _ as __nuxt_component_0 } from './nuxt-link.mjs';
import { useRoute } from 'file://D:/doc/workspace/web3/node_modules/vue-router/dist/vue-router.node.mjs';
import 'file://D:/doc/workspace/web3/node_modules/ufo/dist/index.mjs';
import './server.mjs';
import 'file://D:/doc/workspace/web3/node_modules/hookable/dist/index.mjs';
import 'file://D:/doc/workspace/web3/node_modules/unctx/dist/index.mjs';
import 'file://D:/doc/workspace/web3/node_modules/h3/dist/index.mjs';
import 'file://D:/doc/workspace/web3/node_modules/radix3/dist/index.mjs';
import 'file://D:/doc/workspace/web3/node_modules/defu/dist/defu.mjs';
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
__name: "NavBar",
__ssrInlineRender: true,
setup(__props) {
useRoute();
const mobileMenuOpen = ref(false);
const scrolled = ref(false);
const navItems = [
{ name: "首页", path: "/" },
{ name: "AWS产品", path: "/products" },
{ name: "解决方案", path: "/solutions" },
{ name: "客户案例", path: "/cases" },
{ name: "关于我们", path: "/about" },
{ name: "联系我们", path: "/contact" }
];
return (_ctx, _push, _parent, _attrs) => {
const _component_NuxtLink = __nuxt_component_0;
_push(`<!--[--><nav class="${ssrRenderClass(["bg-primary shadow-md fixed w-full z-50", { "nav-scrolled": scrolled.value }])}"><div class="container"><div class="flex items-center justify-between h-16">`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/",
class: "flex items-center text-white"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`<i class="fas fa-cloud text-2xl mr-2"${_scopeId}></i><span class="text-xl font-bold"${_scopeId}>云服务专家</span>`);
} else {
return [
createVNode("i", { class: "fas fa-cloud text-2xl mr-2" }),
createVNode("span", { class: "text-xl font-bold" }, "云服务专家")
];
}
}),
_: 1
}, _parent));
_push(`<div class="hidden md:flex items-center space-x-8"><!--[-->`);
ssrRenderList(navItems, (item, index) => {
_push(ssrRenderComponent(_component_NuxtLink, {
key: index,
to: item.path,
class: ["text-white/85 hover:text-secondary transition-colors duration-300", { "text-white": _ctx.$route.path === item.path }]
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(item.name)}`);
} else {
return [
createTextVNode(toDisplayString(item.name), 1)
];
}
}),
_: 2
}, _parent));
});
_push(`<!--]--></div><button class="md:hidden text-white p-2 rounded-lg hover:bg-white/10 transition-colors duration-300" aria-label="打开菜单"><i class="fas fa-bars text-xl"></i></button></div><div class="${ssrRenderClass(["md:hidden bg-primary absolute top-16 left-0 right-0 shadow-lg", { "hidden": !mobileMenuOpen.value }])}"><div class="container py-4"><div class="flex flex-col space-y-4"><!--[-->`);
ssrRenderList(navItems, (item, index) => {
_push(ssrRenderComponent(_component_NuxtLink, {
key: index,
to: item.path,
class: ["text-white/85 hover:text-secondary transition-colors duration-300 py-2", { "text-white": _ctx.$route.path === item.path }],
onClick: ($event) => mobileMenuOpen.value = false
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(item.name)}`);
} else {
return [
createTextVNode(toDisplayString(item.name), 1)
];
}
}),
_: 2
}, _parent));
});
_push(`<!--]--></div></div></div></div></nav><div class="h-16"></div><!--]-->`);
};
}
});
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
__name: "FooterSection",
__ssrInlineRender: true,
setup(__props) {
const products = [
{ name: "EC2 云服务器", path: "/products" },
{ name: "S3 对象存储", path: "/products" },
{ name: "RDS 数据库服务", path: "/products" },
{ name: "Lambda 无服务器", path: "/products" },
{ name: "更多产品...", path: "/products" }
];
const solutions = [
{ name: "网站托管", path: "/solutions" },
{ name: "企业上云", path: "/solutions" },
{ name: "灾备方案", path: "/solutions" },
{ name: "大数据分析", path: "/solutions" },
{ name: "微服务架构", path: "/solutions" }
];
return (_ctx, _push, _parent, _attrs) => {
const _component_NuxtLink = __nuxt_component_0;
_push(`<footer${ssrRenderAttrs(mergeProps({ class: "bg-primary text-white py-12" }, _attrs))}><div class="container"><div class="grid md:grid-cols-4 gap-8"><div><h5 class="text-lg font-semibold mb-4">云服务专家</h5><p class="text-white/50 mb-4">专业的AWS云服务解决方案提供商致力于帮助企业实现数字化转型</p><div class="flex space-x-4"><a href="#" class="text-white/50 hover:text-white transition-colors"><i class="fab fa-weixin"></i></a><a href="#" class="text-white/50 hover:text-white transition-colors"><i class="fab fa-weibo"></i></a><a href="#" class="text-white/50 hover:text-white transition-colors"><i class="fab fa-linkedin"></i></a></div></div><div><h5 class="text-lg font-semibold mb-4">AWS产品</h5><ul class="space-y-2"><!--[-->`);
ssrRenderList(products, (product, index) => {
_push(`<li>`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: product.path,
class: "text-white/70 hover:text-white transition-colors"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(product.name)}`);
} else {
return [
createTextVNode(toDisplayString(product.name), 1)
];
}
}),
_: 2
}, _parent));
_push(`</li>`);
});
_push(`<!--]--></ul></div><div><h5 class="text-lg font-semibold mb-4">解决方案</h5><ul class="space-y-2"><!--[-->`);
ssrRenderList(solutions, (solution, index) => {
_push(`<li>`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: solution.path,
class: "text-white/70 hover:text-white transition-colors"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(solution.name)}`);
} else {
return [
createTextVNode(toDisplayString(solution.name), 1)
];
}
}),
_: 2
}, _parent));
_push(`</li>`);
});
_push(`<!--]--></ul></div><div><h5 class="text-lg font-semibold mb-4">联系我们</h5><ul class="space-y-3"><li class="flex items-start"><i class="fas fa-map-marker-alt text-white/70 mt-1 mr-3"></i><span class="text-white/70">北京市朝阳区某某大厦10层</span></li><li class="flex items-start"><i class="fas fa-phone text-white/70 mt-1 mr-3"></i><span class="text-white/70">400-123-4567</span></li><li class="flex items-start"><i class="fas fa-envelope text-white/70 mt-1 mr-3"></i><span class="text-white/70">contact@example.com</span></li></ul></div></div><div class="mt-12 pt-8 border-t border-white/10 text-center"><p class="text-white/50">© ${ssrInterpolate((/* @__PURE__ */ new Date()).getFullYear())} 云服务专家. 保留所有权利.</p></div></div></footer>`);
};
}
});
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "default",
__ssrInlineRender: true,
setup(__props) {
const pageLoading = ref(true);
return (_ctx, _push, _parent, _attrs) => {
const _component_NavBar = _sfc_main$2;
const _component_FooterSection = _sfc_main$1;
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex flex-col min-h-screen" }, _attrs))}>`);
if (pageLoading.value) {
_push(`<div class="page-loader"><div class="loader-spinner"></div></div>`);
} else {
_push(`<!---->`);
}
_push(ssrRenderComponent(_component_NavBar, null, null, _parent));
_push(`<main class="flex-grow">`);
ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent);
_push(`</main>`);
_push(ssrRenderComponent(_component_FooterSection, null, null, _parent));
_push(`</div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("layouts/default.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=default.vue.mjs.map