用途:该技能面向使用 Appwrite 构建应用的 TypeScript 开发者,覆盖 Web 端、React Native 移动端与服务端 Node.js/Deno 场景,帮助完成客户端初始化与各类后端服务调用。
安装方式:Web 使用 npm install appwrite;React Native 使用 npm install react-native-appwrite;Node.js/Deno 使用 npm install node-appwrite。客户端通过 new Client().setEndpoint('https://<REGION>.cloud.appwrite.io/v1').setProject('[PROJECT_ID]') 配置;服务端另外调用 setKey(process.env.APPWRITE_API_KEY)。
主要能力:
- 认证:支持邮箱注册登录 createEmailPasswordSession、OAuth 登录、获取当前用户与登出。React Native 不能用 createOAuth2Session,需用 createOAuth2Token 配合 deep linking 完成。
- 数据库:使用 TablesDB(而非已弃用的 Databases),支持创建库表、增删改查行数据、列类型(varchar、text、mediumtext、longtext)及查询方法(equal、search、orderAsc、limit、cursorAfter、select、or、and 等)。推荐对象参数调用风格。
- 存储:上传、列表、预览、下载、删除文件;服务端可用 InputFile.fromPath、fromBuffer、fromStream、fromPlainText。
- 团队:创建团队、邀请成员、更新角色与权限。
- 实时订阅:Realtime 配合 Channel 订阅账户、表行、文件、团队、函数执行等频道变化。
- 云函数:执行函数、列出执行记录,并可按 Node.js 运行时编写处理函数。
- SSR 认证:Next.js、SvelteKit、Nuxt 等使用 node-appwrite,区分管理客户端(API key、单例复用)与会话客户端(按请求创建)。
限制与注意事项:legacy 字符串类型与 Databases 类已弃用,新代码应使用显式列类型与 TablesDB;分页默认 25 条、最大 100 条。资料未提供收费、价格与平台兼容性的更多细节。