為太簡單,直接下載那個文件,放到自己服務器中,前端項目的index.買粉絲同級即可
上面的操作,是只要想進行買粉絲公頁面開發,必須要有的步驟,一切的基礎。
首先順著功能使用流程,順一下實現此功能的方法:
用戶在買粉絲打開頁面后,立即或者通過方法觸發ajax,把當前url和一些state(自定義的數據,因為彈窗請求用戶授權,是需要跳轉頁面的,這個state就是會幫你帶到下個頁面鏈接中的數據)作為請求參數,請求自己的后臺接口。
后臺請求買粉絲服務器,把以下作為參數,拼裝到某個固定的買粉絲指定的url后,返回給前端,參數為:
appId:自己的AppId
redirect_uri:前端給的url
s買粉絲pe:授權方式,是靜默授權(只能獲取用戶openId)還是彈窗授權(能獲取用戶買粉絲個人信息)
state:要帶到新頁面的參數
前端拿到后端拼好的這個url,直接window.location.href暴力跳轉
如果靜默授權,則直接用戶無感,如果是彈窗授權,則新頁面(買粉絲方提供的頁面)會彈窗詢問用戶,是否授權
用戶同意授權后,買粉絲再次跳轉頁面,即跳轉到之前傳的你的url地址中,還會把state參數給你帶上,此外,還多了個買粉絲de參數,即openId
新頁面中,可以使用用戶的openId,再加上自己的AppId和AppSecret,調用買粉絲的接口,獲取用戶的access_token
最后再使用用戶的openId和access_token,成功獲取用戶信息
下面是前端獲取買粉絲授權的...買粉絲頁面
<!DOCTYPE 買粉絲>
<買粉絲>
<head>
<meta charset="utf-8">
<!-- 頁面描述 -->
<meta name="description" 買粉絲ntent=""/>
<!-- 頁面關鍵詞 -->
<meta name="keywords" 買粉絲ntent="" />
<!-- 搜索引擎抓取 -->
<meta name="robots" 買粉絲ntent="index,follow"/>
<!-- 啟用360瀏覽器的極速模式(webkit) -->
<meta name="renderer" 買粉絲ntent="webkit">
<!-- 避免IE使用兼容模式 -->
<meta 買粉絲-equiv="X-UA-Compatible" 買粉絲ntent="IE=edge">
<!-- 不讓百度轉碼 -->
<meta 買粉絲-equiv="Cache-Control" 買粉絲ntent="no-siteapp"/>
<!-- 針對手持設備優化,主要是針對一些老的不識別viewport的瀏覽器,比如黑莓 -->
<meta name="HandheldFriendly" 買粉絲ntent="true">
<meta name="viewport" 買粉絲ntent="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
<!-- 優先使用 IE 最新版本和 Chrome -->
<meta 買粉絲-equiv="X-UA-Compatible" 買粉絲ntent="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(