云开发解决方案
小程序云开发解决方案
为企业和开发者提供一站式后端云服务,无需管理基础架构,一次开发多端运行,腾讯云和微信联合出品。
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等 Serverless 化能力,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
名称 | 概念 |
---|---|
环境 | 云开发后端服务单元(类应用的概念),每个环境内独立拥有资源、独立计费,并且有唯一的环境 ID 标识。 |
默认环境 | 第一次创建的环境系统会自动设置为默认环境。 |
套餐 | 采用包年包月计费模式的环境会绑定一个套餐,套餐决定了环境资源的配额上限,包年包月的套餐可参见 产品定价,用户可自定义更换环境内的套餐来更换不同的资源上限。 |
云数据库 | 环境内自带云数据库功能,一个性能强大的文档型数据库(非关系型数据库),支持基础读写、聚合搜索、数据库事务、实时推送等功能 |
云存储 | 环境内自带云存储功能,提供稳定、安全、低成本、简单易用的云端存储服务,支持任意数量和形式的非结构化数据存储,如图片、文档、音频、视频、文件等 |
云函数 | 环境内自带云函数功能,可以函数的形式运行后端代码,支持SDK的调用或HTTP请求。云函数存储在云端,可以根据函数的使用情况,自动扩缩容 |
HTTP | 访问服务 云开发为开发者提供的 HTTP 访问服务,可通过 HTTP 访问云开发资源。 |
静态网站托管 | 云开发提供静态网页托管能力,可通过 TCB 控制台进行静态网站的部署。 |
云托管 | 环境内自带的一种无服务器容器服务,可面向代码和镜像等多种对象使用。 |
Web 端 | 云开发提供 JS SDK,可在 Web 类(公众号、H5、PC 网站应用等)中开发。 |
小程序端 | 云开发支持微信小程序小程序端的开发能力,详情请参见 小程序云开发。 |
TCB 控制台 | 腾讯云云开发控制台,基于 Web 的用户界面,可方便操作环境和环境内资源。 |
云函数 SCF
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
创建目录和云函数文件
在本地创建一个空的文件夹,作为项目的根目录。
进入项目根目录,创建 functions 文件夹。
在 functions 下创建 hello_world 文件夹,包含 index.js 与 package.json 两个文件。
此时目录结构如下:
└── functions
└── hello_world
├── index.js
└── package.json
index.js
exports.main = async function () {
return "Hello World!";
};
package.json
{
"name": "hello_world",
"version": "1.0.0",
"main": "index.js"
}
发布云函数
命令行工具,小程序开发者工具
安装并登录 CLI 工具。
在项目根目录运行以下命令,并且使用默认配置:
cloudbase fn deploy hello_world -e <env-id>
云函数以函数的形式运行后端代码,响应 SDK 的调用或者 HTTP 请求。您的代码会储存在云端,并且在托管环境中运行,无需管理或运维自己的服务器。我们为您提供了云函数基本操作教学,点击下方按钮立即开始学习。
VM1197:252 Error: [@cloudbase/qq-sdk] 获取ticket失败
获取appid云开发信息失败,未能找到绑定信息
QQ 小程序端 进行调用云函数
qq.cloud.callFunction({
name: "show-user-infor"
}).then(res => {
console.log(res)
})
云开发端:云函数编写代码展示
注意点:【上传并部署】选择安装云端依赖,否则云端没有依赖包,无法执行。
云函数入口文件
const cloud = require('qq-server-sdk');
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
云函数入口函数
exports.main = async (event, context) => {
const { OPENID, APPID, ENV } = cloud.getQQContext()
return { OPENID, APPID, ENV }
}
云数据库 MongoDB
云数据库是 CloudBase 提供的核心功能之一,提供基础读写、聚合搜索、数据库事务、实时推送等功能。我们为您提供了数据库基本操作教学,点击下方按钮立即开始学习。
集合(Collection)
集合由多条记录组成,任何记录必须从属于某个集合。
集合是读写操作的主要对象,每个集合都有一个集合名,如 users、articles 等。
数据库(Database)
每个云开发环境下有且只有一个数据库实例,数据库实例中,可以创建多个集合。
调用方式
云数据库可以在用户端(例如 Web 网页、小程序)内调用,也可以在服务端(如服务器、云函数)内调用。
用户端调用
通过用户端调用时,需要先进行云开发的登录鉴权,然后以用户的身份进行数据库的读写操作。
权限设置问题
小程序端:代码展示
db.collection("star-user").where({}).get()
.then(function (res) {
console.log(res);
});