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;