import { defineComponent, ref, mergeProps, unref, withCtx, createVNode, openBlock, createBlock, createCommentVNode, Fragment, renderList, computed, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrRenderAttr, ssrInterpolate, ssrRenderStyle } from 'vue/server-renderer';
import { Swiper, SwiperSlide } from 'swiper/vue';
import { Mousewheel, Pagination, Autoplay, Navigation, EffectFade } from 'swiper/modules';
import { _ as _export_sfc, a as __nuxt_component_5, n as navigateTo } from './server.mjs';
import { _ as __nuxt_component_2$1, a as __nuxt_component_3 } from './QualificationHonor-WKOjdncI.mjs';
import { _ as __nuxt_component_1$1 } from './CustomTitle-2eWUrzRV.mjs';
import { p as publicAssetsURL } from '../routes/renderer.mjs';
import { useRouter } from 'vue-router';
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 'axios';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'unhead/plugins';
import 'unhead/utils';
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
__name: "BannerSwiper",
__ssrInlineRender: true,
props: {
banners: {
type: Array,
required: true,
validator: (val) => Array.isArray(val) && val.every(
(item) => typeof item === "object" && item !== null && "url" in item
)
},
// 自动播放配置
autoplay: {
type: Object,
default: () => ({
delay: 3e3,
// 3秒切换一次
disableOnInteraction: false
// 点击后不停止自动播放
})
},
// 轮播效果:slide(默认)/ fade(渐变)
effect: {
type: String,
default: "slide",
validator: (val) => typeof val === "string" && ["slide", "fade"].includes(val)
},
// 是否显示分页器
showPagination: {
type: Boolean,
default: true
},
// 是否显示左右切换按钮
showNavigation: {
type: Boolean,
default: true
}
},
emits: ["onClickMore"],
setup(__props, { emit: __emit }) {
const emit = __emit;
const props = __props;
const modules = [Autoplay, Pagination, Navigation, EffectFade];
const swiperRef = ref(null);
const autoplayOptions = ref({
...props.autoplay
});
const paginationOptions = ref({
clickable: true,
enabled: props.showPagination
});
const navigationOptions = ref({
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
enabled: props.showNavigation
});
const onClickMore = (item) => {
emit("onClickMore", item);
};
return (_ctx, _push, _parent, _attrs) => {
_push(`
`);
_push(ssrRenderComponent(unref(Swiper), {
ref_key: "swiperRef",
ref: swiperRef,
modules,
"slides-per-view": 1,
"space-between": 0,
autoplay: autoplayOptions.value,
loop: true,
lazy: true,
"preload-images": true,
pagination: paginationOptions.value,
navigation: navigationOptions.value,
effect: __props.effect,
class: "w-full h-full"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(``);
ssrRenderList(__props.banners, (item, index2) => {
_push2(ssrRenderComponent(unref(SwiperSlide), {
key: index2,
class: "w-full h-full"
}, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`
![]()
`);
if (item.title) {
_push3(`
${item.title ?? ""}
`);
} else {
_push3(``);
}
if (item.describe) {
_push3(`
${item.describe ?? ""}
`);
} else {
_push3(``);
}
if (item?.jump_config?.web_link) {
_push3(`
`);
} else {
_push3(``);
}
_push3(`
`);
} else {
return [
createVNode("img", {
src: item.url,
alt: item.alt || `Banner ${index2 + 1}`,
class: "object-cover w-full h-full"
}, null, 8, ["src", "alt"]),
createVNode("div", { class: "absolute inset-0 w-full h-full" }, [
createVNode("div", { class: "flex flex-col justify-center items-start h-full layout" }, [
item.title ? (openBlock(), createBlock("div", {
key: 0,
class: "banner-title text-[24px] sm:text-[28px] md:text-[34px] lg:text-[44px] xl:text-[60px] 2xl:text-[72px] text-white font-bold leading-tight",
innerHTML: item.title
}, null, 8, ["innerHTML"])) : createCommentVNode("", true),
item.describe ? (openBlock(), createBlock("div", {
key: 1,
class: "banner-desc mt-[6px] sm:mt-[10px] md:mt-[12px] lg:mt-[14px] xl:mt-[16px] text-[14px] sm:text-[16px] md:text-[20px] lg:text-[26px] xl:text-[36px] 2xl:text-[42px] text-white font-medium opacity-90 leading-snug",
innerHTML: item.describe
}, null, 8, ["innerHTML"])) : createCommentVNode("", true),
item?.jump_config?.web_link ? (openBlock(), createBlock("div", {
key: 2,
class: "banner-btn mt-[10px] sm:mt-[16px] md:mt-[18px] xl:mt-[24px]"
}, [
createVNode("button", {
type: "button",
onClick: () => onClickMore(item),
class: "bg-white px-[16px] sm:px-[22px] md:px-[24px] xl:px-[28px] h-[32px] sm:h-[38px] md:h-[40px] xl:h-[44px] text-[13px] sm:text-[14px] md:text-[15px] xl:text-[16px] font-medium text-[#2D75B5] cursor-pointer hover:bg-[#2D75B5] hover:text-white transition-colors duration-300 flex items-center justify-center"
}, " 了解更多 >> ", 8, ["onClick"])
])) : createCommentVNode("", true)
])
])
];
}
}),
_: 2
}, _parent2, _scopeId));
});
_push2(``);
} else {
return [
(openBlock(true), createBlock(Fragment, null, renderList(__props.banners, (item, index2) => {
return openBlock(), createBlock(unref(SwiperSlide), {
key: index2,
class: "w-full h-full"
}, {
default: withCtx(() => [
createVNode("img", {
src: item.url,
alt: item.alt || `Banner ${index2 + 1}`,
class: "object-cover w-full h-full"
}, null, 8, ["src", "alt"]),
createVNode("div", { class: "absolute inset-0 w-full h-full" }, [
createVNode("div", { class: "flex flex-col justify-center items-start h-full layout" }, [
item.title ? (openBlock(), createBlock("div", {
key: 0,
class: "banner-title text-[24px] sm:text-[28px] md:text-[34px] lg:text-[44px] xl:text-[60px] 2xl:text-[72px] text-white font-bold leading-tight",
innerHTML: item.title
}, null, 8, ["innerHTML"])) : createCommentVNode("", true),
item.describe ? (openBlock(), createBlock("div", {
key: 1,
class: "banner-desc mt-[6px] sm:mt-[10px] md:mt-[12px] lg:mt-[14px] xl:mt-[16px] text-[14px] sm:text-[16px] md:text-[20px] lg:text-[26px] xl:text-[36px] 2xl:text-[42px] text-white font-medium opacity-90 leading-snug",
innerHTML: item.describe
}, null, 8, ["innerHTML"])) : createCommentVNode("", true),
item?.jump_config?.web_link ? (openBlock(), createBlock("div", {
key: 2,
class: "banner-btn mt-[10px] sm:mt-[16px] md:mt-[18px] xl:mt-[24px]"
}, [
createVNode("button", {
type: "button",
onClick: () => onClickMore(item),
class: "bg-white px-[16px] sm:px-[22px] md:px-[24px] xl:px-[28px] h-[32px] sm:h-[38px] md:h-[40px] xl:h-[44px] text-[13px] sm:text-[14px] md:text-[15px] xl:text-[16px] font-medium text-[#2D75B5] cursor-pointer hover:bg-[#2D75B5] hover:text-white transition-colors duration-300 flex items-center justify-center"
}, " 了解更多 >> ", 8, ["onClick"])
])) : createCommentVNode("", true)
])
])
]),
_: 2
}, 1024);
}), 128))
];
}
}),
_: 1
}, _parent));
_push(`
`);
};
}
});
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/BannerSwiper.vue");
return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
};
const __nuxt_component_0 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$4, [["__scopeId", "data-v-fbea4d53"]]), { __name: "BannerSwiper" });
const _imports_0 = publicAssetsURL("/images/首页/了解更多业务.png");
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
__name: "MainBusiness",
__ssrInlineRender: true,
props: {
list: { default: () => [] }
},
setup(__props) {
useRouter();
const props = __props;
const dataList = computed(() => props.list);
return (_ctx, _push, _parent, _attrs) => {
const _component_CustomTitle = __nuxt_component_1$1;
_push(``);
_push(ssrRenderComponent(_component_CustomTitle, { title: "主营业务" }, null, _parent));
_push(`
`);
ssrRenderList(dataList.value, (data) => {
_push(`
${ssrInterpolate(data.name)}
`);
if (data.desc) {
_push(`
${ssrInterpolate(data.desc)}
`);
} else {
_push(``);
}
_push(`
`);
});
_push(`
`);
};
}
});
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/MainBusiness.vue");
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
};
const __nuxt_component_2 = Object.assign(_sfc_main$3, { __name: "MainBusiness" });
const _sfc_main$2 = {
__name: "PartnerScroll",
__ssrInlineRender: true,
props: {
// 第一行数据
partners1: {
type: Array,
required: true,
default: () => []
},
// 第二行数据
partners2: {
type: Array,
required: true,
default: () => []
},
// 第一行滚动时长(秒)
duration1: {
type: Number,
default: 25
},
// 第二行滚动时长(秒)
duration2: {
type: Number,
default: 30
},
itemWidth: {
type: String,
default: "220px"
},
itemHeight: {
type: String,
default: "90px"
},
// 行间距
rowGap: {
type: String,
default: "24px"
}
},
setup(__props) {
return (_ctx, _push, _parent, _attrs) => {
const _cssVars = { style: {
":--v02b74dfc": __props.rowGap,
":--v6a738313": __props.itemWidth,
":--v6ba4350c": __props.itemHeight
} };
_push(``);
};
}
};
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/PartnerScroll.vue");
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
};
const __nuxt_component_1 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-e4eb4a4e"]]);
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
__name: "Partner",
__ssrInlineRender: true,
setup(__props) {
const partnerList = ref([]);
return (_ctx, _push, _parent, _attrs) => {
const _component_CustomTitle = __nuxt_component_1$1;
const _component_PartnerScroll = __nuxt_component_1;
_push(``);
_push(ssrRenderComponent(_component_CustomTitle, { title: "合作伙伴" }, null, _parent));
_push(ssrRenderComponent(_component_PartnerScroll, {
class: "mt-[20px] xl:mt-[20px]",
partners1: partnerList.value,
partners2: partnerList.value,
duration1: 50,
duration2: 60,
"item-width": "220px",
"item-height": "50px",
"row-gap": "14px"
}, null, _parent));
_push(`
`);
};
}
});
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/Partner.vue");
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const __nuxt_component_4 = Object.assign(_sfc_main$1, { __name: "Partner" });
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "index",
__ssrInlineRender: true,
setup(__props) {
const modules = [Mousewheel, Pagination];
ref(false);
const companyProfileText = ref(
'广西富琳清洁服务有限公司,成立于2016年,是一家拥有清洁服务与园林绿化养护"国家双一级资质"的综合性环境服务商。\n我们以专业保洁、园林养护、垃圾清运、水域保洁及专业消杀为主营业务,为政府、企业及各类机构提供一体化环境解决方案。公司拥有超千人员工团队,业务覆盖4+省市,累计服务面积突破950万平方米,以"专业铸就品质,细节决定成败"的理念,致力于成为值得信赖的环境合作伙伴。'
);
const bannerList = ref([]);
const mainBusinessList = ref([]);
const onClickBannerMore = (item) => {
const link = item.jump_config?.web_link;
if (link) {
if (link.startsWith("http")) (void 0).open(link, "_blank");
else navigateTo(link);
}
};
const honorCateList = ref([]);
const honorsByCategoryId = ref({});
return (_ctx, _push, _parent, _attrs) => {
const _component_BannerSwiper = __nuxt_component_0;
const _component_CompanyProfile = __nuxt_component_2$1;
const _component_MainBusiness = __nuxt_component_2;
const _component_QualificationHonor = __nuxt_component_3;
const _component_Partner = __nuxt_component_4;
const _component_AppFooter = __nuxt_component_5;
_push(``);
_push(ssrRenderComponent(unref(Swiper), {
modules,
direction: "vertical",
"slides-per-view": "auto",
"space-between": 0,
speed: 1e3,
mousewheel: { releaseOnEdges: true, sensitivity: 1 },
pagination: { clickable: true },
class: "home-fullpage-swiper"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(ssrRenderComponent(unref(SwiperSlide), { class: "home-banner-slide h-[250px] sm:h-[380px] lg:h-[500px] xl:h-full" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`
`);
_push3(ssrRenderComponent(_component_BannerSwiper, {
banners: bannerList.value,
effect: "fade",
autoplay: { delay: 4e3 },
onOnClickMore: onClickBannerMore
}, null, _parent3, _scopeId2));
_push3(``);
} else {
return [
createVNode("section", { class: "w-full home-fullpage-section home-banner-section" }, [
createVNode(_component_BannerSwiper, {
banners: bannerList.value,
effect: "fade",
autoplay: { delay: 4e3 },
onOnClickMore: onClickBannerMore
}, null, 8, ["banners"])
])
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(unref(SwiperSlide), null, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`
`);
_push3(ssrRenderComponent(_component_CompanyProfile, { text: companyProfileText.value }, null, _parent3, _scopeId2));
_push3(``);
} else {
return [
createVNode("section", { class: "w-full home-fullpage-section" }, [
createVNode(_component_CompanyProfile, { text: companyProfileText.value }, null, 8, ["text"])
])
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(unref(SwiperSlide), null, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`
`);
_push3(ssrRenderComponent(_component_MainBusiness, { list: mainBusinessList.value }, null, _parent3, _scopeId2));
_push3(``);
} else {
return [
createVNode("section", { class: "w-full home-fullpage-section" }, [
createVNode(_component_MainBusiness, { list: mainBusinessList.value }, null, 8, ["list"])
])
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(unref(SwiperSlide), null, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`
`);
_push3(ssrRenderComponent(_component_QualificationHonor, {
"tab-list": honorCateList.value,
"honors-by-category": honorsByCategoryId.value
}, null, _parent3, _scopeId2));
_push3(``);
} else {
return [
createVNode("section", { class: "w-full home-fullpage-section" }, [
createVNode(_component_QualificationHonor, {
"tab-list": honorCateList.value,
"honors-by-category": honorsByCategoryId.value
}, null, 8, ["tab-list", "honors-by-category"])
])
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(unref(SwiperSlide), { class: "home-last-slide" }, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`
`);
_push3(ssrRenderComponent(_component_Partner, null, null, _parent3, _scopeId2));
_push3(ssrRenderComponent(_component_AppFooter, null, null, _parent3, _scopeId2));
_push3(`
`);
} else {
return [
createVNode("section", { class: "w-full home-fullpage-section home-fullpage-section-5" }, [
createVNode("div", null, [
createVNode(_component_Partner),
createVNode(_component_AppFooter)
])
])
];
}
}),
_: 1
}, _parent2, _scopeId));
} else {
return [
createVNode(unref(SwiperSlide), { class: "home-banner-slide h-[250px] sm:h-[380px] lg:h-[500px] xl:h-full" }, {
default: withCtx(() => [
createVNode("section", { class: "w-full home-fullpage-section home-banner-section" }, [
createVNode(_component_BannerSwiper, {
banners: bannerList.value,
effect: "fade",
autoplay: { delay: 4e3 },
onOnClickMore: onClickBannerMore
}, null, 8, ["banners"])
])
]),
_: 1
}),
createVNode(unref(SwiperSlide), null, {
default: withCtx(() => [
createVNode("section", { class: "w-full home-fullpage-section" }, [
createVNode(_component_CompanyProfile, { text: companyProfileText.value }, null, 8, ["text"])
])
]),
_: 1
}),
createVNode(unref(SwiperSlide), null, {
default: withCtx(() => [
createVNode("section", { class: "w-full home-fullpage-section" }, [
createVNode(_component_MainBusiness, { list: mainBusinessList.value }, null, 8, ["list"])
])
]),
_: 1
}),
createVNode(unref(SwiperSlide), null, {
default: withCtx(() => [
createVNode("section", { class: "w-full home-fullpage-section" }, [
createVNode(_component_QualificationHonor, {
"tab-list": honorCateList.value,
"honors-by-category": honorsByCategoryId.value
}, null, 8, ["tab-list", "honors-by-category"])
])
]),
_: 1
}),
createVNode(unref(SwiperSlide), { class: "home-last-slide" }, {
default: withCtx(() => [
createVNode("section", { class: "w-full home-fullpage-section home-fullpage-section-5" }, [
createVNode("div", null, [
createVNode(_component_Partner),
createVNode(_component_AppFooter)
])
])
]),
_: 1
})
];
}
}),
_: 1
}, _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/home/index.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1443efa7"]]);
export { index as default };
//# sourceMappingURL=index-DrkkSDLH.mjs.map