Compare commits
7
Commits
4143667d1c
...
1521129d87
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1521129d87 | ||
|
|
4be46bcb79 | ||
|
|
eb33144f2a | ||
|
|
805596e4a1 | ||
|
|
3e54c21f19 | ||
|
|
8a24dd033c | ||
|
|
bc2fb1715b |
@@ -14,4 +14,13 @@
|
|||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
|
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
|
||||||
@import "uview-ui/index.scss";
|
@import "uview-ui/index.scss";
|
||||||
|
|
||||||
|
/* xuchao: 全站统一字体栈:系统字体优先,中文回退顺序兼顾 iOS/鸿蒙/Android/Windows */
|
||||||
|
page,
|
||||||
|
body {
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'HarmonyOS Sans SC',
|
||||||
|
'Microsoft YaHei', 'Source Han Sans SC', 'Noto Sans CJK SC', 'Hiragino Sans GB',
|
||||||
|
Arial, Helvetica, sans-serif;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export default {}
|
|||||||
|
|
||||||
.heading {
|
.heading {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: bold;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export default {}
|
|||||||
|
|
||||||
.heading {
|
.heading {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: bold;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
|||||||
@@ -186,7 +186,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.king-text {
|
.king-text {
|
||||||
font-family: 'Source Han Sans SC', 'Source Han Sans CN', 'Noto Sans CJK SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
|
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -219,7 +218,7 @@
|
|||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: bold;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,7 +257,7 @@
|
|||||||
|
|
||||||
.guide-title {
|
.guide-title {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: bold;
|
font-weight: 600;
|
||||||
color: #0088FF;
|
color: #0088FF;
|
||||||
margin-bottom: 10rpx;
|
margin-bottom: 10rpx;
|
||||||
}
|
}
|
||||||
|
|||||||
+39
-21
@@ -1,5 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page">
|
<view class="page">
|
||||||
|
<!-- xuchao: 顶部导航(返回+页面名称) -->
|
||||||
|
<view class="nav-bar">
|
||||||
|
<view class="nav-back" @click="goBack">
|
||||||
|
<u-icon name="arrow-left" color="#1a1818" size="40"></u-icon>
|
||||||
|
</view>
|
||||||
|
<text class="nav-title">手机号登录</text>
|
||||||
|
</view>
|
||||||
<!-- 标题区 -->
|
<!-- 标题区 -->
|
||||||
<view class="title-area">
|
<view class="title-area">
|
||||||
<text class="title">手机号登录</text>
|
<text class="title">手机号登录</text>
|
||||||
@@ -32,12 +39,6 @@
|
|||||||
<text class="agreement-text" @click="agreed = !agreed">和</text>
|
<text class="agreement-text" @click="agreed = !agreed">和</text>
|
||||||
<text class="agreement-link" @click.stop="goAgreement('privacy')">《隐私协议》</text>
|
<text class="agreement-link" @click.stop="goAgreement('privacy')">《隐私协议》</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 返回按钮 -->
|
|
||||||
<view class="back-btn" @click="goBack">
|
|
||||||
<image class="back-icon" src="https://zhihuiyou.oss-cn-shenzhen.aliyuncs.com/hhrs/hhrs_back.png" mode="aspectFit"></image>
|
|
||||||
<text class="back-text">返回上一页</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -135,7 +136,13 @@ export default {
|
|||||||
uni.navigateTo({ url })
|
uni.navigateTo({ url })
|
||||||
},
|
},
|
||||||
goBack() {
|
goBack() {
|
||||||
uni.navigateBack()
|
// xuchao: 直接通过链接进入(无历史栈)时回到首页,避免返回无响应
|
||||||
|
const pages = getCurrentPages()
|
||||||
|
if (pages.length > 1) {
|
||||||
|
uni.navigateBack()
|
||||||
|
} else {
|
||||||
|
uni.reLaunch({ url: '/pages/index/index' })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -159,7 +166,7 @@ export default {
|
|||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 44rpx;
|
font-size: 44rpx;
|
||||||
font-weight: bold;
|
font-weight: 700;
|
||||||
color: #1a1a1a;
|
color: #1a1a1a;
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -264,24 +271,35 @@ export default {
|
|||||||
color: #0088FF;
|
color: #0088FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 返回按钮 */
|
/* xuchao: 顶部返回导航条(负外边距抵消页面左右 padding,通栏展示) */
|
||||||
.back-btn {
|
.nav-bar {
|
||||||
position: fixed;
|
|
||||||
left: 24px;
|
|
||||||
bottom: 50px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 4px;
|
height: 56px;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
position: relative;
|
||||||
|
margin: 0 -40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-icon {
|
.nav-back {
|
||||||
width: 44px;
|
position: absolute;
|
||||||
height: 44px;
|
left: 12px;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-text {
|
.nav-title {
|
||||||
font-size: 12px;
|
flex: 1;
|
||||||
color: #666666;
|
text-align: center;
|
||||||
|
font-size: 17px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #1a1818;
|
||||||
|
padding: 0 56px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
+33
-22
@@ -1,22 +1,23 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page">
|
<view class="page">
|
||||||
<view v-if="detail">
|
<view v-if="detail">
|
||||||
<!-- 门店信息卡片 -->
|
<!-- 门店信息卡片(信息+地址合并容器) -->
|
||||||
<view class="store-card">
|
<view class="store-card">
|
||||||
<image class="store-img" :src="detail.shopImage" mode="aspectFill" />
|
<view class="store-main">
|
||||||
<view class="store-info">
|
<image class="store-img" :src="detail.shopImage" mode="aspectFill" />
|
||||||
<text class="store-name">{{ detail.shopName }}</text>
|
<view class="store-info">
|
||||||
<text class="store-category">{{ detail.category }}</text>
|
<text class="store-name">{{ detail.shopName }}</text>
|
||||||
<text class="store-hours">营业时间:{{ detail.businessTime }}</text>
|
<text class="store-category">{{ detail.category }}</text>
|
||||||
|
<text class="store-hours">营业时间:{{ detail.businessTime }}</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view class="divider"></view>
|
||||||
|
<view class="address-row">
|
||||||
<!-- 地址行 -->
|
<text class="address-text">{{ detail.address }}</text>
|
||||||
<view class="address-row">
|
<view class="distance-row" v-if="detail.distance !== null">
|
||||||
<text class="address-text">{{ detail.address }}</text>
|
<u-icon name="map" color="#999999" size="24"></u-icon>
|
||||||
<view class="distance-row" v-if="detail.distance !== null">
|
<text class="distance-text">{{ detail.distance < 1 ? Math.round(detail.distance * 1000) + 'm' : Math.round(detail.distance) + 'km' }}</text>
|
||||||
<u-icon name="map" color="#999999" size="24"></u-icon>
|
</view>
|
||||||
<text class="distance-text">{{ detail.distance < 1 ? Math.round(detail.distance * 1000) + 'm' : Math.round(detail.distance) + 'km' }}</text>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@@ -180,12 +181,17 @@ export default {
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
/* 门店卡片 */
|
/* 门店卡片(信息+地址合并容器,样式与门店详情页一致) */
|
||||||
.store-card {
|
.store-card {
|
||||||
display: flex;
|
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
margin:0rpx 12px 12px 12px;
|
margin: 0 12px 12px 12px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-main {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
gap: 12px;
|
gap: 12px;
|
||||||
}
|
}
|
||||||
@@ -201,8 +207,8 @@ export default {
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: flex-start;
|
||||||
gap: 6px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.store-name {
|
.store-name {
|
||||||
@@ -221,13 +227,18 @@ export default {
|
|||||||
color: #666666;
|
color: #666666;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 地址行 */
|
.divider {
|
||||||
|
height: 1px;
|
||||||
|
background-color: #f2f2f7;
|
||||||
|
margin: 0 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 地址行(卡片内) */
|
||||||
.address-row {
|
.address-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
background-color: #ffffff;
|
padding: 12px;
|
||||||
padding: 12px 16px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.address-text {
|
.address-text {
|
||||||
|
|||||||
+31
-20
@@ -1,15 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page" :class="{ 'page-auth': status === 'auth' }">
|
<view class="page" :class="{ 'page-auth': status === 'auth' }">
|
||||||
|
<!-- xuchao: 顶部导航(返回+页面名称,认证状态使用) -->
|
||||||
|
<view class="nav-bar" v-if="status === 'auth'">
|
||||||
|
<view class="nav-back" @click="goBack">
|
||||||
|
<u-icon name="arrow-left" color="#1a1818" size="40"></u-icon>
|
||||||
|
</view>
|
||||||
|
<text class="nav-title">权益资格认证</text>
|
||||||
|
</view>
|
||||||
<!-- 返回按钮(顶部,非auth状态) -->
|
<!-- 返回按钮(顶部,非auth状态) -->
|
||||||
<view class="back-btn" :class="{ 'back-btn--black': status === 'noWin' }" @click="goBack" v-if="status !== 'auth'">
|
<view class="back-btn" :class="{ 'back-btn--black': status === 'noWin' }" @click="goBack" v-if="status !== 'auth'">
|
||||||
<u-icon name="arrow-left" :color="status === 'noWin' ? '#000000' : '#ffffff'" size="40"></u-icon>
|
<u-icon name="arrow-left" :color="status === 'noWin' ? '#000000' : '#ffffff'" size="40"></u-icon>
|
||||||
<text class="back-text">返回</text>
|
<text class="back-text">返回</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- 返回按钮(底部,auth状态) -->
|
|
||||||
<view class="back-btn-bottom" @click="goBack" v-if="status === 'auth'">
|
|
||||||
<image class="back-icon" src="https://zhihuiyou.oss-cn-shenzhen.aliyuncs.com/hhrs/hhrs_back.png" mode="aspectFit"></image>
|
|
||||||
<text class="back-text-bottom">返回上一页</text>
|
|
||||||
</view>
|
|
||||||
<!-- 状态1: 权益资格认证 -->
|
<!-- 状态1: 权益资格认证 -->
|
||||||
<view v-if="status === 'auth'" class="auth-container">
|
<view v-if="status === 'auth'" class="auth-container">
|
||||||
<view class="section-title">
|
<view class="section-title">
|
||||||
@@ -670,7 +672,7 @@
|
|||||||
.banner-title {
|
.banner-title {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-weight: 500;
|
font-weight: 700;
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
@@ -962,25 +964,34 @@
|
|||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 底部返回按钮 */
|
/* xuchao: 顶部返回导航条(auth状态) */
|
||||||
.back-btn-bottom {
|
.nav-bar {
|
||||||
position: fixed;
|
|
||||||
left: 24px;
|
|
||||||
bottom: 50px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 4px;
|
height: 56px;
|
||||||
z-index: 10;
|
background-color: #ffffff;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-icon {
|
.nav-back {
|
||||||
width: 44px;
|
position: absolute;
|
||||||
height: 44px;
|
left: 12px;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-text-bottom {
|
.nav-title {
|
||||||
font-size: 12px;
|
flex: 1;
|
||||||
color: #666666;
|
text-align: center;
|
||||||
|
font-size: 17px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #1a1818;
|
||||||
|
padding: 0 56px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
+104
-31
@@ -1,5 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page" v-if="store">
|
<view>
|
||||||
|
<view class="page" v-if="store">
|
||||||
|
<!-- xuchao: 顶部导航(返回+页面名称) -->
|
||||||
|
<view class="nav-bar">
|
||||||
|
<view class="nav-back" @click="goBack">
|
||||||
|
<u-icon name="arrow-left" color="#1a1818" size="40"></u-icon>
|
||||||
|
</view>
|
||||||
|
<text class="nav-title">{{ store.name }}</text>
|
||||||
|
</view>
|
||||||
<!-- 门店信息卡片(信息+地址合并容器) -->
|
<!-- 门店信息卡片(信息+地址合并容器) -->
|
||||||
<view class="store-card">
|
<view class="store-card">
|
||||||
<view class="store-main">
|
<view class="store-main">
|
||||||
@@ -20,14 +28,17 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 商户电话(取商铺客服电话字段,点击拨号) -->
|
<!-- 商户电话(取商铺客服电话字段,多个用,分隔,点击拨号) -->
|
||||||
<view class="discount-section" v-if="store.servicePhone">
|
<view class="discount-section" v-if="servicePhoneList.length">
|
||||||
<view class="section-title">
|
<view class="section-title">
|
||||||
<u-icon name="phone-fill" color="#0088ff" size="34"></u-icon>
|
<u-icon name="phone-fill" color="#1296DB" size="34"></u-icon>
|
||||||
<text class="discount-title">商户电话</text>
|
<text class="discount-title">商户电话</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="discount-list">
|
<view class="discount-list">
|
||||||
<text class="discount-item phone-link" @click="callPhone">{{ store.servicePhone }}</text>
|
<text class="discount-item">
|
||||||
|
<text v-for="(p, i) in servicePhoneList" :key="i" class="phone-link"
|
||||||
|
@click="callPhone(p)">{{ i > 0 ? ',' : '' }}{{ p }}</text>
|
||||||
|
</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@@ -52,11 +63,18 @@
|
|||||||
<text class="discount-item" v-for="(item, index) in discountList" :key="index">{{ item }}</text>
|
<text class="discount-item" v-for="(item, index) in discountList" :key="index">{{ item }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
</view>
|
||||||
<!-- 返回按钮 -->
|
<!-- xuchao: 门店不存在或加载失败时的提示态,避免纯空白 -->
|
||||||
<view class="back-btn" @click="goBack">
|
<view class="page" v-else-if="loaded">
|
||||||
<image class="back-icon" src="https://zhihuiyou.oss-cn-shenzhen.aliyuncs.com/hhrs/hhrs_back.png" mode="aspectFit"></image>
|
<view class="nav-bar">
|
||||||
<text class="back-text">返回上一页</text>
|
<view class="nav-back" @click="goBack">
|
||||||
|
<u-icon name="arrow-left" color="#1a1818" size="40"></u-icon>
|
||||||
|
</view>
|
||||||
|
<text class="nav-title">详情</text>
|
||||||
|
</view>
|
||||||
|
<view class="load-failed">
|
||||||
|
<text class="load-failed-text">门店信息加载失败,该门店可能不存在或已下架</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -65,7 +83,8 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
store: null
|
store: null,
|
||||||
|
loaded: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -76,6 +95,29 @@ export default {
|
|||||||
discountList() {
|
discountList() {
|
||||||
if (!this.store || !this.store.merchantDiscount) return []
|
if (!this.store || !this.store.merchantDiscount) return []
|
||||||
return this.store.merchantDiscount.split('\n')
|
return this.store.merchantDiscount.split('\n')
|
||||||
|
},
|
||||||
|
// xuchao: 客服电话列表:按常见分隔符切分;无分隔符连写的多个11位手机号也自动拆开
|
||||||
|
servicePhoneList() {
|
||||||
|
if (!this.store || !this.store.servicePhone) return []
|
||||||
|
const parts = String(this.store.servicePhone).split(/[,,;;、\s\n]+/).filter(Boolean)
|
||||||
|
const out = []
|
||||||
|
parts.forEach(p => {
|
||||||
|
if (p.length > 11 && /^1[3-9]\d{9}$/.test(p.slice(0, 11))) {
|
||||||
|
let rest = p
|
||||||
|
const segs = []
|
||||||
|
while (rest.length >= 11 && /^1[3-9]\d{9}$/.test(rest.slice(0, 11))) {
|
||||||
|
segs.push(rest.slice(0, 11))
|
||||||
|
rest = rest.slice(11)
|
||||||
|
}
|
||||||
|
if (rest) segs[segs.length - 1] += rest
|
||||||
|
if (segs.length > 1) {
|
||||||
|
out.push(...segs)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.push(p)
|
||||||
|
})
|
||||||
|
return out
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
@@ -84,10 +126,10 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// xuchao: 点击商户电话唤起拨号
|
// xuchao: 点击某个商户电话唤起拨号(多个号码时逐个可点)
|
||||||
callPhone() {
|
callPhone(phone) {
|
||||||
if (!this.store || !this.store.servicePhone) return
|
if (!phone) return
|
||||||
uni.makePhoneCall({ phoneNumber: String(this.store.servicePhone) })
|
uni.makePhoneCall({ phoneNumber: String(phone) })
|
||||||
},
|
},
|
||||||
loadDetail(shopId) {
|
loadDetail(shopId) {
|
||||||
const loc = uni.getStorageSync('lng') && uni.getStorageSync('lat')
|
const loc = uni.getStorageSync('lng') && uni.getStorageSync('lat')
|
||||||
@@ -102,10 +144,19 @@ export default {
|
|||||||
if (res.errcode === 0 && res.data) {
|
if (res.errcode === 0 && res.data) {
|
||||||
this.store = res.data
|
this.store = res.data
|
||||||
}
|
}
|
||||||
|
this.loaded = true
|
||||||
|
}).catch(() => {
|
||||||
|
this.loaded = true
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
goBack() {
|
goBack() {
|
||||||
uni.navigateBack()
|
// xuchao: 直接通过链接进入(无历史栈)时回到首页,避免返回无响应
|
||||||
|
const pages = getCurrentPages()
|
||||||
|
if (pages.length > 1) {
|
||||||
|
uni.navigateBack()
|
||||||
|
} else {
|
||||||
|
uni.reLaunch({ url: '/pages/index/index' })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -113,9 +164,9 @@ export default {
|
|||||||
|
|
||||||
<style>
|
<style>
|
||||||
.page {
|
.page {
|
||||||
height: 100vh;
|
/* xuchao: 顶部导航条占用 56px,改为 min-height 让长内容正常滚动,避免底部被裁切 */
|
||||||
|
min-height: 100vh;
|
||||||
background-color: #f2f2f7;
|
background-color: #f2f2f7;
|
||||||
overflow: hidden;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 门店卡片(信息+地址合并容器) */
|
/* 门店卡片(信息+地址合并容器) */
|
||||||
@@ -243,24 +294,46 @@ export default {
|
|||||||
color: #0088ff;
|
color: #0088ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 返回按钮 */
|
/* xuchao: 加载失败提示态 */
|
||||||
.back-btn {
|
.load-failed {
|
||||||
position: fixed;
|
display: flex;
|
||||||
left: 24px;
|
justify-content: center;
|
||||||
bottom: 50px;
|
padding: 80px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.load-failed-text {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* xuchao: 顶部返回导航条 */
|
||||||
|
.nav-bar {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 4px;
|
height: 56px;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-icon {
|
.nav-back {
|
||||||
width: 44px;
|
position: absolute;
|
||||||
height: 44px;
|
left: 12px;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-text {
|
.nav-title {
|
||||||
font-size: 12px;
|
flex: 1;
|
||||||
color: #666666;
|
text-align: center;
|
||||||
|
font-size: 17px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #1a1818;
|
||||||
|
padding: 0 56px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -246,8 +246,7 @@ export default {
|
|||||||
|
|
||||||
.banner-title {
|
.banner-title {
|
||||||
color: #0D387D;
|
color: #0D387D;
|
||||||
font-family: 'Source Han Serif SC VF', 'Source Han Serif SC', serif;
|
font-weight: 700;
|
||||||
font-weight: bold;
|
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
letter-spacing: 0px;
|
letter-spacing: 0px;
|
||||||
@@ -256,7 +255,6 @@ export default {
|
|||||||
|
|
||||||
.banner-subtitle {
|
.banner-subtitle {
|
||||||
color: #8E8E93;
|
color: #8E8E93;
|
||||||
font-family: 'Source Han Serif SC VF', 'Source Han Serif SC', serif;
|
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
@@ -281,8 +279,6 @@ export default {
|
|||||||
|
|
||||||
.stats-label {
|
.stats-label {
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
font-family: 'Source Han Sans CN', 'Source Han Sans SC', sans-serif;
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
letter-spacing: 0px;
|
letter-spacing: 0px;
|
||||||
@@ -291,8 +287,7 @@ export default {
|
|||||||
|
|
||||||
.stats-number {
|
.stats-number {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
font-family: 'Source Han Serif SC VF', 'Source Han Serif SC', serif;
|
font-weight: 700;
|
||||||
font-weight: 600;
|
|
||||||
font-size: 36px;
|
font-size: 36px;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
letter-spacing: 0px;
|
letter-spacing: 0px;
|
||||||
@@ -323,7 +318,6 @@ export default {
|
|||||||
|
|
||||||
.tab-label {
|
.tab-label {
|
||||||
color: #B1B1B1;
|
color: #B1B1B1;
|
||||||
font-family: 'Source Han Serif SC VF', 'Source Han Serif SC', serif;
|
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 22px;
|
line-height: 22px;
|
||||||
|
|||||||
Reference in New Issue
Block a user