前端開發(fā)微信公眾號獲取code注意點(diǎn)

捋一捋前端開發(fā)微信公眾號時(shí)怎么獲取code,然后將code發(fā)給后端來換取用戶的openid;
1、首先你要成為所要開發(fā)的公眾號的開發(fā)者,在微信公眾平臺--開發(fā)者工具--web開發(fā)者工具中將自己的微信號綁定為開發(fā)者;
2、然后在微信公眾平臺--基本配置中,啟用開發(fā)者密碼(AppSecret),然后將開發(fā)者ID和密碼都保存好;ip白名單按照要求配置好就行;
3、在微信公眾平臺--公眾號設(shè)置--功能設(shè)置中按照要求配置好js接口安全域名和網(wǎng)頁授權(quán)域名,注意js接口安全域名,每個(gè)月只能改3次,配置的時(shí)候一點(diǎn)要注意,最好一次把開發(fā)環(huán)境、測試環(huán)境和線上環(huán)境都配置好,然后把網(wǎng)頁授權(quán)域名配置為開發(fā)環(huán)境,方便調(diào)試;

image.png

注意這些域名配置的時(shí)候,一定要按照要求配置完成,微信需要找到他們自己的txt文件才會(huì)將回調(diào)url傳到你的頁面,配置不對是保存不了的,這點(diǎn)微信做的還是很人性的,不然3次機(jī)會(huì)太少了;
4、都配置完成之后,就需要生成網(wǎng)頁鏈接了,我們的項(xiàng)目是公眾號里面嵌套的h5頁面,在公眾號的自定義菜單中,將url按照固定格式拼接,填上去;
該鏈接分兩種,一種是需要用戶點(diǎn)擊確認(rèn)來獲取用戶基本信息的,一種是不需要點(diǎn)擊確認(rèn),默認(rèn)授權(quán)的,根據(jù)scope字段來控制即可;
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdap
ter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_bas
e&state=123#wechat_redirect
這個(gè)url格式是固定的,只需要更改appid,redirect_uri填開發(fā)環(huán)境域名(注意該鏈接一定要使用urlencode轉(zhuǎn)換一下);
整個(gè)跳轉(zhuǎn)鏈接生成之后,就可以配置到自定義菜單中的地址里面了;
image.png

5、微信公眾號配置完成后,需要用微信開發(fā)者工具調(diào)試。打開微信開發(fā)者工具,用自己的微信登錄,然后將剛才配置到自定義菜單中的鏈接放到開發(fā)者工具的url里面;
image.png

然后直接點(diǎn)擊回車,就會(huì)發(fā)現(xiàn)url改變了,里面會(huì)有code的字段,code每次登錄都會(huì)不一樣,需要隨時(shí)獲??;
image.png

6、將url轉(zhuǎn)化為json對象,然后將code取出,發(fā)給后端即可;我的前端用的angular1的框架,直接用$location.search().code正常應(yīng)該能取到code,但不知道為啥一直都是空的,$location.search()一直都是空的,太玄學(xué),只能用原生js將url轉(zhuǎn)化為對象,在獲取code;
代碼貼上:
// 將微信返回的url獲取,并轉(zhuǎn)化為json對象,取到code,正常用$location.search().code即可,但是一直無法獲取,更改為原生js獲取code
function GetRequest() {
var url = location.search; //獲取url中"?"符后的字符串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
}
}
return theRequest;
}
console.log( GetRequest());

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容