跳到主要内容

TypeScript SDK

TypeScript SDK

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


产品定位​

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

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


核心技术亮点​

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

v1.4.1+ 通过 authMode: "openapi" | "client-ak" | "cookie" 显式选择(默认 cookie)。

认证方式

运行环境

原理

适用场景

OpenAPI(服务端)

Node.js

accessKey + HMAC-SHA256 签名,服务端生成 token

后端服务、SSR、数据脚本

OpenAPI(浏览器)

浏览器

预生成 token + timestamp,无密钥泄露风险

纯前端应用、SSR 后的浏览器端

Client AK(服务端)

Node.js

accessKey + X-User-AK,直接调用 /client/* 接口

服务端脚本、OCR / 文件等平台服务(v1.4.1+)

WebAPI(Cookie)

浏览器 / Node.js

Cookie 字符串,携带用户态身份认证

已在平台登录的用户的客户端操作

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

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

// 列表查询 — 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+ 导出类型,WhereCondition、FilterParams、AggregateParams 均可独立引用

  • 泛型支持:client.models.users.filter<User>() 返回 User 类型,IDE 自动补全

  • AI 错误描述:LovrabetError 携带 code、message、description,错误信息包含修复建议

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

  • 底层依赖原生 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.4.3

平台服务 client.services(OCR / 文件)、Client AK 鉴权、batchCreate()

v1.4.2

聚合参数 column 对齐(field 保留别名)

v1.4.1

Client AK 鉴权、authMode 显式三模式(Breaking)、batchCreate()、$notNull

v1.3.7

批量操作(1000 条)、聚合查询 aggregate()

v1.2.0

模型别名、BFF 端点调用

v1.1.19

SQL API

v1.1.14

Node.js Cookie 认证支持

v1.1.0

初始版本


文档目录​

入门​

数据操作​

进阶功能​

参考​


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