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,) => {
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,) => {
@ -479,16 +486,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' )

View File

@ -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,41 @@ export default {
} else {
return true;
}
}
}
*/
/*
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)) {
},
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) {
//Desktop, use native pay
return true;
} else if(isMobile && $paytype == 2) {
return true;
}
return false;
} else {
return true;
}
}
export { isMobile }
*/
export default util;

View File

@ -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();

View File

@ -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);

View File

@ -140,10 +140,12 @@
import Myheader from "~/components/header.vue";
import MyFooter from '~/components/rc-footer.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 {
data() {
return {
util,
crumbs:[
{
path:'/personal/mypersonal/',
@ -295,7 +297,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=[];
@ -346,28 +348,39 @@ export default {
},
//
async getwei(item) {
console.log(item);
let postData = [];
let userPayData = {
userprice: item.salesAmount,
orderId:item.orderNumber,
userinformation:item.addressUserName +
" " +
item.phoneNumber,
wxPay: "weixin://wxpay/bizpayurl?pr=4RJbokxzz",
};
this.$router.push({
path: "/personal/userpay",
query: {
userData:item.orderNumber,
stype:1,
userPayData: JSON.stringify(userPayData),
},
});
},
//
async getwei(item) {
let data = await this.repayOrde(item.orderNumber);
if(data.code==1) {
let userPayData = {
userprice: item.usersalesAmount,
orderId: item.orderNumber,
userinformation: item.addressUserName + " " + item.addressPhoneNumber,
wxPay:data.msg
};
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){
this.$router.push({
path: "/myorder/usertion",

View File

@ -93,6 +93,11 @@
<p>请返回商品结算页面重新支付</p>
</div>
</el-dialog>
<div style="display:none">
<form :action="this.h5PayUrl" method="post" ref="h5SubmitForm">
<input type="hidden" v-model="h5payRedirectUrl">
</form>
</div>
</div>
</template>
@ -103,39 +108,41 @@ 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,
h5payRedirectUrl:'',
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 +151,43 @@ 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="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;
} 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({