diff --git a/f/web-kboss/src/api/H5/index.js b/f/web-kboss/src/api/H5/index.js index 6704d81..44a6ad7 100644 --- a/f/web-kboss/src/api/H5/index.js +++ b/f/web-kboss/src/api/H5/index.js @@ -1,9 +1,32 @@ import request from "@/utils/request"; - +// 获取首页产品 export const reqHotProduct = () => { return request({ url: '/product/get_firstpage_jizuonet.dspy', method: 'post', }) } +// 获取云,算,网,用数据 +export const reqNavList = (data) => { + return request({ + url: '/product/get_firstpage_product_tree.dspy', + method: 'post', + headers: { + 'Content-Type': 'application/json' + }, + data + }) +} + +//立即咨询 +export const reqProductConsult = (data) => { + return request({ + url: '/product/add_user_inquiry.dspy', + method: 'post', + headers: { + 'Content-Type': 'application/json' + }, + data + }) +} diff --git a/f/web-kboss/src/router/index.js b/f/web-kboss/src/router/index.js index d155c42..bec29a7 100644 --- a/f/web-kboss/src/router/index.js +++ b/f/web-kboss/src/router/index.js @@ -85,8 +85,51 @@ export const constantRoutes = [ path: '/h5HomePage', name: 'H5HomePage', title: 'H5首页', - component: () => import('@/views/H5/indexPage/index.vue'), + component: () => import('@/views/H5/index.vue'), hidden: true, + redirect:"/h5HomePage/index", + children: [ + { + path: "index", + title: 'H5首页', + component: () => import('@/views/H5/official/index.vue'), + meta: { + title: "H5首页", fullPath: "/h5HomePage/index", + }, + }, + { + path: "cloud", + title: '云', + component: () => import('@/views/H5/cloud/index.vue'), + meta: { + title: "云", fullPath: "/h5HomePage/cloud", + }, + }, + { + path: "calculate", + title: '算', + component: () => import('@/views/H5/calculate/index.vue'), + meta: { + title: "算", fullPath: "/h5HomePage/calculate", + }, + }, + { + path: "net", + title: '网', + component: () => import('@/views/H5/net/index.vue'), + meta: { + title: "网", fullPath: "/h5HomePage/net", + }, + }, + { + path: "use", + title: '用', + component: () => import('@/views/H5/use/index.vue'), + meta: { + title: "用", fullPath: "/h5HomePage/use", + }, + }, + ] }, { diff --git a/f/web-kboss/src/views/H5/H5_dialog/index.vue b/f/web-kboss/src/views/H5/H5_dialog/index.vue new file mode 100644 index 0000000..1e1c13e --- /dev/null +++ b/f/web-kboss/src/views/H5/H5_dialog/index.vue @@ -0,0 +1,536 @@ + + + + + diff --git a/f/web-kboss/src/views/H5/all_less/index.css b/f/web-kboss/src/views/H5/all_less/index.css new file mode 100644 index 0000000..6ebd3ae --- /dev/null +++ b/f/web-kboss/src/views/H5/all_less/index.css @@ -0,0 +1,656 @@ +.main-page { + width: 100%; + min-height: 100vh; + background-color: #f8fafd; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} +.top-box { + width: 100%; + height: 50vh; + background: url("../images/banner.png") no-repeat; + background-size: 100% 100%; + display: flex; + align-items: center; +} +.title { + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + color: #222f60; +} +.title .name { + background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + font-size: 0.55rem; +} +.title .title-top { + font-size: 0.55rem; +} +.title .title-btm { + font-size: 0.26rem; + margin-top: 0.98rem; +} +.text { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: 0.14rem 0; + width: 100%; +} +.text .text-top { + font-size: 0.26rem; + color: #000; +} +.text .text-btm { + font-size: 0.18rem; + color: #707070; +} +.base-box, +.journey-box, +.latitude-box { + width: 100%; + display: flex; + flex-direction: column; + padding: 0.3rem 0.4rem; +} +.base-box .content, +.journey-box .content, +.latitude-box .content { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + gap: 0.2rem; +} +.base-box .content .item-box, +.journey-box .content .item-box, +.latitude-box .content .item-box { + width: 48%; + background-color: #fff; + border-radius: 0.1rem; + padding: 0.2rem; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); + margin-bottom: 0.2rem; + display: flex; + flex-direction: column; +} +.base-box .content .item-box .item-title, +.journey-box .content .item-box .item-title, +.latitude-box .content .item-box .item-title { + font-size: 0.2rem; + font-weight: bold; + color: #333; + margin-bottom: 0.1rem; +} +.base-box .content .item-box .item-description, +.journey-box .content .item-box .item-description, +.latitude-box .content .item-box .item-description { + font-size: 0.14rem; + color: #666; + margin-bottom: 0.15rem; + line-height: 1.4; +} +.base-box .content .item-box .advantage-list, +.journey-box .content .item-box .advantage-list, +.latitude-box .content .item-box .advantage-list { + margin: 0.1rem 0; +} +.base-box .content .item-box .advantage-list .advantage-item, +.journey-box .content .item-box .advantage-list .advantage-item, +.latitude-box .content .item-box .advantage-list .advantage-item { + display: flex; + align-items: flex-start; + font-size: 0.12rem; + color: #666; + margin-bottom: 0.08rem; + line-height: 1.4; +} +.base-box .content .item-box .advantage-list .advantage-item .advantage-icon, +.journey-box .content .item-box .advantage-list .advantage-item .advantage-icon, +.latitude-box .content .item-box .advantage-list .advantage-item .advantage-icon { + width: 0.16rem; + height: 0.16rem; + margin-right: 0.05rem; + flex-shrink: 0; +} +.base-box .content .item-box .advantage-list .advantage-item .advantage-name, +.journey-box .content .item-box .advantage-list .advantage-item .advantage-name, +.latitude-box .content .item-box .advantage-list .advantage-item .advantage-name { + color: #000; + font-weight: 500; + white-space: nowrap; + margin-right: 0.05rem; +} +.base-box .content .item-box .advantage-list .advantage-item .advantage-content, +.journey-box .content .item-box .advantage-list .advantage-item .advantage-content, +.latitude-box .content .item-box .advantage-list .advantage-item .advantage-content { + flex: 1; +} +.base-box .content .item-box .item-price, +.journey-box .content .item-box .item-price, +.latitude-box .content .item-box .item-price { + font-size: 0.1rem; + font-weight: bold; + color: #d4d6e1; + margin: 0.15rem 0; +} +.base-box .content .item-box .item-price .price, +.journey-box .content .item-box .item-price .price, +.latitude-box .content .item-box .item-price .price { + font-size: 0.22rem; + color: #f52220; +} +.base-box .content .item-box .item-price .price-icon, +.journey-box .content .item-box .item-price .price-icon, +.latitude-box .content .item-box .item-price .price-icon { + color: #f52220; + font-size: 0.1rem; +} +.base-box .content .item-box .tag-list, +.journey-box .content .item-box .tag-list, +.latitude-box .content .item-box .tag-list { + display: flex; + flex-wrap: wrap; + gap: 0.1rem; + margin: 0.15rem 0; +} +.base-box .content .item-box .tag-list .tag-item, +.journey-box .content .item-box .tag-list .tag-item, +.latitude-box .content .item-box .tag-list .tag-item { + padding: 0.04rem 0.12rem; + font-size: 0.12rem; + color: #aeb6bf; + background-color: #fff; + border: 0.02rem solid #c8d6e7; + border-radius: 0.12rem; + display: inline-block; +} +.base-box .content .item-box .item-button, +.journey-box .content .item-box .item-button, +.latitude-box .content .item-box .item-button { + background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%); + border-radius: 0.04rem; + padding: 0.08rem 0; + text-align: center; + cursor: pointer; + margin-top: auto; +} +.base-box .content .item-box .item-button .item-button-text, +.journey-box .content .item-box .item-button .item-button-text, +.latitude-box .content .item-box .item-button .item-button-text { + color: #fff; + font-size: 0.14rem; +} +.partner { + background-color: #f8f9fd; + width: 100%; + display: flex; + flex-direction: column; + padding: 0.3rem 0.4rem; +} +.partner .partner-scroll { + width: 100%; + max-width: 14rem; + margin: 0 auto; + padding: 0.15rem; + background: #fff; + border-radius: 0.16rem; + margin-bottom: 0.3rem; +} +.partner .partner-scroll .logo-scroll-wrapper { + width: 100%; + height: 0.85rem; + overflow: hidden; + position: relative; +} +.partner .partner-scroll .logo-scroll-container { + display: flex; + height: 100%; + animation: scroll 15s linear infinite; + white-space: nowrap; +} +.partner .partner-scroll .logo-item { + flex: 0 0 auto; + width: 1.68rem; + height: 100%; + margin-right: 0.2rem; + background: #fff; + border-radius: 0.04rem; + overflow: hidden; + display: flex; + align-items: center; + justify-content: center; +} +.partner .partner-scroll .logo-item img { + width: 100%; + height: 100%; + object-fit: contain; +} +@keyframes scroll { + 0% { + transform: translateX(0); + } + 100% { + transform: translateX(-50%); + } +} +.footer { + width: 100%; + background: #f5f7fa; + color: #fff; + padding: 0.4rem 0.2rem; + margin-top: 0.8rem; +} +.footer-content { + max-width: 12rem; + margin: 0 auto; +} +.footer { + width: 100%; + background: #f6f8fd; + color: #333; + padding: 0.6rem 0.2rem 0.4rem; + margin-top: 1rem; + position: relative; + overflow: hidden; + border-top: 1px solid #e8edf5; +} +.footer:before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; +} +.footer-content { + max-width: 12.8rem; + margin: 0 auto; + position: relative; + z-index: 1; +} +/* 顶部信息区域 */ +.footer-top { + display: flex; + flex-direction: column; + align-items: flex-start; + padding-bottom: 0.4rem; + margin-bottom: 0.4rem; +} +.logo-footer { + width: 2.4rem; + height: 0.8rem; + margin-bottom: 0.4rem; + border-radius: 0.12rem; +} +.logo-footer img { + width: 100%; + height: 100%; +} +.contact-info { + flex: 1; + font-size: 0.16rem; + display: grid; + grid-template-columns: 1fr; + gap: 0.24rem; + width: 100%; +} +@media (min-width: 768px) { + .contact-info { + grid-template-columns: 1fr 1fr; + gap: 0.3rem 0.6rem; + } +} +.contact-info .contact-item { + display: flex; + align-items: flex-start; + padding: 0.16rem 0.2rem; + background: #fff; + border-radius: 0.12rem; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); + transition: all 0.3s ease; + cursor: pointer; + border: 1px solid #eef2f9; +} +.contact-info .contact-item:hover { + background: #fff; + border-color: #2ebdfa; + transform: translateY(-2px); + box-shadow: 0 4px 16px rgba(39, 90, 255, 0.12); +} +.contact-info .contact-item .iconfont { + width: 0.2rem; + height: 0.2rem; + margin-right: 0.12rem; + margin-top: 0.02rem; + color: #275AFF; + flex-shrink: 0; + font-size: 0.2rem; +} +.contact-info .contact-item .label { + color: #666; + flex-shrink: 0; + font-weight: 500; + margin-right: 0.08rem; + font-size: 0.14rem; +} +.contact-info .contact-item .value { + color: #444; + flex: 1; + line-height: 1.5; +} +.contact-info .contact-item .phone-numbers { + display: flex; + flex-direction: column; + gap: 0.08rem; +} +@media (min-width: 768px) { + .contact-info .contact-item .phone-numbers { + flex-direction: row; + align-items: center; + gap: 0.16rem; + } +} +.contact-info .contact-item .phone-link { + color: #333; + text-decoration: none; + transition: all 0.3s; + font-weight: 500; + font-size: 0.16rem; +} +.contact-info .contact-item .phone-link:hover { + color: #275AFF; + text-decoration: underline; +} +.contact-info .contact-item .phone-separator { + color: #999; + font-weight: 300; +} +@media (max-width: 768px) { + .contact-info .contact-item .phone-separator { + display: none; + } +} +.contact-info .contact-item .email-link { + color: #275AFF; + text-decoration: none; + word-break: break-all; + font-weight: 500; + font-size: 0.16rem; +} +.contact-info .contact-item .email-link:hover { + color: #2ebdfa; + text-decoration: underline; +} +.code-img { + display: flex; + justify-content: center; + width: 100%; + margin-top: 0.4rem; +} +@media (min-width: 768px) { + .code-img { + width: auto; + margin-top: 0; + } +} +.code-img .qr-box { + display: flex; + flex-direction: column; + align-items: center; + background: #fff; + border-radius: 0.16rem; + padding: 0.24rem; + box-shadow: 0 2px 12px rgba(39, 90, 255, 0.08); + border: 1px solid #eef2f9; + transition: all 0.3s ease; +} +.code-img .qr-box:hover { + background: #fff; + border-color: #2ebdfa; + transform: translateY(-4px); + box-shadow: 0 8px 24px rgba(39, 90, 255, 0.15); +} +.code-img .qr-box .qr-code { + width: 1.8rem; + height: 1.8rem; + background: #fff; + border-radius: 0.12rem; + padding: 0.12rem; + border: 1px solid #eef2f9; + margin-bottom: 0.16rem; + overflow: hidden; +} +.code-img .qr-box .qr-code img { + width: 100%; + height: 100%; + object-fit: contain; + border-radius: 0.04rem; +} +.code-img .qr-box .qr-content { + color: #333; + font-size: 0.14rem; + font-weight: 500; + letter-spacing: 0.5px; +} +/* 底部信息区域 */ +.footer-bottom { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + padding: 0.3rem 0.2rem; + background: #fff; + border-radius: 0.16rem; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); + margin-top: 0.4rem; + border: 1px solid #eef2f9; +} +@media (min-width: 768px) { + .footer-bottom { + flex-direction: row; + justify-content: space-between; + align-items: center; + text-align: left; + padding: 0.3rem 0.4rem; + } +} +.icp-info { + margin-bottom: 0.24rem; + display: flex; + flex-direction: column; + align-items: center; +} +@media (min-width: 768px) { + .icp-info { + flex-direction: row; + align-items: center; + gap: 0.6rem; + margin-bottom: 0; + } +} +.icp-info .icp-item { + display: flex; + align-items: center; + gap: 0.08rem; + margin-bottom: 0.12rem; +} +@media (min-width: 768px) { + .icp-info .icp-item { + margin-bottom: 0; + } +} +.icp-info .icp-item .icp-text { + color: #888; + font-size: 0.14rem; +} +.icp-info .icp-item .icp-number { + color: #444; + font-weight: 500; + font-size: 0.14rem; +} +.icp-info .copyright { + color: #888; + font-size: 0.14rem; + font-weight: 300; +} +.record-info { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.16rem; + margin-bottom: 0.24rem; +} +@media (min-width: 768px) { + .record-info { + flex-direction: row; + align-items: center; + gap: 0.6rem; + margin-bottom: 0; + } +} +.police-record { + display: flex; + align-items: center; + gap: 0.1rem; + padding: 0.08rem 0.16rem; + background: #f9fafc; + border-radius: 0.24rem; + transition: all 0.3s; + border: 1px solid #eef2f9; +} +.police-record:hover { + background: #f0f5ff; + border-color: #275AFF; + transform: translateY(-2px); +} +.police-record .police-icon { + width: 0.18rem; + height: 0.18rem; +} +.police-record .police-link { + color: #666; + text-decoration: none; + font-size: 0.14rem; +} +.police-record .police-link:hover { + color: #275AFF; + text-decoration: underline; +} +.license-record .license-link { + color: #666; + text-decoration: none; + font-size: 0.14rem; + padding: 0.08rem 0.16rem; + background: #f9fafc; + border-radius: 0.24rem; + transition: all 0.3s; + border: 1px solid #eef2f9; +} +.license-record .license-link:hover { + background: #f0f5ff; + color: #275AFF; + text-decoration: underline; + transform: translateY(-2px); + border-color: #275AFF; +} +/* 移动端二维码 */ +.mobile-qr { + display: flex; + justify-content: center; + width: 100%; + margin-top: 0.4rem; +} +@media (min-width: 768px) { + .mobile-qr { + display: none; + } +} +.mobile-qr .qr-item { + display: flex; + flex-direction: column; + align-items: center; + background: #fff; + border-radius: 0.16rem; + padding: 0.24rem; + box-shadow: 0 2px 12px rgba(39, 90, 255, 0.08); + border: 1px solid #eef2f9; + width: 100%; + max-width: 2.4rem; + margin-right: 0.4rem; +} +.mobile-qr .qr-item .qr-code { + width: 1.6rem; + height: 1.6rem; + background: #fff; + border-radius: 0.12rem; + padding: 0.12rem; + border: 1px solid #eef2f9; + margin-bottom: 0.16rem; +} +.mobile-qr .qr-item .qr-code img { + width: 100%; + height: 100%; + object-fit: contain; + border-radius: 0.04rem; +} +.mobile-qr .qr-item .qr-desc { + color: #333; + font-size: 0.16rem; + font-weight: 500; +} +/* PC端二维码 */ +.pc-qr { + position: absolute; + right: 0.4rem; + bottom: 0.4rem; + display: none; +} +@media (min-width: 768px) { + .pc-qr { + display: block; + } +} +.pc-qr .qr-box { + display: flex; + flex-direction: column; + align-items: center; + background: #fff; + border-radius: 0.16rem; + padding: 0.24rem; + box-shadow: 0 2px 12px rgba(39, 90, 255, 0.08); + border: 1px solid #eef2f9; + transition: all 0.3s ease; +} +.pc-qr .qr-box:hover { + background: #fff; + border-color: #2ebdfa; + transform: translateY(-4px) scale(1.05); + box-shadow: 0 8px 24px rgba(39, 90, 255, 0.15); +} +.pc-qr .qr-box .qr-code { + width: 1.6rem; + height: 1.6rem; + background: #fff; + border-radius: 0.12rem; + padding: 0.12rem; + border: 1px solid #eef2f9; + margin-bottom: 0.16rem; +} +.pc-qr .qr-box .qr-code img { + width: 100%; + height: 100%; + object-fit: contain; + border-radius: 0.04rem; +} +.pc-qr .qr-box .qr-content { + color: #333; + font-size: 0.14rem; + font-weight: 500; + letter-spacing: 0.5px; +} +/* 响应式调整 */ diff --git a/f/web-kboss/src/views/H5/all_less/index.less b/f/web-kboss/src/views/H5/all_less/index.less new file mode 100644 index 0000000..db89084 --- /dev/null +++ b/f/web-kboss/src/views/H5/all_less/index.less @@ -0,0 +1,757 @@ +.main-page { + width: 100%; + min-height: 100vh; + background-color: #f8fafd; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} + +.top-box { + width: 100%; + height: 50vh; + background: url("../images/banner.png") no-repeat; + background-size: 100% 100%; + display: flex; + align-items: center; +} + +.title { + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + color: #222f60; + + .name { + background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + font-size: .55rem; + } + + .title-top { + font-size: .55rem; + } + + .title-btm { + font-size: .26rem; + margin-top: .98rem; + } +} + +.text { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: .14rem 0; + width: 100%; + + .text-top { + font-size: .26rem; + color: #000; + } + + .text-btm { + font-size: .18rem; + color: #707070; + } +} + +.base-box, +.journey-box, +.latitude-box { + width: 100%; + display: flex; + flex-direction: column; + padding: 0.3rem 0.4rem; + + .content { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + gap: 0.2rem; + + .item-box { + width: 48%; + background-color: #fff; + border-radius: 0.1rem; + padding: 0.2rem; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); + margin-bottom: 0.2rem; + display: flex; + flex-direction: column; + + .item-title { + font-size: 0.2rem; + font-weight: bold; + color: #333; + margin-bottom: 0.1rem; + } + + .item-description { + font-size: 0.14rem; + color: #666; + margin-bottom: 0.15rem; + line-height: 1.4; + } + + .advantage-list { + margin: 0.1rem 0; + + .advantage-item { + display: flex; + align-items: flex-start; + font-size: 0.12rem; + color: #666; + margin-bottom: 0.08rem; + line-height: 1.4; + + .advantage-icon { + width: 0.16rem; + height: 0.16rem; + margin-right: 0.05rem; + flex-shrink: 0; + } + + .advantage-name { + color: #000; + font-weight: 500; + white-space: nowrap; + margin-right: 0.05rem; + } + + .advantage-content { + flex: 1; + } + } + } + + .item-price { + font-size: 0.1rem; + font-weight: bold; + color: #d4d6e1; + margin: 0.15rem 0; + + .price { + font-size: .22rem; + color: #f52220; + } + + .price-icon { + color: #f52220; + font-size: .1rem; + } + } + + .tag-list { + display: flex; + flex-wrap: wrap; + gap: 0.1rem; + margin: 0.15rem 0; + + .tag-item { + padding: 0.04rem 0.12rem; + font-size: 0.12rem; + color: #aeb6bf; + background-color: #fff; + border: .02rem solid #c8d6e7; + border-radius: 0.12rem; + display: inline-block; + } + } + + .item-button { + background: linear-gradient(90deg, #275AFF 0%, #2EBDFA 100%); + border-radius: 0.04rem; + padding: 0.08rem 0; + text-align: center; + cursor: pointer; + margin-top: auto; + + .item-button-text { + color: #fff; + font-size: 0.14rem; + } + } + } + } +} + +.partner { + background-color: #f8f9fd; + width: 100%; + display: flex; + flex-direction: column; + padding: 0.3rem 0.4rem; + + .partner-scroll { + width: 100%; + max-width: 14rem; + margin: 0 auto; + padding: .15rem; + background: #fff; + border-radius: .16rem; + margin-bottom: .3rem; + + .logo-scroll-wrapper { + width: 100%; + height: .85rem; + overflow: hidden; + position: relative; + } + + .logo-scroll-container { + display: flex; + height: 100%; + animation: scroll 15s linear infinite; + white-space: nowrap; + } + + .logo-item { + flex: 0 0 auto; + width: 1.68rem; + height: 100%; + margin-right: .2rem; + background: #fff; + border-radius: .04rem; + overflow: hidden; + display: flex; + align-items: center; + justify-content: center; + + img { + width: 100%; + height: 100%; + object-fit: contain; + } + } + } +} + +@keyframes scroll { + 0% { + transform: translateX(0); + } + + 100% { + transform: translateX(-50%); + } +} + +.footer { + width: 100%; + background: #f5f7fa; + color: #fff; + padding: 0.4rem 0.2rem; + margin-top: 0.8rem; +} + +.footer-content { + max-width: 12rem; + margin: 0 auto; +} + +.footer { + width: 100%; + background: #f6f8fd; + color: #333; + padding: 0.6rem 0.2rem 0.4rem; + margin-top: 1rem; + position: relative; + overflow: hidden; + border-top: 1px solid #e8edf5; +} + +.footer:before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + +} + +.footer-content { + max-width: 12.8rem; + margin: 0 auto; + position: relative; + z-index: 1; +} + +/* 顶部信息区域 */ +.footer-top { + display: flex; + flex-direction: column; + align-items: flex-start; + padding-bottom: 0.4rem; + margin-bottom: 0.4rem; + +} + +.logo-footer { + width: 2.4rem; + height: .8rem; + margin-bottom: 0.4rem; + border-radius: 0.12rem; + // padding: 0.2rem; + // background: #fff; + // box-shadow: 0 2px 12px rgba(39, 90, 255, 0.08); + + + + img { + width: 100%; + height: 100%; + // object-fit: contain; + } +} + +.contact-info { + flex: 1; + font-size: 0.16rem; + display: grid; + grid-template-columns: 1fr; + gap: 0.24rem; + width: 100%; + + @media (min-width: 768px) { + grid-template-columns: 1fr 1fr; + gap: 0.3rem 0.6rem; + } + + .contact-item { + display: flex; + align-items: flex-start; + padding: 0.16rem 0.2rem; + background: #fff; + border-radius: 0.12rem; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); + transition: all 0.3s ease; + cursor: pointer; + border: 1px solid #eef2f9; + + &:hover { + background: #fff; + border-color: #2ebdfa; + transform: translateY(-2px); + box-shadow: 0 4px 16px rgba(39, 90, 255, 0.12); + } + + .iconfont { + width: 0.2rem; + height: 0.2rem; + margin-right: 0.12rem; + margin-top: 0.02rem; + color: #275AFF; + flex-shrink: 0; + font-size: 0.2rem; + } + + .label { + color: #666; + flex-shrink: 0; + font-weight: 500; + margin-right: 0.08rem; + font-size: 0.14rem; + } + + .value { + color: #444; + flex: 1; + line-height: 1.5; + } + + .phone-numbers { + display: flex; + flex-direction: column; + gap: 0.08rem; + + @media (min-width: 768px) { + flex-direction: row; + align-items: center; + gap: 0.16rem; + } + } + + .phone-link { + color: #333; + text-decoration: none; + transition: all 0.3s; + font-weight: 500; + font-size: 0.16rem; + + &:hover { + color: #275AFF; + text-decoration: underline; + } + } + + .phone-separator { + color: #999; + font-weight: 300; + + @media (max-width: 768px) { + display: none; + } + } + + .email-link { + color: #275AFF; + text-decoration: none; + word-break: break-all; + font-weight: 500; + font-size: 0.16rem; + + &:hover { + color: #2ebdfa; + text-decoration: underline; + } + } + } +} + +.code-img { + display: flex; + justify-content: center; + width: 100%; + margin-top: 0.4rem; + + @media (min-width: 768px) { + width: auto; + margin-top: 0; + } + + .qr-box { + display: flex; + flex-direction: column; + align-items: center; + background: #fff; + border-radius: 0.16rem; + padding: 0.24rem; + box-shadow: 0 2px 12px rgba(39, 90, 255, 0.08); + border: 1px solid #eef2f9; + transition: all 0.3s ease; + + &:hover { + background: #fff; + border-color: #2ebdfa; + transform: translateY(-4px); + box-shadow: 0 8px 24px rgba(39, 90, 255, 0.15); + } + + .qr-code { + width: 1.8rem; + height: 1.8rem; + background: #fff; + border-radius: 0.12rem; + padding: 0.12rem; + border: 1px solid #eef2f9; + margin-bottom: 0.16rem; + overflow: hidden; + + img { + width: 100%; + height: 100%; + object-fit: contain; + border-radius: 0.04rem; + } + } + + .qr-content { + color: #333; + font-size: 0.14rem; + font-weight: 500; + letter-spacing: 0.5px; + } + } +} + +/* 底部信息区域 */ +.footer-bottom { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + padding: 0.3rem 0.2rem; + background: #fff; + border-radius: 0.16rem; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); + margin-top: 0.4rem; + border: 1px solid #eef2f9; + + @media (min-width: 768px) { + flex-direction: row; + justify-content: space-between; + align-items: center; + text-align: left; + padding: 0.3rem 0.4rem; + } +} + +.icp-info { + margin-bottom: 0.24rem; + display: flex; + flex-direction: column; + align-items: center; + + @media (min-width: 768px) { + flex-direction: row; + align-items: center; + gap: 0.6rem; + margin-bottom: 0; + } + + .icp-item { + display: flex; + align-items: center; + gap: 0.08rem; + margin-bottom: 0.12rem; + + @media (min-width: 768px) { + margin-bottom: 0; + } + + .icp-text { + color: #888; + font-size: 0.14rem; + } + + .icp-number { + color: #444; + font-weight: 500; + font-size: 0.14rem; + } + } + + .copyright { + color: #888; + font-size: 0.14rem; + font-weight: 300; + } +} + +.record-info { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.16rem; + margin-bottom: 0.24rem; + + @media (min-width: 768px) { + flex-direction: row; + align-items: center; + gap: 0.6rem; + margin-bottom: 0; + } +} + +.police-record { + display: flex; + align-items: center; + gap: 0.1rem; + padding: 0.08rem 0.16rem; + background: #f9fafc; + border-radius: 0.24rem; + transition: all 0.3s; + border: 1px solid #eef2f9; + + &:hover { + background: #f0f5ff; + border-color: #275AFF; + transform: translateY(-2px); + } + + .police-icon { + width: 0.18rem; + height: 0.18rem; + } + + .police-link { + color: #666; + text-decoration: none; + font-size: 0.14rem; + + &:hover { + color: #275AFF; + text-decoration: underline; + } + } +} + +.license-record { + .license-link { + color: #666; + text-decoration: none; + font-size: 0.14rem; + padding: 0.08rem 0.16rem; + background: #f9fafc; + border-radius: 0.24rem; + transition: all 0.3s; + border: 1px solid #eef2f9; + + &:hover { + background: #f0f5ff; + color: #275AFF; + text-decoration: underline; + transform: translateY(-2px); + border-color: #275AFF; + } + } +} + +/* 移动端二维码 */ +.mobile-qr { + display: flex; + justify-content: center; + width: 100%; + margin-top: 0.4rem; + + @media (min-width: 768px) { + display: none; + } + + .qr-item { + display: flex; + flex-direction: column; + align-items: center; + background: #fff; + border-radius: 0.16rem; + padding: 0.24rem; + box-shadow: 0 2px 12px rgba(39, 90, 255, 0.08); + border: 1px solid #eef2f9; + width: 100%; + max-width: 2.4rem; + margin-right: 0.4rem; + + .qr-code { + width: 1.6rem; + height: 1.6rem; + background: #fff; + border-radius: 0.12rem; + padding: 0.12rem; + border: 1px solid #eef2f9; + margin-bottom: 0.16rem; + + img { + width: 100%; + height: 100%; + object-fit: contain; + border-radius: 0.04rem; + } + } + + .qr-desc { + color: #333; + font-size: 0.16rem; + font-weight: 500; + } + } +} + +/* PC端二维码 */ +.pc-qr { + position: absolute; + right: 0.4rem; + bottom: 0.4rem; + display: none; + + @media (min-width: 768px) { + display: block; + } + + .qr-box { + display: flex; + flex-direction: column; + align-items: center; + background: #fff; + border-radius: 0.16rem; + padding: 0.24rem; + box-shadow: 0 2px 12px rgba(39, 90, 255, 0.08); + border: 1px solid #eef2f9; + transition: all 0.3s ease; + + &:hover { + background: #fff; + border-color: #2ebdfa; + transform: translateY(-4px) scale(1.05); + box-shadow: 0 8px 24px rgba(39, 90, 255, 0.15); + } + + .qr-code { + width: 1.6rem; + height: 1.6rem; + background: #fff; + border-radius: 0.12rem; + padding: 0.12rem; + border: 1px solid #eef2f9; + margin-bottom: 0.16rem; + + img { + width: 100%; + height: 100%; + object-fit: contain; + border-radius: 0.04rem; + } + } + + .qr-content { + color: #333; + font-size: 0.14rem; + font-weight: 500; + letter-spacing: 0.5px; + } + } +} + +/* 响应式调整 */ +// @media (max-width: 768px) { +// .footer { +// padding: 0.4rem 0.2rem 0.3rem; +// } + +// .footer-top { +// padding-bottom: 0.3rem; +// margin-bottom: 0.3rem; +// } + +// // .logo-footer { +// // width: 2rem; +// // height: 0.5rem; +// // } + +// .contact-info { +// .contact-item { +// font-size: 0.14rem; +// padding: 0.14rem 0.16rem; +// } +// } + +// .footer-bottom { +// padding: 0.24rem 0.16rem; +// font-size: 0.13rem; +// } +// } + +// @media (max-width: 480px) { +// .footer { +// padding: 0.3rem 0.15rem 0.2rem; +// } + +// .contact-info { +// grid-template-columns: 1fr; +// gap: 0.16rem; + +// .contact-item { +// font-size: 0.13rem; +// padding: 0.12rem 0.14rem; +// } +// } + +// .record-info { +// flex-direction: column; +// gap: 0.12rem; +// } +// } diff --git a/f/web-kboss/src/views/H5/calculate/index.vue b/f/web-kboss/src/views/H5/calculate/index.vue new file mode 100644 index 0000000..7605718 --- /dev/null +++ b/f/web-kboss/src/views/H5/calculate/index.vue @@ -0,0 +1,303 @@ + + + + + + diff --git a/f/web-kboss/src/views/H5/cloud/index.vue b/f/web-kboss/src/views/H5/cloud/index.vue new file mode 100644 index 0000000..b88d954 --- /dev/null +++ b/f/web-kboss/src/views/H5/cloud/index.vue @@ -0,0 +1,382 @@ + + + + + + diff --git a/f/web-kboss/src/views/H5/images/tabBar/calculate.png b/f/web-kboss/src/views/H5/images/tabBar/calculate.png new file mode 100644 index 0000000..2d85206 Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/calculate.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/calculateColor.png b/f/web-kboss/src/views/H5/images/tabBar/calculateColor.png new file mode 100644 index 0000000..09ca9fa Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/calculateColor.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/cloud.png b/f/web-kboss/src/views/H5/images/tabBar/cloud.png new file mode 100644 index 0000000..d452a89 Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/cloud.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/cloudColor.png b/f/web-kboss/src/views/H5/images/tabBar/cloudColor.png new file mode 100644 index 0000000..d158c7a Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/cloudColor.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/home.png b/f/web-kboss/src/views/H5/images/tabBar/home.png new file mode 100644 index 0000000..134d588 Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/home.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/homeColor.png b/f/web-kboss/src/views/H5/images/tabBar/homeColor.png new file mode 100644 index 0000000..34d2b36 Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/homeColor.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/net.png b/f/web-kboss/src/views/H5/images/tabBar/net.png new file mode 100644 index 0000000..8b41bf5 Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/net.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/netColor.png b/f/web-kboss/src/views/H5/images/tabBar/netColor.png new file mode 100644 index 0000000..dd348ad Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/netColor.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/user.png b/f/web-kboss/src/views/H5/images/tabBar/user.png new file mode 100644 index 0000000..c4f9066 Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/user.png differ diff --git a/f/web-kboss/src/views/H5/images/tabBar/userColor.png b/f/web-kboss/src/views/H5/images/tabBar/userColor.png new file mode 100644 index 0000000..51aa648 Binary files /dev/null and b/f/web-kboss/src/views/H5/images/tabBar/userColor.png differ diff --git a/f/web-kboss/src/views/H5/index.vue b/f/web-kboss/src/views/H5/index.vue new file mode 100644 index 0000000..2470056 --- /dev/null +++ b/f/web-kboss/src/views/H5/index.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/f/web-kboss/src/views/H5/media.js b/f/web-kboss/src/views/H5/media.js index f8fc27e..4f55b34 100644 --- a/f/web-kboss/src/views/H5/media.js +++ b/f/web-kboss/src/views/H5/media.js @@ -1,23 +1,10 @@ -// 修正适配函数 function adapter() { - // 获取布局视口宽度 + //获取布局视口宽度,因为开启了理想视口,布局视口=设备横向独立像素值 const dpWidth = document.documentElement.clientWidth - // 设置最小和最大宽度限制,防止字体过大或过小 - const minWidth = 375 - const maxWidth = 1920 - const constrainedWidth = Math.min(Math.max(dpWidth, minWidth), maxWidth) - - // 计算根字体大小(基于设计稿宽度 1900px) - const rootFontSize = (constrainedWidth * 100) / 1900 - - // 设置根字体大小,限制在合理范围内 - document.documentElement.style.fontSize = Math.max(12, Math.min(20, rootFontSize)) + 'px' + //计算根字体大小 + const rootFonstSize = (dpWidth * 100) / 750 + //设置根字体大小 + document.documentElement.style.fontSize = rootFonstSize + 'px' } - -// 页面加载时执行 adapter() - -// 监听窗口大小变化 - 修正语法错误 -window.onresize = adapter -// 或者使用防抖版本,避免频繁触发 -// window.addEventListener('resize', debounce(adapter, 200)) +window.onresize = adapter() diff --git a/f/web-kboss/src/views/H5/net/index.vue b/f/web-kboss/src/views/H5/net/index.vue new file mode 100644 index 0000000..a468c8d --- /dev/null +++ b/f/web-kboss/src/views/H5/net/index.vue @@ -0,0 +1,303 @@ + + + + + + diff --git a/f/web-kboss/src/views/H5/indexPage/index.vue b/f/web-kboss/src/views/H5/official/index.vue similarity index 52% rename from f/web-kboss/src/views/H5/indexPage/index.vue rename to f/web-kboss/src/views/H5/official/index.vue index 7b04fe7..01088f3 100644 --- a/f/web-kboss/src/views/H5/indexPage/index.vue +++ b/f/web-kboss/src/views/H5/official/index.vue @@ -1,4 +1,3 @@ -让图标始终是对其的状态 让布局规整些 - diff --git a/f/web-kboss/src/views/H5/use/index.vue b/f/web-kboss/src/views/H5/use/index.vue new file mode 100644 index 0000000..2251d91 --- /dev/null +++ b/f/web-kboss/src/views/H5/use/index.vue @@ -0,0 +1,302 @@ + + + + + + diff --git a/f/web-kboss/src/views/product/mainPage/index.vue b/f/web-kboss/src/views/product/mainPage/index.vue index 1477331..a1b85ac 100644 --- a/f/web-kboss/src/views/product/mainPage/index.vue +++ b/f/web-kboss/src/views/product/mainPage/index.vue @@ -207,6 +207,8 @@ export default Vue.extend({ const res = await editReachargelogAPI() if (res.status==true) { this.mybalance = res.data + }else{ + this.mybalance = res.data } }, async getUnreadMsgCount() { diff --git a/f/web-kboss/src/views/registrationPage/indexNew.vue b/f/web-kboss/src/views/registrationPage/indexNew.vue index 268bb58..31982f4 100644 --- a/f/web-kboss/src/views/registrationPage/indexNew.vue +++ b/f/web-kboss/src/views/registrationPage/indexNew.vue @@ -298,8 +298,6 @@ export default { message: "验证码已发送", type: "success", }); - - // 修复:安全地获取 codeid,处理不同的响应结构 let codeid = ''; // 尝试从不同的响应结构获取 codeid @@ -328,16 +326,13 @@ export default { this.startCountdown(); } else { this.$message({ - message: res.message || "验证码发送失败", + message: res.msg, type: "error", }); } } catch (error) { console.error('发送验证码失败:', error); - this.$message({ - message: "验证码发送失败,请重试", - type: "error", - }); + } },