title: Cloud

sidebar_label: Cloud

方法

init

在调用云开发各 API 前,需先调用初始化方法 init 一次(全局只需一次,多次调用时只有第一次生效)

支持情况:Cloud - 图1 Cloud - 图2 Cloud - 图3 Cloud - 图4

参考文档

  1. (config?: IInitConfig) => Promise<void>
参数 类型
config IInitConfig

示例代码

  1. Taro.cloud.init({
  2. env: 'test-x1dzi'
  3. })

CloudID

声明字符串为 CloudID(开放数据 ID),该接口传入一个字符串,返回一个 CloudID 特殊对象,将该对象传至云函数可以获取其对应的开放数据。

参考文档

  1. (cloudID: string) => void
参数 类型
cloudID string

callFunction

调用云函数

支持情况:Cloud - 图5 Cloud - 图6 Cloud - 图7 Cloud - 图8

参考文档

  1. { (param: OQ<CallFunctionParam>): void; (param: RQ<CallFunctionParam>): Promise<CallFunctionResult>; }
参数 类型
param OQ<CallFunctionParam>

示例代码

假设已有一个云函数 add,在小程序端发起对云函数 add 的调用:

  1. Taro.cloud.callFunction({
  2. // 要调用的云函数名称
  3. name: 'add',
  4. // 传递给云函数的event参数
  5. data: {
  6. x: 1,
  7. y: 2,
  8. }
  9. }).then(res => {
  10. // output: res.result === 3
  11. }).catch(err => {
  12. // handle error
  13. })

uploadFile

将本地资源上传至云存储空间,如果上传至同一路径则是覆盖写

支持情况:Cloud - 图9 Cloud - 图10 Cloud - 图11 Cloud - 图12

参考文档

  1. { (param: OQ<UploadFileParam>): UploadTask; (param: RQ<UploadFileParam>): Promise<UploadFileResult>; }
参数 类型
param OQ<UploadFileParam>

示例代码

示例 1
  1. Taro.cloud.uploadFile({
  2. cloudPath: 'example.png',
  3. filePath: '', // 文件路径
  4. success: res => {
  5. // get resource ID
  6. console.log(res.fileID)
  7. },
  8. fail: err => {
  9. // handle error
  10. }
  11. })
示例 2
  1. Taro.cloud.uploadFile({
  2. cloudPath: 'example.png',
  3. filePath: '', // 文件路径
  4. }).then(res => {
  5. // get resource ID
  6. console.log(res.fileID)
  7. }).catch(error => {
  8. // handle error
  9. })

downloadFile

从云存储空间下载文件

支持情况:Cloud - 图13 Cloud - 图14 Cloud - 图15 Cloud - 图16

参考文档

  1. { (param: OQ<DownloadFileParam>): DownloadTask; (param: RQ<DownloadFileParam>): Promise<DownloadFileResult>; }
参数 类型
param OQ<DownloadFileParam>

示例代码

示例 1
  1. Taro.cloud.downloadFile({
  2. fileID: 'a7xzcb',
  3. success: res => {
  4. // get temp file path
  5. console.log(res.tempFilePath)
  6. },
  7. fail: err => {
  8. // handle error
  9. }
  10. })
示例 2
  1. Taro.cloud.downloadFile({
  2. fileID: 'a7xzcb'
  3. }).then(res => {
  4. // get temp file path
  5. console.log(res.tempFilePath)
  6. }).catch(error => {
  7. // handle error
  8. })

getTempFileURL

用云文件 ID 换取真实链接,公有读的文件获取的链接不会过期,私有的文件获取的链接十分钟有效期。一次最多取 50 个。

支持情况:Cloud - 图17 Cloud - 图18 Cloud - 图19 Cloud - 图20

参考文档

  1. { (param: OQ<GetTempFileURLParam>): void; (param: RQ<GetTempFileURLParam>): Promise<GetTempFileURLResult>; }
参数 类型
param OQ<GetTempFileURLParam>

示例代码

示例 1
  1. Taro.cloud.getTempFileURL({
  2. fileList: [{
  3. fileID: 'a7xzcb',
  4. maxAge: 60 * 60, // one hour
  5. }]
  6. }).then(res => {
  7. // get temp file URL
  8. console.log(res.fileList)
  9. }).catch(error => {
  10. // handle error
  11. })
示例 2
  1. Taro.cloud.getTempFileURL({
  2. fileList: ['cloud://xxx', 'cloud://yyy'],
  3. success: res => {
  4. // get temp file URL
  5. console.log(res.fileList)
  6. },
  7. fail: err => {
  8. // handle error
  9. }
  10. })

deleteFile

从云存储空间删除文件,一次最多 50 个

支持情况:Cloud - 图21 Cloud - 图22 Cloud - 图23 Cloud - 图24

参考文档

  1. { (param: OQ<DeleteFileParam>): void; (param: RQ<DeleteFileParam>): Promise<DeleteFileResult>; }
参数 类型
param OQ<DeleteFileParam>

示例代码

示例 1
  1. .cloud.deleteFile({
  2. fileList: ['a7xzcb']
  3. }).then(res => {
  4. // handle success
  5. console.log(res.fileList)
  6. }).catch(error => {
  7. // handle error
  8. })
示例 2
  1. Taro.cloud.deleteFile({
  2. fileList: ['a7xzcb'],
  3. success: res => {
  4. // handle success
  5. console.log(res.fileList)
  6. },
  7. fail: err => {
  8. // handle error
  9. },
  10. complete: res => {
  11. // ...
  12. }
  13. })

database

获取数据库实例

支持情况:Cloud - 图25 Cloud - 图26 Cloud - 图27 Cloud - 图28

参考文档

  1. (config?: IConfig) => Database
参数 类型
config IConfig

示例代码

示例 1

以下调用获取默认环境的数据库的引用:

  1. const db = Taro.cloud.database()
示例 2

假设有一个环境名为 test-123,用做测试环境,那么可以如下获取测试环境数据库:

  1. const testDB = Taro.cloud.database({
  2. env: 'test-123'
  3. })

callContainer

调用云托管服务

支持情况:Cloud - 图29 Cloud - 图30 Cloud - 图31 Cloud - 图32

参考文档

  1. <R = any, P = any>(params: CallContainerParam<P>) => Promise<CallContainerResult<R>>
参数 类型
params R

示例代码

假设已经初始化了一个叫c1的云开发实例,并发起云托管调用

  1. const r = await c1.callContainer({
  2. path: '/path/to/container', // 填入容器的访问路径
  3. method: 'POST',
  4. })

API 支持度

API 微信小程序 H5 React Native Harmony
Cloud.init ✔️
Cloud.callFunction ✔️
Cloud.uploadFile ✔️
Cloud.downloadFile ✔️
Cloud.getTempFileURL ✔️
Cloud.deleteFile ✔️
Cloud.database ✔️
Cloud.callContainer ✔️