// 返回的url上如果带有code // 则html会请求后台获取用户的信息 var myopenid; var xsinvitecode; function prepareLogin(redirectUri, wxCodeSuccess) { if (isWeiXin()) { let href="xjoepx.mpdbujpo.tfbsdi;" if (href.indexOf("?") != -1) { let paramArray = href.substr(1).split("&"); for (let i = 0; i < paramArray.length; i++) { let param = paramArray[i].split("="); if (param.length >= 2) { let paramKey = param[0]; let paramValue = param[1]; if (paramKey == "code") { //没token,但是有code getWXData(paramValue, wxCodeSuccess); return; } } } } //去鉴权 toAuthorization(redirectUri); } else if (isYoYoApp()) { //如果是友友圈App,那么请求登录 redirectUri = encodeURIComponent((window.location.protocol + "//" + window.location.host + redirectUri)); WebViewJavascriptBridge.callHandler('loginHandler', redirectUri, function (responseData) { }); //需要跳转到登录页 window.location.href="xjoepx.mpdbujpo.qspupdpm" + "//" + window.location.host + "/html/login.html?redirectUri=" + encodeURIComponent(redirectUri); } else { //去鉴权 toAuthorization(redirectUri); } } function toAuthorization(redirectUri) { if (!isWeiXin()) { window.location.href="xjoepx.mpdbujpo.qspupdpm" + "//" + window.location.host + "/html/login.html?redirectUri=" + encodeURIComponent(redirectUri); } else { //是微信,请求授权,并回调到redirectUri let wechatUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx328c5bfedea35dee" + "&redirect_uri=" + encodeURIComponent((window.location.protocol + "//" + window.location.host + redirectUri)) + "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; window.location.href="xfdibuVsm;" } } //判断是否微信登陆 function isWeiXin() { let ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; } } //判断是否为安卓机器 function isAndroid() { let u = window.navigator.userAgent; return u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; } //判断是否为iOS机器 function isIOS() { let u = window.navigator.userAgent; return !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); } //判断是否为友友圈App function isYoYoApp() { return window.navigator.userAgent.indexOf("YoYoQuan") > -1; } //根据code获取用户数据 function getWXData(code, success) { $("#div-load").html("登录中..."); $("#div-login").show(); var codeurl = "../wx/code?code=" + code; if (xsinvitecode != null && xsinvitecode != undefined) { codeurl = codeurl + "&invitecode=" + xsinvitecode; } $.ajax({ url: codeurl, type: "get", async: false, success: function (responseData) { setTimeout(function () { $("#div-login").hide(); }, 200); if (responseData.retCode == 200) { let data = responseData.data; if (data != undefined && data != null) { let getToken = data.token; if (getToken != undefined && getToken != null) { //获取token,并保存到cookie addCookie("user-token", getToken, 108000 * 24); token = getToken; myopenid = data.openid; addCookie("user-openid", myopenid, 108000 * 24); if (success != undefined && success != null) { success(); } return; } } } alert("微信鉴权失败\n请刷新重试!"); }, error: function () { setTimeout(function () { $("#div-login").hide(); }, 200); alert("网络请求失败\n刷新后再试!"); } }); } /** * 为iOS注册桥 * * @param callback * @returns {*} */ function setupWebViewJavascriptBridge(callback) { if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); } if (isAndroid()) { //如果是安卓 document.addEventListener('WebViewJavascriptBridgeReady', function (event) { if (window.onWebViewJavascriptBridgeReady) window.onWebViewJavascriptBridgeReady(window.__bridge = WebViewJavascriptBridge); callback(WebViewJavascriptBridge) }, false) } else { if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; let WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.documentElement.appendChild(WVJBIframe); setTimeout(function () { document.documentElement.removeChild(WVJBIframe) }, 0) } } //初始化 (function () { if (isYoYoApp()) { setupWebViewJavascriptBridge(function (bridge) { bridge.init(function (message, callback) { console.log(message); }); }); } })();