Payment method consolidated

This commit is contained in:
Vion 2022-01-27 16:55:00 +08:00
parent 7912abdabc
commit 300788a552
6 changed files with 104 additions and 167 deletions

View File

@ -277,12 +277,19 @@ export const searchchanpin = (stype,usertype,curPage,curRow) => {
//查询订单 //查询订单
export const userindent = (phoneNumber,orderNumber,) => { export const userindent = (phoneNumber,orderNumber,page,rows) => {
var data = { var data = {};
phoneNumber:phoneNumber, if(phoneNumber) {
orderNumber:orderNumber, data.phoneNumber = phoneNumber;
} }
return fetch('orderMaster/?type=query', data, 'POST' ) if(orderNumber) {
data.orderNumber = orderNumber;
}
let url='orderMaster/?type=query';
if(page && rows) {
url = url+"&page="+page+"&rows="+rows;
}
return fetch(url, data, 'POST' )
} }
//查询订单详情 //查询订单详情
export const userin = (orderNumber,) => { export const userin = (orderNumber,) => {
@ -468,16 +475,18 @@ export const goodsmessage = (productCode) => {
//微信支付 //微信支付
export const generateOrderWX = (list,isH5Pay) => { export const generateOrderWX = (list,payType) => {
if(!isH5Pay) //Dictionary : 1: scan qrcode, 2:redirect 3: raise local app
if(payType==1)
return fetch('generateOrderWX', list, 'POST' ) return fetch('generateOrderWX', list, 'POST' )
else else
return fetch('generateOrderWXH5', list, 'POST' ) return fetch('generateOrderWXH5', list, 'POST' )
} }
//再次支付 //再次支付
export const repayOrde = (ordernumber,isH5Pay) => { export const repayOrde = (ordernumber,payType) => {
if(!isH5Pay) //Dictionary : 1: scan qrcode, 2:redirect 3: raise local app
if(payType==1)
return fetch('repayOrderWX?orderNo='+ordernumber,'', 'POST' ) return fetch('repayOrderWX?orderNo='+ordernumber,'', 'POST' )
else else
return fetch('repayOrderWXH5?orderNo='+ordernumber,'', 'POST' ) return fetch('repayOrderWXH5?orderNo='+ordernumber,'', 'POST' )

View File

@ -1,28 +1,4 @@
/* let util = {
export const isMobile = () => {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
return false;
} else {
return true;
}
}
*/
export default {
isMobile :false
}
/*
export default {
isMobile(){ isMobile(){
var sUserAgent = navigator.userAgent.toLowerCase(); var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
@ -38,27 +14,25 @@ export default {
} else { } else {
return true; return true;
} }
},
isWX(){
var ua = navigator.userAgent.toLowerCase();
return (/micromessenger/.test(ua)) ? true : false;
},
pickPaytype() {
let isMobile = this.isMobile();
let isWx = this.isWX();
//Dictionary : 1: scan qrcode, 2:redirect 3: raise local app
if(isWx) {
//return 3;
return 1;
} }
} if(!isMobile) {
*/ //Desktop, use native pay
return 1;
/*
function isMobile() {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
return false;
} else { } else {
return true; return 2;
}
} }
} }
export default util;
export { isMobile }
*/

View File

@ -178,9 +178,12 @@ import {
repayOrde repayOrde
} from "../../ajax/getData"; } from "../../ajax/getData";
import util from "@/ajax/util";
export default { export default {
data() { data() {
return { return {
util,
goldmedal: [], goldmedal: [],
userproductId: "", userproductId: "",
logisticsDate: "", logisticsDate: "",
@ -332,8 +335,8 @@ export default {
} }
}, },
async repayOrde(ordernumber) { async repayOrde(ordernumber) {
let mobileResult = this.isMobile(); let payType = this.util.pickPaytype();
let res = await repayOrde(ordernumber, mobileResult); let res = await repayOrde(ordernumber, payType);
if (res) { if (res) {
return res; return res;
} }
@ -353,22 +356,6 @@ export default {
// console.log(this.list); // console.log(this.list);
}, },
isMobile () {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
return false;
} else {
return true;
}
}
}, },
mounted() { mounted() {
this.checkIsLogin(); this.checkIsLogin();

View File

@ -195,6 +195,7 @@
<script> <script>
import Myheader from "~/components/header.vue"; import Myheader from "~/components/header.vue";
import { userin, memberAddress, generateOrderWX, getdraw } from "../../ajax/getData"; import { userin, memberAddress, generateOrderWX, getdraw } from "../../ajax/getData";
import util from "@/ajax/util";
import tabs from "@/components/tabs.vue"; import tabs from "@/components/tabs.vue";
import myAddress from "~/components/address.vue"; import myAddress from "~/components/address.vue";
import { mapMutations } from "vuex"; import { mapMutations } from "vuex";
@ -204,6 +205,7 @@ export default {
meta: { title: "订单结算" }, meta: { title: "订单结算" },
data() { data() {
return { return {
util,
crumbs:[ crumbs:[
{ {
path:'/productdetails/productlist/', path:'/productdetails/productlist/',
@ -588,8 +590,8 @@ export default {
// // }, // // },
// // }, // // },
// ]; // ];
let isMobile = this.isMobile(); let payType = this.util.pickPaytype();
let res = await generateOrderWX(postData,isMobile); let res = await generateOrderWX(postData,payType);
if (res.success) { if (res.success) {
let userPayData = { let userPayData = {
orderId: res.data.orderNumber, orderId: res.data.orderNumber,
@ -617,22 +619,6 @@ export default {
}, },
async canceldanhao(orderNumber) { async canceldanhao(orderNumber) {
let data = await userin(orderNumber); let data = await userin(orderNumber);
},
isMobile () {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
return false;
} else {
return true;
}
} }
}, },
mounted() { mounted() {

View File

@ -295,7 +295,7 @@ export default {
}, },
methods: { methods: {
async indet(mobile, stype) { async indet(mobile, stype) {
let data = await userindent(mobile); let data = await userindent(mobile,undefined,1,100);
this.activeIndex = stype; this.activeIndex = stype;
this.goldmedal = data; this.goldmedal = data;
this.alllist=[]; this.alllist=[];

View File

@ -93,6 +93,9 @@
<p>请返回商品结算页面重新支付</p> <p>请返回商品结算页面重新支付</p>
</div> </div>
</el-dialog> </el-dialog>
<div style="display:none">
<form :action="this.h5PayUrl" method="post" ref="h5SubmitForm"></form>
</div>
</div> </div>
</template> </template>
@ -103,15 +106,16 @@ import vueQr from 'vue-qr'
import { generateOrderAlipay, updateOrderWX, monitorOrderNotify,repayOrde } from "../../ajax/getData"; import { generateOrderAlipay, updateOrderWX, monitorOrderNotify,repayOrde } from "../../ajax/getData";
//import { isMobile } from "@/ajax/util"; import util from "@/ajax/util";
export default { export default {
data() { data() {
return { return {
util,
activeIndex: 0, activeIndex: 0,
paymentTimer:undefined, paymentTimer:undefined,
isSucess: false, isSucess: false,
h5PayUrl:"",
dialogSuccess: false, dialogSuccess: false,
paytype: "微信", paytype: "微信",
userpaystype: [ userpaystype: [
@ -148,61 +152,38 @@ export default {
}, },
methods: { methods: {
defaultHandlePayment() { defaultHandlePayment() {
let isMobile = this.isMobile(); let isMobile = this.util.isMobile();
let isWx = this.isWX(); let isWx = this.util.isWX();
if(isWx && this.userPayData.wxPay && this.userPayData.wxPay.length>4) { let payType = this.util.pickPaytype();
//Desktop, use native pay if(!this.userPayData.wxPay || this.userPayData.wxPay.length<4)
this.disableQrcode=false;
this.qrtext=this.userPayData.wxPay;
} else if(isWx) {
throw new Error("订单信息错误,请删除商品后再次购买"); throw new Error("订单信息错误,请删除商品后再次购买");
}
if(!isWx) { //Dictionary : 1: scan qrcode, 2:redirect 3: raise local app
if(this.userPayData.wxPay && !isMobile) { switch(payType) {
//Desktop, use native pay case 1:
this.disableQrcode=false;
this.qrtext=this.userPayData.wxPay; this.qrtext=this.userPayData.wxPay;
this.payOrderWX(); this.payOrderWX();
this.disableQrcode=false; break;
} else if (this.userPayData.wxPay && isMobile) { case 2:
//Mobile, use H5 pay
this.disableQrcode=true; this.disableQrcode=true;
} else if(!this.userPayData.wxPay || this.userPayData.wxPay.length<=4) { break;
throw new Error("订单信息错误,请删除商品后再次购买"); case 3:
} //TODO raise WX jsapi pay
break;
} }
}, },
goPayH5() { goPayH5() {
let isMobile = this.isMobile(); let isMobile = this.util.isMobile();
if(this.userPayData.wxPay && isMobile) { if(this.userPayData.wxPay && isMobile) {
window.location.href=this.userPayData.wxPay; this.$refs["h5SubmitForm"].action=this.userPayData.wxPay;
this.$refs["h5SubmitForm"].submit();
//window.location.href=this.userPayData.wxPay;;
this.disableQrcode=true; this.disableQrcode=true;
} else { } else {
throw new Error("订单信息错误,请删除商品后再次购买"); throw new Error("订单信息错误,请删除商品后再次购买");
} }
}, },
isMobile () {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
return false;
} else {
return true;
}
},
/**/
isWX(){
var ua = navigator.userAgent.toLowerCase();
return (/micromessenger/.test(ua)) ? true : false;
},
closeDialogSuccess() { closeDialogSuccess() {
this.qrtext = ''; this.qrtext = '';
this.$router.push({ this.$router.push({