小程序云开发控制台
登录
注册
您的位置:首页-新闻中心-新闻详情
云开发能力
2018-09-13 12:09

云开发控制台

云开发控制台是管理云开发资源的地方,控制台提供以下能力:

  • 概览:查看云开发基础使用数据
  • 用户管理:查看小程序用户信息
  • 数据库:管理数据库,可查看、增加、更新、查找、删除数据、管理索引、管理数据库访问权限等
  • 文件管理:查看和管理存储空间
  • 云函数:查看云函数列表、配置、日志和监控
  • 统计分析:查看云开发资源具体使用统计信息

以上的能力当中,数据库、文件管理与云函数,是可以通过小程序的API接口或者服务端 SDK 进行调用的,下一节会进一步介绍。

小程序(客户端)使用云开发能力

客户端,这里是指在小程序端中。如果要使用云开发能力,请做以下配置:

  • 在 app.json / game.json 中, 中增加字段 "cloud": true
  • project.config.json 中增加了字段 cloudfunctionRoot 用于指定存放云函数的目录
  • 初始化云开发能力:
//app.js App({
  onLaunch: function () {
    wx.cloud.init({
        traceUser: true });
  }
}); 

初始化能力文档

在用户管理中会显示使用云能力的小程序的访问用户列表,默认以访问时间倒叙排列,访问时间的触发点是在小程序端调用 wx.cloud.init 方法,且其中的 traceUser 参数传值为 true

小程序操作文件资源

// 选择图片 wx.chooseImage({ success: dRes => { // 上传图片 const uploadTask = wx.cloud.uploadFile({ cloudPath: `${Date.now()}-${Math.floor(Math.random(0, 1) * 10000000)}.png`, // 随机图片名 filePath: dRes.tempFilePaths[0], // 本地的图片路径 success: console.log, fail: console.error
        });
    }, fail: console.error,
}); 

存储文档

小程序操作数据库

const db = wx.cloud.database();

db.collection('blog').get().then((res) => {
    let data = res.data; console.log(data);
}); 

数据库文档

小程序调用云函数

wx.cloud.callFunction({ name: 'addblog', // 云函数名称 data: { // 传到云函数处理的参数 title: '云开发 TCB', content: '存储、数据库存、云函数' }
}).then(res => { console.log(res)
}).catch((err) => { console.error(err);
}); 

云函数文档

服务端使用云开发能力

如果你想在云函数中,操作文件、数据库和云函数资源,你可以使用我们提供的服务端 SDK 进行操作。首先,进入到你的某个云函数中,安装以下依赖包:

npm i --save tcb-admin-node 

在云函数中初始化

// 初始化示例 const app = require('tcb-admin-node'); // 初始化资源 // 云函数下不需要secretId和secretKey。 // env如果不指定将使用默认环境 app.init({
  secretId: 'xxxxx',
  secretKey: 'xxxx', 
  env: 'xxx' }); //云函数下使用默认环境 app.init() //云函数下指定环境 app.init({
  env: 'xxx' }); 

初始化文档

服务端操作文件资源

const app = require('tcb-admin-node');
app.init();

app.uploadFile({
    cloudPath: "cover.png",
    fileContent: fs.createReadStream(`${__dirname}/cover.png`)
}).then((res) => { console.log(res);
}).catch((err) => { console.error(err);
});; 

存储文档

服务端操作数据库

const app = require('tcb-admin-node');
app.init();
const db = app.database();

db.collection('blogs').limit(10).get().then((res) => { console.log(res);
}).catch((err) => { console.error(err);
});; 

数据库文档

服务端调用云函数

const app = require("tcb-admin-node");
app.init();

app.callFunction({
    name: 'addblog', // 云函数名称
    data: { // 传到云函数处理的参数
        title: '云开发 TCB',
        content: '存储、数据库存、云函数' }
}).then((res) => { console.log(res);
}).catch((err) => { console.error(err);
}); 

云函数文档

通过本章,相信你已经知道如何在小程序端和服务端使用 SDK 去操作各类云资源。接下来,我们会分别详情讲述云函数、数据库和存储详细的使用方法。

语法糖

大部份的接口,目前都支持两种写法,分别是 Promise 和 Async/Await,本节以 callFunction 作为例子,在云函数中介绍这两种写法。 Async/Await 本质上是基于 Promise 的一种语法糖,它只是把 Promise 转换成同步的写法而已。

Promise

const app = require("tcb-admin-node");
app.init();

exports.main = (event, context, callback) => {
    app.callFunction({
        name: 'addblog', // 云函数名称
        data: { // 传到云函数处理的参数
            title: '云开发 TCB',
            content: '存储、数据库存、云函数' }
    }).then((res) => { console.log(res);
        callback(null, res.data);
    }).catch((err) => {
        callback(err);
    });
}; 

Async/Await

const app = require("tcb-admin-node");
app.init();

exports.main = async (event, context) => { let result = null; try {
        result = await app.callFunction({
            name: 'addblog', // 云函数名称 data: { // 传到云函数处理的参数 title: '云开发 TCB',
                content: '存储、数据库存、云函数' }
        });
    } catch (e) { return e;
    } return result;
};

服务项目 | 企业招聘 | 合作伙伴 | 帮助中心 | 站点公告 | 新闻中心 | 联系我们 |

copyright ©2014  广州好客信息科技有限公司 粤ICP备16117691号-1    广州市天河区天河路518号901室D89房