|
9.10號微信重磅推出小程序云開發功能,該功能方便了很多邏輯上的問題,至于安全嘛,騰訊的,如果騰訊不看你的,沒人看得到,話不多說,跟著騰訊文檔進行第一個demo
l
1、下載到(dao)最新的工(gong)具之后打開,先創建一個存儲我們自己(ji)云函數的文件(jian)夾命名:functions
2、找(zhao)到project.config.json文件,添加 "cloudfunctionRoot": "functions/" 配(pei)置我們的云函數目錄
-
{
"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、發現(xian)云(yun)函數(shu)的目(mu)錄是(shi)不是(shi)別(bie)具一(yi)(yi)格,是(shi)的話就右鍵選擇:新建node.js云(yun)函數(shu),這(zhe)時候系統(tong)會配置一(yi)(yi)個(ge)基礎(chu)版的云(yun)函數(shu)給我們,我們就拿這(zhe)個(ge)基礎(chu)的云(yun)函數(shu)走一(yi)(yi)個(ge)流程
-
// 云函數入口文件
-
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、在(zai)我們的functions目錄中,右鍵我們的add,選擇:上傳并部署,然后就開(kai)始調用(yong):
-
wx.cloud.callFunction({
-
name: 'add',
-
data: {
-
a: 1,
-
b: 9
-
}
-
}).then((res)=>{
-
console.log(res)
-
})
5、是不是很激動,如果按(an)照官方給(gei)出的文檔,可能會遇到(dao)下面幾個(ge)問題:
問(wen)(wen)題①:Cannot read property 'callFunction' of undefined; 遇到該問(wen)(wen)題很好(hao)解決,這個問(wen)(wen)題一般都是調(diao)(diao)試基礎庫版本太低(di)的原因,可(ke)以往上調(diao)(diao)一下(xia)。 問(wen)(wen)題②:發(fa)現版本庫調(diao)(diao)高了(le)之后發(fa)現了(le)另外一個問(wen)(wen)題,
-
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 方法可傳入一個對象用于設置默認配置,詳見文檔。
這個問題,就(jiu)是調(diao)用(yong)云(yun)函(han)數之前需要(yao)先進(jin)行初始化。wx.cloud.init()就(jiu)可以了。再去調(diao)用(yong)云(yun)函(han)數。

成功獲(huo)取返回來的(de)(de)數據。官方(fang)提供的(de)(de)一個最(zui)初的(de)(de)簡單(dan)小(xiao)demo就算走通(tong)了,剩(sheng)下的(de)(de)基本上都是(shi)此類操(cao)作(zuo),只是(shi)需要對照官方(fang)數據庫(ku)操(cao)作(zuo)進行特別的(de)(de)操(cao)作(zuo)。
|