Kaynağa Gözat

ID精度问题

skyline 1 ay önce
ebeveyn
işleme
b3343ad9ac

+ 5 - 3
haha-mp/src/pages/orderDetail/orderDetail.vue

@@ -129,7 +129,7 @@ import { checkAuth } from '../../utils/auth';
 
 const order = ref<OrderInfo | null>(null);
 const loading = ref(false);
-const orderId = ref<number | null>(null);
+const orderId = ref<string | null>(null);
 
 /**
  * 获取订单状态文本
@@ -277,7 +277,8 @@ onMounted(() => {
   const options = currentPage.options || {};
 
   if (options.orderId) {
-    orderId.value = parseInt(options.orderId);
+    // 直接使用字符串类型的订单ID,避免精度丢失
+    orderId.value = String(options.orderId);
     loadOrderDetail();
   } else {
     uni.showToast({
@@ -295,8 +296,9 @@ onMounted(() => {
  */
 const applyRefund = () => {
   if (!order.value) return;
+  // 确保订单ID以字符串形式传递,避免精度丢失
   uni.navigateTo({
-    url: '/pages/refund/refund?orderId=' + order.value.id
+    url: '/pages/refund/refund?orderId=' + String(order.value.id)
   });
 };
 

+ 2 - 1
haha-mp/src/pages/orders/orders.vue

@@ -207,8 +207,9 @@ const applyRefund = (order: OrderInfo) => {
  * 查看订单详情
  */
 const viewOrderDetail = (order: OrderInfo) => {
+  // 确保订单ID以字符串形式传递,避免精度丢失
   uni.navigateTo({
-    url: '/pages/orderDetail/orderDetail?orderId=' + order.id
+    url: '/pages/orderDetail/orderDetail?orderId=' + String(order.id)
   });
 };
 </script>

+ 4 - 3
haha-mp/src/pages/refund/refund.vue

@@ -137,11 +137,11 @@ import type { OrderInfo } from '../../api/order';
 import { post } from '../../utils/request';
 
 // 路由参数
-const orderId = ref<number>(0);
+const orderId = ref<string>('');
 
 // 订单信息
 const orderInfo = ref<OrderInfo>({
-  id: 0,
+  id: '',
   orderNo: '',
   outTradeNo: '',
   hahaOrderNo: '',
@@ -354,7 +354,8 @@ onMounted(() => {
  */
 onLoad((options) => {
   if (options && options.orderId) {
-    orderId.value = parseInt(options.orderId as string);
+    // 直接使用字符串类型的订单ID,避免精度丢失
+    orderId.value = String(options.orderId);
     loadOrderDetail();
   } else {
     uni.showToast({