|
@@ -1,4 +1,7 @@
|
|
|
|
|
|
+import wxpay from '@service.wxpay';
|
|
|
+import { getPayQuery } from "../api";
|
|
|
+
|
|
|
export const pageLoad = (meta, fn, params) => {
|
|
|
return new Promise(async (resolve, reject) => {
|
|
|
if (meta.current_page) {
|
|
@@ -12,4 +15,60 @@ export const pageLoad = (meta, fn, params) => {
|
|
|
resolve(ret);
|
|
|
}
|
|
|
})
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+// 支付配置
|
|
|
+export const configWxPay = async (params) => {
|
|
|
+ let config = await getPayQuery(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" });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|