1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- 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) : "" })
- }
- })
- })
- }
|