function masLogin(conf) { var d = document.createElement("iframe"), e = conf.api_url + "?appid=" + conf.appid + "&return_url=" + encodeURIComponent(conf.return_url) + "&rand_token=" + conf.rand_token + "&embed_flag=1"; d.src = e, d.frameBorder = "0", d.allowTransparency = "true", d.scrolling = "no", d.width = conf.width, d.height = conf.height; d.sandbox = "allow-scripts allow-top-navigation allow-same-origin"; var f = document.getElementById(conf.id); f.innerHTML = ""; f.appendChild(d); } function GetParams() { var url = location.search; //获取url中"?"符后的字串 var params = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { params[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return params; } function encodeSearchParams(obj) { var params = []; Object.keys(obj).forEach((key) => { let value = obj[key]; if (typeof value === 'undefined') { value = ''; } params.push([key, encodeURIComponent(value)].join('=')) }); return params.join('&'); } function microLogin(id) { //防止chrome回退后的Bug var elem = document.getElementById(id); var ifr = document.createElement("iframe"); elem.appendChild(ifr); while(elem.hasChildNodes()) //当elem下还存在子节点时 循环继续 { elem.removeChild(elem.firstChild); } var paramsStr = ""; var params = GetParams(); var serviceParam = params['service']; if (serviceParam) { //if ((serviceParam.indexOf("http://ca.cupl.edu.cn") >= 0) || (serviceParam.indexOf("https://ca.cupl.edu.cn") >= 0)) { // params['service'] = ""; //} else { paramsStr = encodeSearchParams(params); //} } //var paramsStr = encodeSearchParams(GetParams()); var retUrl = document.location.protocol + "//ca.cupl.edu.cn/tpass/login_auth"; if (paramsStr.length > 0) { retUrl = retUrl + "?" + paramsStr; } var objLogin = { id: id, api_url: "https://mas.cupl.edu.cn/connect/qrpage", appid: "d8a8fc4a96d64f29bbe454c61e7fa986", return_url: retUrl, rand_token: "91dae4940902460213ddd7fb771d0c04", width: "300px", height: "400px", }; masLogin(objLogin); } /* var orgHomeFunc = null; function hookHome() { if(orgHomeFunc != null) { orgHomeFunc(); } microLogin('wxLoginImg'); } if(typeof home === "function") { orgHomeFunc = home; home = hookHome; } else { microLogin('wxLoginImg'); }*/