小程序云開發怎么弄,小程序云開發怎么調用接口
最近微信小程序官方推出的小程序云開發能力吸引了一大批開發者的關注,這個小程序云開發到底是啥,簡單的說,就是,云函數就是后端代碼,現在叫云函數,自己寫,自己上傳,數據庫沒什么好說的,就是數據庫,不過這個數據庫是json數據庫,很方便,怎么個方便法呢
下面為大家解讀小程序云開發怎么弄?
開通云開發
創建了第一個云開發小程序后,在使用云開發能力之前需要先開通云開發。在開發者工具工具欄左側,點擊 “云開發” 按鈕即可開通云開發。云開發開通后自動獲得一套云開發環境,各個環境相互隔離,每個環境都包含獨立的數據庫實例、存儲空間、云函數配置等資源。每個環境都有唯一的環境 ID 標識,初始創建的環境自動成為默認環境。
云開發控制臺
云開發控制臺是管理云開發資源的地方,控制臺提供以下能力:
概覽:查看云開發基礎使用數據
用戶管理:查看小程序用戶信息
數據庫:管理數據庫,可查看、增加、更新、查找、刪除數據、管理索引、管理數據庫訪問權限等
存儲管理:查看和管理存儲空間
云函數:查看云函數列表、配置、日志和監控
統計分析:查看云開發資源具體使用統計信息
資源環境
一個環境對應一整套獨立的云開發資源,包括數據庫、存儲空間、云函數等。各個環境間是相互獨立的,用戶開通云開發后初始默認可擁有最多兩個環境。在實際開發中,建議每一個正式環境都搭配一個測試環境,所有功能先在測試環境測試完畢后再上到正式環境。以初始可創建的兩個環境為例,建議一個創建為 test 測試環境,一個創建為 release 正式環境。
以下是小程序云開發怎么調用接口整個流程:
首先要升級一個開發者工具版本,更新到最新,下載地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
1、下載到最新的工具之后打開,先創建一個存儲我們自己云函數的文件夾命名:functions
2、找到project.config.json文件,添加 "cloudfunctionRoot": "functions/" 配置我們的云函數目錄
- {
- "description": "項目配置文件。",
- "cloudfunctionRoot": "functions/",
- "setting": {
- "urlCheck": true,
- "es6": true,
- "postcss": true,
- "minified": true,
- "newFeature": true
- },
- "compileType": "miniprogram",
- "libVersion": "2.1.3",
- "appid": "asdaaaaaa",
- "projectname": "",
- "condition": {
- "search": {
- "current": -1,
- "list": []
- },
- "conversation": {
- "current": -1,
- "list": []
- },
- "plugin": {
- "current": -1,
- "list": []
- },
- "game": {
- "current": -1,
- "list": []
- },
- "miniprogram": {
- "current": -1,
- "list": []
- }
- }
- }
3、發現云函數的目錄是不是別具一格,是的話就右鍵選擇:新建node.js云函數,這時候系統會配置一個基礎版的云函數給我們,我們就拿這個基礎的云函數走一個流程
- // 云函數入口文件
- const cloud = require('wx-server-sdk')
- cloud.init() //初始化,小程序調用函數前必須要要先調用初始化
- // 云函數入口函數
- exports.main = async (event, context) => {
- return {
- sum: event.a + event.b,//event里面放的都是一些用戶傳遞過來的數據,參數a和參數b
- userInfo: event.userInfo //還可以直接獲取到用戶的openid,這些是騰訊給出來的,并不需要用戶去授權,很安全。
- }
- }
4、在我們的functions目錄中,右鍵我們的add,選擇:上傳并部署,然后就開始調用:
- wx.cloud.callFunction({
- name: 'add',
- data: {
- a: 1,
- b: 9
- }
- }).then((res)=>{
- console.log(res)
- })
5、是不是很激動,如果按照官方給出的文檔,可能會遇到下面幾個問題:
問題①:Cannot read property 'callFunction' of undefined; 遇到該問題很好解決,這個問題一般都是調試基礎庫版本太低的原因,可以往上調一下。 問題②:發現版本庫調高了之后發現了另外一個問題,
- errCode: -1 | errMsg: Cloud API isn't enabled, please call wx.cloud.init first
- 請先調用 wx.cloud.init() 完成初始化后再調用其他云 API。init 方法可傳入一個對象用于設置默認配置,詳見文檔。;at pages/test/test page getData function
- Error: errCode: -1 | errMsg: Cloud API isn't enabled, please call wx.cloud.init first
- 請先調用 wx.cloud.init() 完成初始化后再調用其他云 API。init 方法可傳入一個對象用于設置默認配置,詳見文檔。
這個問題,就是調用云函數之前需要先進行初始化。wx.cloud.init()就可以了。再去調用云函數。
成功獲取返回來的數據。官方提供的一個最初的簡單小demo就算走通了,剩下的基本上都是此類操作,只是需要對照官方數據庫操作進行特別的操作。