TCB系列学习文章——云开发的那些SDK

2021-05-05 21:41:23 浏览数 (1)

Web 端 SDK

@cloudbase/js-sdk 能让您可以在 Web 端(例如 PC Web 页面、微信公众平台 H5 等)使用 JavaScript 访问 Cloudbase 服务和资源。

安装

方式一:通过包管理器引入

代码语言:javascript复制
#npm
npm install @cloudbase/js-sdk -S
# yarn
yarn add @cloudbase/js-sdk

方式二:通过 CDN 引入

通过 CDN 引入有两种方式:

  • 引入全量 SDK
  • 按需引入功能模块
代码语言:javascript复制
<script src="//imgcache.qq.com/qcloud/cloudbase-js-sdk/${version}/cloudbase.full.js"></script>
<script>
 const app = cloudbase.init({
   env: "your-env-id"
 });
</script>

API开发文档指引

  • 初始化
  • 登录认证
  • 云函数
  • 数据库
  • 文件存储
  • 跨端开发

Flutter SDK

CloudBase Flutter SDK 提供一系列插件,可以根据场景按需安装。

Plugin

Version

文档

描述

cloudbase_core

CloudBase Core

核心库,初始化环境等

cloudbase_auth

CloudBase Auth

鉴权库,支持微信登录、自定义登录、匿名登录等

cloudbase_function

CloudBase Function

支持云函数能力

cloudbase_storage

CloudBase Storage

支持对象存储能力

cloudbase_database

CloudBase Database

支持文档型数据库能力

安装

在 flutter 项目的 pubspec.yaml 文件的 dependencies 中添加需要的插件,例如:

代码语言:javascript复制
dependencies:
cloudbase_core: ^0.0.9
cloudbase_auth: ^0.0.11
cloudbase_function: ^0.0.2
cloudbase_storage: ^0.0.3
cloudbase_database: ^0.0.10

然后在命令行中运行。

代码语言:javascript复制
flutter pub get

API开发文档指引

  • 安装
  • 初始化
  • 登录认证
  • 云函数
  • 数据库
  • 文件存储

微信小程序

微信小程序的 SDK,已经直接内置到微信小程序运行框架内,无需额外引用,节省空间。通过微信小程序 SDK,您可以在微信小程序中直接访问 CloudBase 的服务。

API开发文档指引

  • 云存储
  • 数据库
  • 云函数

QQ 小程序

QQ 小程序的 SDK,已经直接内置到 QQ 小程序运行框架内,无需额外引用,节省空间。通过 QQ 小程序 SDK,您可以在QQ 小程序中直接访问 CloudBase 的服务。

API开发文档指引

  • 云存储
  • 数据库
  • 云函数
  • 扩展能力

.NET SDK

安装

在命令行中给项目添加依赖。

代码语言:javascript复制
dotnet add package TencentCloudBase

支持版本

  • netstandard2.0

API开发文档指引

  • 初始化
  • 登录认证
  • 云函数
  • 数据库
  • 文件存储

Node.js SDK(服务端)

Cloudbase Server Node.js SDK 让您可以在服务端(例如腾讯云云函数或云服务器等)使用 Node.js 服务访问 TCB 的服务,如云函数调用,文件上传下载,数据库集合文档操作等,方便快速搭建应用。

需要 Node.js v8.9 及以上版本。

安装

Cloudbase Server Node.js SDK 可以通过 npm 安装:

代码语言:javascript复制
npm install --save @cloudbase/node-sdk

API开发文档指引

  • 介绍
  • 初始化
  • 登录认证
  • 云函数
  • 数据库
  • 文件存储

Node.js SDK(管理端)

云开发 manager-node sdk 支持开发者通过接口形式对云开发提供的云函数、数据库、文件存储等资源进行创建、管理、配置等操作。更多源码内容请参见 cloudbase-manager-node。

安装

npm

代码语言:javascript复制
npm install @cloudbase/manager-node

yarn

代码语言:javascript复制
yarn add @cloudbase/manager-node

API开发文档指引

  • 介绍
  • 初始化
  • 环境管理
  • 云函数
  • 数据库
  • 文件存储
  • 静态网站托管
  • HTTP 访问服务
  • 安全规则
  • 安全来源
  • 公共接口

PHP SDK(服务端)

TCB 提供开发应用所需服务和基础设施。tcb-php-sdk 让你可以在服务端(如腾讯云云函数或 CVM 等)使用 php 服务访问 TCB 的的服务。

需要 php7 及以上版本。

安装

使用 composer (opens new window)安装 CloudBase PHP SDK:

代码语言:javascript复制
composer require tcb-php-sdk

提示

国内使用时,可切换为国内镜像:

代码语言:javascript复制
composer config -g repo.packagist composer https://packagist.phpcomposer.com

在代码中使用:

代码语言:javascript复制
require 'vendor/autoload.php';

use TencentCloudBaseTCB as TCB;
$tcb = new TCB([]);

API开发文档指引

  • 初始化
  • 云函数
  • 数据库
  • 文件存储

PHP SDK(管理端)

