商城系統(tǒng) 注冊(cè)

小程序云開發(fā)怎么弄,小程序云開發(fā)怎么調(diào)用接口

2020-09-27|HiShop
導(dǎo)讀:最近微信小程序官方推出的小程序云開發(fā)能力吸引了一大批開發(fā)者的關(guān)注,這個(gè)小程序云開發(fā)到底是啥,簡(jiǎn)單的說(shuō),就是,云函數(shù)就是后端代碼,現(xiàn)在叫云函數(shù),自己寫,自己上傳,數(shù)...

最近微信小程序官方推出的小程序云開發(fā)能力吸引了一大批開發(fā)者的關(guān)注,這個(gè)小程序云開發(fā)到底是啥,簡(jiǎn)單的說(shuō),就是,云函數(shù)就是后端代碼,現(xiàn)在叫云函數(shù),自己寫,自己上傳,數(shù)據(jù)庫(kù)沒(méi)什么好說(shuō)的,就是數(shù)據(jù)庫(kù),不過(guò)這個(gè)數(shù)據(jù)庫(kù)是json數(shù)據(jù)庫(kù),很方便,怎么個(gè)方便法呢

小程序云開發(fā)怎么弄,小程序云開發(fā)怎么調(diào)用接口

下面為大家解讀小程序云開發(fā)怎么弄?

開通云開發(fā)

創(chuàng)建了第一個(gè)云開發(fā)小程序后,在使用云開發(fā)能力之前需要先開通云開發(fā)。在開發(fā)者工具工具欄左側(cè),點(diǎn)擊 “云開發(fā)” 按鈕即可開通云開發(fā)。云開發(fā)開通后自動(dòng)獲得一套云開發(fā)環(huán)境,各個(gè)環(huán)境相互隔離,每個(gè)環(huán)境都包含獨(dú)立的數(shù)據(jù)庫(kù)實(shí)例、存儲(chǔ)空間、云函數(shù)配置等資源。每個(gè)環(huán)境都有唯一的環(huán)境 ID 標(biāo)識(shí),初始創(chuàng)建的環(huán)境自動(dòng)成為默認(rèn)環(huán)境。

小程序云開發(fā)怎么弄,小程序云開發(fā)怎么調(diào)用接口

云開發(fā)控制臺(tái)

云開發(fā)控制臺(tái)是管理云開發(fā)資源的地方,控制臺(tái)提供以下能力:

概覽:查看云開發(fā)基礎(chǔ)使用數(shù)據(jù)

用戶管理:查看小程序用戶信息

數(shù)據(jù)庫(kù):管理數(shù)據(jù)庫(kù),可查看、增加、更新、查找、刪除數(shù)據(jù)、管理索引、管理數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限等

存儲(chǔ)管理:查看和管理存儲(chǔ)空間

云函數(shù):查看云函數(shù)列表、配置、日志和監(jiān)控

統(tǒng)計(jì)分析:查看云開發(fā)資源具體使用統(tǒng)計(jì)信息

資源環(huán)境

一個(gè)環(huán)境對(duì)應(yīng)一整套獨(dú)立的云開發(fā)資源,包括數(shù)據(jù)庫(kù)、存儲(chǔ)空間、云函數(shù)等。各個(gè)環(huán)境間是相互獨(dú)立的,用戶開通云開發(fā)后初始默認(rèn)可擁有最多兩個(gè)環(huán)境。在實(shí)際開發(fā)中,建議每一個(gè)正式環(huán)境都搭配一個(gè)測(cè)試環(huán)境,所有功能先在測(cè)試環(huán)境測(cè)試完畢后再上到正式環(huán)境。以初始可創(chuàng)建的兩個(gè)環(huán)境為例,建議一個(gè)創(chuàng)建為 test 測(cè)試環(huán)境,一個(gè)創(chuàng)建為 release 正式環(huán)境。

以下是小程序云開發(fā)怎么調(diào)用接口整個(gè)流程:

首先要升級(jí)一個(gè)開發(fā)者工具版本,更新到最新,下載地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

1、下載到最新的工具之后打開,先創(chuàng)建一個(gè)存儲(chǔ)我們自己云函數(shù)的文件夾命名:functions

