开发
简介
开发模式使用 luwak-dev-linux,开放接口允许在线修改 luwak_sys.db。
Luwak 在启动时,自动创建 lib/luwak_sys.db 文件,该文件保存了业务脚本源码、数据库表信息。
你可以使用在线的 Web 版本 Toolkit,也可以使用 Toolkit 导出到本地文件,开发测试完成后再导入到 luwak_sys.db。
数据隐私
- Toolkit 不支持云同步功能,所有数据都在你设备上的 luwak_sys.db 中。
- Luwak 接入的配置信息都在你本地的浏览器中。
为 方便调试,可在开发期间配置 Luwak 禁用校验签名、检查时间戳范围。
后端
定义 Entity
初始化
curl -X GET --location "http://localhost:23000/entity/generate" \
-H "X-Api-Key: your_api_key"
首次使用时上述操作会针对所有表自动生成 Entity 定义。
在实际的应用场景中,并不是所有的表都需要定义 Entity,也可能使用了逻辑名字映射真实名字。后继的开发中需要通过 WebUI Toolkit 手工维护。
内置的预定义 API 命名规则是 {$entityName}.{$suffix}
。
定义 API
访问级别包括 Public, Private(必须传 token, Luwak 校验 token 并初始化 session)
- status: draft, online, deprecated, offline 提示未发布、弃用、下线
- enabled: 1, 0 相当于软删除,提示 410
- access_level: public, private 相当于 session check 是否必须传token
- execute_global_script: 1, 0 默认 1 是否执行全局脚本。
更多参考 Luwak API 规范
前端
生成 TypeScript 类型定义
为指定的数据库中全部表生成类型定义
curl -X GET --location "http://localhost:23000/typescript/generate/your_db_name" \
-H "X-Api-Key: your_api_key"
指定表
curl -X GET --location "http://localhost:23000/typescript/generate/your_db_name/your_table_name" \
-H "X-Api-Key: your_api_key"
Refine Data Provider
Refine Data Provider method 和 Luwak API 的对应表
Required Methods
Refine Method | Luwak API | Description |
---|---|---|
getList | select | getList 方法用于获取具有排序、过滤和分页功能的资源列表。它以 resource 、 sorters 、 pagination 和filters 作为参数。并且它返回 data 和total 字段。 |
create | add | create 方法使用resource 和variables 参数创建一条新记录。 |
update | set | update 方法使用resource 、 id 和variables 参数更新一条记录。 |
deleteOne | del | deleteOne 方法使用resource 和id 参数删除一条记录。 |
getOne | get | getOne 方法通过resource 和id 参数获取一条记录。 |
Tips: 根据多列主键获取一条记录可用 getByUK
Optional Methods
Refine Method | Luwak API | Description |
---|---|---|
getMany | getBatch | getMany 方法使用resource 和ids 参数获取多条记录。 |
createMany | addBatch | 在资源中创建多条记录。 |
deleteMany | delBatch | 删除资源中的多条记录。 |
updateMany | setBatch | 更新资源中的多条记录。 |
Tips: 也可以使用 getBatchById 和 setBatchhById
参考 Refine Data Provider