- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段 - 强制每个任务都必须有唯一 id,且由用户负责生成 - 修改合并模式逻辑,merge=true 下保留未提及的旧任务 - 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress) - 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled - 优化状态转换校验,允许特定状态间合法切换 - 简化任务变更消息,移除详细的新增/更新/移除统计 - 更新文档和示例,明确 id 必须由用户生成和使用 - 修复和补充测试,增强状态转换和合并模式验证 - 调整任务时间戳生成逻辑,统一使用当前时间及索引 - 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2.1 KiB
2.1 KiB
base +record-batch-update (batch update)
前置条件: 先阅读
../lark-shared/SKILL.md了解认证、全局参数和安全规则。
批量更新记录(将同一份 patch 批量应用到一批 record_id_list)。
推荐命令
lark-cli base +record-batch-update --base-token <base_token> --table-id <table_id> \
--json '{"record_id_list":["<record_id>"],"patch":{"状态":"完成"}}'
lark-cli base +record-batch-update --base-token <base_token> --table-id <table_id> --json @batch-update.json
参数
| 参数 | 必填 | 说明 |
|---|---|---|
--base-token <token> |
是 | Base Token |
--table-id <id_or_name> |
是 | 表 ID 或表名 |
--json <body> |
是 | 批量更新请求体,必须是 JSON 对象。支持直接传 JSON 字符串,或 @<file_path> 从文件读取 |
API
POST /open-apis/base/v3/bases/:base_token/tables/:table_id/records/batch_update
--json 结构
本节只说明 +record-batch-update 的外层 JSON 形状;CellValue 统一看 lark-base-cell-value.md。
对象形态:{"record_id_list":[...],"patch":{...}}。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
record_id_list |
string[] |
是 | 要更新的记录 ID 列表(单次最多 200 条) |
patch |
Map<FieldNameOrID, CellValue> |
是 | 字段更新对象;key 是字段名或字段 ID,value 是 CellValue;同一份 patch 会应用到 record_id_list 内所有记录 |
返回重点
返回 record_id_list、update,可选返回 ignored_fields;update 可能为空对象。
坑点
- 这是“同值批量更新”:所有
record_id_list都应用同一份patch。 record_id_list最大 200 条,超过会被接口校验拒绝。- 命令不会自动做字段/行映射转换,传什么就发什么。
- 如果
patch包含只读字段,返回里可能出现ignored_fields;这些字段不会被更新。
参考
- lark-base-cell-value.md — CellValue 格式规范