Skip to content

TypeScript SDK

Lovrabet TypeScript SDK@lovrabet/sdk)是连接前端应用与 Lovrabet 数据平台的核心客户端库,以极简的 API 提供完整的数据操作能力。


产品定位

Lovrabet 是一个 AI-Native 业务系统生成平台。它通过首创的 DBAgent 数据库逆向技术,自动分析业务模型并生成服务端 API。而 TypeScript SDK 是这个平台的 BaaS 数据访问层:为开发者屏蔽底层 API 复杂度,以 TypeScript 原生体验操作平台数据。

一句话价值:用 5 行代码,从零开始在任何前端项目中完成数据读写,不需要了解任何 API 细节。


核心技术亮点

三种认证模式,覆盖所有业务场景

认证方式运行环境原理适用场景
OpenAPI(服务端)Node.jsaccessKey + HMAC-SHA256 签名,服务端生成 token后端服务、SSR、数据脚本
OpenAPI(浏览器)浏览器预生成 token + timestamp,无密钥泄露风险纯前端应用、SSR 后的浏览器端
WebAPI(Cookie)浏览器 / Node.jsCookie 字符串,携带用户态身份认证已在平台登录的用户的客户端操作

安全关键设计accessKey 永不到达浏览器;OpenAPI token 有 10 分钟时效;服务端生成 token,浏览器端无密钥泄露。

统一 CRUD + 高级查询,一套 API 打天下

TypeScript
// 列表查询 — filter 支持丰富条件与排序
const users = await client.models.users.filter({
  where: { status: "active", age: { $gte: 18 } },
  orderBy: [{ createdAt: "desc" }],
  pageSize: 20
});

// 增删改查 — 单条或批量(最多 1000 条)
await client.models.users.update([1, 2, 3], { status: "inactive" });
await client.models.users.delete([4, 5, 6]);

// 聚合查询 — count/sum/avg,无需手写 SQL
const stats = await client.models.orders.aggregate({
  groupBy: ["status"],
  aggregations: [{ field: "amount", type: "sum", alias: "total" }]
});

TypeScript 原生体验,AI 友好

  • 完整类型定义:40+ 导出类型,WhereConditionFilterParamsAggregateParams 均可独立引用
  • 泛型支持client.models.users.filter<User>() 返回 User 类型,IDE 自动补全
  • AI 错误描述LovrabetError 携带 codemessagedescription,错误信息包含修复建议

真正的跨端兼容,一套代码

  • 底层依赖原生 fetch,无额外 HTTP 依赖
  • HMAC-SHA256 签名同时支持 Web Crypto API(浏览器)和 Node.js crypto
  • 一套代码运行于:React / Vue / Angular / Svelte、Node.js / Express / Koa / Nest.js、微信小程序 / Electron

开发者体验

  • 零配置入门registerModels() 注册一次,处处引用
  • 多环境无缝切换production / daily / development 一行切换
  • 批量操作:更新 / 删除最多 1000 条,减少网络往返
  • SQL / BFF 端点:通过 SDK 调用平台预注册的自定义 SQL 和后端函数

版本说明

版本说明
v1.3.7批量操作(1000 条)、聚合查询 aggregate()
v1.2.0模型别名、BFF 端点调用
v1.1.19SQL API
v1.1.14Node.js Cookie 认证支持
v1.1.0初始版本

文档目录

入门

数据操作

进阶功能

参考


本文档由 Claude Code 维护,基于飞书 Wiki 源自动生成。

基于飞书知识库同步生成,内容以飞书源文档为准