- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段 - 强制每个任务都必须有唯一 id,且由用户负责生成 - 修改合并模式逻辑,merge=true 下保留未提及的旧任务 - 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress) - 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled - 优化状态转换校验,允许特定状态间合法切换 - 简化任务变更消息,移除详细的新增/更新/移除统计 - 更新文档和示例,明确 id 必须由用户生成和使用 - 修复和补充测试,增强状态转换和合并模式验证 - 调整任务时间戳生成逻辑,统一使用当前时间及索引 - 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2.8 KiB
2.8 KiB
base +form-questions-update
前置条件: 先阅读
../lark-shared/SKILL.md了解认证、全局参数和安全规则。
批量更新多维表格表单/问卷中的问题(标题、描述、是否必填)。
命令
# 更新一个问题的标题
lark-cli base +form-questions-update \
--base-token <base_token> \
--table-id <table_id> \
--form-id <form_id> \
--questions '[{"id":"q_001","title":"您的真实姓名是?"}]'
# 同时更新多个问题
lark-cli base +form-questions-update \
--base-token <base_token> \
--table-id <table_id> \
--form-id <form_id> \
--questions '[
{"id":"q_001","title":"姓名(必填)","required":true},
{"id":"q_002","title":"联系方式","required":false}
]'
# 更新问题描述(纯文本)
lark-cli base +form-questions-update \
--base-token <base_token> \
--table-id <table_id> \
--form-id <form_id> \
--questions '[{"id":"q_001","description":"请填写您的真实姓名"}]'
# 更新问题描述(含链接)
lark-cli base +form-questions-update \
--base-token <base_token> \
--table-id <table_id> \
--form-id <form_id> \
--questions '[{"id":"q_001","description":"更多说明请参考[帮助文档](https://example.com/help)"}]'
参数
| 参数 | 必填 | 说明 |
|---|---|---|
--base-token <token> |
是 | Base Token(base_token) |
--table-id <id> |
是 | 数据表 ID |
--form-id <id> |
是 | 表单 ID |
--questions <json> |
是 | 问题更新 JSON 数组,最多 10 个(见下方格式) |
--format |
否 | 输出格式:json(默认)| pretty | table | ndjson | csv |
--as |
否 | 身份:user(默认)| bot |
--dry-run |
否 | 预览 API 调用,不执行 |
--questions 格式
每个问题对象必须包含 id,其余字段按需传入:
| 字段 | 必填 | 说明 |
|---|---|---|
id |
是 | 问题 ID(field_id),不可修改 |
title |
否 | 新的问题标题 |
description |
否 | 新的问题描述(纯文本或 Markdown 链接,如 [文本](https://example.com)) |
required |
否 | 是否必填 |
option_display_mode |
否 | 选项展示方式(仅 select 有效):0=下拉,1=纵向(默认),2=横向 |
输出格式
返回更新后的问题列表:
{
"ok": true,
"data": {
"items": [
{"id": "q_001", "title": "姓名(必填)", "required": true}
]
}
}
工作流
Caution
这是写入操作 — 执行前必须向用户确认。
- 先用
+form-questions-list获取现有问题及其id - 构造包含
id的更新数组 - 执行命令并报告更新结果
参考
- lark-base — 多维表格全部命令
- lark-shared — 认证和全局参数