2025-04-22 16:46:16 +08:00

261 lines
15 KiB
JavaScript

import { _ as __nuxt_component_0 } from './nuxt-link.mjs';
import { defineComponent, withCtx, createTextVNode, createVNode, toDisplayString, useSSRContext } from 'file://D:/doc/workspace/web3/node_modules/vue/index.mjs';
import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrRenderClass, ssrRenderAttr } from 'file://D:/doc/workspace/web3/node_modules/vue/server-renderer/index.mjs';
import { useI18n } from 'file://D:/doc/workspace/web3/node_modules/vue-i18n/dist/vue-i18n.mjs';
import { _ as _sfc_main$1 } from './HeroBanner.vue2.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/vue-router/dist/vue-router.node.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 = /* @__PURE__ */ defineComponent({
__name: "solutions",
__ssrInlineRender: true,
setup(__props) {
const { t } = useI18n();
const solutionCategories = [
{
id: "web-hosting",
icon: "fas fa-globe",
titleKey: "solutions.solutionItems.webHosting.title",
descriptionKey: "solutions.solutionItems.webHosting.description"
},
{
id: "cloud-migration",
icon: "fas fa-cloud-upload-alt",
titleKey: "solutions.solutionItems.cloudMigration.title",
descriptionKey: "solutions.solutionItems.cloudMigration.description"
},
{
id: "disaster-recovery",
icon: "fas fa-shield-alt",
titleKey: "solutions.solutionItems.disasterRecovery.title",
descriptionKey: "solutions.solutionItems.disasterRecovery.description"
},
{
id: "big-data",
icon: "fas fa-chart-pie",
titleKey: "solutions.solutionItems.bigData.title",
descriptionKey: "solutions.solutionItems.bigData.description"
},
{
id: "microservices",
icon: "fas fa-cubes",
titleKey: "solutions.solutionItems.microservices.title",
descriptionKey: "solutions.solutionItems.microservices.description"
},
{
id: "ai-ml",
icon: "fas fa-brain",
titleKey: "solutions.solutionItems.aiMl.title",
descriptionKey: "solutions.solutionItems.aiMl.description"
}
];
const solutions = [
{
id: "web-hosting",
icon: "fas fa-globe",
titleKey: "solutions.solutionDetails.webHosting.title",
descriptionKey: "solutions.solutionDetails.webHosting.description",
benefits: [
"solutions.solutionDetails.webHosting.benefits[0]",
"solutions.solutionDetails.webHosting.benefits[1]",
"solutions.solutionDetails.webHosting.benefits[2]",
"solutions.solutionDetails.webHosting.benefits[3]",
"solutions.solutionDetails.webHosting.benefits[4]"
],
industries: [
"solutions.solutionDetails.webHosting.industries[0]",
"solutions.solutionDetails.webHosting.industries[1]",
"solutions.solutionDetails.webHosting.industries[2]",
"solutions.solutionDetails.webHosting.industries[3]"
]
},
{
id: "cloud-migration",
icon: "fas fa-cloud-upload-alt",
titleKey: "solutions.solutionDetails.cloudMigration.title",
descriptionKey: "solutions.solutionDetails.cloudMigration.description",
benefits: [
"solutions.solutionDetails.cloudMigration.benefits[0]",
"solutions.solutionDetails.cloudMigration.benefits[1]",
"solutions.solutionDetails.cloudMigration.benefits[2]",
"solutions.solutionDetails.cloudMigration.benefits[3]",
"solutions.solutionDetails.cloudMigration.benefits[4]"
],
industries: [
"solutions.solutionDetails.cloudMigration.industries[0]",
"solutions.solutionDetails.cloudMigration.industries[1]",
"solutions.solutionDetails.cloudMigration.industries[2]",
"solutions.solutionDetails.cloudMigration.industries[3]",
"solutions.solutionDetails.cloudMigration.industries[4]"
]
},
{
id: "disaster-recovery",
icon: "fas fa-shield-alt",
titleKey: "solutions.solutionDetails.disasterRecovery.title",
descriptionKey: "solutions.solutionDetails.disasterRecovery.description",
benefits: [
"solutions.solutionDetails.disasterRecovery.benefits[0]",
"solutions.solutionDetails.disasterRecovery.benefits[1]",
"solutions.solutionDetails.disasterRecovery.benefits[2]",
"solutions.solutionDetails.disasterRecovery.benefits[3]",
"solutions.solutionDetails.disasterRecovery.benefits[4]"
],
industries: [
"solutions.solutionDetails.disasterRecovery.industries[0]",
"solutions.solutionDetails.disasterRecovery.industries[1]",
"solutions.solutionDetails.disasterRecovery.industries[2]",
"solutions.solutionDetails.disasterRecovery.industries[3]",
"solutions.solutionDetails.disasterRecovery.industries[4]"
]
},
{
id: "big-data",
icon: "fas fa-chart-pie",
titleKey: "solutions.solutionDetails.bigData.title",
descriptionKey: "solutions.solutionDetails.bigData.description",
benefits: [
"solutions.solutionDetails.bigData.benefits[0]",
"solutions.solutionDetails.bigData.benefits[1]",
"solutions.solutionDetails.bigData.benefits[2]",
"solutions.solutionDetails.bigData.benefits[3]",
"solutions.solutionDetails.bigData.benefits[4]"
],
industries: [
"solutions.solutionDetails.bigData.industries[0]",
"solutions.solutionDetails.bigData.industries[1]",
"solutions.solutionDetails.bigData.industries[2]",
"solutions.solutionDetails.bigData.industries[3]",
"solutions.solutionDetails.bigData.industries[4]"
]
}
];
const implementationSteps = [
{
titleKey: "solutions.implementation.steps.step1.title",
descriptionKey: "solutions.implementation.steps.step1.description"
},
{
titleKey: "solutions.implementation.steps.step2.title",
descriptionKey: "solutions.implementation.steps.step2.description"
},
{
titleKey: "solutions.implementation.steps.step3.title",
descriptionKey: "solutions.implementation.steps.step3.description"
},
{
titleKey: "solutions.implementation.steps.step4.title",
descriptionKey: "solutions.implementation.steps.step4.description"
},
{
titleKey: "solutions.implementation.steps.step5.title",
descriptionKey: "solutions.implementation.steps.step5.description"
}
];
const caseStudies = [
{
titleKey: "solutions.cases.ecommerce.title",
industryKey: "solutions.cases.ecommerce.industry",
descriptionKey: "solutions.cases.ecommerce.description"
},
{
titleKey: "solutions.cases.finance.title",
industryKey: "solutions.cases.finance.industry",
descriptionKey: "solutions.cases.finance.description"
},
{
titleKey: "solutions.cases.manufacturing.title",
industryKey: "solutions.cases.manufacturing.industry",
descriptionKey: "solutions.cases.manufacturing.description"
}
];
return (_ctx, _push, _parent, _attrs) => {
const _component_HeroBanner = _sfc_main$1;
const _component_NuxtLink = __nuxt_component_0;
_push(`<div${ssrRenderAttrs(_attrs)}>`);
_push(ssrRenderComponent(_component_HeroBanner, {
title: _ctx.$t("solutions.hero.title"),
subtitle: _ctx.$t("solutions.hero.subtitle")
}, null, _parent));
_push(`<section class="py-20"><div class="container"><div class="max-w-4xl mx-auto text-center mb-16"><h2 class="text-4xl font-bold text-[#333333] mb-4">${ssrInterpolate(_ctx.$t("solutions.categories.title"))}</h2><p class="text-xl text-gray-600 leading-relaxed">${ssrInterpolate(_ctx.$t("solutions.categories.subtitle"))}</p></div><div class="grid md:grid-cols-3 gap-8"><!--[-->`);
ssrRenderList(solutionCategories, (category, index) => {
_push(`<div class="bg-white p-8 rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 transform hover:-translate-y-1 text-center"><div class="w-20 h-20 bg-gradient-to-br from-secondary/20 to-secondary/10 rounded-full flex items-center justify-center mx-auto mb-6"><i class="${ssrRenderClass(["text-secondary text-3xl", category.icon])}"></i></div><h3 class="text-xl font-semibold mb-4">${ssrInterpolate(_ctx.$t(category.titleKey))}</h3><p class="text-gray-600 leading-relaxed mb-6">${ssrInterpolate(_ctx.$t(category.descriptionKey))}</p><a${ssrRenderAttr("href", "#" + category.id)} class="inline-flex items-center text-secondary hover:text-secondary/90">${ssrInterpolate(_ctx.$t("solutions.categories.viewDetails"))} <i class="fas fa-arrow-right ml-2"></i></a></div>`);
});
_push(`<!--]--></div></div></section><div class="space-y-16"><!--[-->`);
ssrRenderList(solutions, (solution, index) => {
_push(`<section${ssrRenderAttr("id", solution.id)} class="${ssrRenderClass([index % 2 === 0 ? "bg-gray-50" : "bg-white", "py-20"])}"><div class="container"><div class="grid md:grid-cols-2 gap-12 items-center"><div class="${ssrRenderClass(index % 2 === 1 ? "md:order-1" : "")}"><div class="bg-gradient-to-br from-secondary/20 to-secondary/10 h-80 rounded-lg flex items-center justify-center"><i class="${ssrRenderClass(["text-8xl text-secondary", solution.icon])}"></i></div></div><div><h2 class="text-4xl font-bold text-[#333333] mb-6">${ssrInterpolate(_ctx.$t(solution.titleKey))}</h2><p class="text-gray-600 leading-relaxed mb-6">${ssrInterpolate(_ctx.$t(solution.descriptionKey))}</p><div class="mb-8"><h4 class="text-lg font-semibold mb-4">${ssrInterpolate(_ctx.$t("solutions.solutionDetails.advantages"))}</h4><ul class="space-y-3"><!--[-->`);
ssrRenderList(solution.benefits, (benefit, idx) => {
_push(`<li class="flex items-start"><i class="fas fa-check-circle text-green-500 mt-1 mr-3"></i><span class="text-gray-600">${ssrInterpolate(_ctx.$t(benefit))}</span></li>`);
});
_push(`<!--]--></ul></div><div class="mb-8"><h4 class="text-lg font-semibold mb-4">${ssrInterpolate(_ctx.$t("solutions.solutionDetails.industries"))}</h4><div class="flex flex-wrap gap-2"><!--[-->`);
ssrRenderList(solution.industries, (industry, idx) => {
_push(`<span class="px-3 py-1 bg-gray-100 text-gray-700 rounded-full text-sm">${ssrInterpolate(_ctx.$t(industry))}</span>`);
});
_push(`<!--]--></div></div><a href="#contact" class="btn-primary">${ssrInterpolate(_ctx.$t("solutions.solutionDetails.inquiry"))}</a></div></div></div></section>`);
});
_push(`<!--]--></div><section class="py-20 bg-gray-50"><div class="container"><div class="max-w-4xl mx-auto text-center mb-16"><h2 class="text-4xl font-bold text-[#333333] mb-4">${ssrInterpolate(_ctx.$t("solutions.implementation.title"))}</h2><p class="text-xl text-gray-600 leading-relaxed">${ssrInterpolate(_ctx.$t("solutions.implementation.subtitle"))}</p></div><div class="relative"><div class="absolute left-1/2 top-8 bottom-8 w-1 bg-secondary/20 -translate-x-1/2 hidden md:block"></div><div class="space-y-12"><!--[-->`);
ssrRenderList(implementationSteps, (step, index) => {
_push(`<div class="flex flex-col md:flex-row md:items-center relative"><div class="md:absolute md:left-1/2 md:-translate-x-1/2 z-10 w-12 h-12 bg-white rounded-full border-4 border-secondary flex items-center justify-center font-bold text-secondary mb-4 md:mb-0 mx-auto md:mx-0">${ssrInterpolate(index + 1)}</div><div class="${ssrRenderClass([
"bg-white p-6 rounded-lg shadow-md w-full md:w-5/12",
index % 2 === 0 ? "md:mr-auto" : "md:ml-auto"
])}"><h3 class="text-xl font-semibold mb-2">${ssrInterpolate(_ctx.$t(step.titleKey))}</h3><p class="text-gray-600">${ssrInterpolate(_ctx.$t(step.descriptionKey))}</p></div></div>`);
});
_push(`<!--]--></div></div></div></section><section class="py-20"><div class="container"><div class="max-w-4xl mx-auto text-center mb-16"><h2 class="text-4xl font-bold text-[#333333] mb-4">${ssrInterpolate(_ctx.$t("solutions.cases.title"))}</h2><p class="text-xl text-gray-600 leading-relaxed">${ssrInterpolate(_ctx.$t("solutions.cases.subtitle"))}</p></div><div class="grid md:grid-cols-3 gap-8"><!--[-->`);
ssrRenderList(caseStudies, (case_item, index) => {
_push(`<div class="bg-white rounded-lg shadow-lg overflow-hidden hover:shadow-xl transition-all duration-300 transform hover:-translate-y-1"><div class="h-48 bg-gray-200"></div><div class="p-6"><div class="flex justify-between items-center mb-4"><h3 class="text-xl font-semibold">${ssrInterpolate(_ctx.$t(case_item.titleKey))}</h3><span class="px-3 py-1 bg-secondary/10 text-secondary text-sm rounded-full">${ssrInterpolate(_ctx.$t(case_item.industryKey))}</span></div><p class="text-gray-600 mb-6">${ssrInterpolate(_ctx.$t(case_item.descriptionKey))}</p>`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/cases",
class: "inline-flex items-center text-secondary hover:text-secondary/90"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(_ctx.$t("solutions.cases.viewDetails"))} <i class="fas fa-arrow-right ml-2"${_scopeId}></i>`);
} else {
return [
createTextVNode(toDisplayString(_ctx.$t("solutions.cases.viewDetails")) + " ", 1),
createVNode("i", { class: "fas fa-arrow-right ml-2" })
];
}
}),
_: 2
}, _parent));
_push(`</div></div>`);
});
_push(`<!--]--></div></div></section><section id="contact" class="py-16 bg-primary text-white"><div class="container text-center"><h2 class="text-4xl font-bold mb-6">${ssrInterpolate(_ctx.$t("solutions.contact.title"))}</h2><p class="text-xl mb-8 max-w-2xl mx-auto leading-relaxed">${ssrInterpolate(_ctx.$t("solutions.contact.subtitle"))}</p>`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/contact",
class: "inline-flex items-center bg-white text-black px-8 py-4 rounded-lg hover:bg-gray-100 transition-colors duration-300 text-lg font-semibold"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(_ctx.$t("solutions.contact.button"))} <i class="fas fa-arrow-right ml-2"${_scopeId}></i>`);
} else {
return [
createTextVNode(toDisplayString(_ctx.$t("solutions.contact.button")) + " ", 1),
createVNode("i", { class: "fas fa-arrow-right ml-2" })
];
}
}),
_: 1
}, _parent));
_push(`</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/solutions.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=solutions.vue.mjs.map