之前做了一個(gè)微信H5頁(yè)面抽獎(jiǎng)的小功能,產(chǎn)品需求是用戶在進(jìn)入頁(yè)面后判斷用戶是否已經(jīng)關(guān)注此公眾號(hào),若沒(méi)有關(guān)注,則喚起關(guān)注公眾號(hào)頁(yè)面。
一、前期微信公眾平臺(tái)配置:
1、獲取appid,appsecret,添加白名單
(1)登錄微信公眾平臺(tái)——>開發(fā)——>基本配置。開發(fā)中需要用到兩個(gè)參數(shù),appId和appSecret(appSecret只展示一次,需保存下來(lái),否則需要重置獲?。?/p>

(2)獲取access_token時(shí)需要添加IP白名單。
2. 添加網(wǎng)頁(yè)授權(quán)
進(jìn)入公眾號(hào)設(shè)置——>功能設(shè)置——>網(wǎng)頁(yè)授權(quán)域名
二、服務(wù)端判斷用戶是否關(guān)注公眾號(hào)
1、獲取全局access_token
(access_token的有效期目前為2個(gè)小時(shí),需定時(shí)刷新,重復(fù)獲取將導(dǎo)致上次獲取的access_token失效)
微信開放文檔說(shuō)明:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html

2、網(wǎng)頁(yè)授權(quán)獲取用戶openid
微信開放文檔說(shuō)明:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
(1)用戶同意授權(quán),獲取code

(2)通過(guò)code換取用戶openid
獲取code后,請(qǐng)求以下鏈接獲取openId: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
3、獲取用戶基本信息
微信開放文檔說(shuō)明:https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId
使用獲取到的全局access_token和用戶openid去請(qǐng)求獲取用戶基本信息接口:

在返回參數(shù)中:
subscribe用戶是否訂閱該公眾號(hào)標(biāo)識(shí),值為0時(shí),代表此用戶沒(méi)有關(guān)注該公眾號(hào),拉取不到其余信息。
三、H5頁(yè)面喚起關(guān)注公眾號(hào)頁(yè)面
上面已經(jīng)說(shuō)明如何判斷用戶是否已經(jīng)關(guān)注公眾號(hào),那如何喚起關(guān)注頁(yè)面,也就是如何跳轉(zhuǎn)到關(guān)注頁(yè)面引導(dǎo)用戶關(guān)注呢,主要分為以下幾個(gè)步驟:
1、登錄微信公眾平臺(tái)
2、點(diǎn)擊微信號(hào)頭像右擊查看源代碼
3、找到源代碼中以下代碼:

將uin_base64這個(gè)參數(shù)值帶入以下鏈接:
https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=uin_base64&scene=110#wechat_redirect
即可喚起關(guān)注公眾號(hào)頁(yè)面
==============================一下為本人思考=========================
四、回到初始鏈接
這一步還沒(méi)有想好如何操作