SpringBoot(超詳細(xì))微信公眾號(hào)開發(fā)(一)

1.公眾號(hào)淺談

1)目前公眾號(hào)類型分為兩種:服務(wù)號(hào)和訂閱號(hào),2013年8月5日平臺(tái)更新后所有的帳號(hào)默認(rèn)為訂閱號(hào),有一次轉(zhuǎn)換成服務(wù)號(hào)的機(jī)會(huì);

2)服務(wù)號(hào)主要面向企業(yè)、政府和其他組織,而訂閱號(hào)主要面向媒體和個(gè)人;

3)\color{red}{只有服務(wù)號(hào)可以申請(qǐng)自定義菜單,訂閱號(hào)不能申請(qǐng)}

4)服務(wù)號(hào)每月只能群發(fā)一條消息,而訂閱號(hào)每天能群發(fā)一條消息。
在微信5.0以前,自定義菜單是作為一種內(nèi)測(cè)資格使用的,只有少數(shù)公眾帳號(hào)擁有菜單,因此出現(xiàn)很多企業(yè)為了弄到菜單不惜重金求購(gòu)?,F(xiàn)如今,一大批帳號(hào)從訂閱號(hào)轉(zhuǎn)為服務(wù)號(hào),很多都是奔著自定義菜單去的。

2.開發(fā)準(zhǔn)備

2.1 原理了解

本文第一講,主要講解如何搭建微信公眾號(hào)開發(fā)環(huán)境,以及連接微信服務(wù)器,想要開發(fā)上更輕松,原理一定要先搞清楚。用戶與公眾號(hào)之間的信息交互是:用戶發(fā)送的信息是先傳送到微信服務(wù)器,微信服務(wù)器在以xml的格式發(fā)送給進(jìn)行公眾號(hào)

原理圖.png

2.2 賬號(hào)準(zhǔn)備

具體申請(qǐng)流程此處略過,百度一下有人教你怎樣一步一步申請(qǐng)的,不過,個(gè)人賬號(hào)什么的限制太多,而其他又要求營(yíng)業(yè)執(zhí)照等,太麻煩,所以如果是小白只是想學(xué)一下的話,可以申請(qǐng)一個(gè)測(cè)試號(hào),微信公眾號(hào)平臺(tái)

微信平臺(tái).jpg

平臺(tái)登錄.png

用戶登錄后頁面如下,至此賬號(hào)準(zhǔn)備完畢


首頁.jpg

2.3開發(fā)環(huán)境準(zhǔn)備

工欲善其事,必先利其器,選擇好的工具可以節(jié)省大部分開發(fā)時(shí)間,本次教程使用工具如下:

2.3.1開發(fā)環(huán)境

1)開發(fā)工具:IntelliJ IDEA 2017.3.5 x64
2)環(huán)境平臺(tái):JDK1.9
3)后端框架:SpringBoot2.1.3

2.3.2調(diào)試環(huán)境

1)在進(jìn)行微信公眾號(hào)開發(fā)時(shí),我們需要搭建網(wǎng)站,并且隨時(shí)都有可能修改網(wǎng)站內(nèi)容進(jìn)行調(diào)試。如果能夠?qū)?nèi)網(wǎng)ip映射到外網(wǎng)上,將大大方便我們的調(diào)試。每次發(fā)布只需重啟項(xiàng)目即可。
2)本次教程通過natapp(還有其他映射工具)將內(nèi)網(wǎng)映射到外網(wǎng),還可以方便我們其他工作,比如外網(wǎng)展示網(wǎng)站等。

2.3.2.1注冊(cè)natApp

natapp官網(wǎng)地址:https://natapp.cn/,用戶注冊(cè)后進(jìn)入如下配置頁面:

natapp.jpg

2.3.2.2 下載natapp

1)如下圖下載對(duì)應(yīng)的版本,本次教程下載Windows64位

down.jpg

2)然后在natapp同目錄文件夾下創(chuàng)建config.ini配置文件
config.jpg

配置文件內(nèi)容如下:
將本文件放置于natapp同級(jí)目錄 程序?qū)⒆x取 [default] 段
在命令行參數(shù)模式如 natapp -authtoken=xxx 等相同參數(shù)將會(huì)覆蓋掉此配置
命令行參數(shù) -config= 可以指定任意config.ini文件

[default]
authtoken=99785ff30b10xxx #對(duì)應(yīng)一條隧道的authtoken
clienttoken=
log=none
loglevel=ERROR
http_proxy=
3)其中 authtoken 是注冊(cè)natapp時(shí)分配的,拷貝過來即可

auto.jpg

conf.jpg

2.3.2.3啟動(dòng)natapp

打開cmd命令窗口,輸入natapp -authtoken=99785ff30b10xxx,(為方便起見,可以自己寫好bat腳本方便下次啟動(dòng))

ip.jpg

到此用戶外網(wǎng)映射成功,可以啟動(dòng)項(xiàng)目服務(wù)器,輸入http://hgfsdhsgdjhgjh.cc/test,即可訪問項(xiàng)目
\color{red}{注意:整個(gè)過程中cmd窗口不要關(guān)閉,每次重啟natapp,映射外網(wǎng)地址均會(huì)變化}

3.配置通信

3.1流程圖

liucheng.png

3.2 通過Idea創(chuàng)建SpringBoot項(xiàng)目

boot.PNG

3.3 測(cè)試與服務(wù)器連接

3.3.1 填寫自己的URL,即外網(wǎng)+項(xiàng)目路由

test.jpg

3.3.2 驗(yàn)證服務(wù)

3.3.2.1 基本配置的URL包含兩個(gè)方法:get方法和post方法

get方法,驗(yàn)證消息的確來自微信服務(wù)器,點(diǎn)擊“提交”按鈕時(shí),請(qǐng)求的就是該方法
post方法,現(xiàn)業(yè)務(wù)邏輯都走該方法,當(dāng)然前提是上面的“提交”能成功(后面章節(jié)進(jìn)行講解)。

token為一個(gè)約定的鑰匙,服務(wù)器驗(yàn)證時(shí),微信會(huì)用token加密一段字符串,它會(huì)把加密字符串用到的其它參數(shù)發(fā)送到服務(wù)器,用服務(wù)器定義的token進(jìn)行加密并拿到結(jié)果,隨后它會(huì)對(duì)比兩次結(jié)果,如果相同則通過驗(yàn)證,所以微信后臺(tái)的token和服務(wù)器上token必須一致,用相同加密方法加密后才能得到相同結(jié)果。


yanzheng.jpg

token.jpg

3.3.2.2 驗(yàn)證傳遞參數(shù)

官方接口文檔:消息接口使用指南

file.jpg

4. 測(cè)試效果

link.jpg

sys.jpg

5. 本章結(jié)語

至此,連接測(cè)試微信服務(wù)器第一講結(jié)束,基本上搞清楚原理,就很好理解,在這里要注意,我們項(xiàng)目的端口號(hào)要與natapp端口號(hào)80一致。
以上內(nèi)容如有錯(cuò)誤,請(qǐng)大家及時(shí)留言指正,技術(shù)之路,永無止境,學(xué)無先后,達(dá)者為師!

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

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