PicoBot/skills/lark-base/references/lark-base-form-questions-update.md
ooodc a7883dbed9 refactor(todo): 重构待办事项管理逻辑及更新状态规则
- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段
- 强制每个任务都必须有唯一 id,且由用户负责生成
- 修改合并模式逻辑,merge=true 下保留未提及的旧任务
- 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress)
- 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled
- 优化状态转换校验,允许特定状态间合法切换
- 简化任务变更消息,移除详细的新增/更新/移除统计
- 更新文档和示例,明确 id 必须由用户生成和使用
- 修复和补充测试,增强状态转换和合并模式验证
- 调整任务时间戳生成逻辑,统一使用当前时间及索引
- 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2026-06-13 09:22:33 +08:00

2.8 KiB
Raw Blame History

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 Tokenbase_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 问题 IDfield_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

这是写入操作 — 执行前必须向用户确认。

  1. 先用 +form-questions-list 获取现有问题及其 id
  2. 构造包含 id 的更新数组
  3. 执行命令并报告更新结果

参考