This commit is contained in:
Mrx
2026-05-25 12:04:30 +08:00
parent f6ee606180
commit af286e77aa
7 changed files with 149 additions and 170 deletions

4
.env
View File

@@ -5,5 +5,5 @@
# #
# 需要覆盖时再取消注释其一: # 需要覆盖时再取消注释其一:
# VITE_API_BASE_URL=/api/v1 # VITE_API_BASE_URL=/api/v1
VITE_API_BASE_URL=http://127.0.0.1:8888/api/v1 # VITE_API_BASE_URL=http://127.0.0.1:8888/api/v1
# VITE_API_BASE_URL=https://www.tianyuancha.cn/api/v1 VITE_API_BASE_URL=https://www.tianyuancha.cn/api/v1

View File

@@ -22,6 +22,26 @@
} }
}, },
// #endif // #endif
{
"path": "pages/about-us",
"type": "page",
"style": {
"navigationBarTitleText": "关于我们",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/help-center",
"type": "page",
"style": {
"navigationBarTitleText": "帮助中心",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
},
{ {
"path": "pages/login", "path": "pages/login",
"type": "page", "type": "page",
@@ -84,45 +104,13 @@
"navigationBarTextStyle": "black" "navigationBarTextStyle": "black"
} }
}, },
{
"path": "pages/inquire/user-notice",
"type": "page",
"style": {
"navigationBarTitleText": "用户须知",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
},
{ {
"path": "pages/inquire/query-notice", "path": "pages/inquire/query-notice",
"type": "page", "type": "page"
"style": {
"navigationBarTitleText": "查询须知",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}, },
{ {
"path": "pages/help/index", "path": "pages/inquire/user-notice",
"type": "page", "type": "page"
"style": {
"navigationBarTitleText": "帮助中心",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/about/index",
"type": "page",
"style": {
"navigationBarTitleText": "关于我们",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}, },
{ {
"path": "pages/legal/authorization", "path": "pages/legal/authorization",

View File

@@ -37,7 +37,7 @@ function copyEmail() {
<view class="logo-wrap"> <view class="logo-wrap">
<view class="logo-icon i-carbon-car" /> <view class="logo-icon i-carbon-car" />
</view> </view>
<view class="title">全能查</view> <view class="title">天远查车</view>
<view class="subtitle">买车先查车况更安心</view> <view class="subtitle">买车先查车况更安心</view>
</view> </view>
</view> </view>
@@ -65,7 +65,7 @@ function copyEmail() {
</view> </view>
<view class="product-intro"> <view class="product-intro">
<text class="intro-text"> <text class="intro-text">
全能查是一款专业的车辆信息查询工具为广大用户提供便捷准确全面的车辆车况查询服务我们致力于帮助用户在二手车交易车辆保养等场景中做出更明智的决策 天远查车是一款专业的车辆信息查询工具为广大用户提供便捷准确全面的车辆车况查询服务我们致力于帮助用户在二手车交易车辆保养等场景中做出更明智的决策
</text> </text>
</view> </view>
<view class="feature-grid"> <view class="feature-grid">
@@ -249,7 +249,7 @@ function copyEmail() {
<view class="company-info"> <view class="company-info">
<view class="company-item"> <view class="company-item">
<view class="company-label">公司名称</view> <view class="company-label">公司名称</view>
<view class="company-value">海南海宇大数据有限公司</view> <view class="company-value">广西福铭网络科技有限公司</view>
</view> </view>
<view class="company-item"> <view class="company-item">
<view class="company-label">服务宗旨</view> <view class="company-label">服务宗旨</view>
@@ -268,7 +268,7 @@ function copyEmail() {
<!-- 底部版权 --> <!-- 底部版权 -->
<view class="footer"> <view class="footer">
<text class="footer-text">© 2026 海南海宇大数据有限公司 版权所有</text> <text class="footer-text">© 2026 广西福铭网络科技有限公司 版权所有</text>
</view> </view>
</view> </view>
</template> </template>

View File

@@ -99,7 +99,7 @@ function goContact() {
<view class="quick-action-icon-wrap"> <view class="quick-action-icon-wrap">
<view class="i-carbon-chat quick-action-icon" /> <view class="i-carbon-chat quick-action-icon" />
</view> </view>
<view class="quick-action-text">在线客服</view> <view class="quick-action-text" >在线客服</view>
<view class="quick-action-desc">快速咨询问题</view> <view class="quick-action-desc">快速咨询问题</view>
</view> </view>
<view class="quick-action-card"> <view class="quick-action-card">

View File

@@ -296,19 +296,20 @@ function goLegalAuthorization() {
} }
function goIllegalCode() { function goIllegalCode() {
uni.showToast({ title: '敬请期待', icon: 'none' }) uni.navigateTo({ url: '/pages/toolbox/query?key=jtwfcode' })
} }
function goOilPrice() { function goOilPrice() {
uni.showToast({ title: '敬请期待', icon: 'none' }) uni.navigateTo({ url: '/pages/toolbox/query?key=oilprice' })
} }
function goHelp() { function goHelp() {
uni.navigateTo({ url: '/pages/help/index' }) uni.navigateTo({ url: '/pages/help-center' })
} }
function goAbout() { function goAbout() {
uni.navigateTo({ url: '/pages/about/index' }) uni.navigateTo({ url: '/pages/about-us' })
} }
function goSettings() { function goSettings() {
@@ -394,32 +395,31 @@ onUnmounted(() => {
<text class="quick-name">分享好友</text> <text class="quick-name">分享好友</text>
</view> </view>
<!-- #endif --> <!-- #endif -->
<view class="quick-item" @tap="openCoopModal"> <!-- 暂时关闭商务合作功能 -->
<!-- <view class="quick-item" @tap="openCoopModal">
<view class="quick-icon-wrap" style="background: rgba(114,46,209,0.08)"> <view class="quick-icon-wrap" style="background: rgba(114,46,209,0.08)">
<view class="quick-icon i-carbon-enterprise" style="color: #722ed1" /> <view class="quick-icon i-carbon-enterprise" style="color: #722ed1" />
</view> </view>
<text class="quick-name">商务合作</text> <text class="quick-name">商务合作</text>
</view> </view> -->
</view> </view>
</view> </view>
<!-- 区块3: 常用工具 --> <!-- 区块3: 常用工具 -->
<view class="section"> <view class="section">
<view class="section-title">常用工具</view> <view class="section-title">常用工具</view>
<view class="tool-list"> <view class="tool-grid">
<view class="tool-row" @tap="goOilPrice"> <view class="tool-item" @tap="goOilPrice">
<view class="tool-row-icon-wrap" style="background: rgba(23,104,255,0.08)"> <view class="tool-item-icon-wrap" style="background: rgba(23,104,255,0.08)">
<view class="tool-row-icon i-carbon-gas-station" style="color: #1768ff" /> <view class="tool-item-icon i-carbon-gas-station" style="color: #1768ff" />
</view> </view>
<text class="tool-row-name">实时油价查询</text> <text class="tool-item-name">实时油价查询</text>
<text class="tool-row-arrow"></text>
</view> </view>
<view class="tool-row" @tap="goIllegalCode"> <view class="tool-item" @tap="goIllegalCode">
<view class="tool-row-icon-wrap" style="background: rgba(250,140,22,0.08)"> <view class="tool-item-icon-wrap" style="background: rgba(250,140,22,0.08)">
<view class="tool-row-icon i-carbon-search" style="color: #fa8c16" /> <view class="tool-item-icon i-carbon-search" style="color: #fa8c16" />
</view> </view>
<text class="tool-row-name">违章代码查询</text> <text class="tool-item-name">违章代码查询</text>
<text class="tool-row-arrow"></text>
</view> </view>
</view> </view>
</view> </view>
@@ -427,29 +427,34 @@ onUnmounted(() => {
<!-- 区块4: 服务与支持 --> <!-- 区块4: 服务与支持 -->
<view class="section"> <view class="section">
<view class="section-title">服务与支持</view> <view class="section-title">服务与支持</view>
<view class="tool-list"> <view class="tool-grid">
<button class="tool-row tool-row-btn no-border" open-type="contact" hover-class="tool-row-hover"> <!-- #ifdef MP-WEIXIN -->
<view class="tool-row-icon-wrap" style="background: rgba(19,194,94,0.08)"> <button class="tool-item-btn" open-type="contact" hover-class="tool-item-hover">
<view class="tool-row-icon i-carbon-chat" style="color: #13c25e" /> <view class="tool-item-icon-wrap" style="background: rgba(19,194,94,0.08)">
</view> <view class="tool-item-icon i-carbon-chat" style="color: #13c25e" />
<view class="tool-row-text">
<text class="tool-row-name">在线客服</text>
<text class="tool-row-sub">周一至周日 9:00-20:00</text>
</view> </view>
<text class="tool-item-name">在线客服</text>
</button> </button>
<view class="tool-row" @tap="goHelp"> <!-- #endif -->
<view class="tool-row-icon-wrap" style="background: rgba(114,46,209,0.08)"> <!-- #ifndef MP-WEIXIN -->
<view class="tool-row-icon i-carbon-help" style="color: #722ed1" /> <view class="tool-item" @tap="goServiceFallback">
<view class="tool-item-icon-wrap" style="background: rgba(19,194,94,0.08)">
<view class="tool-item-icon i-carbon-chat" style="color: #13c25e" />
</view> </view>
<text class="tool-row-name">帮助中心</text> <text class="tool-item-name">在线客服</text>
<text class="tool-row-arrow"></text>
</view> </view>
<view class="tool-row" @tap="goAbout"> <!-- #endif -->
<view class="tool-row-icon-wrap" style="background: rgba(78,89,105,0.08)"> <view class="tool-item" @tap="goHelp">
<view class="tool-row-icon i-carbon-information" style="color: #4e5969" /> <view class="tool-item-icon-wrap" style="background: rgba(114,46,209,0.08)">
<view class="tool-item-icon i-carbon-help" style="color: #722ed1" />
</view> </view>
<text class="tool-row-name">关于我们</text> <text class="tool-item-name">帮助中心</text>
<text class="tool-row-arrow"></text> </view>
<view class="tool-item" @tap="goAbout">
<view class="tool-item-icon-wrap" style="background: rgba(78,89,105,0.08)">
<view class="tool-item-icon i-carbon-information" style="color: #4e5969" />
</view>
<text class="tool-item-name">关于我们</text>
</view> </view>
</view> </view>
</view> </view>
@@ -457,27 +462,24 @@ onUnmounted(() => {
<!-- 区块5: 法律条款 --> <!-- 区块5: 法律条款 -->
<view class="section"> <view class="section">
<view class="section-title">法律条款</view> <view class="section-title">法律条款</view>
<view class="tool-list"> <view class="tool-grid">
<view class="tool-row" @tap="goLegalUserAgreement"> <view class="tool-item" @tap="goLegalUserAgreement">
<view class="tool-row-icon-wrap" style="background: rgba(78,89,105,0.06)"> <view class="tool-item-icon-wrap" style="background: rgba(78,89,105,0.06)">
<view class="tool-row-icon i-carbon-document-blank" style="color: #86909c" /> <view class="tool-item-icon i-carbon-document-blank" style="color: #86909c" />
</view> </view>
<text class="tool-row-name">用户协议</text> <text class="tool-item-name">用户协议</text>
<text class="tool-row-arrow"></text>
</view> </view>
<view class="tool-row" @tap="goLegalPrivacyPolicy"> <view class="tool-item" @tap="goLegalPrivacyPolicy">
<view class="tool-row-icon-wrap" style="background: rgba(78,89,105,0.06)"> <view class="tool-item-icon-wrap" style="background: rgba(78,89,105,0.06)">
<view class="tool-row-icon i-carbon-security" style="color: #86909c" /> <view class="tool-item-icon i-carbon-security" style="color: #86909c" />
</view> </view>
<text class="tool-row-name">隐私政策</text> <text class="tool-item-name">隐私政策</text>
<text class="tool-row-arrow"></text>
</view> </view>
<view class="tool-row no-border" @tap="goLegalAuthorization"> <view class="tool-item" @tap="goLegalAuthorization">
<view class="tool-row-icon-wrap" style="background: rgba(78,89,105,0.06)"> <view class="tool-item-icon-wrap" style="background: rgba(78,89,105,0.06)">
<view class="tool-row-icon i-carbon-certificate" style="color: #86909c" /> <view class="tool-item-icon i-carbon-certificate" style="color: #86909c" />
</view> </view>
<text class="tool-row-name">授权书</text> <text class="tool-item-name">授权书</text>
<text class="tool-row-arrow"></text>
</view> </view>
</view> </view>
</view> </view>
@@ -752,6 +754,66 @@ onUnmounted(() => {
text-align: center; text-align: center;
} }
/* ═══ 区块3/4/5: 工具网格 ═══ */
.tool-grid {
display: flex;
flex-wrap: wrap;
padding: 4rpx 8rpx;
}
.tool-item {
width: 25%;
display: flex;
flex-direction: column;
align-items: center;
padding: 16rpx 0;
}
.tool-item-btn {
margin: 0;
padding: 16rpx 0;
border: none;
background: transparent;
line-height: normal;
font-size: inherit;
color: inherit;
box-sizing: border-box;
}
.tool-item-btn::after {
display: none;
}
.tool-item-hover {
opacity: 0.7;
}
.tool-item-icon-wrap {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12rpx;
}
.tool-item-icon {
font-size: 40rpx;
}
.tool-item-name {
font-size: 24rpx;
color: #1d2129;
text-align: center;
line-height: 1.3;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 0 4rpx;
}
/* ═══ 区块3/4/5: 列表行 ═══ */ /* ═══ 区块3/4/5: 列表行 ═══ */
.tool-list { .tool-list {
padding-bottom: 8rpx; padding-bottom: 8rpx;

View File

@@ -14,19 +14,12 @@ definePage({
const vehicleItems = computed(() => getInquireCategoryConfig('vehicle')?.items ?? []) const vehicleItems = computed(() => getInquireCategoryConfig('vehicle')?.items ?? [])
/** 左侧分类列表:热门推荐 + 车辆查询 + 所有工具分类 */ /** 左侧分类列表:只保留车辆查询 */
const sidebarItems = computed(() => [ const sidebarItems = computed(() => [
{ key: 'hot', name: '热门推荐', icon: '', color: '#ff6b6b' },
{ key: 'vehicle', name: '车辆查询', icon: 'i-carbon-car', color: '#1768ff' }, { key: 'vehicle', name: '车辆查询', icon: 'i-carbon-car', color: '#1768ff' },
...toolboxCategories.map(cat => ({
key: cat.key,
name: cat.name,
icon: cat.icon,
color: cat.color,
})),
]) ])
const activeKey = ref('hot') const activeKey = ref('vehicle')
/** 当前选中分类的数据(仅工具分类有) */ /** 当前选中分类的数据(仅工具分类有) */
const activeCategory = computed(() => { const activeCategory = computed(() => {
@@ -85,48 +78,8 @@ function goInquireFeature(feature: string) {
<!-- 右侧内容区 --> <!-- 右侧内容区 -->
<scroll-view scroll-y class="content" :scroll-top="0"> <scroll-view scroll-y class="content" :scroll-top="0">
<!-- 热门推荐分类卡片网格 -->
<template v-if="activeKey === 'hot'">
<view class="content-header">
<view class="content-icon-wrap" style="background: rgba(255,107,107,0.1)">
<view class="content-icon i-carbon-grid" style="color: #ff6b6b" />
</view>
<view class="content-info">
<text class="content-title">热门推荐</text>
<text class="content-count">全部分类入口</text>
</view>
</view>
<view class="cat-grid">
<view
v-for="card in hotCategoryCards"
:key="card.key"
class="cat-card"
@tap="switchCategory(card.key)"
>
<!-- 车辆查询用单图标 -->
<view v-if="card.key === 'vehicle'" class="cat-card-single-icon" :style="{ background: `${card.color}12` }">
<view :class="card.icon" :style="{ color: card.color, fontSize: '28rpx' }" />
</view>
<!-- 工具分类用四宫格 -->
<view v-else class="cat-card-grid-icon" :style="{ background: `${card.color}10` }">
<view
v-for="(preview, pIdx) in card.previews"
:key="preview.key"
class="mini-icon-cell"
>
<view :class="[preview.icon, 'mini-icon']" :style="{ color: card.color }" />
</view>
</view>
<view class="cat-card-text">
<text class="cat-card-name">{{ card.name }}</text>
<text class="cat-card-count">{{ card.count }}</text>
</view>
</view>
</view>
</template>
<!-- 车辆查询 --> <!-- 车辆查询 -->
<template v-else-if="activeKey === 'vehicle'"> <template v-if="activeKey === 'vehicle'">
<view class="content-header"> <view class="content-header">
<view class="content-icon-wrap" style="background: rgba(23,104,255,0.1)"> <view class="content-icon-wrap" style="background: rgba(23,104,255,0.1)">
<view class="content-icon i-carbon-car" style="color: #1768ff" /> <view class="content-icon i-carbon-car" style="color: #1768ff" />
@@ -151,32 +104,6 @@ function goInquireFeature(feature: string) {
</view> </view>
</template> </template>
<!-- 工具分类 -->
<template v-else-if="activeCategory">
<view class="content-header">
<view class="content-icon-wrap" :style="{ background: `${activeCategory.color}15` }">
<view :class="['content-icon', activeCategory.icon]" :style="{ color: activeCategory.color }" />
</view>
<view class="content-info">
<text class="content-title">{{ activeCategory.name }}</text>
<text class="content-count">{{ activeTools.length }} 个工具</text>
</view>
</view>
<view class="tool-grid">
<view
v-for="item in activeTools"
:key="item.key"
class="tool-cell"
@tap="goTool(item.key)"
>
<view class="tool-icon-wrap" :style="{ background: `${activeCategory.color}12` }">
<view :class="['tool-icon-grid', item.icon]" :style="{ color: activeCategory.color }" />
</view>
<text class="tool-name">{{ item.name }}</text>
</view>
</view>
</template>
<view style="height: 32rpx" /> <view style="height: 32rpx" />
</scroll-view> </scroll-view>
</view> </view>
@@ -377,7 +304,7 @@ function goInquireFeature(feature: string) {
} }
.tool-cell { .tool-cell {
width: 25%; width: 33.333%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;

2
uni-pages.d.ts vendored
View File

@@ -5,6 +5,8 @@
type _LocationUrl = type _LocationUrl =
"/pages/index" | "/pages/index" |
"/pages/about-us" |
"/pages/help-center" |
"/pages/login" | "/pages/login" |
"/pages/mine" | "/pages/mine" |
"/pages/report" | "/pages/report" |