NodeJs 開發微信公眾號(二)測試環境部署


由於鹵煮本人是做前端開發的,所以在做公眾號過程中基本上沒有遇到前端問題,在這方面花的時間是最少的。加上用了mui框架(純css界面)和自己積累的代碼,很快地開發出了界面來。接着是后台開發。鹵煮選的是nodejs,作為中小型的項目開發,nodejs是前端開發人員的首選。然后是選了一些開發包,幫助快速上手。express,inspector,mysql等。鹵煮不打算做nodejs教程,網上有很多。假設這些你都已經做好了,也就是說首先,你保證你已經有一份寫好了的程序,並且通過本地瀏覽器測試。然后再開始搭建測試環境。

搭建本地服務器

很多同學在處於開發階段的時候是不願意搭建服務器環境的,一個是對linux系統不太熟悉,各種命令啦,方法啦,遠程啦弄得人一頭霧水,對於前端工程師來說尤其如此。況且,服務器需要花錢購買,雖然要不了幾個錢,但終究是在產品未出來前持不願意態度。這里,鹵煮推薦一款非常有用的測試工具,它能夠把內網公射到外網上去,並且給你一個能被訪問到的域名。也就是說,域名是免費的,服務器則是你自己的電腦。它的操作步驟也非常簡單,你花一分鍾就可以搞定!

首先保證你的80端口被node監聽。然后利用內網穿透工具把80端口映射出去。上一章講過可以用ngrok工具穿透內網,使得你的本地ip作為外網使用。打開http://natapp.cn,下載window(根據你自己的系統)版本的工具,解壓后打開cmd,切換到解壓目錄下輸入以下命令:

ngrok -config ngrok.cfg -subdomain yourdomain 80

yourdomain是你自定義的域名,后面是端口,接着敲回車鍵,可以看到如下畫面

 這時候,工具就把你的80端口映射出去了,而且還為你生成了一個域名,這個域名是可以被外網訪問的。這樣你的機器目前就是一台小服務器了。由於是內網穿透,http會走好幾層路由,導致訪問的速度會比較慢,但對於我們這些一毛錢沒花就搭建好了服務器的同學來說,應該能剛到滿足了吧。有了這個域名和服務器,我們就可以輕輕松松得來布置微信的測試環境了。

申請微信測試號

鹵煮之前說過,微信公眾號認證是需要公司資質的,而且認證費用要三百大洋。也就是說完成一個公眾號的認證你大概需要注冊公司成本(800)+ 認證成本(300),一共一千一的費用。鹵煮本着在正式項目出來之前是不花一毛錢的原則,網上找到了微信的測試公眾號平台。實現了不花錢用微信的認證功能的目的。打開微信測試公眾號開發平台(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login),點擊登錄,用自己的微信掃描后確認登錄,系統為你自動建立一個測試賬號。這個測試賬號是臨時的,最多擁有100位粉絲,但對於開發階段來說完全足夠,而且最有用的部分是該公眾號的所有權限都為你開通。有了這個測試號,你就相當於已經擁有了一個認證過的准公眾號:

如上圖所示,數字的意義分別代表着:1:你的測試微信號, 2:appid, 3:appsecret, 4:與微信交互的后台接口 處理關注,發布,取消等事件, 5:Token 任意值,后台交互的憑證, 6:直接填寫你的有效域名,引入js會以此域名為憑據。有一點值得注意,當你填寫第四項的時候,點擊提交微信會去驗證你所填寫的后台接口。為了方便第一次認證,你可以在此接口直接返回一段參數,已確認改服務器的所有權在你手上。后續我們會在這個接口里面逐步添加業務。代碼如下:

//微信將很多事件推送到此接口上
app.post('/yourapi', function(req, res, next) {
	//微信得到返回后會通過你的認證
	var query = req.query;    
	var echostr = query.echostr; 
	res.send(echostr);
});	

接下來我們可以看到測試平台已經全部開放了權限,只需要你調用。里面還有測試公眾號的二維碼,掃描就可以關注,旁邊是關注的粉絲名稱以及它們的openid。往下翻頁可以看到有“網頁賬號”這項服務功能,此功能是在用戶打開網頁時獲取授權信息的,點擊修改彈出填寫域名界面。

在文本框內填寫你的域名,這樣微信才會給這個域名下的網頁授權。記住,不需要www開頭,直接寫域名,如:baidudu.com。以www開頭的是無效的。在開發環境下可以填寫外網ip,但是在正式的公眾號里面只允許填寫域名。那么至此你已經把微信部分測試環境搭建好了,很簡單吧。下一篇將講解微信交互的一些過程。

 需要注意的地方

1.填寫網頁授權時不需要http或者www開頭,只需要填寫域名即可

2.微信授權域名只支持80端口,務必使node監聽80端口

3.每次開機都需要重新搭建本地服務器環境,映射內網。

4.微信URL填寫的是后端的接口,如:http://yourname.ngrok.natapp.cn/login/wechat 或者http://yourname.php,這個接口很重要,負責監聽微信推送的各種事件。后面會詳細講解。

5.填寫URL的時候微信會自動發送請求到該地址去,所以,必須先寫好該接口,並且返回你填寫的TOKEN,微信才會認為此服務器接口有效。res.send(req.query.echostr);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM