bug修改

This commit is contained in:
cjl520cy 2026-04-28 17:48:49 +08:00
parent 0d66d41f15
commit f5e3e96be8
5 changed files with 2587 additions and 2515 deletions

View File

@ -76,6 +76,7 @@
}, },
/* ios */ /* ios */
"ios" : { "ios" : {
"UIRequiresFullScreen" : false, //
"urlschemewhitelist" : [ "iosmap" ], "urlschemewhitelist" : [ "iosmap" ],
"dSYMs" : false, "dSYMs" : false,
"plistcmds" : [ "plistcmds" : [

View File

@ -599,6 +599,8 @@
{ {
"path": "pages/shop/photoAlbum/videoplayer", "path": "pages/shop/photoAlbum/videoplayer",
"style": { "style": {
"navigationBarTitleText": "全屏视频播放",
"pageOrientation": "auto",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
@ -969,7 +971,8 @@
"selectedIconPath": "/static/images/tabbar/home_icon_active.png", "selectedIconPath": "/static/images/tabbar/home_icon_active.png",
"pagePath": "pages/home/home" "pagePath": "pages/home/home"
}, },
{ "iconPath": "/static/images/tabbar/new_message_gray.png", {
"iconPath": "/static/images/tabbar/new_message_gray.png",
"text": "消息", "text": "消息",
"selectedIconPath": "/static/images/tabbar/new_message.png", "selectedIconPath": "/static/images/tabbar/new_message.png",
"pagePath": "pages/message/message" "pagePath": "pages/message/message"

View File

@ -6,37 +6,22 @@
<!-- 城市选择--> <!-- 城市选择-->
<view class="search-container" v-if="isSelectCity"> <view class="search-container" v-if="isSelectCity">
<text class="search-container-text" @click="goSelectCity">{{ city.name }}</text> <text class="search-container-text" @click="goSelectCity">{{ city.name }}</text>
<image src="https://mrrplus.oss-cn-beijing.aliyuncs.com/wxstaic/images/Fill.jpg" mode="aspectFit" class="text-img"></image> <image src="https://mrrplus.oss-cn-beijing.aliyuncs.com/wxstaic/images/Fill.jpg" mode="aspectFit"
class="text-img"></image>
</view> </view>
<!-- 地图容器 --> <!-- 地图容器 -->
<view class="map-container" :style="{ height: mapHeight + 'rpx' }"> <view class="map-container" :style="{ height: mapHeight + 'rpx' }">
<map <map v-if="mapVisible" :key="mapRenderKey" id="map" class="map" :latitude="latitude" :longitude="longitude"
v-if="mapVisible" scale="19" @tap="onMapTap" @regionchange="changeMap"></map>
:key="mapRenderKey"
id="map"
class="map"
:latitude="latitude"
:longitude="longitude"
scale="19"
@tap="onMapTap"
@regionchange="changeMap"
></map>
<image <image v-if="showMapSnapshot" class="map-snapshot" :src="mapSnapshotUrl" mode="aspectFill"
v-if="showMapSnapshot" @load="onSnapshotLoad" @error="onSnapshotError"></image>
class="map-snapshot"
:src="mapSnapshotUrl"
mode="aspectFill"
@load="onSnapshotLoad"
@error="onSnapshotError"
></image>
<cover-view v-if="mapVisible" class="center-marker"> <cover-view v-if="mapVisible" class="center-marker">
<cover-image <cover-image
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/04007cab-3047-42b0-baab-44df344a92d2" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/04007cab-3047-42b0-baab-44df344a92d2"
class="center-marker-img" class="center-marker-img"></cover-image>
></cover-image>
</cover-view> </cover-view>
</view> </view>
@ -44,13 +29,16 @@
<view class="bottom-edit-section"> <view class="bottom-edit-section">
<!-- 地址识别输入行 --> <!-- 地址识别输入行 -->
<view class="address-input-row"> <view class="address-input-row">
<textarea class="raw-address-input" v-model="rawAddress" placeholder="粘贴文本到此处,将自动识别地址信息。" placeholder-style="color: #C6C9CC; font-size: 14px;" :maxlength="200" :adjust-position="true" /> <textarea class="raw-address-input" v-model="rawAddress" placeholder="粘贴文本到此处,将自动识别地址信息。"
placeholder-style="color: #C6C9CC; font-size: 14px;" :maxlength="200" :adjust-position="true" />
<view class="action-buttons"> <view class="action-buttons">
<view class="action-btn paste-btn" @click="hasRawContent ? clearRawAddress() : onPaste()"> <view class="action-btn paste-btn" @click="hasRawContent ? clearRawAddress() : onPaste()">
<text class="btn-text" :style="{ color: '#333333' }">{{ hasRawContent ? '一键清空' : '粘贴' }}</text> <text class="btn-text" :style="{ color: '#333333' }">{{ hasRawContent ? '一键清空' : '粘贴' }}</text>
</view> </view>
<view class="action-btn smart-btn" :class="{ 'smart-btn-active': hasRawContent }" @click="onSmartRecognize"> <view class="action-btn smart-btn" :class="{ 'smart-btn-active': hasRawContent }"
<text class="btn-text" :style="{ color: hasRawContent ? '#E8101E' : '#999999' }">{{ smartBtnText }}</text> @click="onSmartRecognize">
<text class="btn-text"
:style="{ color: hasRawContent ? '#E8101E' : '#999999' }">{{ smartBtnText }}</text>
</view> </view>
</view> </view>
</view> </view>
@ -61,13 +49,17 @@
<text class="row-label">所在地区</text> <text class="row-label">所在地区</text>
<view class="row-content"> <view class="row-content">
<text :class="currentRegion ? 'content-text' : 'placeholder'">{{ currentRegion || "请选择"}}</text> <text :class="currentRegion ? 'content-text' : 'placeholder'">{{ currentRegion || "请选择"}}</text>
<image src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/71c63001-a104-49ad-a90d-30d2ade73f4d.png" mode="aspectFit" class="arrow-icon"></image> <image
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/71c63001-a104-49ad-a90d-30d2ade73f4d.png"
mode="aspectFit" class="arrow-icon"></image>
</view> </view>
</view> </view>
<view class="line"></view> <view class="line"></view>
<view class="info-row"> <view class="info-row">
<text class="row-label">详细地址</text> <text class="row-label">详细地址</text>
<input type="text" class="detail-input" v-model="detailAddress" @input="onDetailInput" placeholder="请填写详细地址" placeholder-style="color: #999999; font-size: 14px;" :adjust-position="true" /> <input type="text" class="detail-input" v-model="detailAddress" @input="onDetailInput"
placeholder="请填写详细地址" placeholder-style="color: #999999; font-size: 14px;"
:adjust-position="true" />
</view> </view>
<view class="line"></view> <view class="line"></view>
</view> </view>
@ -89,32 +81,19 @@
<text class="popup-close" @click="closeRegionPicker">×</text> <text class="popup-close" @click="closeRegionPicker">×</text>
</view> </view>
<view class="region-body"> <view class="region-body">
<picker-view <picker-view @change="onRegionChange" class="picker-scroll" :indicator-style="indicatorStyle"
@change="onRegionChange" :value="regionPickerValue">
class="picker-scroll"
:indicator-style="indicatorStyle"
:value="regionPickerValue"
>
<picker-view-column> <picker-view-column>
<view <view class="picker-item" v-for="(item, index) in regionProvinceList" :key="index">
class="picker-item" {{ item.province }}</view>
v-for="(item, index) in regionProvinceList"
:key="index"
>{{ item.province }}</view>
</picker-view-column> </picker-view-column>
<picker-view-column> <picker-view-column>
<view <view class="picker-item" v-for="(item, index) in regionCityList" :key="index">
class="picker-item" {{ item.city }}</view>
v-for="(item, index) in regionCityList"
:key="index"
>{{ item.city }}</view>
</picker-view-column> </picker-view-column>
<picker-view-column> <picker-view-column>
<view <view class="picker-item" v-for="(item, index) in regionDistrictList" :key="index">
class="picker-item" {{ item.area }}</view>
v-for="(item, index) in regionDistrictList"
:key="index"
>{{ item.area }}</view>
</picker-view-column> </picker-view-column>
</picker-view> </picker-view>
</view> </view>
@ -135,7 +114,9 @@
import request from '@/utils/request' import request from '@/utils/request'
import ChinaCitys from './data/ChinaCitys.json' import ChinaCitys from './data/ChinaCitys.json'
import store from '@/store' import store from '@/store'
import { setVersion } from '@/utils/version.js' import {
setVersion
} from '@/utils/version.js'
export default { export default {
data() { data() {
@ -263,15 +244,16 @@
} }
this.startDependencyInitLock() this.startDependencyInitLock()
if (hasLocation) { if (hasLocation) {
this.applyMapLocation(options.longitude, options.latitude, true)
this.applyMapLocation(options.longitude, options.latitude, false)
return return
} }
const dependencyCode = options.dependency_code const dependencyCode = options.dependency_code
;(async () => { ;
(async () => {
let center = null let center = null
if (dependencyCode && regions[2]) { if (dependencyCode && regions[2]) {
@ -294,7 +276,7 @@
this.updateMapCenter( this.updateMapCenter(
parseFloat(locationRes[0]), parseFloat(locationRes[0]),
parseFloat(locationRes[1]), parseFloat(locationRes[1]),
true false
) )
} }
} else if (!skipAutoLocate) { } else if (!skipAutoLocate) {
@ -326,6 +308,7 @@
this.suppressInitDetailFill = true this.suppressInitDetailFill = true
} }
this.reverseGeocode(parseFloat(options.longitude), parseFloat(options.latitude)) this.reverseGeocode(parseFloat(options.longitude), parseFloat(options.latitude))
return return
} }
@ -374,7 +357,7 @@
this.blankPageInitLock = false this.blankPageInitLock = false
this.getCurrentLocation(silentLocate, false) this.getCurrentLocation(silentLocate, false)
} }
}, },
onShow() { onShow() {
if (!this.isSelectCity) return if (!this.isSelectCity) return
@ -504,6 +487,7 @@
this.mapReverseTimer = null this.mapReverseTimer = null
} }
if (!noReverse) { if (!noReverse) {
this.mapReverseTimer = setTimeout(() => { this.mapReverseTimer = setTimeout(() => {
this.reverseGeocode(lng, lat) this.reverseGeocode(lng, lat)
@ -556,7 +540,11 @@
}, },
findRegionIndexByCode(baseData, provinceCode, cityCode, areaCode) { findRegionIndexByCode(baseData, provinceCode, cityCode, areaCode) {
const result = { provinceIndex: -1, cityIndex: -1, areaIndex: -1 } const result = {
provinceIndex: -1,
cityIndex: -1,
areaIndex: -1
}
const targetProvinceCode = (provinceCode || '').slice(0, 6) const targetProvinceCode = (provinceCode || '').slice(0, 6)
const targetCityCode = (cityCode || '').slice(0, 6) const targetCityCode = (cityCode || '').slice(0, 6)
const targetAreaCode = (areaCode || '').slice(0, 6) const targetAreaCode = (areaCode || '').slice(0, 6)
@ -613,7 +601,10 @@
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const handleFail = (err) => { const handleFail = (err) => {
if (!silent) { if (!silent) {
uni.showToast({ title: '获取位置失败', icon: 'none' }) uni.showToast({
title: '获取位置失败',
icon: 'none'
})
} }
reject(err) reject(err)
} }
@ -966,7 +957,10 @@
clearRawAddress() { clearRawAddress() {
this.rawAddress = '' this.rawAddress = ''
uni.showToast({ title: '已清空', icon: 'none' }) uni.showToast({
title: '已清空',
icon: 'none'
})
}, },
onDetailInput(e) { onDetailInput(e) {
@ -982,7 +976,10 @@
success: (res) => { success: (res) => {
if (res.data) { if (res.data) {
this.rawAddress = res.data this.rawAddress = res.data
uni.showToast({ title: '已粘贴', icon: 'none' }) uni.showToast({
title: '已粘贴',
icon: 'none'
})
} }
} }
}) })
@ -1125,15 +1122,27 @@
validateRecognizedDetail(detailText, geo, hit = {}) { validateRecognizedDetail(detailText, geo, hit = {}) {
const cleaned = String(detailText || '').trim() const cleaned = String(detailText || '').trim()
if (!cleaned) { if (!cleaned) {
return { valid: false, cleaned: '', reason: 'empty' } return {
valid: false,
cleaned: '',
reason: 'empty'
}
} }
if (this.isLikelyInvalidRecognizedDetail(cleaned)) { if (this.isLikelyInvalidRecognizedDetail(cleaned)) {
return { valid: false, cleaned: '', reason: 'invalid_detail' } return {
valid: false,
cleaned: '',
reason: 'invalid_detail'
}
} }
if (!geo) { if (!geo) {
return { valid: false, cleaned: '', reason: 'geocode_failed' } return {
valid: false,
cleaned: '',
reason: 'geocode_failed'
}
} }
const geoLevel = String(geo?.level || '').trim() const geoLevel = String(geo?.level || '').trim()
@ -1156,14 +1165,26 @@
!/[A-Za-z]{6,}/.test(cleaned) !/[A-Za-z]{6,}/.test(cleaned)
if (hasAddressFeature || preciseLevel) { if (hasAddressFeature || preciseLevel) {
return { valid: true, cleaned, reason: '' } return {
valid: true,
cleaned,
reason: ''
}
} }
if (sameDistrict && purePoiLike) { if (sameDistrict && purePoiLike) {
return { valid: true, cleaned, reason: 'district_geo_verified' } return {
valid: true,
cleaned,
reason: 'district_geo_verified'
}
} }
return { valid: false, cleaned: '', reason: 'detail_not_precise' } return {
valid: false,
cleaned: '',
reason: 'detail_not_precise'
}
}, },
cleanRecognizedDetail(detail, province, city, district) { cleanRecognizedDetail(detail, province, city, district) {
@ -1425,10 +1446,14 @@
const lonlatParsed = this.parseLonlatInfo(res?.data?.lonlat || {}) const lonlatParsed = this.parseLonlatInfo(res?.data?.lonlat || {})
return { return {
province_name: (street.province_name || street.province || stdParsed.province_name || divisionParsed.province_name || '').trim(), province_name: (street.province_name || street.province || stdParsed.province_name ||
city_name: (street.city_name || street.city || stdParsed.city_name || divisionParsed.city_name || '').trim(), divisionParsed.province_name || '').trim(),
county_name: (street.county_name || street.district || street.county || stdParsed.county_name || divisionParsed.county_name || '').trim(), city_name: (street.city_name || street.city || stdParsed.city_name || divisionParsed.city_name ||
town_name: (street.town_name || street.town || street.street_name || stdParsed.town_name || divisionParsed.town_name || '').trim(), '').trim(),
county_name: (street.county_name || street.district || street.county || stdParsed.county_name ||
divisionParsed.county_name || '').trim(),
town_name: (street.town_name || street.town || street.street_name || stdParsed.town_name ||
divisionParsed.town_name || '').trim(),
road_name: (street.road_name || street.road || stdParsed.road_name || '').trim(), road_name: (street.road_name || street.road || stdParsed.road_name || '').trim(),
road_no: (street.road_no || street.roadno || stdParsed.road_no || '').trim(), road_no: (street.road_no || street.roadno || stdParsed.road_no || '').trim(),
poi_name: (street.poi_name || street.poi || stdParsed.poi_name || '').trim(), poi_name: (street.poi_name || street.poi || stdParsed.poi_name || '').trim(),
@ -1440,9 +1465,11 @@
block_no: (street.block_no || street.block || stdParsed.block_no || '').trim(), block_no: (street.block_no || street.block || stdParsed.block_no || '').trim(),
detail: (street.detail || street.address || stdParsed.detail || stdParsed.address || '').trim(), detail: (street.detail || street.address || stdParsed.detail || stdParsed.address || '').trim(),
address: (street.address || street.detail || stdParsed.address || stdParsed.detail || '').trim(), address: (street.address || street.detail || stdParsed.address || stdParsed.detail || '').trim(),
province_code: (street.province_code || stdParsed.province_code || divisionParsed.province_code || '').trim(), province_code: (street.province_code || stdParsed.province_code || divisionParsed.province_code ||
'').trim(),
city_code: (street.city_code || stdParsed.city_code || divisionParsed.city_code || '').trim(), city_code: (street.city_code || stdParsed.city_code || divisionParsed.city_code || '').trim(),
county_code: (street.county_code || street.district_code || stdParsed.county_code || divisionParsed.county_code || '').trim(), county_code: (street.county_code || street.district_code || stdParsed.county_code || divisionParsed
.county_code || '').trim(),
backend_gcj02: lonlatParsed.gcj02, backend_gcj02: lonlatParsed.gcj02,
backend_wgs84: lonlatParsed.wgs84, backend_wgs84: lonlatParsed.wgs84,
backend_level: lonlatParsed.level, backend_level: lonlatParsed.level,
@ -1680,13 +1707,19 @@
this.suppressInitDetailFill = false this.suppressInitDetailFill = false
if (!this.hasRawContent) { if (!this.hasRawContent) {
uni.showToast({ title: '请先粘贴或输入地址', icon: 'none' }) uni.showToast({
title: '请先粘贴或输入地址',
icon: 'none'
})
return return
} }
const originalRawText = (this.rawAddress || '').trim() const originalRawText = (this.rawAddress || '').trim()
if (!originalRawText) { if (!originalRawText) {
uni.showToast({ title: '请先粘贴或输入地址', icon: 'none' }) uni.showToast({
title: '请先粘贴或输入地址',
icon: 'none'
})
return return
} }
@ -1697,11 +1730,16 @@
const removedNoise = sanitizedText !== originalRawText const removedNoise = sanitizedText !== originalRawText
if (!sanitizedText) { if (!sanitizedText) {
uni.showToast({ title: '未提取到有效地址', icon: 'none' }) uni.showToast({
title: '未提取到有效地址',
icon: 'none'
})
return return
} }
uni.showLoading({ title: '识别中...' }) uni.showLoading({
title: '识别中...'
})
try { try {
const res = await this.requestRecognizeAddress(sanitizedText) const res = await this.requestRecognizeAddress(sanitizedText)
@ -1851,7 +1889,8 @@
showCancel: false showCancel: false
}) })
} else { } else {
const tip = this.getRecognizeToast(level, removedNoise, geocodeOk, hit, detailText, detailRejected) const tip = this.getRecognizeToast(level, removedNoise, geocodeOk, hit, detailText,
detailRejected)
if (tip.type === 'modal') { if (tip.type === 'modal') {
uni.showModal({ uni.showModal({
title: tip.title, title: tip.title,
@ -1868,7 +1907,8 @@
return return
} }
this.commitRecognizedResult(province, city, district, regionText, detailText, geo, level, removedNoise, geocodeOk, hit, detailRejected) this.commitRecognizedResult(province, city, district, regionText, detailText, geo, level,
removedNoise, geocodeOk, hit, detailRejected)
} catch (error) { } catch (error) {
console.error('智能识别失败:', error) console.error('智能识别失败:', error)
uni.hideLoading() uni.hideLoading()
@ -2015,7 +2055,8 @@
} }
}, },
commitRecognizedResult(province, city, district, regionText, detailText, geo, level, removedNoise, geocodeOk, hit, detailRejected) { commitRecognizedResult(province, city, district, regionText, detailText, geo, level, removedNoise, geocodeOk,
hit, detailRejected) {
this.currentProvince = province this.currentProvince = province
this.currentCity = city this.currentCity = city
this.currentDistrict = district this.currentDistrict = district
@ -2165,7 +2206,10 @@
const districtItem = this.regionDistrictList[districtIdx] const districtItem = this.regionDistrictList[districtIdx]
if (!provinceItem || !cityItem || !districtItem) { if (!provinceItem || !cityItem || !districtItem) {
uni.showToast({ title: '选择无效', icon: 'none' }) uni.showToast({
title: '选择无效',
icon: 'none'
})
return return
} }
@ -2195,7 +2239,10 @@
const [lng, lat] = center.split(',') const [lng, lat] = center.split(',')
this.updateMapCenter(parseFloat(lng), parseFloat(lat), true) this.updateMapCenter(parseFloat(lng), parseFloat(lat), true)
} else { } else {
uni.showToast({ title: '无法定位该地区,请手动拖动地图', icon: 'none' }) uni.showToast({
title: '无法定位该地区,请手动拖动地图',
icon: 'none'
})
} }
this.closeRegionPicker() this.closeRegionPicker()
@ -2221,7 +2268,8 @@
keywords: adcode.slice(0, 6) keywords: adcode.slice(0, 6)
}, },
success: (res) => { success: (res) => {
if (res.data.status === '1' && res.data.districts && res.data.districts.length > 0) { if (res.data.status === '1' && res.data.districts &&
res.data.districts.length > 0) {
const district = res.data.districts[0] const district = res.data.districts[0]
if (district.center) { if (district.center) {
resolveInner(district.center) resolveInner(district.center)
@ -2245,7 +2293,8 @@
keywords: keyword keywords: keyword
}, },
success: (res) => { success: (res) => {
if (res.data.status === '1' && res.data.districts && res.data.districts.length > 0) { if (res.data.status === '1' && res.data.districts &&
res.data.districts.length > 0) {
const district = res.data.districts[0] const district = res.data.districts[0]
if (district.center) { if (district.center) {
resolveInner(district.center) resolveInner(district.center)
@ -2294,10 +2343,10 @@
const source = this.source || currentPage.options.source const source = this.source || currentPage.options.source
// //
if(addressItem.cityCode == 500100){ if (addressItem.cityCode == 500100) {
addressItem.cityname = "重庆城区" addressItem.cityname = "重庆城区"
} }
if(addressItem.cityCode == 500200){ if (addressItem.cityCode == 500200) {
addressItem.cityname = "重庆郊县" addressItem.cityname = "重庆郊县"
} }
@ -2418,7 +2467,8 @@
left: 0; left: 0;
right: 0; right: 0;
background-color: #FFFFFF; background-color: #FFFFFF;
padding: 20rpx 20rpx env(safe-area-inset-bottom) 20rpx; /* 适配刘海屏 */ padding: 20rpx 20rpx env(safe-area-inset-bottom) 20rpx;
/* 适配刘海屏 */
box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05); box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05);
z-index: 10; z-index: 10;
} }
@ -2583,10 +2633,12 @@
opacity: 0; opacity: 0;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
.popup.show { .popup.show {
visibility: visible !important; visibility: visible !important;
opacity: 1 !important; opacity: 1 !important;
} }
.popup-mask { .popup-mask {
position: fixed; position: fixed;
top: 0; top: 0;
@ -2595,6 +2647,7 @@
bottom: 0; bottom: 0;
background-color: rgba(0, 0, 0, 0.5); background-color: rgba(0, 0, 0, 0.5);
} }
.popup-content { .popup-content {
position: relative; position: relative;
background-color: #ffffff; background-color: #ffffff;
@ -2604,9 +2657,11 @@
transition: transform 0.3s ease; transition: transform 0.3s ease;
max-height: 70vh; max-height: 70vh;
} }
.popup.show .popup-content { .popup.show .popup-content {
transform: translateY(0); transform: translateY(0);
} }
.popup-header { .popup-header {
display: flex; display: flex;
align-items: center; align-items: center;
@ -2615,23 +2670,28 @@
padding: 0 0 20rpx 0; padding: 0 0 20rpx 0;
border-bottom: 1rpx solid #F0F0F0; border-bottom: 1rpx solid #F0F0F0;
} }
.popup-title { .popup-title {
font-size: 32rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
color: #333; color: #333;
} }
.popup-close { .popup-close {
font-size: 40rpx; font-size: 40rpx;
color: #999; color: #999;
padding: 10rpx; padding: 10rpx;
} }
.region-body { .region-body {
height: 400rpx; height: 400rpx;
overflow: hidden; overflow: hidden;
} }
.picker-scroll { .picker-scroll {
height: 400rpx; height: 400rpx;
} }
.picker-item { .picker-item {
height: 68rpx; height: 68rpx;
line-height: 68rpx; line-height: 68rpx;
@ -2639,12 +2699,14 @@
font-size: 28rpx; font-size: 28rpx;
color: #333; color: #333;
} }
.popup-footer { .popup-footer {
display: flex; display: flex;
margin-top: 30rpx; margin-top: 30rpx;
padding-top: 20rpx; padding-top: 20rpx;
border-top: 1rpx solid #F0F0F0; border-top: 1rpx solid #F0F0F0;
} }
.popup-btn { .popup-btn {
flex: 1; flex: 1;
height: 88rpx; height: 88rpx;
@ -2654,22 +2716,28 @@
justify-content: center; justify-content: center;
margin: 0 16rpx; margin: 0 16rpx;
} }
.popup-btn.cancel { .popup-btn.cancel {
background-color: #f5f5f5; background-color: #f5f5f5;
} }
.popup-btn.confirm { .popup-btn.confirm {
background: #e8101e; background: #e8101e;
} }
.popup-btn .btn-text { .popup-btn .btn-text {
font-size: 32rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
} }
.popup-btn.cancel .btn-text { .popup-btn.cancel .btn-text {
color: #666666; color: #666666;
} }
.popup-btn.confirm .btn-text { .popup-btn.confirm .btn-text {
color: #ffffff; color: #ffffff;
} }
/* 指示器样式(沿用原有) */ /* 指示器样式(沿用原有) */
.indicatorStyle { .indicatorStyle {
height: 68rpx; height: 68rpx;

View File

@ -134,9 +134,9 @@
</view> </view>
<view class="detail-row"> <view class="detail-row">
<text class="form-label required">服务功效</text> <text class="form-label required">服务内容</text>
<view class="detail-textarea-wrap"> <view class="detail-textarea-wrap">
<textarea class="detail-textarea" v-model="detailForm.effect" placeholder="请输入服务功效" <textarea class="detail-textarea" v-model="detailForm.effect" placeholder="请输入服务内容"
placeholder-class="placeholder" maxlength="200"></textarea> placeholder-class="placeholder" maxlength="200"></textarea>
<text class="detail-count">{{(detailForm.effect || '').length}}/200</text> <text class="detail-count">{{(detailForm.effect || '').length}}/200</text>
</view> </view>
@ -442,7 +442,7 @@
// detail // detail
if (!this.formData.efficacy && !this.formData.crowd && !this.formData.product) { if (!this.formData.efficacy && !this.formData.crowd && !this.formData.product) {
(detail || []).forEach((item) => { (detail || []).forEach((item) => {
if (item.title === "服务功效") { if (item.title === "服务内容" || item.title === "服务功效") {
this.detailForm.effect = item.text || ""; this.detailForm.effect = item.text || "";
} else if (item.title === "适用人群") { } else if (item.title === "适用人群") {
this.detailForm.crowd = item.text || ""; this.detailForm.crowd = item.text || "";
@ -475,7 +475,7 @@
checkDetailForm() { checkDetailForm() {
if (!this.detailForm.effect || !this.detailForm.effect.trim()) { if (!this.detailForm.effect || !this.detailForm.effect.trim()) {
uni.showToast({ uni.showToast({
title: "请输入服务功效", title: "请输入服务内容",
icon: "none", icon: "none",
}); });
return false; return false;

View File

@ -166,8 +166,8 @@
obj.name = item.name || item.auth_name obj.name = item.name || item.auth_name
} }
if (item.id == 0) { if (item.id == 0) {
obj.url = item.url obj.url = item.url || item.auth_url
obj.name = item.name obj.name = item.name || item.name
} }
if (item.type == 2) { if (item.type == 2) {
obj.url = obj.url + `?x-oss-process=video/snapshot,t_1000,m_fast,f_jpg,w_600,ar_auto` obj.url = obj.url + `?x-oss-process=video/snapshot,t_1000,m_fast,f_jpg,w_600,ar_auto`