微信小程序之:雲開發初體驗--致個人第一個小程序

背景:一直關注微信小程序的發展,看着小程序一步步完善,一步步壯大,內心癢癢,也想作一個本身的微信小程序,可是苦於只會前端,不會服務端,因此想法一直被卡着。如今小程序有了雲開發,很輕鬆實現後端功能,寫後端跟寫前端沒啥區別,真的是前端小夥伴們的福音啊。前端

通過幾個晚上的熬夜奮戰,個人第一個微信小程序正式上線啦。數據庫

小程序名字:杭州地鐵通json

二維碼: 小程序

qrcode.jpg

歡迎小夥伴們體驗,歡迎吐槽。後端

如今還只是第一版,功能還不完善,後面會繼續更新的。 閒話少說,進入正題。微信小程序

小程序雲開發是什麼?

開發者可使用雲開發開發微信小程序、小遊戲,無需搭建服務器,便可使用雲端能力。(雲端說白了也就是服務端啦,說的那麼高大上,對新手朋友可不太友好。)服務器

小程序·雲開發提供了三個基礎能力:數據庫存儲雲函數微信

  • 數據庫:json數據庫,就理解爲往裏面存的是json,取出來的也是json。
  • 存儲:就是把你的圖片、音頻和視頻之類的資源文件,存儲到裏面,幫你生成連接,直接拿連接就能夠用,就好像一個網盤同樣。
  • 雲函數:這個雲函數,就是服務端的接口,你調用這個函數,也就是調用接口。雲函數能夠在客戶端寫,也能夠在雲開發控制檯寫,寫完以後同步一下,兩端就都有了。在雲函數裏,你能夠進行計算,也能夠操做數據庫,把想要的結果以同步或者異步的方式返回給客戶端。

每一個用戶最多可擁有兩套開發環境,兩套環境是互相獨立的,通常是建立一個test環境用於開發,一個release環境用於發佈。這裏有小坑,後面說。微信開發

雲開發怎麼用?

在建立工程時,選擇快速建立雲開發模板,直接就擁有了雲開發能力, 模板裏已經配置好了雲服務對接模塊的路徑,以下圖: app

image.png

在app.js裏配置當前的環境ID,配置完畢,就能夠進行開發了。

1.建立並編寫雲函數:

右鍵雲函數模塊文件夾->新建Node.js雲函數: 

image.png

好比,我建立了一個獲取用戶收藏列表的雲函數,函數功能就是從數據庫從讀取用戶收藏列表,並把結果返回給小程序。

注意:app.js裏雖然指定了當前環境,但這裏的代碼是在雲端運行的,仍是要從新指定讀的是哪一個環境的數據庫。

image.png

上面是異步查詢,並返回,因此用的是 await。用await的好處是,能夠把異步代碼像同步同樣去寫,這在阮一峯的ES6入門裏有講。

2.雲函數上傳並部署

建立完雲函數後,還須要右鍵點擊雲函數,進行上傳並部署,

注意:微信開發工具不支持批量上傳,每一個雲函數都要單獨點擊上傳,這裏有點坑。

上傳部署完後,就能夠直接調用了,雲函數調用和接口返回處理,其中,參數是放在data對象裏的。

image.png

3.獲取用戶惟一身份標識:openId

之前沒有云服務時,開發者用本身的服務器對接小程序,使用微信用戶id時,須要本身調用接口進行鑑權,來判斷用戶身份。而如今這些都已經被雲服務給作了,每次調用接口,微信會自動鑑權,並且每一個接口都會自帶openId,使用起來很是方便。

雲函數裏的微信openId的獲取,和參數的獲取: 

image.png

到此,這些就是雲函數的使用過程,是否是很簡單,又很方便。

最後:上面說過,雲服務有兩個環境,兩個環境互相獨立,目前微信不支持環境間數據同步,那在test裏的一些數據,就要手動去同步到release環境,這個有點煩。

還有一點是:若是開發完要上線了,那要把環境從test切到release環境。切換環境時,須要把app.js裏雲服務初始化環境切換到release,雲函數裏若是有數據庫調用,也要指定數據環境。並且切換時,用的是環境ID,不是環境的名字,文檔裏寫的是用名字,坑了我20分鐘。

相關文章
相關標籤/搜索