feat(withdraw): 实现微信商家转账收款确认功能

- 配置文件中更新测试环境API基础URL
- 添加ShopDealerWithdrawCreateResult类型定义以支持微信转账返回的package_info
- 修改addShopDealerWithdraw函数以处理微信转账流程的特殊返回值
- 实现extractPackageInfo、canRequestMerchantTransferConfirm和requestMerchantTransferConfirm辅助函数
- 在微信钱包提现流程中集成商户转账确认页面调用
- 添加对微信小程序环境的检测和错误处理
- 更新快速金额选项,增加1元选项
- 修改微信提现提示文字,说明需要确认收款的流程
This commit is contained in:
2026-01-31 18:57:32 +08:00
parent 3a42eaf853
commit b9c03be394
3 changed files with 109 additions and 11 deletions

View File

@@ -2,6 +2,18 @@ import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { ShopDealerWithdraw, ShopDealerWithdrawParam } from './model';
// WeChat transfer v3: backend may return `package_info` for MiniProgram to open the
// "confirm receipt" page via `wx.requestMerchantTransfer`.
export type ShopDealerWithdrawCreateResult =
| string
| {
package_info?: string;
packageInfo?: string;
[k: string]: any;
}
| null
| undefined;
/**
* 分页查询分销商提现明细表
*/
@@ -33,13 +45,14 @@ export async function listShopDealerWithdraw(params?: ShopDealerWithdrawParam) {
/**
* 添加分销商提现明细表
*/
export async function addShopDealerWithdraw(data: ShopDealerWithdraw) {
const res = await request.post<ApiResult<unknown>>(
export async function addShopDealerWithdraw(data: ShopDealerWithdraw): Promise<ShopDealerWithdrawCreateResult> {
const res = await request.post<ApiResult<any>>(
'/shop/shop-dealer-withdraw',
data
);
if (res.code === 0) {
return res.message;
// Some backends return `message`, while WeChat transfer flow returns `data.package_info`.
return res.data ?? res.message;
}
return Promise.reject(new Error(res.message));
}