hookehuyr

fix(Activities): 添加老版本进入时的兼容处理

- 恢复 getMapUrlAPI 导入以支持老版本跳转方式
- 新版本从 ActivitiesDetail 进入时使用 URL 参数 mapUrl
- 老版本从 ActivitiesCover 进入时调用 getMapUrlAPI 接口获取
- 两种方式都能正常工作,确保向后兼容

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
......@@ -39,6 +39,7 @@ import Taro from '@tarojs/taro'
import BottomNav from '../../components/BottomNav.vue'
// 获取接口信息
import { getUserProfileAPI } from '@/api/user'
import { getMapUrlAPI } from '@/api/map'
/**
* 活动页面WebView组件
......@@ -135,20 +136,29 @@ const initPageData = async () => {
const { mapUrl, current_lng, current_lat, discount_title, activityId } =
instance.router?.params || {}
// 解码地图 URL
// 兼容处理:优先使用 URL 参数中的 mapUrl,如果没有则调用接口获取
if (mapUrl) {
// 新版本:从 ActivitiesDetail 传递的 mapUrl 参数
baseUrl.value = decodeURIComponent(mapUrl)
console.log('✅ 从 URL 参数获取到的地图URL:', baseUrl.value)
} else {
console.error('❌ 未接收到地图URL参数')
// 显示错误提示
error.value = true
loading.value = false
Taro.showToast({
title: '缺少地图信息',
icon: 'none',
})
return
// 老版本:从 ActivitiesCover 进入,需要调用接口获取地图 URL
console.log('⚠️ 未接收到 mapUrl 参数,尝试调用接口获取(老版本兼容)')
const mapUrlResponse = await getMapUrlAPI()
if (mapUrlResponse.code === 1 && mapUrlResponse.data?.url) {
baseUrl.value = mapUrlResponse.data.url
console.log('✅ 通过接口获取到的地图URL:', baseUrl.value)
} else {
console.error('❌ 获取地图URL失败:', mapUrlResponse.msg)
// 显示错误提示
error.value = true
loading.value = false
Taro.showToast({
title: mapUrlResponse.msg || '获取地图信息失败',
icon: 'none',
})
return
}
}
// 获取用户信息
......