@lovrabet/sdk 1.1.14 → 1.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -29
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/src/models/abstract-base-model.d.ts +3 -3
- package/dist/src/models/openapi-model.d.ts +2 -1
- package/dist/src/models/webapi-model.d.ts +2 -1
- package/dist/src/types/index.d.ts +26 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -72,7 +72,7 @@ export async function GET() {
|
|
|
72
72
|
import { createClient } from "@lovrabet/sdk";
|
|
73
73
|
|
|
74
74
|
// 获取 token
|
|
75
|
-
const { token, timestamp } = await fetch(
|
|
75
|
+
const { token, timestamp } = await fetch("/api/token").then((r) => r.json());
|
|
76
76
|
|
|
77
77
|
// 创建客户端
|
|
78
78
|
const client = createClient({
|
|
@@ -124,8 +124,8 @@ const result = await generateOpenApiToken({
|
|
|
124
124
|
accessKey: process.env.LOVRABET_ACCESS_KEY!,
|
|
125
125
|
});
|
|
126
126
|
|
|
127
|
-
console.log(result.token);
|
|
128
|
-
console.log(result.timestamp);
|
|
127
|
+
console.log(result.token); // 生成的 token
|
|
128
|
+
console.log(result.timestamp); // 时间戳
|
|
129
129
|
console.log(result.expiresAt); // 过期时间
|
|
130
130
|
```
|
|
131
131
|
|
|
@@ -195,15 +195,25 @@ const users = await client.models.users.getList();
|
|
|
195
195
|
import { registerModels, createClient } from "@lovrabet/sdk";
|
|
196
196
|
|
|
197
197
|
// 注册不同环境的配置
|
|
198
|
-
registerModels(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
198
|
+
registerModels(
|
|
199
|
+
{
|
|
200
|
+
appCode: "prod-app",
|
|
201
|
+
models: {
|
|
202
|
+
/* ... */
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
"prod"
|
|
206
|
+
);
|
|
207
|
+
|
|
208
|
+
registerModels(
|
|
209
|
+
{
|
|
210
|
+
appCode: "dev-app",
|
|
211
|
+
models: {
|
|
212
|
+
/* ... */
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
"dev"
|
|
216
|
+
);
|
|
207
217
|
|
|
208
218
|
// 创建不同环境的客户端
|
|
209
219
|
const prodClient = createClient("prod");
|
|
@@ -216,7 +226,9 @@ const devClient = createClient("dev");
|
|
|
216
226
|
// 创建客户端
|
|
217
227
|
const client = createClient({
|
|
218
228
|
appCode: "your-app-code",
|
|
219
|
-
models: {
|
|
229
|
+
models: {
|
|
230
|
+
/* ... */
|
|
231
|
+
},
|
|
220
232
|
});
|
|
221
233
|
|
|
222
234
|
// 后续更新 token
|
|
@@ -260,6 +272,10 @@ import {
|
|
|
260
272
|
type TokenResult,
|
|
261
273
|
type ListResponse,
|
|
262
274
|
type ListParams,
|
|
275
|
+
type SortList,
|
|
276
|
+
|
|
277
|
+
// 枚举
|
|
278
|
+
SortOrder,
|
|
263
279
|
} from "@lovrabet/sdk";
|
|
264
280
|
```
|
|
265
281
|
|
|
@@ -267,13 +283,13 @@ import {
|
|
|
267
283
|
|
|
268
284
|
```typescript
|
|
269
285
|
interface ClientConfig {
|
|
270
|
-
appCode?: string;
|
|
271
|
-
accessKey?: string;
|
|
272
|
-
secretKey?: string;
|
|
273
|
-
token?: string;
|
|
274
|
-
timestamp?: number;
|
|
275
|
-
env?:
|
|
276
|
-
models?: ModelsConfig;
|
|
286
|
+
appCode?: string; // 应用代码
|
|
287
|
+
accessKey?: string; // OpenAPI 密钥(服务端)
|
|
288
|
+
secretKey?: string; // 密钥(可选)
|
|
289
|
+
token?: string; // 预生成 token(浏览器)
|
|
290
|
+
timestamp?: number; // token 时间戳
|
|
291
|
+
env?: "online" | "daily"; // 环境
|
|
292
|
+
models?: ModelsConfig; // 模型配置
|
|
277
293
|
}
|
|
278
294
|
```
|
|
279
295
|
|
|
@@ -287,6 +303,17 @@ const response = await client.models.users.getList({
|
|
|
287
303
|
// 其他查询参数
|
|
288
304
|
});
|
|
289
305
|
|
|
306
|
+
// 查询列表(带排序)
|
|
307
|
+
import { SortOrder } from "@lovrabet/sdk";
|
|
308
|
+
|
|
309
|
+
const sortedUsers = await client.models.users.getList(
|
|
310
|
+
{ currentPage: 1, pageSize: 20 },
|
|
311
|
+
[
|
|
312
|
+
{ createTime: SortOrder.DESC }, // 按创建时间降序
|
|
313
|
+
{ name: SortOrder.ASC }, // 再按名称升序
|
|
314
|
+
]
|
|
315
|
+
);
|
|
316
|
+
|
|
290
317
|
// 获取单条记录
|
|
291
318
|
const user = await client.models.users.getOne("user-id");
|
|
292
319
|
|
|
@@ -331,17 +358,17 @@ const client = createClient({
|
|
|
331
358
|
|
|
332
359
|
```typescript
|
|
333
360
|
// 使用服务端生成的 token
|
|
334
|
-
const { token } = await fetch(
|
|
361
|
+
const { token } = await fetch("/api/token").then((r) => r.json());
|
|
335
362
|
const client = createClient({ token });
|
|
336
363
|
```
|
|
337
364
|
|
|
338
365
|
## 🎯 选择正确的认证模式
|
|
339
366
|
|
|
340
|
-
| 环境
|
|
341
|
-
|
|
342
|
-
| **Node.js 服务端**
|
|
343
|
-
| **浏览器(未登录)** | `token`
|
|
344
|
-
| **浏览器(已登录)** | Cookie
|
|
367
|
+
| 环境 | 认证方式 | 使用场景 |
|
|
368
|
+
| -------------------- | ----------- | ----------------------- |
|
|
369
|
+
| **Node.js 服务端** | `accessKey` | SSR、API 路由、后端服务 |
|
|
370
|
+
| **浏览器(未登录)** | `token` | 公开数据访问、匿名用户 |
|
|
371
|
+
| **浏览器(已登录)** | Cookie | 已认证用户、私有数据 |
|
|
345
372
|
|
|
346
373
|
## 📚 文档
|
|
347
374
|
|
|
@@ -353,11 +380,46 @@ const client = createClient({ token });
|
|
|
353
380
|
|
|
354
381
|
## 📝 What's New
|
|
355
382
|
|
|
383
|
+
### v1.1.16 (2025-10-15)
|
|
384
|
+
|
|
385
|
+
**新增功能 (New Features):**
|
|
386
|
+
|
|
387
|
+
- ✨ **列表排序支持** - `getList` 方法现在支持多字段排序功能
|
|
388
|
+
|
|
389
|
+
```typescript
|
|
390
|
+
import { SortOrder } from "@lovrabet/sdk";
|
|
391
|
+
|
|
392
|
+
// 单字段排序
|
|
393
|
+
const users = await client.models.users.getList(
|
|
394
|
+
{ currentPage: 1, pageSize: 20 },
|
|
395
|
+
[{ createTime: SortOrder.DESC }]
|
|
396
|
+
);
|
|
397
|
+
|
|
398
|
+
// 多字段排序
|
|
399
|
+
const products = await client.models.products.getList(
|
|
400
|
+
{ currentPage: 1, pageSize: 20 },
|
|
401
|
+
[
|
|
402
|
+
{ priority: SortOrder.DESC }, // 优先级降序
|
|
403
|
+
{ createTime: SortOrder.DESC }, // 创建时间降序
|
|
404
|
+
{ name: SortOrder.ASC }, // 名称升序
|
|
405
|
+
]
|
|
406
|
+
);
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
- 使用简洁的 key-value 格式:`{ "字段名": SortOrder.ASC/DESC }`
|
|
410
|
+
- 支持多字段组合排序
|
|
411
|
+
- 同时支持 OpenAPI 和 WebAPI 两种模式
|
|
412
|
+
- 向后兼容,sortList 参数可选
|
|
413
|
+
- 导出 `SortOrder` 枚举和 `SortList` 类型供开发者使用
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
356
417
|
### v1.1.14 (2025-10-11)
|
|
357
418
|
|
|
358
419
|
**新增功能 (New Features):**
|
|
359
420
|
|
|
360
421
|
- ✨ **OpenAPI Create/Update 支持** - OpenAPI 模式现已支持完整的 CRUD 操作
|
|
422
|
+
|
|
361
423
|
```typescript
|
|
362
424
|
// 创建记录
|
|
363
425
|
const newUser = await client.models.users.create({
|
|
@@ -370,6 +432,7 @@ const client = createClient({ token });
|
|
|
370
432
|
name: "Jane Doe",
|
|
371
433
|
});
|
|
372
434
|
```
|
|
435
|
+
|
|
373
436
|
- 认证信息自动添加到请求头(X-Token、X-Time-Stamp)
|
|
374
437
|
- 请求体只包含业务数据(`appCode`、`datasetCode`、`paramMap`)
|
|
375
438
|
- 与查询接口保持一致的架构设计
|
|
@@ -401,6 +464,7 @@ const client = createClient({ token });
|
|
|
401
464
|
**新增功能 (New Features):**
|
|
402
465
|
|
|
403
466
|
- ✨ **后端 Token 生成器** - 新增 `generateOpenApiToken()` 函数,支持服务端生成 Token
|
|
467
|
+
|
|
404
468
|
```typescript
|
|
405
469
|
import { generateOpenApiToken } from "@lovrabet/sdk";
|
|
406
470
|
|
|
@@ -427,7 +491,6 @@ const client = createClient({ token });
|
|
|
427
491
|
|
|
428
492
|
---
|
|
429
493
|
|
|
430
|
-
|
|
431
494
|
### v1.1.5 (2025-09-27)
|
|
432
495
|
|
|
433
496
|
**重大变更 (Breaking Changes):**
|
|
@@ -441,7 +504,6 @@ const client = createClient({ token });
|
|
|
441
504
|
|
|
442
505
|
---
|
|
443
506
|
|
|
444
|
-
|
|
445
507
|
## 🤝 反馈
|
|
446
508
|
|
|
447
509
|
如遇到问题或有功能建议,欢迎提交 Issue!
|
|
@@ -451,6 +513,7 @@ const client = createClient({ token });
|
|
|
451
513
|
**专有软件(Proprietary)** - 详见 [LICENSE](./LICENSE) 文件
|
|
452
514
|
|
|
453
515
|
本 SDK 为 Lovrabet 开放平台的专有组件:
|
|
516
|
+
|
|
454
517
|
- ✅ **允许使用** - 可以安装并在项目中集成本 SDK
|
|
455
518
|
- ✅ **应用分发** - 可以分发包含本 SDK 的应用程序
|
|
456
519
|
- ✅ **商业使用** - 可用于个人和商业项目
|
|
@@ -458,4 +521,4 @@ const client = createClient({ token });
|
|
|
458
521
|
- ❌ **不得单独分发** - 不得单独复制或分发本 SDK
|
|
459
522
|
- ❌ **源代码不公开** - 本 SDK 为闭源软件
|
|
460
523
|
|
|
461
|
-
如需商业授权或有疑问,请访问 [lovrabet.com](https://www.lovrabet.com)
|
|
524
|
+
如需商业授权或有疑问,请访问 [lovrabet.com](https://www.lovrabet.com)
|
package/dist/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export { AbstractBaseModel, OpenApiModel, WebApiModel, ModelFactory, } from "./s
|
|
|
7
7
|
export { AuthManager, } from "./src/auth/index";
|
|
8
8
|
export { generateOpenApiToken, TokenGenerator, isTokenExpiring, getTokenRemainingTime, type GenerateTokenParams, type TokenResult } from "./src/auth/index";
|
|
9
9
|
export type { ClientConfig, LovrabetClient, ModelConfig, ModelsConfig, } from "./src/types/index";
|
|
10
|
-
export type { ListParams, ListResponse, Environment, BaseModelMethods, } from "./src/types/index";
|
|
10
|
+
export type { ListParams, ListResponse, Environment, BaseModelMethods, SortList, } from "./src/types/index";
|
|
11
|
+
export { SortOrder, } from "./src/types/index";
|