From c7ffd3bbb173bdedc0b8e1fecc217d2194af7f95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AF=85?= <1335909236@qq.com> Date: Thu, 10 Jul 2025 18:20:46 +0800 Subject: [PATCH] =?UTF-8?q?feat=20:=20=E5=88=B0=E5=AE=B6=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/homeServer/index/index.css | 382 ++++++++++++++++++++++++++++ packages/homeServer/index/index.vue | 256 +++++++++++++++++-- pages.json | 5 +- 3 files changed, 614 insertions(+), 29 deletions(-) diff --git a/packages/homeServer/index/index.css b/packages/homeServer/index/index.css index e69de29b..b1b7a004 100644 --- a/packages/homeServer/index/index.css +++ b/packages/homeServer/index/index.css @@ -0,0 +1,382 @@ +.container { + margin-top: 87rpx; + padding: 0 15rpx; + background-color: whte; + min-height: 100vh; +} + +/* 头部样式 */ +.header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20rpx 20rpx; + background-color: #fff; +} + +.title { + font-size: 36rpx; + font-weight: bold; + color: #333; +} + +.header-right { + display: flex; + gap: 30rpx; +} + +.icon { + width: 40rpx; + height: 40rpx; +} + +/* 位置和搜索样式 */ +.location-search { + display: flex; + padding: 16rpx 30rpx; + background-color: #f5f7fb; + border-radius: 60rpx; + gap: 16rpx; + display: flex; + height: 35rpx; + margin-top: 15rpx; +} + +.location { + display: flex; + align-items: center; + gap: 8rpx; + padding-right: 16rpx; + border-right: 2rpx solid #eee; +} + +.location-text { + font-size: 26rpx; + color: #333; +} + +.arrow-down { + width: 24rpx; + height: 24rpx; +} + +.search-box { + flex: 1; + display: flex; + align-items: center; + gap: 12rpx; + background-color: #f5f7fb; + border-radius: 60rpx; + padding: 14rpx 24rpx; +} + +.search-icon { + width: 25rpx; + height: 25rpx; + margin-right: 5rpx; +} + +.search-placeholder { + font-size: 26rpx; + color: #999; +} + +/* 服务分类样式 */ +.service-category { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 20rpx; + padding: 20rpx; + background-color: #fff; + margin-bottom: 20rpx; +} + +.category-item { + display: flex; + flex-direction: column; + align-items: center; +} + +.category-icon { + width: 80rpx; + height: 80rpx; + margin-bottom: 12rpx; +} + +.category-name { + font-size: 24rpx; + color: #333; +} + +/* 公告样式 */ +.announcement { + display: flex; + align-items: center; + padding: 16rpx 20rpx; + background-color: #f4f4f4; + margin-bottom: 20rpx; + border-radius: 15rpx; +} + +.announcement-title { + font-size: 28rpx; + font-weight: bold; + color: #FF512A; +} + +.hrStyle{ + margin: 0 15rpx; + color: #c5c5c5; +} + +.announcement-content { + flex: 1; + font-size: 26rpx; + color: #666; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.arrow-right { + width: 28rpx; + height: 28rpx; +} + +/* 广告横幅样式 */ +.banner-container { + padding: 0 20rpx 20rpx; +} + +.banner-swiper { + border-radius: 16rpx; + overflow: hidden; +} + +.banner-img { + width: 100%; +} + + +.serverList { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} + +.serverItem { + border-radius: 30rpx; + width: 208rpx; + height: 114rpx; + box-sizing: border-box; + padding-top: 11rpx; + padding-left: 13rpx; + font-weight: 600; + font-size: 26rpx; + color: #222222; + position: relative; + margin-bottom: 12rpx; +} +.serverList_left { + display: block; + width: 260rpx; + height: 369rpx; + margin-right: 17rpx; + +} + +.serverList_left swiper{ + height: 100%; +} + +.serverList_right { + flex: 1; + display: flex; + flex-wrap: wrap; +} + +.serverItem1 { + background: linear-gradient(139deg, #FEF4F4 0%, #FEDCD2 100%); + margin-right: 12rpx; +} + +.serverItem2 { + background: #FFF4E5; +} + +.serverItem1 image { + position: absolute; + right: 12rpx; + top: 14rpx; + width: 103rpx; + height: 100rpx; +} + +.serverItem2 image { + position: absolute; + right: 6rpx; + top: 8rpx; + width: 108rpx; + height: 108rpx; +} + +/* 立即联系样式 */ +.contact-section { + display: flex; + align-items: center; + gap: 20rpx; + padding: 24rpx; + background-color: #fcf4f0; + margin: 20rpx 0; + border-radius: 16rpx; +} + +.contact-icon { + width: 60rpx; + height: 60rpx; +} + +.contact-text { + flex: 1; +} + +.contact-title { + font-size: 28rpx; + font-weight: bold; + color: #333; + margin-bottom: 4rpx; +} + +.contact-subtitle { + font-size: 24rpx; + color: #999; +} + +/* */ +.interval{ + width: 100vw; + height: 20rpx; + background-color: #f7f6fb; + margin-left: calc(-50vw + 50%); + margin-right: calc(-50vw + 50%); +} + +/* 热门服务样式 */ +.hot-services { + padding: 20rpx; +} + +.section-header { + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 20rpx; +} + +.section-title { + font-size: 32rpx; + font-weight: bold; + color: #333; +} + +.section-arrow { + width: 32rpx; + height: 32rpx; + margin-right: 10rpx; +} + +.service-list { + display: flex; + flex-direction: column; + gap: 20rpx; +} + +.service-card { + background-color: #fff; + border-radius: 16rpx; + overflow: hidden; +} + +/* 服务信息样式 */ +.service-info { + display: flex; + align-items: flex-end; + width: 100%; + padding: 20rpx; +} + +.service-info-left { + width: 60%; +} + +.service-info-right { + width: 35%; + display: flex; + justify-content: flex-end; +} + +.service-footer { + align-items: center; + gap: 15rpx; +} + +.service-image { + width: 100%; + height: 240rpx; +} + +.service-badge { + position: absolute; + top: 20rpx; + left: 20rpx; + background-color: #FF512A; + color: #fff; + font-size: 24rpx; + padding: 4rpx 16rpx; + border-radius: 20rpx; +} + +.service-name { + font-size: 30rpx; + font-weight: bold; + color: #333; + margin-bottom: 8rpx; +} + +.service-tag { + display: inline-block; + /* background-color: #f5f5f5; */ + color: #e1ca9b; + font-size: 22rpx; + padding: 2rpx 16rpx; + border-radius: 20rpx; + margin-bottom: 16rpx; +} + +.service-desc { + font-size: 24rpx; + color: #666; + margin-bottom: 20rpx; + line-height: 1.5; +} + +.service-footer { + /* display: flex; + justify-content: space-between; + align-items: center; */ +} + +.service-count { + font-size: 24rpx; + color: #999; + margin-left: 15rpx; +} + +.service-button { + background-color: #FF512A; + color: #fff; + font-size: 26rpx; + padding: 12rpx 36rpx; + border-radius: 60rpx; +} \ No newline at end of file diff --git a/packages/homeServer/index/index.vue b/packages/homeServer/index/index.vue index dc343d9e..61d3920c 100644 --- a/packages/homeServer/index/index.vue +++ b/packages/homeServer/index/index.vue @@ -1,44 +1,244 @@