内容简介:是的,参考兼容性问题进行配置。可以在小程序端和服务端调用。小程序端是通过内置的接口调用。而服务端,这里包括原有的服务和云函数,可以通过
小程序·云开发 文档里,则是所有与小程序·云开发相关的文档内容。下面会通过用户关心的的一些问题,介绍在哪里可以找到对应的文档。
1. 云开发是可以用于所有的小程序基础库吗?
是的,参考兼容性问题进行配置。
2. 云开发的服务,可以在哪些端被调用?不同端会有哪些的调用能力的不同?
可以在小程序端和服务端调用。小程序端是通过内置的接口调用。而服务端,这里包括原有的服务和云函数,可以通过 wx-server-sdk 或者 tcb-admin-node 其中一个 node sdk 进行调用,前者是基于后者进行二次开发的。如果希望开发体验与小程序端一致,可采用 wx-server-sdk 。小程序端的调用由于安全问题,会由较多的限制,而在服务端,则是可拥有管理员的权限(所以你会发现 tcb-admin-node 带有 admin 字眼,表示具有管理员权限)。
小程序端的 API 文档,可在小程序端 API 文档 查看。
服务端的 API 文档,可在 云开发 Server API 文档 查看。
3. 在自己的服务器或者电脑本地的Node运行环境里(不是云开发)调用云开发的服务,要做哪些额外配置。
需要填入腾讯云的 SecretId 和 SecretKey 。通过此链接登录小程序对应的腾讯云帐号,然后在云API密钥 里获取。
云API密钥
获取密钥后,可使用 tcb-admin-node ,在你的服务器里调用云开发的服务。
// 初始化示例
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);
}); // 调用方法复制代码
4. 云函数的创建和依赖安装。
在 project.config.json 文件里,要添加以下字段,指向云函数的根目录。
{
"cloudfunctionRoot": "./server/functions/"
}复制代码
那意味着,如果我们想建一个叫 test 的云函数,需要在 ./server/functions 这个目录里新建 test 目录 ,并且要在 test 里安装依赖。千万不要在根目录安装依赖!
5. 云函数可以互相调用吗?
可以的,在 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;
}复制代码
6. 是否可以批量导入导出数据?
可以的,请参考数据库导入 和数据库导出
7. 数据库的在不同端的权限是怎么样的?
小程序端的权限没有服务端那么高,请参权限控制
8. 在小程序端,如何使用 async/await 语法?
在云函数里,由于 Node 版本最低是 8.9,因此是天然支持 async/await 语法的。而在小程序端则不然。在微信开发者 工具 里,以及 Android 端手机(浏览器内核是 QQ浏览器的 X5), async/await 是天然支持的,但 iOS 端手机在较低版本则不支持,因此需要引入额外的 polyfill 。可把这个 polyfill 文件引用到有使用 async/await 的文件当中。
在 js 里引入 polyfill
10元/月 学生机2860元代金券
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Data Mining
Bing Liu / Springer / 2006-12-28 / USD 59.95
Web mining aims to discover useful information and knowledge from the Web hyperlink structure, page contents, and usage data. Although Web mining uses many conventional data mining techniques, it is n......一起来看看 《Web Data Mining》 这本书的介绍吧!