12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- "use strict";
- const common_vendor = require("../common/vendor.js");
- const common_request = require("../common/request.js");
- let request = new common_request.Request().http;
- const api = {
- // 支付
- zfbPayment: "/app/live/liveOrder/aliPayment",
- // 支付宝付款
- weChatPayment: "/app/live/liveOrder/weChatPayment"
- // 微信付款
- // updateConfirm: (orderId, type) => `/app/live/liveOrder/updateConfirm/${orderId}/${type} `, // 取消/支付订单确认
- };
- function weChatPayment(data) {
- return new Promise((resolve, reject) => {
- request(api.weChatPayment, data, "POST", "application/json;charset=UTF-8").then((res) => {
- invokePayment(res.data).then(resolve).catch((err) => {
- handlePaymentError(err);
- reject(err);
- });
- }).catch((err) => {
- handlePaymentError(err);
- reject(err);
- });
- });
- }
- function invokePayment(payData) {
- return new Promise((resolve, reject) => {
- common_vendor.index.requestPayment({
- provider: "wxpay",
- ...payData,
- // 直接展开小程序所需参数
- success: (res) => {
- common_vendor.index.showToast({
- title: "支付成功"
- });
- resolve(res);
- },
- fail: (err) => {
- reject(new Error(formatError(err)));
- }
- });
- });
- }
- function formatError(err) {
- if (err.errMsg) {
- if (err.errMsg.includes("cancel"))
- return "支付已取消";
- if (err.errMsg.includes("fail"))
- return "支付失败";
- }
- return err.message || "支付异常";
- }
- function handlePaymentError(err) {
- console.error("[支付错误]", err);
- common_vendor.index.showToast({
- title: err.message,
- icon: "none",
- duration: 3e3
- });
- }
- exports.weChatPayment = weChatPayment;
|