用途:这是一份 Appwrite Dart SDK 的技能说明,适用于使用 Flutter(移动、Web、桌面)或服务端 Dart 构建 Appwrite 应用时参考。
安装:客户端 Flutter 用 flutter pub add appwrite;服务端 Dart 用 dart pub add dart_appwrite。
主要能力:
- 客户端认证:通过 Account 实现注册、邮箱密码登录、OAuth2 登录、获取当前用户与登出。
- 服务端用户管理:通过 Users 创建、列出、获取和删除用户。
- 数据库:使用 TablesDB(新代码应避免已弃用的 Databases 类)进行数据库、表、行的创建、查询、读取、更新与删除;支持各类 Query 过滤、排序、分页、字段选择与逻辑组合;字符串列类型有 varchar、text、mediumtext、longtext,说明其长度、索引与存储差异。
- 文件存储:通过 Storage 上传、预览、列出和删除文件,InputFile 支持 fromPath 与 fromBytes。
- 团队:通过 Teams 创建团队、邀请成员、管理成员角色与删除团队,并配合 Role.team 控制权限。
- 实时订阅:客户端用 Realtime 订阅数据行、文件、账户、团队、成员关系与函数执行等频道,处理事件、负载、匹配频道与时间戳。
- 无服务器函数:服务端通过 Functions 执行函数、列出执行记录;文档还给出 Dart 运行时函数入口写法(读取 req、通过 res 返回 JSON/文本/空响应/重定向)。
- SSR 认证:说明 Admin 客户端与 Session 客户端两种客户端用法,涵盖邮箱密码登录、会话 Cookie 设置、认证请求、OAuth2 SSR 流程、Cookie 安全与转发 User-Agent。
- 错误处理:AppwriteException 的 message、code、type、response 字段及常见错误码。
- 权限与角色:通过 Permission 与 Role 在行/文件级设置 read、update、delete、create、write 权限,并说明常见权限误用。
用法要点:新代码使用 TablesDB 而非 Databases;调用优先使用命名参数;设置新列时用显式字符串类型。
限制:文档未提供收费、价格、平台覆盖或性能数据,暂未提供。原文中的代码与命令应保持原样使用。