fix(商品详情页): 修复缺少ID参数时的异常处理并优化错误捕获
添加对缺少ID参数的检查,避免支付成功后异常返回时发起无效请求 增加try-catch块捕获获取商品详情时的潜在错误
Showing
1 changed file
with
15 additions
and
2 deletions
| ... | @@ -245,7 +245,7 @@ | ... | @@ -245,7 +245,7 @@ |
| 245 | </template> | 245 | </template> |
| 246 | 246 | ||
| 247 | <script setup> | 247 | <script setup> |
| 248 | -import { ref, onMounted, computed } from 'vue' | 248 | +import { ref, computed } from 'vue' |
| 249 | import Taro, { useShareAppMessage, useDidShow } from '@tarojs/taro' | 249 | import Taro, { useShareAppMessage, useDidShow } from '@tarojs/taro' |
| 250 | import { Share, Heart1, HeartFill, Message } from '@nutui/icons-vue-taro' | 250 | import { Share, Heart1, HeartFill, Message } from '@nutui/icons-vue-taro' |
| 251 | import payCard from '@/components/payCard.vue' | 251 | import payCard from '@/components/payCard.vue' |
| ... | @@ -509,14 +509,27 @@ useDidShow(async () => { | ... | @@ -509,14 +509,27 @@ useDidShow(async () => { |
| 509 | // 获取用户信息 | 509 | // 获取用户信息 |
| 510 | await userStore.fetchUserInfo() | 510 | await userStore.fetchUserInfo() |
| 511 | 511 | ||
| 512 | - // 获取商品详情 | 512 | + // 获取页面参数 |
| 513 | let params = getCurrentPageParam(); | 513 | let params = getCurrentPageParam(); |
| 514 | + | ||
| 515 | + // 检查是否有商品ID参数,如果没有则不请求详情 | ||
| 516 | + // 这种情况通常发生在支付成功后返回详情页,但实际上应该跳转到订单页面 | ||
| 517 | + if (!params.id) { | ||
| 518 | + console.warn('商品详情页缺少ID参数,可能是支付成功后的异常返回') | ||
| 519 | + return | ||
| 520 | + } | ||
| 521 | + | ||
| 522 | + // 获取商品详情 | ||
| 523 | + try { | ||
| 514 | const { code, data } = await getVehicleDetailAPI({ id: params.id }) | 524 | const { code, data } = await getVehicleDetailAPI({ id: params.id }) |
| 515 | if (code) { | 525 | if (code) { |
| 516 | product.value = data | 526 | product.value = data |
| 517 | product.value.cover_image = [data.front_photo || DEFAULT_COVER_IMG] | 527 | product.value.cover_image = [data.front_photo || DEFAULT_COVER_IMG] |
| 518 | product.value.images = filterEmptyValues([data.front_photo, data.other_photo, data.left_photo, data.right_photo]) | 528 | product.value.images = filterEmptyValues([data.front_photo, data.other_photo, data.left_photo, data.right_photo]) |
| 519 | } | 529 | } |
| 530 | + } catch (error) { | ||
| 531 | + console.error('获取商品详情失败:', error) | ||
| 532 | + } | ||
| 520 | }) | 533 | }) |
| 521 | </script> | 534 | </script> |
| 522 | 535 | ... | ... |
-
Please register or login to post a comment