跳到主要内容

更新日志

1.3.0 (2026-11-10)​

  • 新增 PG 模式云存储,挂在 app.storage 上
    • fromBucket(bucketId) 上传、覆盖、下载、列出、删除、复制、移动对象,并创建签名 URL 或公开 URL
    • Bucket 管理:listBuckets、getBucket、createBucket、updateBucket、deleteBucket
    • 传统模式 from() 不变
  • API 的 HEAD、OPTIONS、PATCH 按对应方法发送
  • 传统模式 upload 会签名并发送 cache-control、自定义元数据;upsert 为 false 时发送 x-cos-forbid-overwrite
  • 传统模式 getDownloadUrls / createSignedUrl 把 expiresIn 作为 maxAge 下发
  • PG 模式上传按二进制发送文件字节

1.2.3 (2026-10-22)​

  • 认证请求对齐 v1 网关:OAuth 授权地址改为 GET,参数使用 redirect_uri;登出时吊销当前 access token;修改密码改为 PATCH /auth/v1/user/password;注册时 nickname、avatarUrl 分别以 name、picture 发送
  • linkIdentity 在 data.url 返回身份源授权地址
  • 错误响应体为 JSON 字符串时按 JSON 解析
  • 读取 v1 用户资料与身份源(user_id、picture,身份源列表取 data)。空的身份源响应得到空列表
  • CloudBase.init 新增 debug。为 true 时打印请求体、响应头和响应体

1.2.2 (2026-08-31)​

  • 修复 signInWithIdToken 向登录接口发送 provider_token 而非 provider_id / provider_id_token 的问题

1.2.1 (2026-08-18)​

  • 修复 HTTP 拦截器在未登录认证接口(刷新 Token /auth/v1/token、匿名登录 /auth/v1/signin/anonymously)上附带过期 AccessToken,导致网关拒绝刷新与重新登录的问题
  • 公开认证接口(登录/注册、OTP、OAuth 换票、图形验证码、revoke 等)不再自动附加 Authorization;受保护接口(如 /auth/v1/user/me)仍会发送会话 Token

1.2.0 (2026-07-24)​

  • 新增文档型数据库模块(CloudBaseDatabase),提供与 JS SDK 一致的链式调用 API
    • db.collection().doc() 文档引用
    • 链式查询:where / orderBy / limit / skip / field
    • 增删改查:add(单条与批量)、get、count、update、set、remove
    • 通过 db.command 使用查询/更新指令:比较(eq/gt/gte/lt/lte/neq/in/nin)、逻辑(and/or/not/nor)、更新操作符(set/inc/mul/remove/push/pull/pop/shift/unshift/addToSet/rename/max/min)
    • 通过 collection().aggregate()...end() 使用聚合管道
    • 通过 db.startTransaction() 使用事务,支持 commit / rollback
    • 地理位置类型(GeoPoint/GeoLineString/GeoPolygon/GeoMultiPoint/GeoMultiLineString/GeoMultiPolygon)及地理位置查询
    • RegExp、serverDate 辅助方法,以及自动 EJSON 编解码(如 DateTime)
    • 通过 runCommands 执行 MongoDB 风格命令

1.1.0 (2026-07-01)​

  • 新增云存储模块(CloudBaseStorage)
    • 上传文件到云存储,返回上传信息并支持直传 COS
    • 获取带签名的下载链接(单个与批量)
    • 删除文件(批量)
    • 复制文件(单个与批量)
    • 移动/重命名文件
    • 获取用于客户端直传的上传信息

1.0.9 (2026-06-30)​

  • 为所有 HTTP 请求新增 X-SDK-Version 请求头(@cloudbase/flutter-sdk/<version>),用于平台标识
  • 新增版本管理工具(tool/update_version.dart),可从 pubspec.yaml 自动同步版本号
  • 新增 CONTRIBUTING.md,补充发布流程文档
  • 优化 HTTP 客户端以支持 List 类型请求体(用于存储相关 API)

1.0.8 (2026-05-06)​

  • 修复 UserProfile.toUser() 在 email 为 null 时错误回退到 username(手机号)的问题,该问题会导致重新认证时向服务端发送格式非法的 email
  • 修复 reauthenticate() 未正确区分空字符串与合法 email 的问题,确保仅有手机号的用户使用手机号进行验证,而非非法 email

1.0.7 (2026-03-11)​

  • signInWithOtp 新增 shouldCreateUser 选项,当用户不存在时可自动注册
  • 将内部注册逻辑重构为可复用的 _signUpAndSaveSession 方法

1.0.6 (2026-03-05)​

  • 新增 MySQL 模块(CloudBaseMySql)
    • query、insert、update、delete、count
  • 新增 MySQL 模块的示例代码
  • 新增 MySQL 模块的单元测试

1.0.5 (2026-03-05)​

  • 新增数据模型模块(CloudBaseDataModel)
    • 支持 filter、select、orderBy 的增删改查
    • 批量创建/更新/删除操作
    • Upsert 支持
    • 原生 MySQL 命令执行
    • 数据源查询 API(聚合列表、详情、Schema、表名)
  • 重构 HTTP 客户端,支持 token 自动刷新并完善文档
  • 新增数据模型的示例代码
  • 新增数据模型的单元测试

1.0.4 (2026-01-16)​

  • 新增示例代码

1.0.3 (2026-01-16)​

  • 更新 README 文档

1.0.2 (2026-01-15)​

  • 修复 HTTP 客户端未正确处理空 token 字符串的问题

1.0.1 (2026-01-15)​

  • 完善 README 文档,补充完整的认证 API 用法

1.0.0 (2026-01-15)​

  • 首次发布
  • 认证模块(CloudBaseAuth)
    • 邮箱/手机号注册与登录
    • 密码登录
    • OTP 验证码登录
    • OAuth 第三方登录
    • IdToken 登录
    • 自定义票据登录
    • 匿名登录
    • 会话管理(获取、刷新、设置)
    • 用户信息管理
    • 身份源绑定/解绑
    • 密码重置
  • 云函数模块(CloudBaseFunctions)
    • 基础云函数调用
    • 函数型云托管调用
  • 云托管模块(CloudBaseCloudRun)
    • 支持 HTTP 方法(GET/POST/PUT/DELETE)
    • 自定义请求头
  • API 网关模块(CloudBaseApis)
    • 链式调用
    • 支持多种 HTTP 方法
  • 验证码模块(CloudBaseCaptcha)
    • 图形验证码
    • 自定义验证码处理器
    • 内置验证码弹窗