SpringBoot(超詳細)微信公眾號開發(fā)(一)

1.公眾號淺談

1)目前公眾號類型分為兩種:服務號和訂閱號,2013年8月5日平臺更新后所有的帳號默認為訂閱號,有一次轉換成服務號的機會;

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

3)\color{red}{只有服務號可以申請自定義菜單,訂閱號不能申請}

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

2.開發(fā)準備

2.1 原理了解

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

原理圖.png

2.2 賬號準備

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

微信平臺.jpg

平臺登錄.png

用戶登錄后頁面如下,至此賬號準備完畢


首頁.jpg

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

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

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

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

2.3.2調試環(huán)境

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

2.3.2.1注冊natApp

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

natapp.jpg

2.3.2.2 下載natapp

1)如下圖下載對應的版本,本次教程下載Windows64位

down.jpg

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

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

[default]
authtoken=99785ff30b10xxx #對應一條隧道的authtoken
clienttoken=
log=none
loglevel=ERROR
http_proxy=
3)其中 authtoken 是注冊natapp時分配的,拷貝過來即可

auto.jpg

conf.jpg

2.3.2.3啟動natapp

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

ip.jpg

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

3.配置通信

3.1流程圖

liucheng.png

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

boot.PNG

3.3 測試與服務器連接

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

test.jpg

3.3.2 驗證服務

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

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

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


yanzheng.jpg

token.jpg

3.3.2.2 驗證傳遞參數(shù)

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

file.jpg

4. 測試效果

link.jpg

sys.jpg

5. 本章結語

至此,連接測試微信服務器第一講結束,基本上搞清楚原理,就很好理解,在這里要注意,我們項目的端口號要與natapp端口號80一致。
以上內容如有錯誤,請大家及時留言指正,技術之路,永無止境,學無先后,達者為師!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。