版權聲明:本文爲博主原創文章,轉載註明出處http://blog.csdn.net/u013142781php
其實微信開發跟web開發沒有多大的區別,只是通過了微信,而後再由瀏覽器打開。由於通過微信,所以你的web會附加一些微信平臺所提供的一些功能,如獲取用戶地理位置、獲取微信用戶頭像、拍照上傳、發送微信消息等等,經過微信接口便可調用。要將web項目掛靠在微信公衆平臺上是須要一個賬號的。微信公衆平號分爲服務號、訂閱號、企業號。這三種賬號有一些小區別,可是開發流程都是差很少的,只是開放的功能上有些區別,知道其中一種開發,其餘的也差很少。關於具體區別先不做過多介紹,後面的文章會講到。接下來咱們以企業號爲例帶你們進入微信開發之旅。web
接下來將從下面幾個角度帶你們瞭解微信開發:算法
(1)申請企業號體驗號
(2)企業號的一些配置
(3)微信JS接口調用api
好了如今立刻開始:瀏覽器
1.一、首先來到微信企業號的網址 https://qy.weixin.qq.com/微信
1.二、能夠看到「開發者中心」字眼,點擊進入相應頁面markdown
1.三、進入後能夠看到「歡迎你,開發者」的公告,右側有個「申請體驗號」,點擊進入相應頁面。微信開發
1.四、進入「申請體驗號」後,能夠看到註冊流程,按照註冊流程填寫相應資料並申請,驗證郵箱綁定微信號後體驗號就申請成功啦。app
1.五、申請成功以後,回到https://qy.weixin.qq.com/,用微信掃一掃掃描登陸下方的二維碼,輸入對應密碼便可登陸成功,來到你的微信企業號首頁啦。
2.一、添加子部門,以下圖,將鼠標放到「企業號體驗43560625」就會出現小下標,而後點擊添加子部門,填寫好信息保存,而後刷新頁面便可。
2.二、添加成員,點擊通信錄,而後以下圖進行操做,便可添加成員。部門選擇剛剛添加的部門
2.三、然成員關注該企業號,若是添加成員的時候有輸入郵箱,能夠在通信錄的成員管理那裏給成員發送關注邀請,邀請會將企業號二維碼發送到對應成員郵箱。另一種方法直接點擊「設置」便可看到體驗號二維碼。讓成員掃這個二維碼關注也是能夠的(須要注意的是,體驗號只能最多關注10個成員哦)。另外下圖中的CorpID (wx7099477f2de8aded)很是重要的,先記錄起來,下面接口微信JS調用的時候會用到。
2.四、添加管理組,點擊「設置」–>」權限管理」,就會跳轉到下圖頁面,而後「新建管理組」,選擇管理員的時候,若是提示該成員已在其餘管理組,那麼估計須要添加成員了。小寶鴿添加了一個管理組「測試」,添加成功後以下圖。其中Secret也是很是重要的東西,以後JS接口調用獲取簽名須要用到。
2.五、應用管理。猿友們能夠看到左側菜單中有個」應用中心」。點擊應用中心未來到下圖頁面。」企業小助手」就是本企業號默認存在的一個應用。猿友們能夠自行建立更多的應用。
點擊」企業小助手」將會來到下面的界面,默認是回調模式,咱們須要設置成普通模式。
點擊」普通模式」,啓用模式,而後啓用」自定義菜單」。
自定義菜單啓用完成以後,點擊自定義菜單中的設置,將會跳轉到以下頁面:
添加菜單」測試」,而後設置」微信信息」,內容爲」測試啦啦啦」,保存–>發佈,而後右邊有個預覽,點擊菜單」測試」,就會自動回覆消息,以下圖:
菜單響應除了發送微信消息也能夠是跳轉到某個連接,由於跳轉連接是須要配置可信域名的,所以先介紹如何配置可信域名
應用管理還有一個地方須要設置的,那就可信域名,以下圖,回到」企業小助手」應用的詳情頁面,添加可信域名,可信域名是有一些要求的(1. 設置的應用域名須經過ICP備案的驗證,2. 請使用二級或二級以上域名),這裏小寶鴿網上找了一個」yo.bbdfun.com」,猿友們也可使用這個
配置了可信域名以後呢,猿友們能夠配置跳轉到連接的菜單啦,注意配置的url必須是已可信域名做爲域名哈,例如:
3.一、微信提供了一系列的JS接口,使得公衆號企開發十分快捷高效,微信JS-SDK接口:
http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS-SDK%E6%8E%A5%E5%8F%A3
各位猿友們可粗略看一下上面文檔,即可知道大概提供的一些功能。
3.二、各位猿友們粗略看完」微信JS-SDK接口」,應該有看到下圖的說明吧,接口的使用是須要注入權限驗證配置的,如今咱們上面的體驗號等等的一系列操做就派上用場啦。
3.三、接下來將會一點點向你們介紹怎麼調用微信接口啦
微信接口文檔以後的猿友們應該都知道微信接口的調用步驟以下:
最重要的仍是步驟二:權限驗證配置。裏面有幾個參數,小寶鴿將會爲猿友們一一介紹:
debug: true, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來
appId: 」, // 必填,企業號的惟一標識,此處填寫企業號corpid
timestamp: , // 必填,生成簽名的時間戳
nonceStr: 」, // 必填,生成簽名的隨機串
signature: 」,// 必填,簽名,見附錄1
jsApiList: [] // 必填,須要使用的JS接口列表,全部JS接口列表見附錄2
debug、appId和jsApiList相信各位猿友們應該都知道大概是什麼東西。那麼如今給各位猿友們重點介紹:timestamp、nonceStr、signature。
其實timestamp、nonceStr是用來生成signature的。
js生成時間戳方法:timestamp = Date.parse(new Date()); //1414587457
另外,nonceStr也是一串隨機串,咱們也用時間戳就行了nonceStr=Date.parse(new Date()); //1414587457
剩下的就是最關鍵的signature生成方法,這裏須要引入access_token概念
生成signature簽名第一步得到access_token:
瀏覽器輸入:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wx5f24fa0db1819ea2&corpsecret=uQtWzF0bQtl2KRHX0amekjpq8L0aO96LSpSNfctOBLRbuYPO4DUBhMn0_v2jHS-9
便可獲得access_token:YoxXjnJS57r8gk5Nf-Ki_mSvn98fILxv56EE7NFWE3qQNOH3OaW4iDWwLc05g1mdbuNhipK8fgy-q-pA93DqFw(其有效期爲7200秒,即兩個小時)
生成signature簽名第二步經過access_token得到ticket:
瀏覽器輸入:https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=YoxXjnJS57r8gk5Nf-Ki_mSvn98fILxv56EE7NFWE3qQNOH3OaW4iDWwLc05g1mdbuNhipK8fgy-q-pA93DqFw
便可獲得ticket:」sM4AOVdWfPE4DxkXGEs8VLMMSNOZxIv5IhnWCyv5sA4UgJuWuMQdfMCeyC5kSL_c7OIMGeETC2y9PXfLbFIFNw(其有效期也是7200秒,即兩個小時)
生成signature簽名第三步經過ticket以及下面參數拼成字符串:
noncestr=1414587457
jsapi_ticket(即上面的ticket)=sM4AOVdWfPE4DxkXGEs8VLMMSNOZxIv5IhnWCyv5sA5kumyWTQ2VcKEcphBAW62J_HUgmaiKEQ3qhwj5Vlqq7g
timestamp=1414587457
url=http://mp.weixin.qq.com
經過上面的參數拼成(注意參數順序必須同樣):jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VLMMSNOZxIv5IhnWCyv5sA5kumyW
TQ2VcKEcphBAW62J_HUgmaiKEQ3qhwj5Vlqq7g
&noncestr=1414587457×tamp=1414587457&url=http://mp.weixin.qq.com
最後利用上面的字符串進行sha1加密,有在線的校驗工具http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign。可是真正開發的時候確定是須要寫代碼的,下面附上sha1加密的java算法:`
jdk也有提供這個java.security這個包,裏面封裝好了sha1加密算法。使用方法可參考博主的另一篇博客AES加密解密 SHA一、SHA加密 MD5加密
注意真正獲取access_token、ticket的時候是須要經過代碼實現的,上面在瀏覽器輸入對應地址獲取只是爲了理順流程。下面是經過java代碼獲取。
3.四、java代碼獲取簽名
關於使用java代碼獲取簽名的詳細過程請參考博主的另一篇文章 微信開發之使用java獲取簽名signature(貼源碼,附工程)
該文章有詳細的代碼,並且附工程下載。
獲取到了簽名以後就能夠調用微信js接口了,例子後面的文章將會講到。