This commit is contained in:
hrx 2025-12-25 16:12:19 +08:00
parent f63e86cc7b
commit f292270d93
29 changed files with 661 additions and 353 deletions

View File

@ -41,3 +41,15 @@ export const reqProductDetail = (data) => {
}) })
} }
// 获取公司介绍
export function reqCompany(data) {
return request({
url: `/reseller/get_ipc_logo.dspy`,
// url: `https://www.kaiyuancloud.cn/dev/reseller/get_ipc_logo.dspy`,
// url: `https://www.baidu.com`,
method: 'post',
headers: {'Content-Type': 'application/json'},
data
})
}

View File

@ -351,20 +351,20 @@ router.beforeEach((to, from, next) => {
// store.commit('tagsView/resetBreadcrumbState'); // store.commit('tagsView/resetBreadcrumbState');
// 新增:检测是否为移动设备 // 新增:检测是否为移动设备
const userAgent = navigator.userAgent; // const userAgent = navigator.userAgent;
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent); // const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
// 如果是移动设备且访问的是根路径,重定向到移动端首页 // // 如果是移动设备且访问的是根路径,重定向到移动端首页
if (isMobile && to.path === '/') { // if (isMobile && to.path === '/') {
next('/h5HomePage'); // next('/h5HomePage');
return; // return;
} // }
// 如果是移动设备且访问的不是移动端页面,重定向到移动端首页 // // 如果是移动设备且访问的不是移动端页面,重定向到移动端首页
if (isMobile && !to.meta?.isMobile && to.path !== '/h5HomePage' && !to.path.startsWith('/h5HomePage/')) { // if (isMobile && !to.meta?.isMobile && to.path !== '/h5HomePage' && !to.path.startsWith('/h5HomePage/')) {
next('/h5HomePage'); // next('/h5HomePage');
return; // return;
} // }
// 如果已登录且有token但Vuex状态丢失从sessionStorage恢复 // 如果已登录且有token但Vuex状态丢失从sessionStorage恢复
if (store.getters.token && (!store.getters.user || !store.getters.userType)) { if (store.getters.token && (!store.getters.user || !store.getters.userType)) {

View File

@ -11,7 +11,7 @@ import {getHomePath} from "@/views/setting/tools";
NProgress.configure({showSpinner: false}); // NProgress Configuration NProgress.configure({showSpinner: false}); // NProgress Configuration
const whiteList = ["/login", "/homePage", "/registrationPage", "/shoppingCart", "/homePageImage","/h5HomePage"]; // no redirect whitelist const whiteList = ["/login", "/homePage", "/registrationPage", "/shoppingCart", "/homePageImage","/h5HomePage",'/H5about']; // no redirect whitelist
// 获取用户代理字符串 // 获取用户代理字符串
const userAgent = window.navigator.userAgent; const userAgent = window.navigator.userAgent;

View File

@ -138,6 +138,14 @@ export const constantRoutes = [
}, },
] ]
}, },
{
path: "/H5about",
title: 'H5关于我们',
component: () => import('@/views/H5/about/index.vue'),
meta: {
title: "H5关于我们", fullPath: "/h5about/index",
},
},
{ {
path: '/beforeLogin', path: '/beforeLogin',
name: 'BeforeLogin', name: 'BeforeLogin',

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,521 @@
<template>
<div class="mian">
<!-- banner -->
<div class="banner">
<div class="title">开元云</div>
<div class="dase">全球领先的AI服务运营商</div>
</div>
<!-- 介绍 -->
<div class="introduce">
<!-- 左侧标题 -->
<div class="left">
关于<span class="color">我们</span>
</div>
<!-- 右侧内容 -->
<div class="right">
<div class="content">
<div class="text">
<div v-for="(item, index) in companyData" :key="index">
{{ item }}
</div>
</div>
</div>
</div>
</div>
<!-- 公司资质 -->
<div class="qualifications">
<div class="qualifications-title">
公司<span class="color">资质</span>
</div>
<div class="img-list">
<!-- 照片滚动 -->
<!-- 从左向右滚动 -->
<div class="top-img">
<div class="scroll-container row1">
<div v-for="(image, index) in topImages" :key="index" class="scroll-item">
<img :src="image" alt="资质证书" />
</div>
<!-- 重复用于无缝衔接 -->
<div v-for="(image, index) in topImages" :key="'top-dup-' + index" class="scroll-item">
<img :src="image" alt="资质证书" />
</div>
</div>
</div>
<!-- 从右向左滚动 -->
<div class="bottom-img">
<div class="scroll-container row2">
<div v-for="(image, index) in bottomImages" :key="'bottom-' + index" class="scroll-item">
<img :src="image" alt="资质证书" />
</div>
<!-- 重复用于无缝衔接 -->
<div v-for="(image, index) in bottomImages" :key="'bottom-dup-' + index" class="scroll-item">
<img :src="image" alt="资质证书" />
</div>
</div>
</div>
</div>
</div>
<!-- 企业文化 -->
<div class="culture">
<!-- 标题 -->
<div class="culture-title">
企业<span class="color">文化</span>
</div>
<!-- 列表 -->
<div class="culture-content">
<div class="culture-item">
<div class="culture-icon">
<!-- 这里可以放图标 -->
<div class="icon-placeholder">
<img src="./img/sm.png" alt="">
</div>
</div>
<div class="culture-text">
<div class="culture-item-title">
<div>使命</div>
<div class="culture-en">Mission</div>
</div>
<div class="culture-desc">
让AI无处不在让智能如此简单
</div>
</div>
</div>
<div class="culture-item">
<div class="culture-icon">
<div class="icon-placeholder">
<img src="./img/yj.png" alt="">
</div>
</div>
<div class="culture-text">
<div class="culture-item-title">
<div>愿景</div>
<div class="culture-en">Vision</div>
</div>
<div class="culture-desc">
全球领先的AI服务运营商
</div>
</div>
</div>
<div class="culture-item">
<div class="culture-icon">
<div class="icon-placeholder">
<img src="./img/jzg.png" alt="">
</div>
</div>
<div class="culture-text">
<div class="culture-item-title">
<div>价值观</div>
<div class="culture-en">Value</div>
</div>
<div class="culture-desc">
卓越开放创新
</div>
</div>
</div>
</div>
</div>
<!-- 平台优势 -->
<div class="advantages">
<!-- 标题 -->
<div class="advantages-title">
平台<span class="color">优势</span>
</div>
<!-- 列表 -->
<div class="advantages-content">
<div class="advantages-item" v-for="items in advantagesList" :key="index">
<div class="toptit">
{{ items.title }}
</div>
<div class="btm-text">
{{ items.desc }}
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { reqCompany } from '@/api/H5/index.js';
import '../media'
export default {
name: 'AboutPage',
data() {
return {
companyData: {},
topImages: [
require('./img/qualifications_img/topimg1.png'),
require('./img/qualifications_img/topimg2.png'),
require('./img/qualifications_img/topimg3.png'),
require('./img/qualifications_img/topimg4.png'),
require('./img/qualifications_img/topimg5.png'),
require('./img/qualifications_img/topimg6.png'),
require('./img/qualifications_img/topimg7.png'),
require('./img/qualifications_img/topimg8.png')
],
bottomImages: [
require('./img/qualifications_img/btmimg1.png'),
require('./img/qualifications_img/btmimg2.png'),
require('./img/qualifications_img/btmimg3.png'),
require('./img/qualifications_img/btmimg4.png'),
require('./img/qualifications_img/btmimg5.png'),
require('./img/qualifications_img/btmimg6.png'),
require('./img/qualifications_img/btmimg7.png'),
require('./img/qualifications_img/btmimg8.png'),
require('./img/qualifications_img/btmimg9.png'),
require('./img/qualifications_img/btmimg10.png')
],
advantagesList: [
{
title: '精准定位',
desc: '专注于为各行业提供专业、高效的人工智能解决方案,助力企业智能化转型。'
},
{
title: '技术服务',
desc: '提供人工智能相关的技术服务,为企业解决复杂的技术难题。'
},
{
title: '产品定制',
desc: '根据企业的特定需求,定制开发人工智能产品,满足不同场景的应用需求。'
},
{
title: '产业赋能',
desc: '通过人工智能技术,为传统产业赋能,提升产业的竞争力和创新能力。'
},
{
title: '一站式、本地化服务',
desc: '从售前、售中到售后提供一站式全方位服务'
},
{
title: '提供AI基础设施与模型服务',
desc: '提供整体底层技术架构和系统支持及模型服务'
}
]
}
},
created() {
this.getCompanyInfo();
},
methods: {
async getCompanyInfo() {
// URL
const currentUrl = window.location.href;
// url_link
const res = await reqCompany({
url_link: currentUrl
});
console.log('公司信息接口返回:', res);
if (res.status === true) {
this.companyData = res.data[0].additional_msg.about.content;
} else {
console.error('获取公司信息失败:', res.msg || '未知错误');
}
},
},
//
watch: {
'$route'(to, from) {
if (to.path !== from.path) {
this.getCompanyInfo();
}
}
}
}
</script>
<style lang="less" scoped>
.mian {
height: 100%;
overflow-y: auto;
}
.banner {
width: 100%;
background: url('./img/banner.png') no-repeat;
background-size: 100% 100%;
height: 4rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.title {
font-size: .5rem;
background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 600;
}
.dase {
font-size: .338rem;
color: #222f60;
margin-top: .1rem;
}
}
.introduce {
padding: 0 .2rem;
width: 100%;
display: flex;
align-items: center;
margin-top: .3rem;
background: linear-gradient(180deg, #fff 0%, #f6f8fd 40%, #fff 100%);
.left {
width: 20%;
font-size: .3rem;
font-weight: 600;
.color {
background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
}
.right {
width: 80%;
font-size: .2rem;
color: #000;
line-height: 1.6;
}
}
//
.qualifications {
// padding: 0 .2rem;
margin-top: .4rem;
background: url('./img/footer.png') no-repeat;
background-size: 100% 100%;
height: 6rem;
.qualifications-title {
font-size: .3rem;
font-weight: 600;
text-align: center;
margin-bottom: .3rem;
.color {
background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
}
.img-list {
// height: calc(100% - .8rem);
overflow: hidden;
position: relative;
.top-img,
.bottom-img {
height: 50%;
width: 100%;
overflow: hidden;
}
.scroll-container {
display: inline-flex;
height: 100%;
white-space: nowrap;
animation-duration: 40s;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
.row1 {
animation-name: scrollLeftToRight;
}
.row2 {
animation-name: scrollRightToLeft;
}
.scroll-item {
flex: 0 0 auto;
width: 120px;
height: 100%;
margin: 0 10px;
// background: rgba(255, 255, 255, 0.9);
border-radius: 8px;
overflow: hidden;
// box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.scroll-item img {
width: 2rem;
height: 2rem;
object-fit: contain;
padding: .08rem;
box-sizing: border-box;
}
}
}
//
.culture {
padding: 0 .2rem;
padding-top: .4rem;
background: linear-gradient(180deg, #d7e9ff 0%, #fff 100%);
.culture-title {
font-size: .3rem;
font-weight: 600;
text-align: center;
margin-bottom: .3rem;
.color {
background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
}
.culture-content {
.culture-item {
display: flex;
align-items: center;
margin-bottom: .3rem;
padding: .2rem;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
border-radius: .1rem;
.culture-icon {
width: .8rem;
height: .8rem;
border-radius: .1rem;
display: flex;
align-items: center;
justify-content: center;
margin-right: .2rem;
flex-shrink: 0;
.icon-placeholder {
font-size: .3rem;
font-weight: bold;
}
img {
width: 1rem;
height: 1rem;
}
}
.culture-text {
flex: 1;
.culture-item-title {
display: flex;
align-items: baseline;
margin-bottom: .1rem;
div:first-child {
font-size: .28rem;
font-weight: bold;
color: #333;
margin-right: .1rem;
}
.culture-en {
font-size: .2rem;
color: #666;
font-style: italic;
}
}
.culture-desc {
font-size: .24rem;
color: #444;
line-height: 1.5;
}
}
}
}
}
//
.advantages {
padding: 0 .2rem;
margin-top: .4rem;
margin-bottom: .4rem;
.advantages-title {
font-size: .3rem;
font-weight: 600;
text-align: center;
margin-bottom: .3rem;
.color {
background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
}
.advantages-content {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.advantages-item {
background: linear-gradient(125deg, #ffffff 0%, #70caf1 100%);
margin-bottom: .2rem;
width: 48%;
padding: .2rem;
box-shadow: 0 .05rem .15rem rgba(0, 0, 0, 0.05);
border-radius: .12rem;
.toptit {
font-weight: 600;
color: #000;
font-size: .28rem;
}
.btm-text {
font-size: .16rem;
color: #666;
margin: .2rem 0;
}
}
}
}
//
@keyframes scrollLeftToRight {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}
@keyframes scrollRightToLeft {
0% {
transform: translateX(-50%);
}
100% {
transform: translateX(0);
}
}
</style>

View File

@ -1,14 +1,14 @@
<template> <template>
<div style="width: 100%;"> <div style="width: 100%;">
<div class="banner"> <div class="banner">
<div v-if="JSON.stringify(logoInfoNew) !== '{}'" class="banner-content"> <div v-if="JSON.stringify(logoInfoNew) !== '{}'" style="font-size: 38px;">
<!-- 开元云 标题 --> <!-- 开元云 标题 -->
<div class="banner-title">{{ logoInfoNew.home.bannerTitle }}</div> <div>{{ logoInfoNew.home.bannerTitle }}</div>
<p class="banner-subtitle">全球领先的AI服务运营商</p> <p style="color: #0e0b0b">全球领先的AI服务运营商</p>
</div> </div>
</div> </div>
<div class="mainBox"> <div class="mainBox" style="padding-top: 35px">
<div class="inBox"> <div class="inBox">
<div class="leftBox"> <div class="leftBox">
<p class="leftBoxtitle">关于<span class="gradient-text">我们</span></p> <p class="leftBoxtitle">关于<span class="gradient-text">我们</span></p>
@ -23,8 +23,8 @@
</div> </div>
<!-- 公司资质 --> <!-- 公司资质 -->
<div class="zizhi"> <div class="zizhi">
<div class="zizhi-content"> <div style="width: 1400px;">
<div class="zizhi-title"> <div style="text-align:center;font-size: 30px;font-weight: bold;margin: 55px 0;width: 100%;margin-bottom: 50px">
公司<span class="gradient-text">资质</span> 公司<span class="gradient-text">资质</span>
</div> </div>
<LogoTwo></LogoTwo> <LogoTwo></LogoTwo>
@ -201,15 +201,6 @@ export default Vue.extend({
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
/* 通用样式 */
.gradient-text {
background: linear-gradient(to right, #0066FF, #66CCFF);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
display: inline-block;
}
.banner { .banner {
background: url("./img/Newbanner.png") no-repeat top center; background: url("./img/Newbanner.png") no-repeat top center;
display: flex; display: flex;
@ -220,26 +211,13 @@ export default Vue.extend({
flex-direction: column; flex-direction: column;
font-weight: bold; font-weight: bold;
.banner-content { div {
text-align: center;
padding: 0 20px;
}
.banner-title {
background: linear-gradient(to right, #275AFF, #2EBDFA); background: linear-gradient(to right, #275AFF, #2EBDFA);
-webkit-background-clip: text; -webkit-background-clip: text;
background-clip: text; background-clip: text;
color: transparent; color: transparent;
display: inline-block; display: inline-block;
text-align: center; text-align: center;
font-size: 38px;
margin-bottom: 10px;
}
.banner-subtitle {
color: #0e0b0b;
font-size: 20px;
margin: 0;
} }
} }
@ -250,17 +228,16 @@ export default Vue.extend({
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
background: linear-gradient(180deg, #fff 0%, #f6f8fd 40%, #fff 100%); background: linear-gradient(180deg, #fff 0%, #f6f8fd 40%, #fff 100%);
padding: 35px 20px;
.inBox { .inBox {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: flex-start; align-items: center;
max-width: 1450px; width: 1450px;
width: 100%;
.leftBox { .leftBox {
width: 25%; width: 25%;
height: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: flex-start; align-items: flex-start;
@ -268,59 +245,34 @@ export default Vue.extend({
.leftBoxtitle { .leftBoxtitle {
font-size: 30px; font-size: 30px;
font-weight: bold; font-weight: bold;
margin: 0; }
img {
width: 300px;
} }
} }
.rightBox { .rightBox {
width: 75%; width: 75%;
line-height: 1.8; height: 100%;
line-height: 2;
p {
margin-bottom: 15px;
font-size: 16px;
color: #333;
}
} }
} }
} }
/* 公司资质部分 */ /* 企业文化部分样式 */
.zizhi {
width: 100%;
background: url("./img/zizhi.png") no-repeat;
background-size: cover;
padding: 60px 20px;
display: flex;
justify-content: center;
align-items: center;
min-height: 900px;
.zizhi-content {
max-width: 1400px;
width: 100%;
}
.zizhi-title {
text-align: center;
font-size: 30px;
font-weight: bold;
margin: 0 0 50px 0;
width: 100%;
}
}
/* 企业文化部分 */
.enterprise { .enterprise {
width: 100%; width: 100%;
background: linear-gradient(180deg, #d7e9ff 0%, #fff 100%); background: linear-gradient(180deg, #d7e9ff 0%, #fff 100%);
padding: 80px 20px; padding: 80px 0;
display: flex;
justify-content: center;
align-items: center;
.enterprise-inner { .enterprise-inner {
max-width: 1400px; width: 1400px;
margin: 0 auto;
display: flex; display: flex;
align-items: flex-start; align-items: center;
.left-box { .left-box {
width: 25%; width: 25%;
@ -331,7 +283,8 @@ export default Vue.extend({
.left-title { .left-title {
font-size: 30px; font-size: 30px;
font-weight: bold; font-weight: bold;
text-align: center; display: flex;
justify-content: center;
} }
} }
@ -339,16 +292,15 @@ export default Vue.extend({
width: 70%; width: 70%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 30px; gap: 40px;
.item { .item {
display: flex; display: flex;
align-items: center; align-items: center;
border-radius: 12px; border-radius: 12px;
padding: 25px; padding: 30px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease; transition: all 0.3s ease;
background: white;
&:hover { &:hover {
transform: translateY(-5px); transform: translateY(-5px);
@ -357,11 +309,11 @@ export default Vue.extend({
.item-img { .item-img {
flex-shrink: 0; flex-shrink: 0;
margin-right: 20px; margin-right: 25px;
img { img {
width: 60px; width: 70px;
height: 60px; height: 70px;
object-fit: contain; object-fit: contain;
} }
} }
@ -369,30 +321,30 @@ export default Vue.extend({
.item-content { .item-content {
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; align-items: center;
.item-tit { .item-tit {
display: flex; margin-bottom: 15px;
align-items: baseline;
margin-bottom: 10px;
div:first-child { div:first-child {
font-size: 22px; font-size: 24px;
font-weight: bold; font-weight: bold;
color: #333; color: #333;
margin-right: 10px; margin-right: 15px;
} }
div:last-child { div:last-child {
font-size: 14px; font-size: 16px;
color: #666; color: #666;
font-style: italic; font-style: italic;
} }
} }
.item-text { .item-text {
margin-left: 40px;
p { p {
font-size: 16px; font-size: 18px;
line-height: 1.6; line-height: 1.6;
color: #444; color: #444;
margin: 0; margin: 0;
@ -404,10 +356,31 @@ export default Vue.extend({
} }
} }
/* 优势部分 */
.zizhi {
height: 900px;
width: 100%;
background: url("./img/zizhi.png") no-repeat;
background-size: 100% 100%;
padding-bottom: 15px;
display: flex;
justify-content: center;
align-items: center;
}
/* 新增渐变文字样式 */
.gradient-text {
background: linear-gradient(to right, #0066FF, #66CCFF);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
display: inline-block;
}
//
.advantage { .advantage {
padding: 80px 20px; padding: 80px 0;
background: #fff; background:#fff;
.advantage-tit { .advantage-tit {
text-align: center; text-align: center;
@ -424,26 +397,27 @@ export default Vue.extend({
display: grid; display: grid;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
gap: 30px; gap: 30px;
max-width: 1200px; width: 1200px;
width: 100%;
.advantage-item { .advantage-item {
position: relative; position: relative;
border-radius: 12px; border-radius: 12px;
padding: 30px 25px; padding: 40px 30px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease; transition: all 0.3s ease;
min-height: 140px; height: 140px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
/* 背景图设置 */
background-size: cover !important; background-size: cover !important;
background-position: center !important; background-position: center !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
/* 默认状态:白色半透明遮罩,黑色文字 */
&::before { &::before {
content: ''; content: '';
position: absolute; position: absolute;
@ -464,20 +438,21 @@ export default Vue.extend({
} }
.top-tit { .top-tit {
font-size: 20px; font-size: 22px;
font-weight: bold; font-weight: bold;
margin-bottom: 10px; margin-bottom: 15px;
color: #333; color: #333;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
.btm-tit { .btm-tit {
font-size: 15px; font-size: 16px;
line-height: 1.6; line-height: 1.6;
color: #666; color: #666;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
/* 悬停状态:蓝色半透明遮罩,白色文字 */
&:hover { &:hover {
transform: translateY(-5px); transform: translateY(-5px);
box-shadow: 0 8px 25px rgba(0, 102, 255, 0.2); box-shadow: 0 8px 25px rgba(0, 102, 255, 0.2);
@ -499,270 +474,62 @@ export default Vue.extend({
} }
} }
/* 平板设备适配 (768px - 1024px) */ /* 响应式设计 - 适配不同屏幕尺寸 */
@media (max-width: 1024px) { @media (max-width: 1200px) {
.mainBox .inBox,
.enterprise .enterprise-inner,
.advantage-content .advantage-grid {
width: 95% !important;
}
.advantage-content .advantage-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.banner { .banner {
height: 400px; height: 300px;
font-size: 28px !important;
.banner-title { p {
font-size: 32px; font-size: 16px;
}
.banner-subtitle {
font-size: 18px;
} }
} }
.mainBox .inBox { .mainBox .inBox {
.leftBox { flex-direction: column;
width: 30%;
.leftBoxtitle { .leftBox, .rightBox {
font-size: 26px; width: 100% !important;
}
} }
.rightBox { .leftBox {
width: 65%; margin-bottom: 30px;
p {
font-size: 15px;
}
} }
} }
.enterprise .enterprise-inner { .enterprise .enterprise-inner {
flex-direction: column;
.left-box, .right-box {
width: 100% !important;
}
.left-box { .left-box {
width: 30%; margin-bottom: 40px;
} justify-content: flex-start;
.right-box {
width: 65%;
.item {
padding: 20px;
.item-img img {
width: 50px;
height: 50px;
}
.item-content .item-tit div:first-child {
font-size: 20px;
}
}
}
}
.advantage-grid {
grid-template-columns: 1fr !important;
gap: 20px !important;
.advantage-item {
min-height: 130px;
padding: 25px 20px;
}
}
}
/* 手机设备适配 (小于768px) */
@media (max-width: 768px) {
.banner {
height: 300px;
.banner-title {
font-size: 26px;
}
.banner-subtitle {
font-size: 16px;
}
}
.mainBox {
padding: 25px 15px;
.inBox {
flex-direction: column;
.leftBox {
width: 100%;
margin-bottom: 20px;
justify-content: flex-start;
.leftBoxtitle {
font-size: 24px;
}
}
.rightBox {
width: 100%;
p {
font-size: 14px;
line-height: 1.6;
}
}
} }
} }
.zizhi { .zizhi {
padding: 40px 15px; height: auto;
min-height: auto; padding: 50px 0;
.zizhi-title {
font-size: 24px;
margin-bottom: 30px;
}
} }
.enterprise { .advantage-item {
padding: 50px 15px; height: 160px !important;
.enterprise-inner {
flex-direction: column;
.left-box {
width: 100%;
margin-bottom: 30px;
justify-content: flex-start;
.left-title {
font-size: 24px;
}
}
.right-box {
width: 100%;
gap: 20px;
.item {
flex-direction: column;
text-align: center;
padding: 20px 15px;
.item-img {
margin-right: 0;
margin-bottom: 15px;
img {
width: 50px;
height: 50px;
}
}
.item-content {
.item-tit {
flex-direction: column;
align-items: center;
margin-bottom: 8px;
div:first-child {
font-size: 18px;
margin-right: 0;
margin-bottom: 5px;
}
div:last-child {
font-size: 13px;
}
}
.item-text {
margin-left: 0;
p {
font-size: 14px;
}
}
}
}
}
}
}
.advantage {
padding: 50px 15px;
.advantage-tit {
font-size: 24px;
margin-bottom: 30px;
}
.advantage-grid {
gap: 15px !important;
.advantage-item {
min-height: 120px;
padding: 20px 15px;
.top-tit {
font-size: 18px;
margin-bottom: 8px;
}
.btm-tit {
font-size: 13px;
}
}
}
}
}
/* 小手机设备适配 (小于480px) */
@media (max-width: 480px) {
.banner {
height: 250px;
.banner-title {
font-size: 22px;
}
.banner-subtitle {
font-size: 14px;
}
}
.mainBox {
.inBox {
.leftBox .leftBoxtitle {
font-size: 22px;
}
.rightBox p {
font-size: 13px;
}
}
}
.zizhi .zizhi-title,
.enterprise .left-box .left-title,
.advantage .advantage-tit {
font-size: 22px;
}
.advantage-grid .advantage-item {
min-height: 110px;
padding: 15px;
.top-tit {
font-size: 16px;
}
.btm-tit {
font-size: 12px;
}
}
}
/* 横屏模式适配 */
@media (max-height: 600px) and (orientation: landscape) {
.banner {
height: 300px;
}
.zizhi {
min-height: 700px;
} }
} }
</style> </style>