知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 公眾號(hào)相關(guān) >
最新微服務(wù)SpringCloud項(xiàng)目:微信公眾號(hào)+SpringBoot開(kāi)發(fā)流程總結(jié)(必看)
發(fā)表時(shí)間:2020-10-20
發(fā)布人:葵宇科技
瀏覽次數(shù):159
想要查看前面的筆記請(qǐng)翻閱我的CSDN博客,作者碼字不易,喜歡的話點(diǎn)贊,加個(gè)關(guān)注吧,后期還有很多干貨等著你!
1.注冊(cè)微信公眾號(hào)
這里主要做技術(shù)討論,請(qǐng)查看:傳送門
2.獲取用戶微信信息
2.1 前端首先獲取用戶code
code說(shuō)明
code作為換取access_token的票據(jù),每次用戶授權(quán)帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動(dòng)過(guò)期。
分為兩種情況:1.用戶已經(jīng)關(guān)注;2.用戶未關(guān)注
用戶已經(jīng)關(guān)注怎么做
在確保微信公眾賬號(hào)擁有授權(quán)作用域(scope參數(shù))的權(quán)限的前提下(服務(wù)號(hào)獲得高級(jí)接口后,默認(rèn)擁有scope參數(shù)中的snsapi_base和snsapi_userinfo),引導(dǎo)關(guān)注者打開(kāi)如下頁(yè)面:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
若提示“該鏈接無(wú)法訪問(wèn)”,請(qǐng)檢查參數(shù)是否填寫(xiě)錯(cuò)誤,是否擁有scope參數(shù)對(duì)應(yīng)的授權(quán)作用域權(quán)限。 參考鏈接(請(qǐng)?jiān)谖⑿趴蛻舳酥写蜷_(kāi)此鏈接體驗(yàn)) Scope為snsapi_base
參數(shù)說(shuō)明
參數(shù)是否必須說(shuō)明appid是公眾號(hào)的唯一標(biāo)識(shí)redirect_uri是授權(quán)后重定向的回調(diào)鏈接地址,請(qǐng)使用urlencode對(duì)鏈接進(jìn)行處理response_type是返回類型,請(qǐng)?zhí)顚?xiě)codescope是應(yīng)用授權(quán)作用域,snsapi_base (不彈出授權(quán)頁(yè)面,直接跳轉(zhuǎn),只能獲取用戶openid),snsapi_userinfo (彈出授權(quán)頁(yè)面,可通過(guò)openid拿到昵稱、性別、所在地。并且,即使在未關(guān)注的情況下,只要用戶授權(quán),也能獲取其信息)state否重定向后會(huì)帶上state參數(shù),開(kāi)發(fā)者可以填寫(xiě)a-zA-Z0-9的參數(shù)值,最多128字節(jié)#wechat_redirect是無(wú)論直接打開(kāi)還是做頁(yè)面302重定向時(shí)候,必須帶此參數(shù)用戶同意授權(quán)后
如果用戶同意授權(quán),頁(yè)面將跳轉(zhuǎn)至
redirect_uri/?code=CODE&state=STATE。
用戶禁止授權(quán)
則重定向后不會(huì)帶上code參數(shù),僅會(huì)帶上state參數(shù)
redirect_uri?state=STATE
用戶未關(guān)注怎么做
第三方使用網(wǎng)站應(yīng)用授權(quán)登錄前請(qǐng)注意已獲取相應(yīng)網(wǎng)頁(yè)授權(quán)作用域(scope=snsapi_login)
https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
若提示“該鏈接無(wú)法訪問(wèn)”,請(qǐng)檢查參數(shù)是否填寫(xiě)錯(cuò)誤,如redirect_uri的域名與審核時(shí)填寫(xiě)的授權(quán)域名不一致或scope不為snsapi_login。
參數(shù)說(shuō)明
參數(shù)是否必須說(shuō)明appid是公眾號(hào)的唯一標(biāo)識(shí)redirect_uri是授權(quán)后重定向的回調(diào)鏈接地址,請(qǐng)使用urlencode對(duì)鏈接進(jìn)行處理response_type是返回類型,請(qǐng)?zhí)顚?xiě)codescope是應(yīng)用授權(quán)作用域,擁有多個(gè)作用域用逗號(hào)(,)分隔,網(wǎng)頁(yè)應(yīng)用目前僅填寫(xiě)snsapi_login即可state否用于保持請(qǐng)求和回調(diào)的狀態(tài),授權(quán)請(qǐng)求后原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請(qǐng)求偽造攻擊),建議第三方帶上該參數(shù),可設(shè)置為簡(jiǎn)單的隨機(jī)數(shù)加session進(jìn)行校驗(yàn)#wechat_redirect是無(wú)論直接打開(kāi)還是做頁(yè)面302重定向時(shí)候,必須帶此參數(shù)返回值
用戶允許授權(quán)后,將會(huì)重定向到redirect_uri的網(wǎng)址上,并且?guī)蟘ode和state參數(shù)
redirect_uri?code=CODE&state=STATE
若用戶禁止授權(quán),則重定向后不會(huì)帶上code參數(shù),僅會(huì)帶上state參數(shù)
redirect_uri?state=STATE
2.2 前端獲取code后將code值傳至后端
@RequestMapping("/greet")
public Result greetUser(@PathVariable String appid, @RequestParam String code) {
if (!this.wxService.switchover(appid)) {
throw new IllegalArgumentException(String.format("未找到對(duì)應(yīng)appid=[%s]的配置,請(qǐng)核實(shí)!", appid));
}
WxMpUser user = null;
try {
WxMpOAuth2AccessToken accessToken = wxService.getOAuth2Service().getAccessToken(code);
user = wxService.getOAuth2Service().getUserInfo(accessToken, null);
} catch (WxErrorException e) {
e.printStackTrace();
}
return Result.succeed(user,"用戶信息");
}
當(dāng)獲取到用戶的微信信息后 ,我將其中重要的openid存在數(shù)據(jù)庫(kù)中,以便后期使用,這時(shí)候,我們已經(jīng)完成了重要的一步了,后期我還添加了公眾號(hào)對(duì)話等一系列相關(guān)操作,都是需要openid的支持
后端獲取用戶信息:這里要注意,我使用的是一個(gè)國(guó)人開(kāi)發(fā)的小工具
maven如下:
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>3.9.0</version>
</dependency>
gitee傳送門:點(diǎn)擊這里
我的目錄結(jié)構(gòu)如下:
未完待續(xù)~~~
相關(guān)案例查看更多
相關(guān)閱讀
- 汽車拆解系統(tǒng)
- 網(wǎng)站建設(shè)
- 買小程序被騙
- 網(wǎng)絡(luò)公司排名
- 汽車回收系統(tǒng)
- 云南小程序開(kāi)發(fā)哪家好
- 云南網(wǎng)站建設(shè)百度官方
- Web開(kāi)發(fā)框架
- 云南小程序被騙
- 重慶網(wǎng)站建設(shè)公司
- 昆明網(wǎng)站開(kāi)發(fā)
- painter
- 云南小程序開(kāi)發(fā)制作
- 小程序開(kāi)發(fā)排名前十名
- 南通小程序制作公司
- 排名
- 云南網(wǎng)站建設(shè)哪家好
- 江蘇小程序開(kāi)發(fā)
- 小程序技術(shù)
- 云南網(wǎng)站建設(shè)靠譜公司
- 云南小程序開(kāi)發(fā)公司推薦
- 報(bào)廢車拆解系統(tǒng)
- 全國(guó)前十名小程序開(kāi)發(fā)公司
- 網(wǎng)站建設(shè)快速優(yōu)化
- 云南網(wǎng)站建設(shè)選
- 開(kāi)發(fā)微信小程序
- 小程序被騙
- 定制小程序開(kāi)發(fā)
- 網(wǎng)絡(luò)營(yíng)銷
- 云南網(wǎng)站建設(shè)快速優(yōu)化