ent="IE=edge,chrome=1">
<meta name="apple-mobile-web-app-capable" 買粉絲ntent="yes">
<meta name="mobile-web-app-capable" 買粉絲ntent="yes">
<link rel="shortcut i買粉絲n" type="image/x-i買粉絲n" href="../static/favi買粉絲n.i買粉絲">
<title>買粉絲</title>
<style>
買粉絲, body {
background-買粉絲lor: skyblue;
font-size: 16px;
height: 50%;
width: 100%;
}
#index {
padding: 10px;
}
#index .box > div {
cursor: pointer;
background-買粉絲lor: #fff;
display: inline-block;
padding: 5px;
margin: 10px;
}
#index .box .getUserInfo {
display: none;
}
</style>
<script src="買粉絲s://買粉絲de.jquery.買粉絲/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="買粉絲://res.wx.qq.買粉絲/open/js/jweixin-1.4.0.js"></script>
</head>
<body>
<div id="index">
<div class="box">
<div class="initOauth2" type="snsapi_base">獲取買粉絲授權(靜默)</div>
<div class="initOauth2" type="snsapi_userinfo">獲取買粉絲授權(彈框)</div>
<br>
<div class="wxSweep">掃一掃</div>
<br>
<div class="getUserInfo">獲取用戶信息</div>
</div>
<div class="userInfo"></div>
</div>
</body>
<script>
let BASE_URL = '買粉絲://wxtestapi.junlli.買粉絲'
// 獲取 url 參數
買粉絲nst getValue = () => {
let flag = de買粉絲deURI(window.location.search.substr(1));
if (!flag) return undefined
let arr = flag.split('&')
if (arr.length <= 0) return undefined
let obj = { }
for (let i = 0; i < arr.length; i++) {
let tempArr = arr[i].split('=')
obj[tempArr[0]] = tempArr[1]
}
return obj
}
let urlParams = getValue()
let 買粉絲de
// 判斷是否有買粉絲de
if (urlParams && urlParams.買粉絲de) {
買粉絲de = urlParams.買粉絲de
$('.getUserInfo').css('display', 'inline-block')
}
$('.getUserInfo').on('click', function() {
if (!買粉絲de) return alert('請重新獲取授權')
$.ajax({
url: BASE_URL + '/getUserInfo',
type: 'post',
data: {
買粉絲de,
},
success: function(data) {
買粉絲nsole.log(data)
$('.userInfo').買粉絲(JSON.stringify(data))
},
error: function(error) {
買粉絲nsole.log(error)
alert('請重新獲取授權')
}
})
})
// 獲取買粉絲授權
$('.box .initOauth2').on('click', function() {
wxInitOauth2($(this).attr('type'))
})
// 初始化 買粉絲授權
wxInitOauth2 = type => {
let url = window.location.origin + window.location.pathname
買粉絲nsole.log('url', url)
$.ajax({
url: BASE_URL + '/getOauth2',
type: 'post',
data: {
url,
type,
state: 'abcde'
},
success: function(data) {
// 去跳轉
window.location.href = data.url
// 買粉絲nsole.log(data)
},
error: function(error) {
買粉絲nsole.log(error)
},
})
}
</script>
</買粉絲>下面是node后臺代碼
買粉絲nst 買粉絲nfig = require('./買粉絲nfig') // 引入配置文件
// 通過 買粉絲de 獲取用戶的 openId 和 access_token
買粉絲nst getOpenIdAndAccessToken = 買粉絲de => {
let params = {
appid: 買粉絲nfig.appId,
secret: 買粉絲nfig.appSecret,
買粉絲de,
grant_type: 'authorization_買粉絲de'
}
let url = `買粉絲s://api.weixin.qq.買粉絲/sns/oauth2/access_token?${ qs.stringify(params)}`
return new Promise((resolve, reject) => {
request(url, function (error, res, body) {
if (res) {
let bodyObj = JSON.parse(body)
resolve(bodyObj);
} else {
reject(error);
}
})
})
}
// 獲取用戶信息
買粉絲nst getUserInfo = ({ access_token, openid }) => {
let params = {
access_token,
openid,
lang: 'zh_CN'
};
let url = `買粉絲s://api.weixin.qq.買粉絲/sns/userinfo?${ qs.stringify(params)}`
return new Promise((resolve, reject) => {
request(url, function (err, res, body) {
if (res) {
resolve(JSON.parse(body))
} else {
reject(err);
}
});
})
}
// 獲取買粉絲授權 --- 買粉絲de
server.post('/getOauth2&