hookehuyr

feat(Activities): 完成活动ID参数传递并禁用mock数据

- 在Activities页面添加activityId参数处理
- ActivitiesDetail页面跳转时传递activityId
- 在ActivitiesDetail和CheckinMap页面禁用mock数据(USE_MOCK_DATA=false)
- 完善活动ID在整个导航链路中的传递

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
......@@ -108,10 +108,10 @@ const handleGoBack = () => {
/**
* 构建包含位置参数的URL
*/
const buildUrlWithLocation = (lng, lat, openid, discount_title) => {
const buildUrlWithLocation = (lng, lat, openid, discount_title, activityId) => {
if (lng && lat && baseUrl.value) {
const separator = baseUrl.value.includes('?') ? '&' : '?'
return `${baseUrl.value}${separator}current_lng=${lng}&current_lat=${lat}&openid=${openid}&discount_title=${discount_title}`
return `${baseUrl.value}${separator}current_lng=${lng}&current_lat=${lat}&openid=${openid}&discount_title=${discount_title}&activityId=${activityId}`
}
return baseUrl.value || ''
}
......@@ -143,13 +143,19 @@ const initPageData = async () => {
if (code) {
// 获取路由参数中的经纬度信息
const instance = Taro.getCurrentInstance()
const { current_lng, current_lat, discount_title } = instance.router?.params || {}
const { current_lng, current_lat, discount_title, activityId } = instance.router?.params || {}
console.log('接收到的位置参数:', { current_lng, current_lat, discount_title })
console.log('接收到的位置参数:', { current_lng, current_lat, discount_title, activityId })
// 处理用户信息
const openid = data?.user.openid || ''
// 构建完整的URL
webUrl.value = buildUrlWithLocation(current_lng, current_lat, openid, discount_title)
webUrl.value = buildUrlWithLocation(
current_lng,
current_lat,
openid,
discount_title,
activityId
)
console.log('最终WebView URL:', webUrl.value)
}
......
<!--
* @Date: 2026-02-09
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2026-02-10 09:58:37
* @LastEditTime: 2026-02-10 10:27:35
* @FilePath: /lls_program/src/pages/ActivitiesDetail/index.vue
* @Description: 活动详情页面 - 完全使用 map_activity.js 新接口,支持多活动详情展示
-->
......@@ -155,8 +155,8 @@ import { THEME_COLORS } from '@/utils/config'
import { mockMapActivityDetailAPI } from '@/utils/mockData'
// 环境变量:是否使用 mock 数据
const USE_MOCK_DATA = process.env.NODE_ENV === 'development'
// const USE_MOCK_DATA = false
// const USE_MOCK_DATA = process.env.NODE_ENV === 'development'
const USE_MOCK_DATA = false
// 默认海报图
const defaultPoster = ref(
......@@ -581,7 +581,7 @@ const handleJoinActivity = async () => {
// 跳转到Activities页面,并传递位置参数
await Taro.navigateTo({
url: `/pages/Activities/index?current_lng=${userLocation.value.lng}&current_lat=${userLocation.value.lat}&discount_title=${activityData.value.discount_title}`,
url: `/pages/Activities/index?current_lng=${userLocation.value.lng}&current_lat=${userLocation.value.lat}&discount_title=${activityData.value.discount_title}&activityId=${activityId.value}`,
})
} catch (error) {
console.error('参加活动失败:', error)
......@@ -974,6 +974,7 @@ const transformApiDataToActivityData = apiData => {
rules: rules,
rewards: rewards,
discount_title: apiData.discount_title || '打卡点专属优惠',
activityId: apiData.id || '',
}
}
......
<!--
* @Date: 2026-02-05 19:48:00
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2026-02-10 10:19:50
* @LastEditTime: 2026-02-10 10:32:43
* @FilePath: /lls_program/src/pages/CheckinMap/index.vue
* @Description: 便民地图列表页
-->
......@@ -42,8 +42,8 @@ import { mockMapActivityListAPI } from '@/utils/mockData'
import { useLoad } from '@tarojs/taro'
// ⚠️ MOCK 数据开关 - 开发环境使用 mock 数据,生产环境使用真实 API
const USE_MOCK_DATA = process.env.NODE_ENV === 'development'
// const USE_MOCK_DATA = false
// const USE_MOCK_DATA = process.env.NODE_ENV === 'development'
const USE_MOCK_DATA = false
// 默认封面图
const DEFAULT_COVER =
......