Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title></title> | |
</head> | |
<body> | |
<script> | |
//alert("href: "+location.href); | |
var GWC = { | |
version: '1.1.1', | |
urlParams: {}, | |
appendParams: function(url, params) { | |
if (params) { | |
var baseWithSearch = url.split('#')[0]; | |
var hash = url.split('#')[1]; | |
for (var key in params) { | |
var attrValue = params[key]; | |
if (attrValue !== undefined) { | |
var newParam = key + "=" + attrValue; | |
if (baseWithSearch.indexOf('?') > 0) { | |
var oldParamReg = new RegExp('^' + key + '=[-%.!~*\'\(\)\\w]*', 'g'); | |
if (oldParamReg.test(baseWithSearch)) { | |
baseWithSearch = baseWithSearch.replace(oldParamReg, newParam); | |
} else { | |
baseWithSearch += "&" + newParam; | |
} | |
} else { | |
baseWithSearch += "?" + newParam; | |
} | |
} | |
} | |
if (hash) { | |
url = baseWithSearch + '#' + hash; | |
} else { | |
url = baseWithSearch; | |
} | |
} | |
return url; | |
}, | |
getUrlParams: function() { | |
var pairs = location.search.substring(1).split('&'); | |
for (var i = 0; i < pairs.length; i++) { | |
var pos = pairs[i].indexOf('='); | |
if (pos === -1) { | |
continue; | |
} | |
GWC.urlParams[pairs[i].substring(0, pos)] = decodeURIComponent(pairs[i].substring(pos + 1)); | |
} | |
}, | |
doRedirect: function() { | |
var code = GWC.urlParams['code']; | |
var appId = GWC.urlParams['appid']; | |
var scope = GWC.urlParams['scope'] || 'snsapi_base'; | |
var state = GWC.urlParams['state']; | |
var isMp = GWC.urlParams['isMp']; //isMp为true时使用开放平台作授权登录,false为网页扫码登录 | |
var baseUrl; | |
var redirectUri; | |
if (!code) { | |
baseUrl = "https://open.weixin.qq.com/connect/oauth2/authorize#wechat_redirect"; | |
if(scope == 'snsapi_login' && !isMp){ | |
baseUrl = "https://open.weixin.qq.com/connect/qrconnect"; | |
} | |
//第一步,没有拿到code,跳转至微信授权页面获取code | |
// alert(appId); | |
//alert("href: "+location.href); | |
var url = document.location.toString(); | |
var arrUrl = url.split("?"); | |
//let currentHost = "https://wx-1257268355.cos-website.ap-shanghai.myqcloud.com";//arrUrl[0]; | |
//alert("currentHost: "+location.href); | |
redirectUri = GWC.appendParams(baseUrl, { | |
'appid': appId, | |
// 'redirect_uri': 'https://app-1257268355.cos-website.ap-shanghai.myqcloud.com',//location.href, | |
'redirect_uri': encodeURIComponent(location.href), | |
// 'redirect_uri': 'https://wx-1257268355.cos-website.ap-shanghai.myqcloud.com', | |
// 'redirect_uri': encodeURIComponent("http://wx-1257268355.cos-website.ap-shanghai.myqcloud.com/get-weixin-code.html"), | |
//'redirect_uri': encodeURIComponent(currentHost), | |
'response_type': 'code', | |
'scope': scope, | |
'state': state, | |
}); | |
} else { | |
//第二步,从微信授权页面跳转回来,已经获取到了code,再次跳转到实际所需页面 | |
//alert("p.83-code:"+code); | |
redirectUri = GWC.appendParams(GWC.urlParams['redirect_uri2'], { | |
'code': code, | |
'state': state | |
}); | |
} | |
//alert("p.89-redirectUri:"+redirectUri); | |
console.log(redirectUri); | |
location.href = redirectUri; | |
} | |
}; | |
GWC.getUrlParams(); | |
GWC.doRedirect(); | |
// window.onload = function () { | |
// var appId = GWC.urlParams['appid']; | |
// var scope = GWC.urlParams['scope'] || 'snsapi_base'; | |
// window.mplogin2.doLogin({ | |
// appid: appId, // 必填,公众号appid,将以此 appid 名义进行请求 | |
// scope: scope, // 必填,登录方式:snsapi_userinfo、snsapi_base// 必填,登录方式:snsapi_userinfo、snsapi_base | |
// // noback: true, // 选填,登录完不直接返回业务页面,执行自定义附加操作 | |
// redirect: GWC.urlParams['redirect_uri2'] // 跳转的页面,默认是当前页面,如果你有自定义登录成功页,可以联动设置 | |
// }).then(res => { | |
// // noback为 true 时,将不会返回业务页面,执行到这里 | |
// // 此时需要自行控制跳转回业务页面 | |
// console.log(res) | |
// }) | |
// } | |
</script> | |
</body> | |
</html> | |