T云开发 tcb-manager-php SDK 支持开发者通过接口形式对云开发提供的云函数、数据库、文件存储资源进行创建、管理、配置等操作。更多源码内容请参见 tcb-manager-php SDK (opens new window)。

安装

云开发 tcb-manager-php SDK 的安装方式有两种,通过 composer 安装和手动安装源码包。

  • 通过 composer 安装(推荐使用): 具体安装步骤请参见 官方说明文档 (opens new window)。
代码语言:javascript复制
composer require tencentcloudbase/tcb-manager-php
  • 手动安装源码包:
    1. 前往 源码仓库 (opens new window)下载源码包。
    2. 将源码包放到项目合适的目录。

引入

如果项目使用 composer 管理依赖,则会自动引入,可跳过此步骤。

代码语言:javascript复制
require_once "/path/to/tcb-manager-php/autoload.php"

引用 SDK 后即可使用,SDK 命名空间为 TcbManager。

API开发文档指引

  • 初始化
  • 云函数
  • 数据库
  • 文件存储

各端方法集合

客户端/服务端

初始化 登录认证

js-sdk

Flutter

.NET

wx

node-sdk

php

wx-server-sdk

init

CloudBaseCore init({env,appAccess{},timeout})

CloudBaseApp.Init

wx.cloud.init({env,traceUser})new cloud.Cloud

cloud.init

new Tcb()

cloud.init

Auth(认证)/LoginState(登录)

Auth

Auth

Auth

Auth

Auth

currentUser

getCurrentUser

getUserInfo

GetUserInfoAsync

hasLoginState

getAuthState

GetAuthStateAsync

getLoginState

weixinAuthProvider({appid,scope})

customAuthProvider

signInWithTicket

SignInWithTicketAsync

anonymousAuthProvider

signInAnonymously

SignInAnonymouslyAsync

signUpWithEmailAndPassword(email,password)

signInWithEmailAndPassword(email,password)

sendPasswordResetEmail(email)

signInWithUsernameAndPassword(username,password)

isUsernameRegistered(username)

sendPhoneCode(phoneNumber)

signUpWithPhoneCode(phoneNumber,phoneCode,password)

signInWithPhoneCodeOrPassword(phoneNumber,phoneCode,password)

signOut

signOut

SignOutAsync

getAuthHeader

getAuthHeaderAsync

shouldRefreshAccessToken

onLoginStateChanged

onLoginStateExpired

onAccessTokenRefreshed

onAnonymousConverted

onLoginTypeChanged

getUserInfo

getEndUserInfo

getClientIP

createTicket

LoginState

authState

authState

User

update(nickName,gender,avatarUrl,country,province,city)

refresh()

linkWithTicket(ticket)

linkWithRedirect({appid,scope})

updatePassword(newPassword,oldPassword)

updateEmail(newEmail)

updateUsername(newUsername)

linkWithPhoneNumber(phoneNumber,phoneCode)

updatePhoneNumber(phoneNumber,phoneCode)

unlink(loginType)

WeixinAuthProvider

signInWithRedirect

signInByWx

getRedirectResult

getLinkRedirectResult

linkWithRedirect

CustomAuthProvider

signIn(ticket)

AnonymousAuthProvider

signIn()

数据库

js-sdk

Flutter

.NET

小程序端

node-sdk

php

wx-server-sdk

database

CloudBaseDatabase

Db

database

database

getDatabase()

database

collection(name)

collection(name)

Collection(name)

collection(name)

collection(name)

collection(name)

RegExp

RegExp

$db->RegExp

RegExp

serverDate

serverDate

serverDate

createCollection

createCollection

createCollection

doc

doc

Doc

Doc

Doc

Doc

Doc

where(obj)

where(obj)

Where(obj)

where(obj)

where(obj)

where(obj)

where(obj)

limit(number)

limit(number)

Limit(number)

limit(number)

limit(number)

limit(number)

limit(number)

skip(number)

skip(number)

Skip(number)

skip(number)

skip(number)

skip(number)

skip(number)

field(obj)

field(obj)

Field(obj)

field(obj)

field(obj)

field(obj)

field(obj)

orderBy(field, orderType)

orderBy(field, orderType)

orderBy(field, orderType)

orderBy(field, orderType)

orderBy(field, orderType)

orderBy(field, orderType)

orderBy(field, orderType)

options

options

add

add

Add

add

add

add

add

get

get

Get

get

get

get

get

count

count

Count

count

count

count

count

remove

remove

Remove

remove

remove

remove

remove

update/set

update/set

Update/Set

update/set

update/set

update/set

update/set

updateAndReturn

Geo

Geo

Geo

Geo

Geo

Point

Point

Point

Point

Point

Point

LineString

LineString

LineString

LineString

LineString

LineString

Polygon

Polygon

Polygon

Polygon

Polygon

Polygon

MultiPoint

MultiPoint

MultiPoint

MultiPoint

MultiPoint

MultiPoint

MultiLineString

MultiLineString

MultiLineString

MultiLineString

MultiLineString

MultiLineString

