9.10號(hào)微信重磅推出小程序云開發(fā)功能可柿,該功能方便了很多邏輯上的問題,至于安全嘛丙者,騰訊的复斥,如果騰訊不看你的,沒人看得到械媒,話不多說目锭,跟著騰訊文檔進(jìn)行第一個(gè)demo
首先要升級(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ù)目錄
{
"description": "項(xiàng)目配置文件惨缆。",
"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、發(fā)現(xiàn)云函數(shù)的目錄是不是別具一格臭埋,是的話就右鍵選擇:新建node.js云函數(shù)踪央,這時(shí)候系統(tǒng)會(huì)配置一個(gè)基礎(chǔ)版的云函數(shù)給我們,我們就拿這個(gè)基礎(chǔ)的云函數(shù)走一個(gè)流程
// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')
cloud.init() //初始化瓢阴,小程序調(diào)用函數(shù)前必須要要先調(diào)用初始化
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
return {
sum: event.a + event.b,//event里面放的都是一些用戶傳遞過來的數(shù)據(jù)畅蹂,參數(shù)a和參數(shù)b
userInfo: event.userInfo //還可以直接獲取到用戶的openid,這些是騰訊給出來的荣恐,并不需要用戶去授權(quán)液斜,很安全。
}
}
4叠穆、在我們的functions目錄中少漆,右鍵我們的add,選擇:上傳并部署硼被,然后就開始調(diào)用:
wx.cloud.callFunction({
name: 'add',
data: {
a: 1,
b: 9
}
}).then((res)=>{
console.log(res)
})
5示损、是不是很激動(dòng),如果按照官方給出的文檔嚷硫,可能會(huì)遇到下面幾個(gè)問題:
問題①:Cannot read property 'callFunction' of undefined;
遇到該問題很好解決检访,這個(gè)問題一般都是調(diào)試基礎(chǔ)庫版本太低的原因,可以往上調(diào)一下仔掸。
問題②:發(fā)現(xiàn)版本庫調(diào)高了之后發(fā)現(xiàn)了另外一個(gè)問題脆贵,
errCode: -1 | errMsg: Cloud API isn't enabled, please call wx.cloud.init first
請(qǐng)先調(diào)用 wx.cloud.init() 完成初始化后再調(diào)用其他云 API。init 方法可傳入一個(gè)對(duì)象用于設(shè)置默認(rèn)配置起暮,詳見文檔卖氨。;at pages/test/test page getData function
Error: errCode: -1 | errMsg: Cloud API isn't enabled, please call wx.cloud.init first
請(qǐng)先調(diào)用 wx.cloud.init() 完成初始化后再調(diào)用其他云 API。init 方法可傳入一個(gè)對(duì)象用于設(shè)置默認(rèn)配置负懦,詳見文檔筒捺。
這個(gè)問題,就是調(diào)用云函數(shù)之前需要先進(jìn)行初始化纸厉。wx.cloud.init()就可以了焙矛。再去調(diào)用云函數(shù)。
成功獲取返回來的數(shù)據(jù)残腌。官方提供的一個(gè)最初的簡(jiǎn)單小demo就算走通了,剩下的基本上都是此類操作,只是需要對(duì)照官方數(shù)據(jù)庫操作進(jìn)行特別的操作抛猫。
如果這篇文章對(duì)你有幫助蟆盹,希望您也能加入我的qq群幫助更多需要幫助的小程序開發(fā)者:751741695