Bläddra i källkod

```
feat(charge): 新增用户优惠券退款功能

- 在API定义中添加userCouponRefund接口
- 为退款接口生成对应的TypeScript类型声明
- 在个人中心页面添加退款按钮和确认弹窗逻辑
- 实现退款流程:显示确认提示 -> 调用退款接口 -> 显示结果反馈
- 启用线上开发环境配置并注释本地IP配置
```

zouzexu 5 dagar sedan
förälder
incheckning
4cca6bbcb5
4 ändrade filer med 36 tillägg och 3 borttagningar
  1. 1 0
      src/api/apiDefinitions.ts
  2. 6 0
      src/api/globals.d.ts
  3. 2 2
      src/config/index.ts
  4. 27 1
      src/subPack-charge/index/index.vue

+ 1 - 0
src/api/apiDefinitions.ts

@@ -103,6 +103,7 @@ export default {
   'charge.addPurchaseRecord': ['POST', '/smqjh-system/applet/v1/purchaseRecord/addPurchaseRecord'],
   'charge.wxJsApiPay': ['POST', '/smqjh-oms/service/pay/jsapi'],
   'charge.getPurchaseRecordPage': ['POST', '/smqjh-system/applet/v1/purchaseRecord/getPurchaseRecordPage'],
+  'charge.userCouponRefund':['GET','/smqjh-oms/api/v1/order_cd/userCouponRefund'],
 
   'videoRight.findAppByPage': ['GET', '/smqjh-pms/app-api/v1/videoProduct/findAppByPage'],
   'videoRight.goodsDetail': ['GET', '/smqjh-pms/app-api/v1/videoProduct/findById'],

+ 6 - 0
src/api/globals.d.ts

@@ -967,6 +967,12 @@ declare global {
       >(
         config: Config
       ): Alova2Method<listData<Api.PurchaseRecordVO>, 'charge.getPurchaseRecordPage', Config>;
+
+      userCouponRefund<
+        Config extends Alova2MethodConfig<apiResData<any>> & {}
+      >(
+        config: Config
+      ): Alova2Method<apiResData<any>, 'charge.userCouponRefund', Config>;
     }
 
     videoRight: {

+ 2 - 2
src/config/index.ts

@@ -6,14 +6,14 @@ const mapEnvVersion = {
   // develop: 'http://192.168.1.101:8080',
   // develop: 'http://192.168.0.157:8080',
   // develop: 'http://192.168.1.253:8080',
-  develop: 'http://192.168.0.19:8080', // 邓
+  // develop: 'http://192.168.0.19:8080', // 邓
   // develop: 'http://192.168.0.217:8080', // 黄
   // develop: 'http://192.168.0.11:8080', // 王
   // develop: 'http://192.168.1.89:8080', // 田
   // develop: 'http://74949mkfh190.vicp.fun', // 付
   // develop: 'http://47.109.84.152:8081',
   // develop: 'https://5ed0f7cc.r9.vip.cpolar.cn',
-  // develop: 'https://smqjh.api.zswlgz.com',
+  develop: 'https://smqjh.api.zswlgz.com',
   /**
    * 体验版
    */

+ 27 - 1
src/subPack-charge/index/index.vue

@@ -73,6 +73,32 @@ function handleFilterClick(filterKey: number) {
   activeFilter.value = filterKey
   reload()
 }
+
+/**
+ * 申请退款
+ */
+
+function refund() {
+  useGlobalMessage().confirm({
+    title: '提示',
+    msg: '退款按照购券记录进行逐笔退款,可能产生多笔退款到账记录,请注意查收。',
+    success: async () => {
+      const res = await Apis.charge.userCouponRefund({})
+      if (res.code === '00000') {
+        useGlobalMessage().confirm({
+          title: '提示',
+          msg: '申请退款成功,预计3个工作日内分一笔或多笔退还,到期如未到账请联系客服!',
+          success: () => {
+            refresh()
+          },
+          fail: () => {
+            refresh()
+          },
+        })
+      }
+    },
+  })
+}
 </script>
 
 <template>
@@ -129,7 +155,7 @@ function handleFilterClick(filterKey: number) {
                 我的钱包
               </view>
             </view>
-            <view class="absolute right-[-24rpx] h-44rpx w-120rpx rounded-[22rpx_0_0_22rpx] bg-#9ED605 text-center text-28rpx text-#FFF line-height-[44rpx]">
+            <view class="absolute right-[-24rpx] h-44rpx w-120rpx rounded-[22rpx_0_0_22rpx] bg-#9ED605 text-center text-28rpx text-#FFF line-height-[44rpx]" @click="refund">
               退还
             </view>
           </view>