123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- import Taro from "@tarojs/taro";
- import { getUserInfo } from "./login";
- type PublicData = {
- bookId: number,
- bookParagraphId: number,
- orderCondition: string,
- }
- export function cashBuy(data: PublicData, callbackFn?: (b:boolean) => void) {
- return new Promise(async (resolve, reject) => {
- try {
-
- Taro.request({
- url: '/app/pay/buyout',
- method: 'POST',
- data,
- success: async (res) => {
- let r = await whcatPay(res.data?.data?.wechatMchPayInfo)
- console.log("支付操作完成!!", r)
- callbackFn?.(true)
- resolve(r)
- },
- fail: (err) => {
- reject(err);
- }
- })
- } catch (error) {
- reject(error);
- }
- })
- }
- export function virtualBuy(data: PublicData, callbackFn?: (b:boolean) => void) {
- return new Promise(async (resolve, reject) => {
- try {
-
- Taro.request({
- url: '/app/pay/buyOfCoin',
- method: 'POST',
- data,
- success: async (res) => {
- getUserInfo()
- callbackFn?.(true)
- resolve(res)
- },
- fail: (err) => {
- reject(err);
- }
- })
- } catch (error) {
- reject(error);
- }
- })
- }
- interface Data extends PublicData {
- rechargeTemplateId: number,
- templateIndex: number,
- }
- export function templateBuy(data: Data, callbackFn?: (b:boolean) => void) {
- return new Promise(async (resolve, reject) => {
- try {
-
- Taro.request({
- url: '/app/pay/buyOfTemplate',
- method: 'POST',
- data,
- success:async (res) => {
- let r = await whcatPay(res.data?.data?.wechatMchPayInfo)
- console.log("支付操作完成!!", r)
- getUserInfo()
- callbackFn?.(true)
- resolve(r)
- },
- fail: (err) => {
- reject(err);
- }
- })
- } catch (error) {
- reject(error);
- }
- })
- }
- type WhcatPay = {
- timeStamp: string,
- nonceStr: string,
- package: string,
- signType: any,
- paySign: string,
- }
- export function whcatPay(params: WhcatPay) {
- console.log("微信支付:", params)
- return new Promise(async (resolve, reject) => {
- try {
-
- Taro.requestPayment({
- ...params,
- success: (res) => {
- console.log("支付成功:", res)
- Taro.showToast({
- title: '支付成功!',
- icon: 'success'
- });
- resolve(true)
- },
- fail: (err) => {
- console.log("支付失败:", err)
- if (err.errMsg === 'requestPayment:fail cancel') {
- Taro.showToast({
- title: '支付已取消!',
- icon: 'error'
- });
- } else {
- Taro.showToast({
- title: '支付失败,请重试!',
- icon: 'error'
- });
- }
- resolve(false)
- }
- })
- } catch (error) {
- reject(error);
- }
- })
- }
|