hookehuyr

feat(排行榜): 添加助力榜选项并优化区域显示逻辑

refactor(上传): 添加视频审核回调URL参数
style(PointsCollector): 移除调试日志
fix(ActivitiesCover): 更新默认海报图和样式调整
fix(PosterCheckin): 调整底部按钮固定定位
...@@ -170,7 +170,7 @@ const generatePointsData = () => { ...@@ -170,7 +170,7 @@ const generatePointsData = () => {
170 do { 170 do {
171 attempts++; 171 attempts++;
172 if (attempts > maxAttempts) { 172 if (attempts > maxAttempts) {
173 - console.warn('无法为项目找到不重叠的位置,使用安全位置:', item); 173 + // console.warn('无法为项目找到不重叠的位置,使用安全位置:', item);
174 // 使用安全的默认位置 174 // 使用安全的默认位置
175 x = minX + Math.random() * (maxX - minX); 175 x = minX + Math.random() * (maxX - minX);
176 y = minY + Math.random() * (maxY - minY); 176 y = minY + Math.random() * (maxY - minY);
......
...@@ -18,16 +18,20 @@ ...@@ -18,16 +18,20 @@
18 <!-- 滑动指示器 --> 18 <!-- 滑动指示器 -->
19 <view 19 <view
20 class="tab-indicator" 20 class="tab-indicator"
21 - :class="{ 'indicator-shanghai': activeTab === 'shanghai' }" 21 + :class="{
22 + 'indicator-shanghai': activeTab === 'shanghai',
23 + 'indicator-region': activeTab !== 'shanghai' && activeTab !== 'support',
24 + 'indicator-support': activeTab === 'support'
25 + }"
22 ></view> 26 ></view>
23 <view 27 <view
24 - v-for="region in availableRegions.slice(0, 2)" 28 + v-for="region in availableRegions.slice(0, 3)"
25 :key="region.value" 29 :key="region.value"
26 class="tab-item" 30 class="tab-item"
27 :class="{ active: activeTab === region.value }" 31 :class="{ active: activeTab === region.value }"
28 @click="switchTab(region.value)" 32 @click="switchTab(region.value)"
29 > 33 >
30 - {{ region.text === '上海市' ? '上海榜' : region.text.replace('区', '榜') }} 34 + {{ getTabDisplayName(region) }}
31 </view> 35 </view>
32 </view> 36 </view>
33 37
...@@ -154,6 +158,13 @@ const currentDate = ref('') ...@@ -154,6 +158,13 @@ const currentDate = ref('')
154 const switchTab = async (tab) => { 158 const switchTab = async (tab) => {
155 if (activeTab.value === tab) return 159 if (activeTab.value === tab) return
156 160
161 + // 助力榜暂时没有数据,显示提示
162 + if (tab === 'support') {
163 + // TODO: 助力榜功能待开发
164 + console.log('助力榜功能待开发')
165 + return
166 + }
167 +
157 // 开始切换动画 168 // 开始切换动画
158 isContentSwitching.value = true 169 isContentSwitching.value = true
159 170
...@@ -224,27 +235,43 @@ const currentRegionName = computed(() => { ...@@ -224,27 +235,43 @@ const currentRegionName = computed(() => {
224 * 计算可用的区域选项 235 * 计算可用的区域选项
225 */ 236 */
226 const availableRegions = computed(() => { 237 const availableRegions = computed(() => {
227 - // 从current_family.county获取区县信息,优先显示用户区域,然后是上海市 238 + // 固定显示:上海榜、地区榜、助力榜
239 + const regions = [
240 + { text: '上海市', value: 'shanghai' },
241 + { text: '地区', value: 'region' },
242 + { text: '助力', value: 'support' }
243 + ]
244 +
245 + // 如果有用户区县信息,将地区榜的value设置为用户区县
228 const currentFamilyCounty = leaderboardData.value?.current_family?.county 246 const currentFamilyCounty = leaderboardData.value?.current_family?.county
229 if (currentFamilyCounty) { 247 if (currentFamilyCounty) {
230 - // 确保county字段为字符串格式进行比较
231 const userCounty = String(currentFamilyCounty) 248 const userCounty = String(currentFamilyCounty)
232 - // value值需要转成字符串进行比较
233 const userRegion = shanghaiRegionOptions.value.find(item => item.value === userCounty) 249 const userRegion = shanghaiRegionOptions.value.find(item => item.value === userCounty)
234 if (userRegion) { 250 if (userRegion) {
235 - // 用户区域在第一位,上海市在第二位 251 + regions[1] = { text: userRegion.text, value: userCounty }
236 - return [userRegion, { text: '上海市', value: 'shanghai' }]
237 } 252 }
238 } 253 }
239 254
240 - // 默认显示黄浦区和上海市 255 + return regions
241 - return [
242 - { text: '黄浦区', value: '310101' },
243 - { text: '上海市', value: 'shanghai' }
244 - ]
245 }) 256 })
246 257
247 /** 258 /**
259 + * 获取标签页显示名称
260 + * @param {object} region - 区域对象
261 + * @returns {string} 显示名称
262 + */
263 +const getTabDisplayName = (region) => {
264 + if (region.value === 'shanghai') {
265 + return '上海榜'
266 + } else if (region.value === 'support') {
267 + return '助力榜'
268 + } else if (region.value === 'region' || region.text.includes('区') || region.text.includes('县')) {
269 + return '地区榜'
270 + }
271 + return region.text
272 +}
273 +
274 +/**
248 * 格式化步数显示 275 * 格式化步数显示
249 * @param {number} steps - 步数 276 * @param {number} steps - 步数
250 * @returns {string} 格式化后的步数 277 * @returns {string} 格式化后的步数
...@@ -379,7 +406,7 @@ defineExpose({ ...@@ -379,7 +406,7 @@ defineExpose({
379 position: absolute; 406 position: absolute;
380 top: 8rpx; 407 top: 8rpx;
381 left: 8rpx; 408 left: 8rpx;
382 - width: calc(50% - 8rpx); 409 + width: calc(33.33% - 8rpx);
383 height: calc(100% - 16rpx); 410 height: calc(100% - 16rpx);
384 background: rgba(255, 255, 255, 1); 411 background: rgba(255, 255, 255, 1);
385 border-radius: 52rpx; 412 border-radius: 52rpx;
...@@ -388,8 +415,16 @@ defineExpose({ ...@@ -388,8 +415,16 @@ defineExpose({
388 z-index: 1; 415 z-index: 1;
389 416
390 &.indicator-shanghai { 417 &.indicator-shanghai {
418 + transform: translateX(0%);
419 + }
420 +
421 + &.indicator-region {
391 transform: translateX(100%); 422 transform: translateX(100%);
392 } 423 }
424 +
425 + &.indicator-support {
426 + transform: translateX(200%);
427 + }
393 } 428 }
394 429
395 .tab-item { 430 .tab-item {
......
...@@ -11,23 +11,24 @@ ...@@ -11,23 +11,24 @@
11 top: 0; 11 top: 0;
12 left: 0; 12 left: 0;
13 width: 100vw; 13 width: 100vw;
14 - height: calc(100vh - 300rpx); // 减去底部区域的高度,确保背景图不被遮挡 14 + // height: calc(100vh - 260rpx); // 减去底部区域的高度,确保背景图不被遮挡
15 + height: calc(100vh); // 减去底部区域的高度,确保背景图不被遮挡
15 object-fit: cover; 16 object-fit: cover;
16 object-position: top center; 17 object-position: top center;
17 z-index: 1; 18 z-index: 1;
18 } 19 }
19 20
20 // 为容器添加背景色,避免下方空白 21 // 为容器添加背景色,避免下方空白
21 -.activities-cover-container::before { 22 +// .activities-cover-container::before {
22 - content: ''; 23 +// content: '';
23 - position: absolute; 24 +// position: absolute;
24 - top: 0; 25 +// top: 0;
25 - left: 0; 26 +// left: 0;
26 - width: 100%; 27 +// width: 100%;
27 - height: 100%; 28 +// height: 100%;
28 - background: linear-gradient(180deg, #f0f8ff 0%, #e6f3ff 50%, #ddeeff 100%); 29 +// background: linear-gradient(180deg, #f0f8ff 0%, #e6f3ff 50%, #ddeeff 100%);
29 - z-index: 0; 30 +// z-index: 0;
30 -} 31 +// }
31 32
32 // 分享按钮包装器 33 // 分享按钮包装器
33 .share-button-wrapper { 34 .share-button-wrapper {
...@@ -45,15 +46,15 @@ ...@@ -45,15 +46,15 @@
45 right: 0; 46 right: 0;
46 padding: 40rpx; 47 padding: 40rpx;
47 padding-bottom: 180rpx; // 为底部导航留出空间 48 padding-bottom: 180rpx; // 为底部导航留出空间
48 - background: linear-gradient( 49 + // background: linear-gradient(
49 - transparent 0%, 50 + // transparent 0%,
50 - rgba(0, 0, 0, 0.1) 20%, 51 + // rgba(0, 0, 0, 0.1) 20%,
51 - rgba(0, 0, 0, 0.3) 50%, 52 + // rgba(0, 0, 0, 0.3) 50%,
52 - rgba(0, 0, 0, 0.6) 80%, 53 + // rgba(0, 0, 0, 0.6) 80%,
53 - rgba(0, 0, 0, 0.8) 100% 54 + // rgba(0, 0, 0, 0.8) 100%
54 - ); 55 + // );
55 - backdrop-filter: blur(30rpx); 56 + // backdrop-filter: blur(30rpx);
56 - -webkit-backdrop-filter: blur(30rpx); 57 + // -webkit-backdrop-filter: blur(30rpx);
57 z-index: 5; 58 z-index: 5;
58 59
59 // 增加渐变高度,让过渡更自然 60 // 增加渐变高度,让过渡更自然
......
1 <!-- 1 <!--
2 * @Date: 2022-09-19 14:11:06 2 * @Date: 2022-09-19 14:11:06
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-09-13 09:55:16 4 + * @LastEditTime: 2025-09-15 14:10:11
5 * @FilePath: /lls_program/src/pages/ActivitiesCover/index.vue 5 * @FilePath: /lls_program/src/pages/ActivitiesCover/index.vue
6 * @Description: 活动海报页面 - 展示活动信息并处理定位授权 6 * @Description: 活动海报页面 - 展示活动信息并处理定位授权
7 --> 7 -->
...@@ -143,7 +143,7 @@ import { handleSharePageAuth, addShareFlag } from '@/utils/authRedirect' ...@@ -143,7 +143,7 @@ import { handleSharePageAuth, addShareFlag } from '@/utils/authRedirect'
143 import { THEME_COLORS } from '@/utils/config'; 143 import { THEME_COLORS } from '@/utils/config';
144 144
145 // 默认海报图 145 // 默认海报图
146 -const defaultPoster = 'https://cdn.ipadbiz.cn/lls_prog/images/welcome_3.jpg'; 146 +const defaultPoster = 'https://cdn.ipadbiz.cn/lls_prog/images/welcome_5.jpg';
147 /** 147 /**
148 * 活动海报页面组件 148 * 活动海报页面组件
149 * 功能:展示活动信息、处理定位授权、跳转到活动页面 149 * 功能:展示活动信息、处理定位授权、跳转到活动页面
......
1 <!-- 1 <!--
2 * @Date: 2025-09-01 13:07:52 2 * @Date: 2025-09-01 13:07:52
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-09-11 15:42:29 4 + * @LastEditTime: 2025-09-15 15:10:07
5 * @FilePath: /lls_program/src/pages/FamilyRank/index.vue 5 * @FilePath: /lls_program/src/pages/FamilyRank/index.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -13,16 +13,20 @@ ...@@ -13,16 +13,20 @@
13 <!-- 滑动指示器 --> 13 <!-- 滑动指示器 -->
14 <view 14 <view
15 class="tab-indicator" 15 class="tab-indicator"
16 - :class="{ 'indicator-shanghai': activeTab === 'shanghai' }" 16 + :class="{
17 + 'indicator-shanghai': activeTab === 'shanghai',
18 + 'indicator-region': activeTab !== 'shanghai' && activeTab !== 'support',
19 + 'indicator-support': activeTab === 'support'
20 + }"
17 ></view> 21 ></view>
18 <view 22 <view
19 - v-for="region in availableRegions.slice(0, 2)" 23 + v-for="region in availableRegions.slice(0, 3)"
20 :key="region.value" 24 :key="region.value"
21 class="tab-item" 25 class="tab-item"
22 :class="{ active: activeTab === region.value }" 26 :class="{ active: activeTab === region.value }"
23 @click="switchTab(region.value)" 27 @click="switchTab(region.value)"
24 > 28 >
25 - {{ region.text === '上海市' ? '上海榜' : region.text.replace('区', '榜') }} 29 + {{ getTabDisplayName(region) }}
26 </view> 30 </view>
27 </view> 31 </view>
28 </view> 32 </view>
...@@ -180,6 +184,13 @@ const currentDate = ref('') ...@@ -180,6 +184,13 @@ const currentDate = ref('')
180 const switchTab = async (tab) => { 184 const switchTab = async (tab) => {
181 if (activeTab.value === tab) return 185 if (activeTab.value === tab) return
182 186
187 + // 助力榜暂时没有数据,显示提示
188 + if (tab === 'support') {
189 + // TODO: 助力榜功能待开发
190 + console.log('助力榜功能待开发')
191 + return
192 + }
193 +
183 // 开始切换动画 194 // 开始切换动画
184 isContentSwitching.value = true 195 isContentSwitching.value = true
185 196
...@@ -234,18 +245,6 @@ const loadLeaderboardData = async (isInitialLoad = false) => { ...@@ -234,18 +245,6 @@ const loadLeaderboardData = async (isInitialLoad = false) => {
234 if (response.code) { 245 if (response.code) {
235 leaderboardData.value = response.data 246 leaderboardData.value = response.data
236 currentDate.value = response.data.yesterday 247 currentDate.value = response.data.yesterday
237 -
238 - // 只在初始加载时从current_family.county获取区县信息,设置默认tab
239 - if (isInitialLoad && response.data.current_family) {
240 - const currentFamilyCounty = response.data.current_family.county;
241 - if (currentFamilyCounty && String(currentFamilyCounty) !== activeTab.value) {
242 - // 只在county与当前activeTab不同时才设置,确保county字段为字符串格式
243 - activeTab.value = String(currentFamilyCounty)
244 - // 设置activeTab后需要重新加载数据以获取正确的区县排行榜
245 - await loadLeaderboardData(false)
246 - return
247 - }
248 - }
249 } 248 }
250 } catch (error) { 249 } catch (error) {
251 console.error('获取排行榜数据失败:', error) 250 console.error('获取排行榜数据失败:', error)
...@@ -269,27 +268,43 @@ const currentRegionName = computed(() => { ...@@ -269,27 +268,43 @@ const currentRegionName = computed(() => {
269 * 计算可用的区域选项 268 * 计算可用的区域选项
270 */ 269 */
271 const availableRegions = computed(() => { 270 const availableRegions = computed(() => {
272 - // 从current_family.county获取区县信息,优先显示用户区域,然后是上海市 271 + // 固定显示:上海榜、地区榜、助力榜
272 + const regions = [
273 + { text: '上海市', value: 'shanghai' },
274 + { text: '地区', value: 'region' },
275 + { text: '助力', value: 'support' }
276 + ]
277 +
278 + // 如果有用户区县信息,将地区榜的value设置为用户区县
273 const currentFamilyCounty = leaderboardData.value?.current_family?.county 279 const currentFamilyCounty = leaderboardData.value?.current_family?.county
274 if (currentFamilyCounty) { 280 if (currentFamilyCounty) {
275 - // 确保county字段为字符串格式进行比较
276 const userCounty = String(currentFamilyCounty) 281 const userCounty = String(currentFamilyCounty)
277 - // value值需要转成字符串进行比较
278 const userRegion = shanghaiRegionOptions.value.find(item => item.value === userCounty) 282 const userRegion = shanghaiRegionOptions.value.find(item => item.value === userCounty)
279 if (userRegion) { 283 if (userRegion) {
280 - // 用户区域在第一位,上海市在第二位 284 + regions[1] = { text: userRegion.text, value: userCounty }
281 - return [userRegion, { text: '上海市', value: 'shanghai' }]
282 } 285 }
283 } 286 }
284 287
285 - // 默认显示黄浦区和上海市 288 + return regions
286 - return [
287 - { text: '黄浦区', value: '310101' },
288 - { text: '上海市', value: 'shanghai' }
289 - ]
290 }) 289 })
291 290
292 /** 291 /**
292 + * 获取标签页显示名称
293 + * @param {object} region - 区域对象
294 + * @returns {string} 显示名称
295 + */
296 +const getTabDisplayName = (region) => {
297 + if (region.value === 'shanghai') {
298 + return '上海榜'
299 + } else if (region.value === 'support') {
300 + return '助力榜'
301 + } else {
302 + // 直接显示区域名称,如"黄浦区"、"杨浦区"等
303 + return region.text
304 + }
305 +}
306 +
307 +/**
293 * 计算前三名数据 308 * 计算前三名数据
294 */ 309 */
295 const topThreeData = computed(() => { 310 const topThreeData = computed(() => {
...@@ -338,7 +353,9 @@ const myRankInfo = computed(() => { ...@@ -338,7 +353,9 @@ const myRankInfo = computed(() => {
338 * 页面初始化 353 * 页面初始化
339 */ 354 */
340 onMounted(async () => { 355 onMounted(async () => {
341 - // 直接加载排行榜数据,使用current_county参数获取当前家庭所在区县信息 356 + // 默认选中上海榜
357 + activeTab.value = 'shanghai'
358 + // 加载排行榜数据
342 await loadLeaderboardData(true) 359 await loadLeaderboardData(true)
343 }) 360 })
344 </script> 361 </script>
...@@ -366,7 +383,7 @@ onMounted(async () => { ...@@ -366,7 +383,7 @@ onMounted(async () => {
366 position: absolute; 383 position: absolute;
367 top: 8rpx; 384 top: 8rpx;
368 left: 8rpx; 385 left: 8rpx;
369 - width: calc(50% - 8rpx); 386 + width: calc(33.33% - 8rpx);
370 height: calc(100% - 16rpx); 387 height: calc(100% - 16rpx);
371 background: rgba(255, 255, 255, 1); 388 background: rgba(255, 255, 255, 1);
372 border-radius: 52rpx; 389 border-radius: 52rpx;
...@@ -375,8 +392,16 @@ onMounted(async () => { ...@@ -375,8 +392,16 @@ onMounted(async () => {
375 z-index: 1; 392 z-index: 1;
376 393
377 &.indicator-shanghai { 394 &.indicator-shanghai {
395 + transform: translateX(0%);
396 + }
397 +
398 + &.indicator-region {
378 transform: translateX(100%); 399 transform: translateX(100%);
379 } 400 }
401 +
402 + &.indicator-support {
403 + transform: translateX(200%);
404 + }
380 } 405 }
381 406
382 .tab-item { 407 .tab-item {
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
28 </view> 28 </view>
29 29
30 <!-- 海报预览区域 - 正常状态 --> 30 <!-- 海报预览区域 - 正常状态 -->
31 - <view v-if="pageState === 'normal'" class="flex-1 mx-4 mb-2 bg-white rounded-lg relative" style="overflow: visible;"> 31 + <view v-if="pageState === 'normal'" class="flex-1 mx-4 relative" style="overflow: visible; padding-bottom: 100rpx;">
32 <view class="h-full relative flex items-center justify-center"> 32 <view class="h-full relative flex items-center justify-center">
33 <view v-if="currentPoster.path" class="w-full h-full relative"> 33 <view v-if="currentPoster.path" class="w-full h-full relative">
34 <image 34 <image
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
79 </view> 79 </view>
80 80
81 <!-- 底部操作按钮 - 仅在正常状态显示 --> 81 <!-- 底部操作按钮 - 仅在正常状态显示 -->
82 - <view v-if="pageState === 'normal'" class="bg-white border-t border-gray-200 p-4 safe-area-bottom"> 82 + <view v-if="pageState === 'normal'" class="bg-white border-t border-gray-200 p-4 safe-area-bottom" style="position: fixed; bottom: 0; left: 0; right: 0;">
83 <view class="flex gap-4"> 83 <view class="flex gap-4">
84 <view 84 <view
85 class="flex-1 bg-gradient-to-r from-orange-400 to-orange-500 text-white py-3 px-6 rounded-lg font-medium shadow-lg active:scale-95 transition-transform duration-150 flex items-center justify-center gap-2" 85 class="flex-1 bg-gradient-to-r from-orange-400 to-orange-500 text-white py-3 px-6 rounded-lg font-medium shadow-lg active:scale-95 transition-transform duration-150 flex items-center justify-center gap-2"
......
...@@ -151,6 +151,7 @@ import { savePhotoAPI } from '@/api/photo'; ...@@ -151,6 +151,7 @@ import { savePhotoAPI } from '@/api/photo';
151 151
152 // 152 //
153 const playIcon = 'https://cdn.ipadbiz.cn/lls_prog/icon/play.svg'; 153 const playIcon = 'https://cdn.ipadbiz.cn/lls_prog/icon/play.svg';
154 +const callbackUrl = BASE_URL + '/srv/?f=walk&a=media&t=qiniu_audit_notify'
154 155
155 // 响应式数据 156 // 响应式数据
156 const uploadedFile = ref(null); 157 const uploadedFile = ref(null);
...@@ -215,7 +216,7 @@ const chooseMedia = () => { ...@@ -215,7 +216,7 @@ const chooseMedia = () => {
215 216
216 try { 217 try {
217 // 立即上传文件到服务器 218 // 立即上传文件到服务器
218 - const serverUrl = await uploadFileToServer(file.tempFilePath); 219 + const serverUrl = await uploadFileToServer(file.tempFilePath, file.fileType);
219 220
220 // 根据文件类型设置不同的信息,包含服务器URL 221 // 根据文件类型设置不同的信息,包含服务器URL
221 if (file.fileType === 'image') { 222 if (file.fileType === 'image') {
...@@ -236,7 +237,7 @@ const chooseMedia = () => { ...@@ -236,7 +237,7 @@ const chooseMedia = () => {
236 thumbnail: file.thumbTempFilePath, 237 thumbnail: file.thumbTempFilePath,
237 duration: Math.floor(file.duration), 238 duration: Math.floor(file.duration),
238 size: file.size, 239 size: file.size,
239 - name: `video_${Date.now()}.mp4` 240 + name: `video_${Date.now()}.mp4`,
240 }; 241 };
241 } 242 }
242 243
...@@ -379,10 +380,15 @@ const formatDuration = (seconds) => { ...@@ -379,10 +380,15 @@ const formatDuration = (seconds) => {
379 * 上传文件到服务器 380 * 上传文件到服务器
380 * @param {string} filePath - 文件路径 381 * @param {string} filePath - 文件路径
381 */ 382 */
382 -const uploadFileToServer = (filePath) => { 383 +const uploadFileToServer = (filePath, fileType) => {
383 return new Promise((resolve, reject) => { 384 return new Promise((resolve, reject) => {
385 + // 视频上传需要判断回调
386 + let video_params = ''
387 + if (fileType === 'video') {
388 + video_params = '&callback_rul=' + encodeURIComponent(callbackUrl)
389 + }
384 Taro.uploadFile({ 390 Taro.uploadFile({
385 - url: BASE_URL + '/admin/?m=srv&a=upload&image_audit=1', 391 + url: BASE_URL + '/admin/?m=srv&a=upload&image_audit=1' + video_params,
386 filePath, 392 filePath,
387 name: 'file', 393 name: 'file',
388 header: { 394 header: {
...@@ -392,7 +398,7 @@ const uploadFileToServer = (filePath) => { ...@@ -392,7 +398,7 @@ const uploadFileToServer = (filePath) => {
392 try { 398 try {
393 const upload_data = JSON.parse(res.data); 399 const upload_data = JSON.parse(res.data);
394 if (upload_data.code === 0 && upload_data.data) { 400 if (upload_data.code === 0 && upload_data.data) {
395 - resolve({ src: upload_data.data.src, qiniu_audit: upload_data.data.audit_result }); 401 + resolve({ src: upload_data.data.src, qiniu_audit: upload_data.data.audit_result});
396 } else { 402 } else {
397 reject(new Error(upload_data.msg || '服务器错误')); 403 reject(new Error(upload_data.msg || '服务器错误'));
398 } 404 }
...@@ -441,7 +447,7 @@ const saveMedia = async () => { ...@@ -441,7 +447,7 @@ const saveMedia = async () => {
441 media_url: uploadedFile.value.serverUrl, 447 media_url: uploadedFile.value.serverUrl,
442 source_type: pageParams.value.from === 'checkin' ? 'CHECK_IN' : 'COMPANION', 448 source_type: pageParams.value.from === 'checkin' ? 'CHECK_IN' : 'COMPANION',
443 source_id: pageParams.value.id || '0', 449 source_id: pageParams.value.id || '0',
444 - qiniu_audit: uploadedFile.value.qiniu_audit || '' 450 + qiniu_audit: uploadedFile.value.qiniu_audit || '',
445 }; 451 };
446 452
447 const result = await savePhotoAPI(saveData); 453 const result = await savePhotoAPI(saveData);
......