微信時代的來臨!!!html
最近今天,愈來愈多的人都來問我,什麼是微信?這裏的微信我默認指咱們的公衆帳號或者服務號之類的,因此下文若是不明確指出,就是指這個!web
話回主題,什麼是微信?他和通常的WEB項目有什麼不同,又有什麼共同點了?編程
其實微信也算是一個WEB服務的程序,他能夠嵌入在手機裏面,能夠接收客戶輸入的文字,圖片,視頻,語言等各類豐富的信息,同時有具備一些推送的功能,也就是說,微信是一個也是一種web服務程序(你這不廢話麼,運行在互聯網的項目均可以成爲web程序,有什麼稀奇的)。瀏覽器
其實,這全部的一切仍是源於這個叫作微信的通信軟件,其實咱們能夠把整個微信軟件看作是一個app裏內嵌了一個手機的瀏覽器。這樣你們就可以理解了 爲何微信的服務或者公衆帳號可以運行一些響應式的頁面了。因此,咱們所作的微信服務號和公衆號說白了 仍是一個web站點。只是這樣的站點是在微信手機裏面進行瀏覽使用的,這樣的話,你們是否是對這個微信帳號有種似曾相識的感受了了?服務器
好了,簡單的說了一下這個微信是啥的問題以後,那麼咱們有必要去了解一下微信的整個運行機理,必要條件和開發步驟。微信
第1、你得要有一個微信的公衆號或者服務號(這不是廢話麼,沒有這個,你玩毛的微信了,若是你手上沒有,你能夠申請一個測試帳號,有效期是一年,夠你玩一整子了)微信開發
第2、你得要有一個公網可以訪問到的服務器,這個服務器是放你本身的微信程序的,其實你沒有也沒有關係,一會,天蓬小豬帶你飛app
第三,你要會一門編程語言,Java,Python,PHP什麼的,只要可以在web中運行你就夠了。我這裏用Jfinal_weixin。這個須要有Jfinal的基礎才能更好的把控,因此,須要瞭解這個的能夠先從Jfinal開始瞭解,jfinal的視頻我已經錄完了,老規矩,要的交出你的百度雲盤,我看到留言後會給大家分享發送的。dom
好了 以上的這些條件你都知足的話,咱們開始微信機理的講解,這裏我用Jfinal_weixin1.2給你們講解編程語言
咱們知道,在微信的公衆帳號中,咱們一般要設置一些選項和參數設置。我下面給你你們詳細講解一下這個選項的一些意圖和做用,這樣大家就不用處處找資料了,看這個文字教程,就可以讓你飛的很高了!!
解釋一下:
URL:就是你公網訪問的那個地址:例如http://www.doMain.com/msg ,其中http://www.domain.com是你的微信的訪問的域名,記住必定要帶http://,後面的msg是你的那個訪問的路由地址,只要玩過Jfinal的,這個必定會知道的
token:是你只設置的口令,這個能夠隨便設置,惟一的要求就是兩邊的這個token必須一致,也就是你微信的那個設置和你程序裏面的那個設置要一致。就這個要求。
EncodingAESKey:這個是加密的key,使用隨機生成就對了
消息加密方式:這個本身根據時間須要要,說明上面也說的很清楚了。
但咱們完成了這上面的配置之後,咱們就能夠進行保存而且進行驗證了,請注意我如下說的話:
在微信同你指定的那個服務器進行交互以前,請確保你的服務器配置是在啓用狀態的,由於只有這樣,你的服務器纔可以接收的這個來自微信的服務請求
微信第一步設置搞完了,咱們回到本身的程序裏設置對應的選項(a_little_config.txt)
把這個對應的值填上,就是和微信裏面設置的那個些個對應就行了。
而後經過微信的那個後臺進行推送,下面我又要說,請注意一下這段文字
其實微信發送消息給咱們指定的URL的時候,他進行了一下的幾部操做
一、先發送咱們設置的token,appid,appscret還有時間戳到咱們的URL地址,這樣的目的是爲了驗證咱們制定的URL是否是合法的,換句話說,經過這些參數的組合加密等操做,來肯定是否是能到咱們的指定的URL所在的服務器,不過微信的一次傳輸只有5秒的有效期,這是個小坑,你們必定要注意,超過5秒,確定就失效了,切記啊!!
二、咱們的微信程序必定要有這個管理驗證簽名這個操做,就是說,數據來了之後,咱們處理完成之後,必定要告訴微信服務說,「對的,哥們,就是這個服務器,你發對了,咱們能夠開始搞基了」。
三、在驗證完了簽名之後,而且正確了,咱們就開始咱們正常的通信和處理,因爲微信傳過來的一串參數是xml的,因此,你必需要可以解析這一串東西,很不幸,Jfinal_weixin已經替你作了這個事情了,當你完成了這個東西解析之後,你就能夠乾點別的了,好比接收到特定的指令之後,你就能夠完成特定的操做,而後輸出對應的xml參數給微信服務器,這樣的話,你就完成了整個過程,從檢驗,解析,輸出,回傳的這麼一個過程,這樣的話,微信就能正常的工做了,在你的手機上,也就可以和微信的公衆或者服務器進行互動了!過程就是這麼簡單,但願各位同窗看完之後就不要再猶豫了,微信開發的過程或者機制就是這樣的,放開手幹吧,各類自由的飛翔
福利時間:
若是經過微信在本地進行測試:
http://www.360doc.com/content/14/1011/15/17181183_416079455.shtml
祝你們玩得開心,後面會陸續推出一些jfinal_weixin的源碼分析,但願可以快速的跟你們見面,歡迎留言討論啊!!