MultiPolygon

MultiPolygon

MultiPolygon

MultiPolygon

MultiPolygon

MultiPolygon

Aggregate

Aggregate

Aggregate

addFields

addFields

addFields

bucket

bucket

bucket

bucketAuto

bucketAuto

bucketAuto

count

count

count

geoNear

geoNear

geoNear

group

group

group

limt

limt

limt

lookup

lookup

match

match

match

project

project

project

replaceRoot

replaceRoot

replaceRoot

sample

sample

sample

skip

skip

skip

sort

sort

sort

sortByCount

sortByCount

sortByCount

unwind

unwind

unwind

end

end

end

command

command

Command

Command

Command

Command

Command

eq

eq

Eq

eq

eq

eq

eq

neq

neq

Neq

neq

neq

neq

neq

gt

gt

Gt

gt

gt

gt

gt

gte

gte

Gte

gte

gte

gte

gte

lt

lt

Lt

lt

lt

lt

lt

lte

lte

Lte

Lte

lte

lte

lte

in

into

In

in

in

in

in

nin

nin

Nin

nin

nin

nin

nin

and

and

And

and

and

and

and

or

or

Or

or

or

or

or

not

not

neq

neq

RegExp

RegExp

RegExp

小程序可直接用

RegExp

$db->RegExp

RegExp

set

set

Set

set

set

set

set

inc

inc

Inc

inc

inc

inc

inc

mul

mul

Mul

mul

mul

mul

mul

remove

remove

Remove

remove

remove

remove

remove

min

min

max

max

rename

rename

push

push

Push

push

push

push

push

pop

pop

Pop

pop

pop

pop

pop

unshift

unshift

Unshift

unshift

unshift

unshift

unshift

shift

shift

Shift

shift

shift

shift

shift

pull

pull

pullAll

pullAll

addToSet

addToSet

all

all

eleMatch

eleMatch

size

size

geoNear

geoNear

geoNear

geoNear

geoNear

geoNear

geoWithin

geoWithin

geoWithin

geoWithin

geoWithin

geoWithin

geoIntersects

geoIntersects

geoIntersects

geoIntersects

geoIntersects

geoIntersects

expr

aggregate

aggregate

算数运算符

算数运算符

数组运算符

数组运算符

布尔运算符

布尔运算符

比较运算符

比较运算符

条件操作符

条件操作符

日期操作符

日期操作符

对象操作符

对象操作符

集合操作符

集合操作符

字符串操作符

字符串操作符

累计器操作符

累计器操作符

变量操作符

变量操作符

watch

watch

watch

startTransaction

startTransaction

runTransaction

runTransaction

rollback

rollback

云函数

js-sdk

Flutter

.NET

小程序端

node-sdk

php

wx-server-sdk

callFunction

callFunction

CallFunctionAsync

wx.callFunction

cloud.callFunction

$functions = $tcb->->getFunctions()$result = $functions->callFunction

cloud.callFunction

云存储

js-sdk

Flutter

.NET

小程序端

node-sdk

php

wx-server-sdk

uploadFile(cloudPath,filePath,onUploadProgress)

uploadFile({String cloudPath, String filePath,(int count, int total) onProcess})

UploadFileAsync(string cloudPath, string filePath)

wx.cloud.uploadFile

uploadFile(object)

uploadFile(object)

uploadFile(object)

getTempFileURL

getFileDownloadURL(List fileIdList)

GetFileDownloadUrlAsync(List fileIdList)

wx.cloud.getTempFileURL

getTempFileURL(object)

getTempFileURL(object)

getTempFileURL(object)

deleteFile

deleteFiles(List fileIdList)

DeleteFilesAsync(List fileIdList)

wx.cloud.deleteFile

deletefile(object)

deletefile(object)

deletefile(object)

downloadFile

downloadFile({String fileId, String savePath,(int count, int total) onProcess})

wx.cloud.downloadFile

downloadFile(object)

downloadFile(object)

downloadFile(object)

getUploadMetadata(String cloudPath)

公众号H5的功能基本与小程序端一致,新增checkLogin,startLogin,getJSSDKSignature ,refreshAuth等公众号登陆鉴权功能。

其他功能

js-sdk

Flutter

.NET

小程序端

node-sdk

php

wx-server-sdk

app.analytics/广告数据上报

wx.cloud.callContainer/云托管

app.analytics/广告数据上报

CloudPay/微信支付

cloudbase.useAdapters/引入适配器

Cloud.CloudID(cloudID: string)/获取开放数据

app.logger().log(logMsg)/日志上报

Cloud.getWXContext()在云函数中获取微信调用上下文

Cloud.CDN小程序端调云函数传递大数据可用的临时 CDN

tcb.parseContext(context)/解析云函数环境变量

Cloud.logger()云函数中使用高级日志能力

tcb.getCloudbaseContext(context)/获取云函数环境变量

Cloud.getCloudCallSign获取签名

Cloud.getOpenData/获取 CloudID 对应的开放数据

Cloud.getVoIPSign/获取实时语音签名

0 人点赞