小程序·雲開發
文檔裏,則是全部與小程序·雲開發相關的文檔內容。下面會經過用戶關心的的一些問題,介紹在哪裏能夠找到對應的文檔。php
是的,參考兼容性問題進行配置。html
能夠在小程序端和服務端調用。小程序端是經過內置的接口調用。而服務端,這裏包括原有的服務和雲函數,能夠經過 wx-server-sdk
或者 tcb-admin-node
其中一個 node sdk 進行調用,前者是基於後者進行二次開發的。若是但願開發體驗與小程序端一致,可採用 wx-server-sdk
。小程序端的調用因爲安全問題,會由較多的限制,而在服務端,則是可擁有管理員的權限(因此你會發現 tcb-admin-node
帶有 admin
字眼,表示具備管理員權限)。node
小程序端的 API 文檔,可在 小程序端 API 文檔 查看。git
服務端的 API 文檔,可在 雲開發 Server API 文檔 查看。github
須要填入騰訊雲的 SecretId
和 SecretKey
。經過此連接登陸小程序對應的騰訊雲賬號,而後在雲API密鑰 裏獲取。數據庫
獲取密鑰後,可以使用 tcb-admin-node
,在你的服務器裏調用雲開發的服務。json
// 初始化示例
const cloud = require('tcb-admin-node');
// 初始化資源
// 雲函數下不須要 secretId和secretKey,但若是在本身的服務器裏使用則須要
// env若是不指定將使用默認環境
cloud.init({
secretId: '',
secretKey: '',
});
// 獲取全部數據的方法
async function getData(colName) {
const db = cloud.database();
const userCollection = db.collection(colName);
// 統計數據總量
let res = await userCollection.count();
let total = res.total;
let data = [];
let length = 0;
let start = 0;
// 循環將數據讀出來
while (total > length) {
let res = await userCollection.skip(start).get();
// 讀出來後將數據存到data裏
data = data.concat(res.data);
length += res.data.length;
start += length;
}
return data;
}
getData('users').then((data) => {
console.log(data);
}); // 調用方法複製代碼
在 project.config.json
文件裏,要添加如下字段,指向雲函數的根目錄。小程序
{
"cloudfunctionRoot": "./server/functions/"
}複製代碼
那意味着,若是咱們想建一個叫 test
的雲函數,須要在 ./server/functions
這個目錄裏新建 test
目錄 ,而且要在 test
裏安裝依賴。千萬不要在根目錄安裝依賴!api
能夠的,在 A 雲函數裏面,執行如下的語句就能夠調用 B 雲函數了,跟小程序端調用實際上是同樣的。瀏覽器
const cloud = require('wx-server-sdk');
exports.main = async (event, context) => {
const res = await cloud.callFunction({
// 要調用的雲函數名稱
name: 'B',
// 傳遞給雲函數的參數
data: {
x: 1,
y: 2,
}
})
return res.result;
}複製代碼
小程序端的權限沒有服務端那麼高,請參 權限控制
在雲函數裏,因爲 Node 版本最低是 8.9,所以是自然支持 async/await
語法的。而在小程序端則否則。在微信開發者工具裏,以及 Android
端手機(瀏覽器內核是 QQ瀏覽器的 X5),async/await
是自然支持的,但 iOS
端手機在較低版本則不支持,所以須要引入額外的 polyfill
。可把這個 polyfill
文件引用到有使用 async/await
的文件當中。