x 5 rokov pred
rodič
commit
b90dc0b750
2 zmenil súbory, kde vykonal 24 pridanie a 13 odobranie
  1. 8 2
      src/libs/order.js
  2. 16 11
      src/views/order/OrderSubmission.vue

+ 8 - 2
src/libs/order.js

@@ -1,6 +1,7 @@
 import { cancelOrder, takeOrder, delOrder, payOrder } from "@api/order";
 import dialog from "@utils/dialog";
 import { pay } from "@libs/wechat";
+import WeChat from "@libs/pay";
 import router from "../router";
 
 export function cancelOrderHandle(orderId) {
@@ -63,8 +64,13 @@ export function payOrderHandle(orderId, type, from) {
         dialog.loading.close();
         switch (data.status) {
           case "WECHAT_H5_PAY":
-            location.replace(data.result.jsConfig.mweb_url);
-            reject(data);
+            console.log(JSON.stringify(data));
+            var config = data.result.jsConfig;
+
+            WeChat.pay(config, function() {
+              reject(data);
+            });
+            // location.replace(data.result.jsConfig.mweb_url);
             break;
           case "ORDER_EXIST":
           case "EXTEND_ORDER":

+ 16 - 11
src/views/order/OrderSubmission.vue

@@ -369,11 +369,11 @@ import AddressWindow from "@components/AddressWindow";
 import { postOrderConfirm, postOrderComputed, createOrder } from "@api/order";
 import { storeListApi } from "@api/store";
 import { getUser } from "@api/user";
-import { pay } from "@libs/wechat";
 import { isWeixin } from "@utils";
 import { mapGetters } from "vuex";
 import cookie from "@utils/store/cookie";
 import NavBar from "@components/NavBar";
+import WeChat from "@libs/pay";
 const NAME = "OrderSubmission",
   _isWeixin = isWeixin();
 const LONGITUDE = "user_longitude";
@@ -563,6 +563,7 @@ export default {
       this.computedPrice();
     },
     createOrder() {
+      var that = this;
       let shipping_type = this.shipping_type;
       if (!this.active) return this.$dialog.toast({ mes: "请选择支付方式" });
       if (!this.addressInfo.id && !this.shipping_type)
@@ -617,22 +618,26 @@ export default {
               });
               break;
             case "WECHAT_H5_PAY":
-              this.$router.replace({
-                path: "/order/detail/" + data.result.orderId
+              console.log(JSON.stringify(data));
+              var config = data.result.jsConfig;
+
+              WeChat.pay(config, function(success, ret) {
+                if (success) {
+                  console.log(ret);
+                  that.$router.replace({
+                    path: "/order/detail/" + data.result.orderId
+                  });
+                } else {
+                  console.log("pay failed !", ret);
+                }
               });
-              setTimeout(() => {
-                location.href = data.result.jsConfig.mweb_url;
-              }, 100);
               break;
             case "WECHAT_PAY":
-              pay(data.result.jsConfig).finally(() => {
-                this.$router.replace({
-                  path: "/order/detail/" + data.result.orderId
-                });
-              });
+              break;
           }
         })
         .catch(err => {
+          console.log(JSON.stringify(err));
           this.$dialog.error(err.msg || "创建订单失败");
           this.$dialog.loading.close();
           this.$router.go(-1);