mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2025-10-02 02:06:38 +08:00
Payment method consolidated
This commit is contained in:
parent
7912abdabc
commit
300788a552
@ -277,12 +277,19 @@ export const searchchanpin = (stype,usertype,curPage,curRow) => {
|
||||
|
||||
|
||||
//查询订单
|
||||
export const userindent = (phoneNumber,orderNumber,) => {
|
||||
var data = {
|
||||
phoneNumber:phoneNumber,
|
||||
orderNumber:orderNumber,
|
||||
export const userindent = (phoneNumber,orderNumber,page,rows) => {
|
||||
var data = {};
|
||||
if(phoneNumber) {
|
||||
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,) => {
|
||||
@ -468,16 +475,18 @@ export const goodsmessage = (productCode) => {
|
||||
|
||||
|
||||
//微信支付
|
||||
export const generateOrderWX = (list,isH5Pay) => {
|
||||
if(!isH5Pay)
|
||||
export const generateOrderWX = (list,payType) => {
|
||||
//Dictionary : 1: scan qrcode, 2:redirect 3: raise local app
|
||||
if(payType==1)
|
||||
return fetch('generateOrderWX', list, 'POST' )
|
||||
else
|
||||
return fetch('generateOrderWXH5', list, 'POST' )
|
||||
}
|
||||
|
||||
//再次支付
|
||||
export const repayOrde = (ordernumber,isH5Pay) => {
|
||||
if(!isH5Pay)
|
||||
export const repayOrde = (ordernumber,payType) => {
|
||||
//Dictionary : 1: scan qrcode, 2:redirect 3: raise local app
|
||||
if(payType==1)
|
||||
return fetch('repayOrderWX?orderNo='+ordernumber,'', 'POST' )
|
||||
else
|
||||
return fetch('repayOrderWXH5?orderNo='+ordernumber,'', 'POST' )
|
||||
|
@ -1,28 +1,4 @@
|
||||
/*
|
||||
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 {
|
||||
let util = {
|
||||
isMobile(){
|
||||
var sUserAgent = navigator.userAgent.toLowerCase();
|
||||
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
|
||||
@ -38,27 +14,25 @@ export default {
|
||||
} else {
|
||||
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;
|
||||
} else {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
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 {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
export { isMobile }
|
||||
*/
|
||||
export default util;
|
@ -178,9 +178,12 @@ import {
|
||||
repayOrde
|
||||
} from "../../ajax/getData";
|
||||
|
||||
import util from "@/ajax/util";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
util,
|
||||
goldmedal: [],
|
||||
userproductId: "",
|
||||
logisticsDate: "",
|
||||
@ -332,8 +335,8 @@ export default {
|
||||
}
|
||||
},
|
||||
async repayOrde(ordernumber) {
|
||||
let mobileResult = this.isMobile();
|
||||
let res = await repayOrde(ordernumber, mobileResult);
|
||||
let payType = this.util.pickPaytype();
|
||||
let res = await repayOrde(ordernumber, payType);
|
||||
if (res) {
|
||||
return res;
|
||||
}
|
||||
@ -353,22 +356,6 @@ export default {
|
||||
|
||||
// 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() {
|
||||
this.checkIsLogin();
|
||||
|
@ -195,6 +195,7 @@
|
||||
<script>
|
||||
import Myheader from "~/components/header.vue";
|
||||
import { userin, memberAddress, generateOrderWX, getdraw } from "../../ajax/getData";
|
||||
import util from "@/ajax/util";
|
||||
import tabs from "@/components/tabs.vue";
|
||||
import myAddress from "~/components/address.vue";
|
||||
import { mapMutations } from "vuex";
|
||||
@ -204,6 +205,7 @@ export default {
|
||||
meta: { title: "订单结算" },
|
||||
data() {
|
||||
return {
|
||||
util,
|
||||
crumbs:[
|
||||
{
|
||||
path:'/productdetails/productlist/',
|
||||
@ -588,8 +590,8 @@ export default {
|
||||
// // },
|
||||
// // },
|
||||
// ];
|
||||
let isMobile = this.isMobile();
|
||||
let res = await generateOrderWX(postData,isMobile);
|
||||
let payType = this.util.pickPaytype();
|
||||
let res = await generateOrderWX(postData,payType);
|
||||
if (res.success) {
|
||||
let userPayData = {
|
||||
orderId: res.data.orderNumber,
|
||||
@ -617,23 +619,7 @@ export default {
|
||||
},
|
||||
async canceldanhao(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() {
|
||||
this.goldmedal = JSON.parse(this.$route.query.list);
|
||||
|
@ -295,7 +295,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
async indet(mobile, stype) {
|
||||
let data = await userindent(mobile);
|
||||
let data = await userindent(mobile,undefined,1,100);
|
||||
this.activeIndex = stype;
|
||||
this.goldmedal = data;
|
||||
this.alllist=[];
|
||||
|
@ -93,6 +93,9 @@
|
||||
<p>请返回商品结算页面重新支付</p>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<div style="display:none">
|
||||
<form :action="this.h5PayUrl" method="post" ref="h5SubmitForm"></form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -103,39 +106,40 @@ import vueQr from 'vue-qr'
|
||||
|
||||
|
||||
import { generateOrderAlipay, updateOrderWX, monitorOrderNotify,repayOrde } from "../../ajax/getData";
|
||||
//import { isMobile } from "@/ajax/util";
|
||||
import util from "@/ajax/util";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
activeIndex: 0,
|
||||
paymentTimer:undefined,
|
||||
isSucess: false,
|
||||
data() {
|
||||
return {
|
||||
util,
|
||||
activeIndex: 0,
|
||||
paymentTimer:undefined,
|
||||
isSucess: false,
|
||||
h5PayUrl:"",
|
||||
dialogSuccess: false,
|
||||
paytype: "微信",
|
||||
userpaystype: [
|
||||
{
|
||||
paytype: "微信",
|
||||
payimage: require("../../assets/pay/wx.png"),
|
||||
type:'wechat'
|
||||
},
|
||||
|
||||
dialogSuccess: false,
|
||||
paytype: "微信",
|
||||
userpaystype: [
|
||||
{
|
||||
paytype: "微信",
|
||||
payimage: require("../../assets/pay/wx.png"),
|
||||
type:'wechat'
|
||||
},
|
||||
|
||||
{
|
||||
paytype: "支付宝",
|
||||
payimage: require("../../assets/pay/zfb.png"),
|
||||
type:'alipay'
|
||||
},
|
||||
|
||||
],
|
||||
dialogFail: false,
|
||||
userPayData: {},
|
||||
qrtext:'',
|
||||
userData:'',
|
||||
disableAlipay:true,
|
||||
disableQrcode:false,
|
||||
};
|
||||
},
|
||||
{
|
||||
paytype: "支付宝",
|
||||
payimage: require("../../assets/pay/zfb.png"),
|
||||
type:'alipay'
|
||||
},
|
||||
|
||||
],
|
||||
dialogFail: false,
|
||||
userPayData: {},
|
||||
qrtext:'',
|
||||
userData:'',
|
||||
disableAlipay:true,
|
||||
disableQrcode:false,
|
||||
};
|
||||
},
|
||||
|
||||
created(){
|
||||
|
||||
@ -144,65 +148,42 @@ export default {
|
||||
let stype=this.$route.query.stype;
|
||||
|
||||
this.userPayData = JSON.parse(this.$route.query.userPayData);
|
||||
this.defaultHandlePayment();
|
||||
this.defaultHandlePayment();
|
||||
},
|
||||
methods: {
|
||||
defaultHandlePayment() {
|
||||
let isMobile = this.isMobile();
|
||||
let isWx = this.isWX();
|
||||
if(isWx && this.userPayData.wxPay && this.userPayData.wxPay.length>4) {
|
||||
//Desktop, use native pay
|
||||
this.disableQrcode=false;
|
||||
this.qrtext=this.userPayData.wxPay;
|
||||
} else if(isWx) {
|
||||
let isMobile = this.util.isMobile();
|
||||
let isWx = this.util.isWX();
|
||||
let payType = this.util.pickPaytype();
|
||||
if(!this.userPayData.wxPay || this.userPayData.wxPay.length<4)
|
||||
throw new Error("订单信息错误,请删除商品后再次购买");
|
||||
}
|
||||
|
||||
if(!isWx) {
|
||||
if(this.userPayData.wxPay && !isMobile) {
|
||||
//Desktop, use native pay
|
||||
|
||||
//Dictionary : 1: scan qrcode, 2:redirect 3: raise local app
|
||||
switch(payType) {
|
||||
case 1:
|
||||
this.disableQrcode=false;
|
||||
this.qrtext=this.userPayData.wxPay;
|
||||
this.payOrderWX();
|
||||
this.disableQrcode=false;
|
||||
} else if (this.userPayData.wxPay && isMobile) {
|
||||
//Mobile, use H5 pay
|
||||
break;
|
||||
case 2:
|
||||
this.disableQrcode=true;
|
||||
} else if(!this.userPayData.wxPay || this.userPayData.wxPay.length<=4) {
|
||||
throw new Error("订单信息错误,请删除商品后再次购买");
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
//TODO raise WX jsapi pay
|
||||
break;
|
||||
}
|
||||
},
|
||||
goPayH5() {
|
||||
let isMobile = this.isMobile();
|
||||
let isMobile = this.util.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;
|
||||
} else {
|
||||
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() {
|
||||
this.qrtext = '';
|
||||
this.$router.push({
|
||||
|
Loading…
Reference in New Issue
Block a user