- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段 - 强制每个任务都必须有唯一 id,且由用户负责生成 - 修改合并模式逻辑,merge=true 下保留未提及的旧任务 - 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress) - 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled - 优化状态转换校验,允许特定状态间合法切换 - 简化任务变更消息,移除详细的新增/更新/移除统计 - 更新文档和示例,明确 id 必须由用户生成和使用 - 修复和补充测试,增强状态转换和合并模式验证 - 调整任务时间戳生成逻辑,统一使用当前时间及索引 - 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
119 lines
4.4 KiB
Markdown
119 lines
4.4 KiB
Markdown
# base +form-questions-create
|
||
|
||
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
||
|
||
向多维表格表单/问卷中批量添加问题。
|
||
|
||
## 命令
|
||
|
||
```bash
|
||
# 添加一个文本必填问题
|
||
lark-cli base +form-questions-create \
|
||
--base-token <base_token> \
|
||
--table-id <table_id> \
|
||
--form-id <form_id> \
|
||
--questions '[{"type":"text","title":"您的姓名是?","required":true}]'
|
||
|
||
# 添加多个问题(按顺序排列)
|
||
lark-cli base +form-questions-create \
|
||
--base-token <base_token> \
|
||
--table-id <table_id> \
|
||
--form-id <form_id> \
|
||
--questions '[
|
||
{"type":"text","title":"您的姓名是?","required":true},
|
||
{"type":"text","title":"您的联系方式是?","required":false}
|
||
]'
|
||
|
||
# 添加单选题(带选项)
|
||
lark-cli base +form-questions-create \
|
||
--base-token <base_token> \
|
||
--table-id <table_id> \
|
||
--form-id <form_id> \
|
||
--questions '[{"type":"select","title":"满意度评价","required":true,"multiple":false,"options":[{"name":"非常满意","hue":"Green"},{"name":"满意","hue":"Blue"},{"name":"一般","hue":"Yellow"}]}]'
|
||
|
||
# 添加评分题
|
||
lark-cli base +form-questions-create \
|
||
--base-token <base_token> \
|
||
--table-id <table_id> \
|
||
--form-id <form_id> \
|
||
--questions '[{"type":"number","title":"服务评分","style":{"type":"rating","icon":"star","min":1,"max":5}}]'
|
||
|
||
# 添加带描述的问题(纯文本)
|
||
lark-cli base +form-questions-create \
|
||
--base-token <base_token> \
|
||
--table-id <table_id> \
|
||
--form-id <form_id> \
|
||
--questions '[{"type":"text","title":"您的姓名","description":"请填写真实姓名"}]'
|
||
# 添加带描述的问题(含链接)
|
||
lark-cli base +form-questions-create \
|
||
--base-token <base_token> \
|
||
--table-id <table_id> \
|
||
--form-id <form_id> \
|
||
--questions '[{"type":"text","title":"反馈建议","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` 格式
|
||
|
||
每个问题对象支持以下字段:
|
||
|
||
| 字段 | 必填 | 说明 |
|
||
|-----------------------|------|------|
|
||
| `title` | **是** | 问题标题(字段名) |
|
||
| `type` | **是** | 题目类型:`text`、`number`、`select`、`datetime`、`user`、`attachment`、`location` |
|
||
| `description` | 否 | 问题描述(纯文本或 Markdown 链接,如 `[文本](https://example.com)`) |
|
||
| `required` | 否 | 是否必填(true/false) |
|
||
| `option_display_mode` | 否 | 选项展示方式(仅 `select` 有效):`0`=下拉,`1`=纵向(默认),`2`=横向 |
|
||
| `multiple` | 否 | 是否多选(`select`/`user` 类型有效,bool) |
|
||
| `options` | 否 | 选项列表(仅 `select` 有效):`[{"name":"选项1","hue":"Blue"}]`,hue 可选:`Red`/`Orange`/`Yellow`/`Green`/`Blue`/`Purple`/`Gray` |
|
||
| `style` | 否 | 字段样式配置(见下方说明) |
|
||
|
||
### `style` 字段说明
|
||
|
||
| 类型 | style 结构 | 说明 |
|
||
|------|------|------|
|
||
| `text` | `{"type":"plain"}` | 当前仅支持 `plain` |
|
||
| `number` | `{"type":"plain","precision":2}` | precision 为小数位数 |
|
||
| `number`(评分) | `{"type":"rating","icon":"star","min":1,"max":5}` | icon 可选:`star`/`heart`/`thumbsup`/`fire`/`smile`/`lightning`/`flower`/`number` |
|
||
| `datetime` | `{"format":"yyyy/MM/dd"}` | format 可选:`yyyy/MM/dd`、`yyyy/MM/dd HH:mm`、`MM-dd`、`MM/dd/yyyy`、`dd/MM/yyyy` |
|
||
|
||
## 输出格式
|
||
|
||
返回创建成功的问题列表:
|
||
|
||
```json
|
||
{
|
||
"ok": true,
|
||
"data": {
|
||
"items": [
|
||
{"id": "q_001", "title": "您的姓名是?", "required": true}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
## 工作流
|
||
|
||
> [!CAUTION]
|
||
> 这是**写入操作** — 执行前必须向用户确认。
|
||
|
||
1. 先用 `+form-questions-list` 查看现有问题
|
||
2. 确认要添加的问题内容
|
||
3. 执行命令并报告新建的问题 ID
|
||
|
||
## 参考
|
||
|
||
- [lark-base](../SKILL.md) — 多维表格全部命令
|
||
- [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
|