欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

最新微服務(wù)SpringCloud項目:微信公眾號+SpringBoot開發(fā)流程總結(jié)(必看) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 公眾號相關(guān) >

最新微服務(wù)SpringCloud項目:微信公眾號+SpringBoot開發(fā)流程總結(jié)(必看)

發(fā)表時間:2020-10-20

發(fā)布人:葵宇科技

瀏覽次數(shù):162

想要查看前面的筆記請翻閱我的CSDN博客,作者碼字不易,喜歡的話點贊,加個關(guān)注吧,后期還有很多干貨等著你!

1.注冊微信公眾號

這里主要做技術(shù)討論,請查看:傳送門

2.獲取用戶微信信息

2.1 前端首先獲取用戶code

code說明

code作為換取access_token的票據(jù),每次用戶授權(quán)帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動過期。

分為兩種情況:1.用戶已經(jīng)關(guān)注;2.用戶未關(guān)注

用戶已經(jīng)關(guān)注怎么做

在確保微信公眾賬號擁有授權(quán)作用域(scope參數(shù))的權(quán)限的前提下(服務(wù)號獲得高級接口后,默認(rèn)擁有scope參數(shù)中的snsapi_base和snsapi_userinfo),引導(dǎo)關(guān)注者打開如下頁面:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

若提示“該鏈接無法訪問”,請檢查參數(shù)是否填寫錯誤,是否擁有scope參數(shù)對應(yīng)的授權(quán)作用域權(quán)限。 參考鏈接(請在微信客戶端中打開此鏈接體驗) Scope為snsapi_base

參數(shù)說明
參數(shù)是否必須說明appid是公眾號的唯一標(biāo)識redirect_uri是授權(quán)后重定向的回調(diào)鏈接地址,請使用urlencode對鏈接進行處理response_type是返回類型,請?zhí)顚慶odescope是應(yīng)用授權(quán)作用域,snsapi_base (不彈出授權(quán)頁面,直接跳轉(zhuǎn),只能獲取用戶openid),snsapi_userinfo (彈出授權(quán)頁面,可通過openid拿到昵稱、性別、所在地。并且,即使在未關(guān)注的情況下,只要用戶授權(quán),也能獲取其信息)state否重定向后會帶上state參數(shù),開發(fā)者可以填寫a-zA-Z0-9的參數(shù)值,最多128字節(jié)#wechat_redirect是無論直接打開還是做頁面302重定向時候,必須帶此參數(shù)
用戶同意授權(quán)后

如果用戶同意授權(quán),頁面將跳轉(zhuǎn)至

redirect_uri/?code=CODE&state=STATE。
用戶禁止授權(quán)

則重定向后不會帶上code參數(shù),僅會帶上state參數(shù)

redirect_uri?state=STATE

用戶未關(guān)注怎么做

第三方使用網(wǎng)站應(yīng)用授權(quán)登錄前請注意已獲取相應(yīng)網(wǎng)頁授權(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 

若提示“該鏈接無法訪問”,請檢查參數(shù)是否填寫錯誤,如redirect_uri的域名與審核時填寫的授權(quán)域名不一致或scope不為snsapi_login。

參數(shù)說明
參數(shù)是否必須說明appid是公眾號的唯一標(biāo)識redirect_uri是授權(quán)后重定向的回調(diào)鏈接地址,請使用urlencode對鏈接進行處理response_type是返回類型,請?zhí)顚慶odescope是應(yīng)用授權(quán)作用域,擁有多個作用域用逗號(,)分隔,網(wǎng)頁應(yīng)用目前僅填寫snsapi_login即可state否用于保持請求和回調(diào)的狀態(tài),授權(quán)請求后原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請求偽造攻擊),建議第三方帶上該參數(shù),可設(shè)置為簡單的隨機數(shù)加session進行校驗#wechat_redirect是無論直接打開還是做頁面302重定向時候,必須帶此參數(shù)
返回值

用戶允許授權(quán)后,將會重定向到redirect_uri的網(wǎng)址上,并且?guī)蟘ode和state參數(shù)

redirect_uri?code=CODE&state=STATE

若用戶禁止授權(quán),則重定向后不會帶上code參數(shù),僅會帶上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("未找到對應(yīng)appid=[%s]的配置,請核實!", 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ù)庫中,以便后期使用,這時候,我們已經(jīng)完成了重要的一步了,后期我還添加了公眾號對話等一系列相關(guān)操作,都是需要openid的支持

后端獲取用戶信息:這里要注意,我使用的是一個國人開發(fā)的小工具
maven如下:

        <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>weixin-java-mp</artifactId>
            <version>3.9.0</version>
        </dependency>

gitee傳送門:點擊這里
我的目錄結(jié)構(gòu)如下:
在這里插入圖片描述

未完待續(xù)~~~

相關(guān)案例查看更多