UNPKG

lj-publish-test3

Version:

A magical vue admin. Typical templates for enterprise applications. Newest development stack of vue. Lots of awesome features

117 lines (102 loc) 3.9 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>微信支付</title> <script src="./cdn/jquery.min.js"></script> <script src="./cdn/jweixin-1.2.0.js"></script> </head> <body> <div id="pay">微信支付</div> </body> <script> var paySign ; var appId ; var timeStamp ; var nonceStr ; var packageStr ; var signType ; // $('#pay').on('click',function(){ // window.location.href="../index.html#/nordaq_shopRecharge" // }) //http://inner.x9water.com/newoamtest/static/getWeChartRole.html?c=011WciTm0aMBcn1PApUm0O5k9w3WciTr&s=5f23de36aa9a3b719b5a4efa var currUrl = window.location.href console.log('111',GetUrlParams(currUrl)) let {c:code,s:wxPayOrderId}=GetUrlParams(currUrl) var url="http://priv.x9water.com:18080/kinder/wxPayJSAPI" window.$.ajax({ method: 'post', url: url, async: false, dataType: 'json', headers: { 'Content-Type': 'application/json' }, data: JSON.stringify({ 'dbname': 'lora', "_id.wxPayOrderId":wxPayOrderId, code, 'not_token': true }), success: function(res) { console.log("---code---",res) const data = res.data if(data != null){ appId = data.appId; paySign = data.paySign; timeStamp = data.timeStamp; nonceStr = data.nonceStr; packageStr = data.package; signType = data.signType; callpay(); }else{ alert("统一下单失败"); } } }) function GetUrlParams(param){ var url = param || location.href // 获取url中"?"符后的字串 var theRequest = {} var startpos = url.indexOf('?') if (startpos > -1) { let str = url.substr(startpos + 1) if (str.indexOf('#/') > -1) str = str.substr(0, str.indexOf('#/')) const strs = str.split('&') for (var i = 0; i < strs.length; i++) { theRequest[strs[i].split('=')[0]] = unescape(strs[i].slice(strs[i].indexOf('=') + 1)) // unescape(strs[i].split('=')[1]) } } return theRequest } function onBridgeReady(){ WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId":appId, //公众号名称,由商户传入 "timeStamp":timeStamp, //时间戳,自1970年以来的秒数 "nonceStr":nonceStr , //随机串 "package":packageStr, //预支付交易会话标识 "signType":signType, //微信签名方式 "paySign":paySign //微信签名 }, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ) { alert("ok"); // window.location.href='${base}/personal.htm'; }else if(res.err_msg == "get_brand_wcpay_request:cancel"){ }else if(res.err_msg == "get_brand_wcpay_request:fail" ){ alert('支付失败'); } //使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 } ); } function callpay(){ if (typeof WeixinJSBridge == "undefined"){ // alert('微信支付必须在微信内置浏览器中使用.'); if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } }else{ onBridgeReady(); } } </script> </html>