smart-admin/rc-busness/ajax/util.js
2022-01-30 15:42:27 +08:00

79 lines
2.1 KiB
JavaScript

let util = {
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;
},
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) {
let isMobile = this.isMobile();
let isWx = this.isWX();
//Dictionary : 1:WX native pay, 2:Alipay, 3:WX H5 pay
if((isWx || !isMobile) && $paytype == 1) {
return {'result':true};
}
if(isMobile && !isWx && $paytype == 3) {
return {'result':true};
}
if($paytype == 2) {
return {'result':true};
}
let message='';
switch($paytype) {
case "1":
message = '请返回电脑网页端继续当前订单的支付';
break;
case "2":
message = '请返回支付宝继续当前订单的支付';
break;
case "3":
message = '请返回手机网页端继续当前订单的支付';
break;
default:
message = '订单已过期,请重新下单';
break;
}
return {'result':false,'message':message};
},
getTextByPaytype(paytype){
//Dictionary : 1:WX native pay, 2:Alipay, 3:WX H5 pay
let mapping = {
"1":"微信扫码支付",
"2":"支付宝支付",
"3":"手机网页支付",
};
if(mapping.hasOwnProperty(paytype))
return mapping[paytype];
return '';
}
}
export default util;