| | |
| | | |
| | | <!-- 联系方式列表:热线为纯展示文案,平台客服为绿色胶囊按钮 --> |
| | | <view class="info-list"> |
| | | <view v-for="item in CONTACT_LIST" :key="item.key" class="info-row"> |
| | | <view v-for="item in contactList" :key="item.key" class="info-row"> |
| | | <text class="info-label">{{ item.label }}</text> |
| | | <!-- 有 value 渲染文案,否则渲染「联系客服」按钮 --> |
| | | <text v-if="item.value" class="info-value">{{ item.value }}</text> |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from 'vue' |
| | | import { onLoad } from '@dcloudio/uni-app' |
| | | import { getToken } from '@/utils/request.js' |
| | | import { getContactInfo } from '@/api/index.js' |
| | | |
| | | /** 状态栏高度:自定义导航栏下用于顶部留白 */ |
| | | const statusBarHeight = uni.getSystemInfoSync().statusBarHeight || 0 |
| | | |
| | | /** 招商 / 合伙人热线:客服接口未就绪,先以常量维护(接口就绪后替换) */ |
| | | const CITY_INVEST_HOTLINE = '400-451-666' |
| | | const PARTNER_RECRUIT_HOTLINE = '400-451-666' |
| | | /** 招商 / 合伙人热线兜底文案:后端未配置或请求失败时使用 */ |
| | | const CITY_INVEST_HOTLINE = '-' |
| | | const PARTNER_RECRUIT_HOTLINE = '-' |
| | | |
| | | /** 联系方式列表:value 为空表示该项渲染为客服按钮 */ |
| | | const CONTACT_LIST = [ |
| | | const contactList = ref([ |
| | | { key: 'invest', label: '城市招商热线', value: CITY_INVEST_HOTLINE }, |
| | | { key: 'partner', label: '合伙人招募', value: PARTNER_RECRUIT_HOTLINE }, |
| | | { key: 'service', label: '平台客服' } |
| | | ] |
| | | ]) |
| | | |
| | | /** 单项回填:后端有值才覆盖,为空则保留兜底文案 */ |
| | | const applyHotline = (key, value) => { |
| | | if (!value) return |
| | | const item = contactList.value.find((it) => it.key === key) |
| | | if (item) item.value = value |
| | | } |
| | | |
| | | /** |
| | | * 拉取平台联系方式并回填 |
| | | * 未登录(无 token)时跳过请求,直接使用兜底文案,避免在此页触发 401 跳登录; |
| | | * 请求失败仅记录日志,不影响页面正常展示 |
| | | */ |
| | | const loadContactInfo = async () => { |
| | | if (!getToken()) return |
| | | try { |
| | | const res = await getContactInfo() |
| | | const data = res.data || {} |
| | | applyHotline('invest', data.cityHotline) |
| | | applyHotline('partner', data.partnerRecruit) |
| | | } catch (e) { |
| | | console.error('[CONTACT_INFO] 获取联系方式失败,使用默认文案', e) |
| | | } |
| | | } |
| | | |
| | | onLoad(() => { |
| | | loadContactInfo() |
| | | }) |
| | | |
| | | /** 返回上一页:无上级页面(如直接进入)时回到个人中心 */ |
| | | const handleBack = () => { |