获取微信授权的 CODE
Shakiusa
129 阅读
0 评论
0 点赞
<!DOCTYPE html>
<html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover"> <title>获取微信授权的code</title> <style> * { padding: 0; margin: 0; border: 0; box-sizing: border-box; } body { width: 100vw; min-height: 100vh; padding: 10px; } #button { font-size: 20px; background-color: #eee; border-radius: 5px; padding: 5px 20px; } #code { color: #333; font-size: 30px; width: 100%; resize: none; border: 1px solid #eee; padding: 5px; line-height: 1.5; } #type { line-height: 1.5; margin: 20px 0; } #type.openid .userinfo { display: none; } #type.userinfo .openid { display: none; } </style> </head> <body> <button id="button">切换</button> <div id="type"> <span class="openid">只获取openid</span> <span class="userinfo">获取userinfo</span> </div> <textarea type="text" id="code"></textarea> <script> const util = { query: name => { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return decodeURI(r[2]); return null; }, } </script> <script> (function () { const config = { appId: "wx00e*****123" // 填写你的APappId } const button = document.querySelector("#button") const codeEle = document.querySelector("#code") const typeEle = document.querySelector("#type") typeEle.className = localStorage.getItem("scope") === "userinfo" ? "userinfo" : "openid" button.addEventListener("click", function () { console.log("click") const scope = localStorage.getItem("scope") if (scope === "userinfo") { localStorage.setItem("scope", "openid") typeEle.className = "openid" } else { localStorage.setItem("scope", "userinfo") typeEle.className = "userinfo" } }) let code = util.query("code") if (code) { console.log(code) codeEle.value = code window.history.replaceState({}, document.title, 'index.html'); return } let state = encodeURI(util.query("state")) if (state == "null") { state = "" } const redirectUrl = encodeURIComponent(location.href.split("?")[0]) localStorage.setItem("redirectUrl", redirectUrl) const scope = localStorage.getItem("scope") === "userinfo" ? "snsapi_userinfo" : "snsapi_base" location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${config.appId}&redirect_uri=${redirectUrl}&response_type=code&scope=${scope}&state=${state}#wechat_redirect` })() </script> </body> </html>
- 本文分类:前端开发
- 本文标签:无
- 浏览次数:129 次浏览
- 发布日期:2023-05-08 03:04:25
- 本文链接:https://one.jingzhi3d.net/frontend_dev/123.html
发表评论 取消回复