小程序模板網(wǎng)

微信小程序之:云開發(fā)初體驗(yàn)--致我的第一個(gè)小程序

發(fā)布時(shí)間:2018-10-19 10:23 所屬欄目:小程序開發(fā)教程

背景:一直關(guān)注微信小程序的發(fā)展,看著小程序一步步完善,一步步壯大,心里癢癢,也想做一個(gè)自己的微信小程序,但是苦于只會(huì)前端,不會(huì)服務(wù)端,所以想法一直被卡著?,F(xiàn)在小程序有了云開發(fā),很輕松實(shí)現(xiàn)后端功能,寫后端跟寫前端沒啥區(qū)別,真的是前端小伙伴們的福音啊。

經(jīng)過幾個(gè)晚上的熬夜奮戰(zhàn),我的第一個(gè)微信小程序正式上線啦。

小程序名字: 杭州地鐵通

二維碼:

歡迎小伙伴們體驗(yàn),歡迎吐槽。

現(xiàn)在還只是初版,功能還不完善,后面會(huì)繼續(xù)更新的。 閑話少說,進(jìn)入正題。

小程序云開發(fā)是什么?

開發(fā)者可以使用云開發(fā)開發(fā)微信小程序、小游戲,無需搭建服務(wù)器,即可使用云端能力。(云端說白了也就是服務(wù)端啦,說的那么高大上,對(duì)新手朋友可不太友好。)

小程序·云開發(fā)提供了三個(gè)基礎(chǔ)能力: 數(shù)據(jù)庫 、 存儲(chǔ) 和 云函數(shù) 。

  • 數(shù)據(jù)庫 :json數(shù)據(jù)庫,就理解為往里面存的是json,取出來的也是json。
  • 存儲(chǔ) :就是把你的圖片、音頻和視頻之類的資源文件,存儲(chǔ)到里面,幫你生成鏈接,直接拿鏈接就可以用,就好像一個(gè)網(wǎng)盤一樣。
  • 云函數(shù) :這個(gè)云函數(shù),就是服務(wù)端的接口,你調(diào)用這個(gè)函數(shù),也就是調(diào)用接口。云函數(shù)可以在客戶端寫,也可以在云開發(fā)控制臺(tái)寫,寫完之后同步一下,兩端就都有了。在云函數(shù)里,你可以進(jìn)行計(jì)算,也可以操作數(shù)據(jù)庫,把想要的結(jié)果以同步或者異步的方式返回給客戶端。

每個(gè)用戶最多可擁有兩套開發(fā)環(huán)境,兩套環(huán)境是互相獨(dú)立的,一般是創(chuàng)建一個(gè)test環(huán)境用于開發(fā),一個(gè)release環(huán)境用于發(fā)布。這里有小坑,后面說。

云開發(fā)怎么用?

在創(chuàng)建工程時(shí),選擇快速創(chuàng)建云開發(fā)模板,直接就擁有了云開發(fā)能力, 模板里已經(jīng)配置好了云服務(wù)對(duì)接模塊的路徑,如下圖:

?

在app.js里配置當(dāng)前的環(huán)境ID,配置完畢,就可以進(jìn)行開發(fā)了。

1.創(chuàng)建并編寫云函數(shù):

右鍵云函數(shù)模塊文件夾->新建Node.js云函數(shù): ?

比如,我創(chuàng)建了一個(gè)獲取用戶收藏列表的云函數(shù),函數(shù)功能就是從數(shù)據(jù)庫從讀取用戶收藏列表,并把結(jié)果返回給小程序。

注意:app.js里雖然指定了當(dāng)前環(huán)境,但這里的代碼是在云端運(yùn)行的,還是要重新指定讀的是哪個(gè)環(huán)境的數(shù)據(jù)庫。

?

上面是異步查詢,并返回,所以用的是 await。用await的好處是,可以把異步代碼像同步一樣去寫,這在阮一峰的ES6入門里有講。

2.云函數(shù)上傳并部署

創(chuàng)建完云函數(shù)后,還需要右鍵點(diǎn)擊云函數(shù),進(jìn)行上傳并部署,

注意:微信開發(fā)工具不支持批量上傳,每個(gè)云函數(shù)都要單獨(dú)點(diǎn)擊上傳,這里有點(diǎn)坑。

上傳部署完后,就可以直接調(diào)用了,云函數(shù)調(diào)用和接口返回處理,其中,參數(shù)是放在data對(duì)象里的。

3.獲取用戶唯一身份標(biāo)識(shí):openId

以前沒有云服務(wù)時(shí),開發(fā)者用自己的服務(wù)器對(duì)接小程序,使用微信用戶id時(shí),需要自己調(diào)用接口進(jìn)行鑒權(quán),來判斷用戶身份。而現(xiàn)在這些都已經(jīng)被云服務(wù)給做了,每次調(diào)用接口,微信會(huì)自動(dòng)鑒權(quán),而且每個(gè)接口都會(huì)自帶openId,使用起來非常方便。

云函數(shù)里的微信openId的獲取,和參數(shù)的獲取: ?

到此,這些就是云函數(shù)的使用過程,是不是很簡單,又很方便。

最后:上面說過,云服務(wù)有兩個(gè)環(huán)境,兩個(gè)環(huán)境互相獨(dú)立,目前微信不支持環(huán)境間數(shù)據(jù)同步,那在test里的一些數(shù)據(jù),就要手動(dòng)去同步到release環(huán)境,這個(gè)有點(diǎn)煩。

還有一點(diǎn)是:如果開發(fā)完要上線了,那要把環(huán)境從test切到release環(huán)境。切換環(huán)境時(shí),需要把a(bǔ)pp.js里云服務(wù)初始化環(huán)境切換到release,云函數(shù)里如果有數(shù)據(jù)庫調(diào)用,也要指定數(shù)據(jù)環(huán)境。而且切換時(shí),用的是環(huán)境ID,不是環(huán)境的名字,文檔里寫的是用名字,坑了我20分鐘。


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/24894.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