import wxpay from '@service.wxpay'; import alipay from '@service.alipay'; import { getConfigOfWxPay, getConfigOfAliPay } from "../api"; export const pageLoad = (meta, fn, params) => { return new Promise(async (resolve, reject) => { if (meta.current_page) { if (meta.next_page_url) { let ret = await fn(params); resolve(ret); } else reject("last page"); } else { console.log("first page"); let ret = await fn(params); resolve(ret); } }) } // 支付配置 export const configWxPay = async (params) => { let config = await getConfigOfWxPay(params); console.log("pay config", config); let prepayid = config.prepay_id; // app中的配置信息 let extraAppConfig = { app_id: config.appId, partner_id: "", package_value: "", nonce_str: config.nonce_str, time_stamp: "", order_sign: config.sign } // web端的配置信息 let extraWebConfig = { mweb_url: "http://www.baidu.com" } let payType = wxpay.getType(); let ret = null; console.log(payType); // return; switch (payType) { case "APP": ret = await useWxPay(prepayid, extraAppConfig); break; case "MWEB": ret = await useWxPay(prepayid, extraWebConfig); break; default: ret = "app not install or wx pay is not avaliable"; } console.log(ret); } let useWxPay = (prepayid, extra) => { return new Promise((resolve, reject) => { console.log(prepayid); console.log(extra); wxpay.pay({ prepayid: prepayid, extra: extra, success: (data) => { console.log("success", data); // app中返回prepayid web中返回final_url resolve(data); }, fail: (data, code) => { console.log("error"); console.log(data, code); reject({ data, code }); }, cancel: () => { console.log("user cancel"); reject({ message: "user cancel" }); } }) }) } // 配置支付宝支付 export const configAliPay = (params) => { return new Promise(async (resolve) => { let orderInfo = await getConfigOfAliPay(params); alipay.pay({ orderInfo: orderInfo, callback: (ret) => { console.log("alipay cb", ret); resolve({ code: ret.resultStatus, result: ret.result ? JSON.parse(ret.result) : "" }) } }) }) }