2、找到project.config.json文件,添加 "cloudfunctionRoot": "functions/" 配置我們的云函數(shù)目錄


  1. {
  2. "description": "項(xiàng)目配置文件。",
  3. "cloudfunctionRoot": "functions/",
  4. "setting": {
  5. "urlCheck": true,
  6. "es6": true,
  7. "postcss": true,
  8. "minified": true,
  9. "newFeature": true
  10. },
  11. "compileType": "miniprogram",
  12. "libVersion": "2.1.3",
  13. "appid": "asdaaaaaa",
  14. "projectname": "",
  15. "condition": {
  16. "search": {
  17. "current": -1,
  18. "list": []
  19. },
  20. "conversation": {
  21. "current": -1,
  22. "list": []
  23. },
  24. "plugin": {
  25. "current": -1,
  26. "list": []
  27. },
  28. "game": {
  29. "current": -1,
  30. "list": []
  31. },
  32. "miniprogram": {
  33. "current": -1,
  34. "list": []
  35. }
  36. }
  37. }

3、發(fā)現(xiàn)云函數(shù)的目錄是不是別具一格,是的話就右鍵選擇:新建node.js云函數(shù),這時(shí)候系統(tǒng)會(huì)配置一個(gè)基礎(chǔ)版的云函數(shù)給我們,我們就拿這個(gè)基礎(chǔ)的云函數(shù)走一個(gè)流程


  1. // 云函數(shù)入口文件
  2. const cloud = require('wx-server-sdk')
  3.  
  4. cloud.init() //初始化,小程序調(diào)用函數(shù)前必須要要先調(diào)用初始化
  5.  
  6. // 云函數(shù)入口函數(shù)
  7. exports.main = async (event, context) => {
  8. return {
  9. sum: event.a + event.b,//event里面放的都是一些用戶傳遞過(guò)來(lái)的數(shù)據(jù),參數(shù)a和參數(shù)b
  10. userInfo: event.userInfo //還可以直接獲取到用戶的openid,這些是騰訊給出來(lái)的,并不需要用戶去授權(quán),很安全。
  11. }
  12. }

4、在我們的functions目錄中,右鍵我們的add,選擇:上傳并部署,然后就開始調(diào)用:


  1. wx.cloud.callFunction({
  2. name: 'add',
  3. data: {
  4. a: 1,
  5. b: 9
  6. }
  7. }).then((res)=>{
  8. console.log(res)
  9. })

5、是不是很激動(dòng),如果按照官方給出的文檔,可能會(huì)遇到下面幾個(gè)問(wèn)題:

問(wèn)題①:Cannot read property 'callFunction' of undefined;  遇到該問(wèn)題很好解決,這個(gè)問(wèn)題一般都是調(diào)試基礎(chǔ)庫(kù)版本太低的原因,可以往上調(diào)一下。  問(wèn)題②:發(fā)現(xiàn)版本庫(kù)調(diào)高了之后發(fā)現(xiàn)了另外一個(gè)問(wèn)題,


  1. errCode: -1 | errMsg: Cloud API isn't enabled, please call wx.cloud.init first
  2. 請(qǐng)先調(diào)用 wx.cloud.init() 完成初始化后再調(diào)用其他云 API。init 方法可傳入一個(gè)對(duì)象用于設(shè)置默認(rèn)配置,詳見文檔。;at pages/test/test page getData function
  3. Error: errCode: -1 | errMsg: Cloud API isn't enabled, please call wx.cloud.init first
  4. 請(qǐng)先調(diào)用 wx.cloud.init() 完成初始化后再調(diào)用其他云 API。init 方法可傳入一個(gè)對(duì)象用于設(shè)置默認(rèn)配置,詳見文檔。

這個(gè)問(wèn)題,就是調(diào)用云函數(shù)之前需要先進(jìn)行初始化。wx.cloud.init()就可以了。再去調(diào)用云函數(shù)。

成功獲取返回來(lái)的數(shù)據(jù)。官方提供的一個(gè)最初的簡(jiǎn)單小demo就算走通了,剩下的基本上都是此類操作,只是需要對(duì)照官方數(shù)據(jù)庫(kù)操作進(jìn)行特別的操作。

電話咨詢 預(yù)約演示 0元開店