Merge branch 'sit-Leung' into sit-jiamin-v2

This commit is contained in:
952108534@qq.com 2022-01-28 15:06:58 +08:00
commit cbe204d689
6 changed files with 158 additions and 188 deletions

View File

@ -288,12 +288,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,) => {
@ -479,16 +486,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,41 @@ 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;
} else {
return 2;
}
},
checkPaytypeValidated($paytype) {
if(isWx && $paytype == 1) {
//return 3;
return true;
} else if(isWx && $paytype!=1) {
return false;
}
/* if(!isMobile && $paytype == 1) {
function isMobile() { //Desktop, use native pay
var sUserAgent = navigator.userAgent.toLowerCase(); return true;
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; } else if(isMobile && $paytype == 2) {
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; return true;
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; return false;
} else {
return true;
} }
} }
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,23 +619,7 @@ 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() {
this.goldmedal = JSON.parse(this.$route.query.list); this.goldmedal = JSON.parse(this.$route.query.list);

View File

@ -140,10 +140,12 @@
import Myheader from "~/components/header.vue"; import Myheader from "~/components/header.vue";
import MyFooter from '~/components/rc-footer.vue'; import MyFooter from '~/components/rc-footer.vue';
import tabs from "~/components/tabs.vue"; import tabs from "~/components/tabs.vue";
import { customerorders, userindent, canceldanhao,generateOrderWX } from "../../ajax/getData"; import util from "@/ajax/util";
import { customerorders, userindent, canceldanhao, repayOrde } from "../../ajax/getData";
export default { export default {
data() { data() {
return { return {
util,
crumbs:[ crumbs:[
{ {
path:'/personal/mypersonal/', path:'/personal/mypersonal/',
@ -295,7 +297,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=[];
@ -346,28 +348,39 @@ export default {
}, },
// //
async getwei(item) { async getwei(item) {
console.log(item); let data = await this.repayOrde(item.orderNumber);
let postData = []; if(data.code==1) {
let userPayData = { let userPayData = {
userprice: item.salesAmount, userprice: item.usersalesAmount,
orderId:item.orderNumber, orderId: item.orderNumber,
userinformation:item.addressUserName + userinformation: item.addressUserName + " " + item.addressPhoneNumber,
" " + wxPay:data.msg
item.phoneNumber, };
wxPay: "weixin://wxpay/bizpayurl?pr=4RJbokxzz",
};
this.$router.push({
path: "/personal/userpay",
query: {
userData:item.orderNumber,
stype:1,
userPayData: JSON.stringify(userPayData),
},
});
},
this.$router.push({
path: "/personal/userpay",
query: {
userData: item.orderNumber,
stype: 1,
userPayData: JSON.stringify(userPayData),
},
});
} else {
this.$message({
type: "error",
message: "订单数据错误,请联系客服进行处理",
});
}
},
async repayOrde(ordernumber) {
let payType = this.util.pickPaytype();
let res = await repayOrde(ordernumber, payType);
if (res) {
return res;
}
},
usertiaozhuan(item){ usertiaozhuan(item){
this.$router.push({ this.$router.push({
path: "/myorder/usertion", path: "/myorder/usertion",

View File

@ -93,6 +93,11 @@
<p>请返回商品结算页面重新支付</p> <p>请返回商品结算页面重新支付</p>
</div> </div>
</el-dialog> </el-dialog>
<div style="display:none">
<form :action="this.h5PayUrl" method="post" ref="h5SubmitForm">
<input type="hidden" v-model="h5payRedirectUrl">
</form>
</div>
</div> </div>
</template> </template>
@ -103,39 +108,41 @@ 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 {
activeIndex: 0, util,
paymentTimer:undefined, h5payRedirectUrl:'',
isSucess: false, activeIndex: 0,
paymentTimer:undefined,
isSucess: false,
h5PayUrl:"",
dialogSuccess: false,
paytype: "微信",
userpaystype: [
{
paytype: "微信",
payimage: require("../../assets/pay/wx.png"),
type:'wechat'
},
dialogSuccess: false, {
paytype: "微信", paytype: "支付宝",
userpaystype: [ payimage: require("../../assets/pay/zfb.png"),
{ type:'alipay'
paytype: "微信", },
payimage: require("../../assets/pay/wx.png"),
type:'wechat'
},
{ ],
paytype: "支付宝", dialogFail: false,
payimage: require("../../assets/pay/zfb.png"), userPayData: {},
type:'alipay' qrtext:'',
}, userData:'',
disableAlipay:true,
], disableQrcode:false,
dialogFail: false, };
userPayData: {}, },
qrtext:'',
userData:'',
disableAlipay:true,
disableQrcode:false,
};
},
created(){ created(){
@ -148,61 +155,39 @@ 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="http://47.96.75.242:10086/royalcanin/royalcanin/redirectUrlWXH5";
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({