Преглед на файлове

feat: migrate checkout/payment/logistics pages to CFC API

Replace config.danshop() with CFC /api/product-order/*, /api/payment/*, /api/logistics/* endpoints.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
liaoxg преди 2 месеца
родител
ревизия
783b3e5283
променени са 3 файла, в които са добавени 17 реда и са изтрити 13 реда
  1. 13 9
      cfc-frontend/pages/shop/checkout/checkout.vue
  2. 1 1
      cfc-frontend/pages/shop/logistics/logistics.vue
  3. 3 3
      cfc-frontend/pages/shop/payment/payment.vue

+ 13 - 9
cfc-frontend/pages/shop/checkout/checkout.vue

@@ -95,12 +95,10 @@ export default {
       remark: '',
       loading: false,
       submitting: false,
-      buyerId: null,
       actualAmount: 0
     }
   },
   onLoad() {
-    this.buyerId = uni.getStorageSync('userId')
     var stored = uni.getStorageSync('checkoutItems')
     if (stored) {
       this.items = stored
@@ -120,9 +118,9 @@ export default {
       this.loading = true
       var that = this
       uni.request({
-        url: config.danshop('/danshop/address/list'),
+        url: config.api('/api/user/address/list'),
         method: 'POST',
-        data: { userId: this.buyerId },
+        data: {},
         header: {
           'Content-Type': 'application/json',
           'Authorization': 'Bearer ' + uni.getStorageSync('token')
@@ -183,16 +181,22 @@ export default {
           quantity: this.items[i].quantity
         })
       }
+      var addressSnapshot = JSON.stringify({
+        receiverName: this.selectedAddress.receiverName,
+        phone: this.selectedAddress.phone,
+        province: this.selectedAddress.province,
+        city: this.selectedAddress.city,
+        district: this.selectedAddress.district,
+        street: this.selectedAddress.street
+      })
       var that = this
       uni.request({
-        url: config.danshop('/danshop/order/create'),
+        url: config.api('/api/product/order/create'),
         method: 'POST',
         data: {
-          buyerId: this.buyerId,
-          addressId: this.selectedAddress.id,
           items: orderItems,
           remark: this.remark,
-          freight: this.freight
+          addressSnapshot: addressSnapshot
         },
         header: {
           'Content-Type': 'application/json',
@@ -206,7 +210,7 @@ export default {
             uni.removeStorageSync('checkoutItems')
             setTimeout(function() {
               uni.navigateTo({
-                url: '/pages/shop/payment/payment?orderNo=' + order.orderNo + '&amount=' + order.actualAmount
+                url: '/pages/shop/payment/payment?orderNo=' + order.orderNo + '&amount=' + order.totalAmount
               })
             }, 1000)
           } else {

+ 1 - 1
cfc-frontend/pages/shop/logistics/logistics.vue

@@ -104,7 +104,7 @@ export default {
       this.loading = true
       var that = this
       uni.request({
-        url: config.danshop('/danshop/logistics/query'),
+        url: config.api('/api/shop/logistics/query'),
         method: 'POST',
         data: { orderId: this.orderId },
         header: {

+ 3 - 3
cfc-frontend/pages/shop/payment/payment.vue

@@ -112,7 +112,7 @@ export default {
       this.paying = true
       var that = this
       uni.request({
-        url: config.danshop('/danshop/payment/precreate'),
+        url: config.api('/api/product/order/pay'),
         method: 'POST',
         data: { orderNo: this.orderNo },
         header: {
@@ -128,7 +128,7 @@ export default {
                 timeStamp: params.timeStamp,
                 nonceStr: params.nonceStr,
                 package: params.package,
-                signType: params.signType || 'MD5',
+                signType: params.signType || 'RSA',
                 paySign: params.paySign,
                 success: function() {
                   uni.showToast({ title: '支付成功', icon: 'success' })
@@ -163,7 +163,7 @@ export default {
         success: function(confirm) {
           if (confirm.confirm) {
             uni.request({
-              url: config.danshop('/danshop/order/cancel'),
+              url: config.api('/api/product/order/cancel'),
               method: 'POST',
               data: { orderNo: that.orderNo },
               header: {