@amaster.ai/pi-lark 0.1.2-beta.40 → 0.1.2-beta.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/skills/lark-apps/SKILL.md +15 -3
- package/skills/lark-apps/references/lark-apps-automation.md +164 -0
- package/skills/lark-apps/references/lark-apps-db-execute.md +1 -1
- package/skills/lark-apps/references/lark-apps-db.md +2 -2
- package/skills/lark-apps/references/lark-apps-get.md +43 -0
- package/skills/lark-apps/references/lark-apps-html-publish.md +7 -2
- package/skills/lark-apps/references/lark-apps-init.md +1 -2
- package/skills/lark-apps/references/lark-apps-openapi-key.md +1 -1
- package/skills/lark-apps/references/lark-apps-release-create.md +3 -1
- package/skills/lark-base/SKILL.md +1 -1
- package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +7 -7
- package/skills/lark-calendar/SKILL.md +89 -31
- package/skills/lark-calendar/references/lark-calendar-create.md +8 -39
- package/skills/lark-calendar/references/lark-calendar-room-find.md +5 -9
- package/skills/lark-calendar/references/lark-calendar-rsvp.md +1 -5
- package/skills/lark-calendar/references/lark-calendar-schedule-clear-time.md +59 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-fuzzy-time.md +88 -0
- package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +67 -210
- package/skills/lark-calendar/references/lark-calendar-suggestion.md +1 -5
- package/skills/lark-calendar/references/lark-calendar-update.md +2 -7
- package/skills/lark-doc/SKILL.md +1 -1
- package/skills/lark-doc/references/lark-doc-fetch.md +4 -2
- package/skills/lark-doc/references/lark-doc-mindnote.md +17 -2
- package/skills/lark-doc/references/lark-doc-whiteboard.md +4 -0
- package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +35 -0
- package/skills/lark-doc/references/lark-doc-xml.md +3 -2
- package/skills/lark-drive/SKILL.md +17 -7
- package/skills/lark-drive/references/lark-drive-comment-location.md +16 -4
- package/skills/lark-drive/references/lark-drive-comments-guide.md +16 -8
- package/skills/lark-drive/references/lark-drive-delete.md +12 -0
- package/skills/lark-drive/references/lark-drive-export.md +39 -10
- package/skills/lark-drive/references/lark-drive-files-list.md +27 -2
- package/skills/lark-drive/references/lark-drive-inspect.md +2 -0
- package/skills/lark-drive/references/lark-drive-list-comments.md +125 -0
- package/skills/lark-drive/references/lark-drive-member-add.md +1 -1
- package/skills/lark-drive/references/lark-drive-permission-guide.md +12 -0
- package/skills/lark-drive/references/lark-drive-pull.md +3 -3
- package/skills/lark-drive/references/lark-drive-push.md +33 -6
- package/skills/lark-drive/references/lark-drive-status.md +12 -14
- package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md +26 -20
- package/skills/lark-drive/references/lark-drive-workflow.md +2 -1
- package/skills/lark-im/SKILL.md +5 -4
- package/skills/lark-im/references/lark-im-messages-reply.md +1 -1
- package/skills/lark-im/references/lark-im-messages-send.md +1 -1
- package/skills/lark-mail/SKILL.md +12 -9
- package/skills/lark-mail/references/lark-mail-forward.md +1 -1
- package/skills/lark-mail/references/lark-mail-message-modify.md +48 -0
- package/skills/lark-mail/references/lark-mail-message-trash.md +41 -0
- package/skills/lark-mail/references/lark-mail-reply-all.md +1 -1
- package/skills/lark-mail/references/lark-mail-reply.md +1 -1
- package/skills/lark-mail/references/lark-mail-watch.md +1 -1
- package/skills/lark-markdown/SKILL.md +3 -2
- package/skills/lark-markdown/references/lark-markdown-create.md +22 -2
- package/skills/lark-minutes/SKILL.md +19 -4
- package/skills/lark-minutes/references/lark-minutes-download.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-search.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-speaker-replace.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-summary.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-todo.md +2 -4
- package/skills/lark-minutes/references/lark-minutes-update.md +0 -2
- package/skills/lark-minutes/references/lark-minutes-upload.md +10 -10
- package/skills/lark-shared/SKILL.md +26 -8
- package/skills/lark-sheets/SKILL.md +98 -29
- package/skills/lark-sheets/references/lark-sheets-batch-update.md +18 -9
- package/skills/lark-sheets/references/lark-sheets-changeset.md +105 -0
- package/skills/lark-sheets/references/lark-sheets-chart.md +4 -2
- package/skills/lark-sheets/references/lark-sheets-conditional-format.md +2 -0
- package/skills/lark-sheets/references/lark-sheets-filter-view.md +1 -1
- package/skills/lark-sheets/references/lark-sheets-float-image.md +6 -6
- package/skills/lark-sheets/references/lark-sheets-formula-translation.md +12 -3
- package/skills/lark-sheets/references/lark-sheets-formula-verify.md +77 -0
- package/skills/lark-sheets/references/lark-sheets-history.md +93 -0
- package/skills/lark-sheets/references/lark-sheets-pivot-table.md +7 -2
- package/skills/lark-sheets/references/lark-sheets-range-operations.md +44 -14
- package/skills/lark-sheets/references/lark-sheets-read-data.md +3 -3
- package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +4 -4
- package/skills/lark-sheets/references/lark-sheets-visual-standards.md +4 -4
- package/skills/lark-sheets/references/lark-sheets-workbook.md +29 -4
- package/skills/lark-sheets/references/lark-sheets-write-cells.md +21 -11
- package/skills/lark-slides/SKILL.md +29 -18
- package/skills/lark-slides/references/asset-planning.md +16 -5
- package/skills/lark-slides/references/examples.md +57 -227
- package/skills/lark-slides/references/iconpark.md +2 -2
- package/skills/lark-slides/references/lark-slides-create.md +21 -2
- package/skills/lark-slides/references/lark-slides-media-upload.md +0 -1
- package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +89 -0
- package/skills/lark-slides/references/lark-slides-replace-pages.md +1 -1
- package/skills/lark-slides/references/lark-slides-replace-slide.md +1 -1
- package/skills/lark-slides/references/lark-slides-screenshot.md +11 -8
- package/skills/lark-slides/references/lark-slides-whiteboard.md +31 -30
- package/skills/lark-slides/references/lark-slides-xml-get.md +100 -0
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +9 -7
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +4 -4
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +12 -10
- package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +14 -13
- package/skills/lark-slides/references/planning-layer.md +32 -2
- package/skills/lark-slides/references/slides_chart_demo.xml +1 -0
- package/skills/lark-slides/references/slides_xml_schema_definition.xml +1 -1
- package/skills/lark-slides/references/troubleshooting.md +7 -25
- package/skills/lark-slides/references/validation-checklist.md +18 -9
- package/skills/lark-slides/references/visual-planning.md +4 -3
- package/skills/lark-slides/references/xml-format-guide.md +50 -1
- package/skills/lark-slides/references/xml-schema-quick-ref.md +7 -3
- package/skills/lark-slides/scripts/xml_text_overlap_lint.py +647 -52
- package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +529 -0
- package/skills/lark-task/SKILL.md +1 -0
- package/skills/lark-task/references/lark-task-create.md +14 -1
- package/skills/lark-vc/references/lark-vc-recording.md +0 -2
- package/skills/lark-vc-agent/SKILL.md +24 -14
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +65 -37
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +1 -1
- package/skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md +8 -8
- package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +5 -2
- package/skills/lark-wiki/SKILL.md +4 -2
- package/skills/lark-wiki/references/lark-wiki-node-get.md +1 -1
- package/skills/lark-wiki/references/lark-wiki-node-list.md +9 -2
- package/skills/lark-calendar/references/lark-calendar-agenda.md +0 -78
- package/skills/lark-calendar/references/lark-calendar-freebusy.md +0 -124
- package/skills/lark-calendar/references/lark-calendar-search-event.md +0 -29
- package/skills/lark-sheets/references/lark-sheets-core-operations.md +0 -103
- package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +0 -220
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# PPT Template Rewrite Principles
|
|
2
|
+
|
|
3
|
+
本页只约束“用户指定 PPT 模板、底稿、已有 PPTX/PDF/Slides,并要求基于它二次创作”的场景。核心原则:模板不是风格参考,而是必须沿用的编辑底稿。
|
|
4
|
+
|
|
5
|
+
## Import First
|
|
6
|
+
|
|
7
|
+
用户指定 PPT 模板时,先把模板导入成 Lark Slides。后续写入目标是导入后的 Slides,不是新建一个脱离模板的 deck,也不是先在本地重画 PPTX 再导入。
|
|
8
|
+
|
|
9
|
+
直接使用以下命令,不需要先加载 `lark-drive` skill:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
lark-cli drive +import --as user --file "<template.pptx>" --type slides --json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
可选参数:用 `--name "<title>"` 指定导入后的 Slides 标题;用 `--folder-token <FOLDER_TOKEN>` 指定目标文件夹。若返回 `ready=false` / `timed_out=true`,直接执行返回值里的 `next_command`;等价形式是:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
lark-cli drive +task_result --scenario import --ticket <TICKET>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
导入后必须回读 Slides 内容,理解每页的真实版式、字体、层级、图片、图表、shape、表格和文本容器。回读结果是模板二创的事实来源。
|
|
22
|
+
|
|
23
|
+
## Read Before Editing
|
|
24
|
+
|
|
25
|
+
编辑任何 PPT 页面前,必须先阅读该页面。
|
|
26
|
+
|
|
27
|
+
如果当前上下文中没有该页内容,必须重新读取页面;这里的“当前上下文”不包含 System Prompt。不能只凭记忆、文件名、缩略图印象或模板整体风格判断来编辑具体页面。
|
|
28
|
+
|
|
29
|
+
阅读页面时至少判断:
|
|
30
|
+
|
|
31
|
+
- 该页原本承担的角色,例如封面、章节页、目录、流程、对比、数据、总结。
|
|
32
|
+
- 该页的主要版式结构,例如图文关系、箭头、时间线、节点、表格、图表、左右对照、背景图或产品图。
|
|
33
|
+
- 哪些文本框、shape 标签、表格单元格或图表标签承载内容。
|
|
34
|
+
- 原页面的字体、字号、颜色、对齐、层级和留白关系。
|
|
35
|
+
|
|
36
|
+
## Edit The Imported Slides Directly
|
|
37
|
+
|
|
38
|
+
理解页面后,直接在导入后的 Slides 上编辑。允许的操作包括:
|
|
39
|
+
|
|
40
|
+
- 填写、替换、凝练或删除文字。
|
|
41
|
+
- 替换或补充图片。
|
|
42
|
+
- 更新图表、表格、数字标签或节点标签里的内容。
|
|
43
|
+
- 按需复制、删除或重排模板页。
|
|
44
|
+
- 在源页面没有合适承载位置时,做局部、小范围新增元素。
|
|
45
|
+
|
|
46
|
+
新增元素只能补足内容缺口,不能成为新的主版式。页面主体仍应由模板原有版式承载。
|
|
47
|
+
|
|
48
|
+
## Preserve Design
|
|
49
|
+
|
|
50
|
+
模板二创必须严格沿用原版式和字体,只改内容,不做设计。
|
|
51
|
+
|
|
52
|
+
默认保留:
|
|
53
|
+
|
|
54
|
+
- 页面布局、视觉层级、留白和对齐关系。
|
|
55
|
+
- 原字体、字号体系、颜色、文本框位置和 shape 顺序。
|
|
56
|
+
- 背景图、图片、logo、图表、表格、装饰形状、线条、图标和页面结构。
|
|
57
|
+
- 模板中不同页型之间的差异。
|
|
58
|
+
|
|
59
|
+
不要把模板页改造成统一的通用卡片、白板、标题栏、三栏、2x2 卡片或大面积遮罩。不要把模板当作背景图后另起一套设计系统。
|
|
60
|
+
|
|
61
|
+
## Content Only
|
|
62
|
+
|
|
63
|
+
内容必须优先进入原页面已有的文本框、shape 标签、节点、表格单元格、图表标签或注释容器。
|
|
64
|
+
|
|
65
|
+
如果原容器空间不足,优先:
|
|
66
|
+
|
|
67
|
+
- 凝练文字。
|
|
68
|
+
- 降低字号但保持原字体体系。
|
|
69
|
+
- 拆分到页面已有的邻近容器。
|
|
70
|
+
- 使用模板已有的注释、标签或补充说明区域。
|
|
71
|
+
- 复制同页或同模板中的原生容器样式做局部补充。
|
|
72
|
+
|
|
73
|
+
不要为了容纳长文案而重画页面主体结构。不要用新增大卡片遮住原图表、箭头、图片、背景或关键 shape。
|
|
74
|
+
|
|
75
|
+
## Readback And Tune
|
|
76
|
+
|
|
77
|
+
完成编辑后必须回读结果,并逐页微调。
|
|
78
|
+
|
|
79
|
+
回读时重点检查:
|
|
80
|
+
|
|
81
|
+
- 文字是否溢出、截断、压线或超出容器。
|
|
82
|
+
- 文本是否遮挡图片、图表、shape、箭头、节点或其他文字。
|
|
83
|
+
- shape 顺序是否导致内容被覆盖或遮住。
|
|
84
|
+
- 新内容是否仍然落在模板原有版式中,而不是覆盖模板结构。
|
|
85
|
+
- 字体、字号、颜色、对齐和层级是否仍贴近原页。
|
|
86
|
+
|
|
87
|
+
发现文字溢出时,优先凝练文字或缩减字号。发现遮挡时,调整 shape 顺序、局部位置或复用原有空白区域解决。只有在这些方法都不能满足内容表达时,才做局部新增或删除。
|
|
88
|
+
|
|
89
|
+
模板二创的完成标准不是“生成了一套看起来统一的新 PPT”,而是“原模板的版式、字体和视觉结构仍清晰存在,内容已经被准确替换,并且回读后没有溢出和遮挡”。
|
|
@@ -89,7 +89,7 @@ lark-cli slides +replace-pages --as user \
|
|
|
89
89
|
|
|
90
90
|
## 使用建议
|
|
91
91
|
|
|
92
|
-
1. 大幅改写前先 `
|
|
92
|
+
1. 大幅改写前先 `slides +xml-get` 保存当前 XML,并记录要替换页面的 `slide_id`。
|
|
93
93
|
2. 生成只含 `slide_id` 的 `pages.json` 后先跑 `--dry-run` 或 `--validate-only`。
|
|
94
94
|
3. 默认不要开 `--continue-on-error`,除非能接受部分页面已替换。
|
|
95
95
|
4. 替换后再回读全文 XML 并截图检查,确认页序、视觉和文本没有破损。
|
|
@@ -47,7 +47,7 @@ lark-cli slides +replace-slide --as user \
|
|
|
47
47
|
| 参数 | 必填 | 说明 |
|
|
48
48
|
|------|------|------|
|
|
49
49
|
| `--presentation` | 是 | `xml_presentation_id`、`/slides/<token>` URL,或 `/wiki/<token>` URL |
|
|
50
|
-
| `--slide-id` | 是 | 页面 ID(`xml_presentation.slide.get` / `
|
|
50
|
+
| `--slide-id` | 是 | 页面 ID(`xml_presentation.slide.get` / `slides +xml-get` 都能拿到) |
|
|
51
51
|
| `--parts` | 是 | JSON 数组(`[{...}, ...]`),单次最多 200 条。支持 `@<file>` 和 `-`(stdin)读取 |
|
|
52
52
|
| `--revision-id` | 否 | 基础版本号;默认 `-1` 表示基于最新版执行;传具体版本号时,服务端以该版本为 base 执行;**传不存在的版本号(超过当前 revision)返回 3350002** |
|
|
53
53
|
| `--tid` | 否 | 并发事务 ID;多人协作长事务才用,单次单人调用留空 |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
获取幻灯片页面截图并保存为本地图片文件。默认用于已存在 PPT 页面截图;传入 `--content` 时用于直接渲染单个 `<slide>` XML 片段预览。本 shortcut 会在 CLI 进程内解码并写入文件,stdout 只返回文件路径、大小、页面 ID 等元信息,避免把图片 Base64 输出给模型。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
注意:该截图能力受应用白名单限制,绝大多数应用不可用。若截图失败,记录错误即可;不要引导用户申请 `slides:presentation:screenshot` 权限。后续按 `validation-checklist.md` 走非截图验证,不要声称已完成截图验收。
|
|
8
8
|
|
|
9
9
|
## 命令
|
|
10
10
|
|
|
@@ -26,8 +26,8 @@ lark-cli slides +screenshot --as user \
|
|
|
26
26
|
| 参数 | 必需 | 说明 |
|
|
27
27
|
|------|------|------|
|
|
28
28
|
| `--presentation` | list 模式必需 | `xml_presentation_id`、`/slides/` URL,或解析后为 slides 的 `/wiki/` URL。传 `--content` 时不能使用 |
|
|
29
|
-
| `--slide-id` | list 模式至少提供 `--slide-id` / `--slide-number` 之一 | 页面 short ID
|
|
30
|
-
| `--slide-number` | list 模式至少提供 `--slide-id` / `--slide-number` 之一 |
|
|
29
|
+
| `--slide-id` | list 模式至少提供 `--slide-id` / `--slide-number` 之一 | 页面 short ID;多页截图时重复传入;一次最多 10 页(`--slide-id` + `--slide-number` 合计小于等于 10) |
|
|
30
|
+
| `--slide-number` | list 模式至少提供 `--slide-id` / `--slide-number` 之一 | 页面页号;多页截图时重复传入;一次最多 10 页(`--slide-id` + `--slide-number` 合计小于等于 10) |
|
|
31
31
|
| `--content` | render 模式必需 | 要直接渲染的 `<slide>` XML 片段;支持直接传值、`@file`、`-` stdin。传入后不能同时传 `--slide-id` / `--slide-number` |
|
|
32
32
|
| `--output-dir` | 否 | 输出目录,默认 `.lark-slides/screenshots`;必须是当前目录内的相对路径 |
|
|
33
33
|
| `--output-name` | 否 | render 模式的输出文件名 stem;未指定时优先用返回的 `slide_id`,否则用 `rendered-slide`。若目标文件已存在,会自动追加递增后缀避免覆盖 |
|
|
@@ -44,6 +44,8 @@ lark-cli slides +screenshot --as user \
|
|
|
44
44
|
|
|
45
45
|
### 多页截图
|
|
46
46
|
|
|
47
|
+
一次不要超过 10 页;如需更多页面,分批调用。
|
|
48
|
+
|
|
47
49
|
```bash
|
|
48
50
|
lark-cli slides +screenshot --as user \
|
|
49
51
|
--presentation slides_example_presentation_id \
|
|
@@ -66,7 +68,8 @@ lark-cli slides +screenshot --as user \
|
|
|
66
68
|
|
|
67
69
|
```json
|
|
68
70
|
{
|
|
69
|
-
"
|
|
71
|
+
"ok": true,
|
|
72
|
+
"identity": "user",
|
|
70
73
|
"data": {
|
|
71
74
|
"xml_presentation_id": "slides_example_presentation_id",
|
|
72
75
|
"output_dir": ".lark-slides/screenshots",
|
|
@@ -79,8 +82,7 @@ lark-cli slides +screenshot --as user \
|
|
|
79
82
|
"size": 12345
|
|
80
83
|
}
|
|
81
84
|
]
|
|
82
|
-
}
|
|
83
|
-
"msg": "success"
|
|
85
|
+
}
|
|
84
86
|
}
|
|
85
87
|
```
|
|
86
88
|
|
|
@@ -90,5 +92,6 @@ lark-cli slides +screenshot --as user \
|
|
|
90
92
|
2. 已存在 PPT 页面截图时,不传 `--content`,用 `--presentation` + `--slide-id` 或 `--slide-number`。
|
|
91
93
|
3. 本地 XML 预览时,传 `--content @file` 或 `--content -`,内容应为单个 `<slide>` XML 片段;此时不要传 `--presentation` / `--slide-id` / `--slide-number`。
|
|
92
94
|
4. `slide_id` 是页面 short ID,页码请用 `--slide-number`。
|
|
93
|
-
5. list
|
|
94
|
-
6.
|
|
95
|
+
5. list 模式一次最多传 10 页(`--slide-id` + `--slide-number` 合计小于等于 10);更多页面请分批截图。
|
|
96
|
+
6. list 模式默认文件名包含 presentation ID、页码和/或 slide ID;文件已存在时自动追加 `_2`、`_3` 等后缀,避免覆盖旧截图。
|
|
97
|
+
7. 截图来自服务端渲染结果,适合创建/替换后验证页面是否为空白、破图或布局明显异常。
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
`<whiteboard>` 放在 `<data>` 内,内部可放 **SVG** 或 **Mermaid**,用于绘制流程图、时序图、架构图、散点图、漏斗图、自定义图标、装饰图案等 `<chart>` 和 `<shape>` 难以覆盖的视觉内容。
|
|
4
4
|
|
|
5
|
+
普通柱状图、条形图、折线图、面积图、雷达图、饼图 / 环图和组合图应优先使用原生 `<chart>`。除非用户明确要求像素级自定义,或图表类型确实不受 `<chart>` 支持,否则不要用 `<whiteboard>` + SVG / Mermaid 重画这些标准图表。
|
|
6
|
+
|
|
5
7
|
> 前置条件:使用本文档前先阅读 [lark-slides SKILL.md](../SKILL.md)。
|
|
6
8
|
|
|
7
9
|
---
|
|
@@ -12,13 +14,13 @@
|
|
|
12
14
|
|
|
13
15
|
| 场景 | 推荐元素 |
|
|
14
16
|
|------|---------|
|
|
15
|
-
|
|
|
16
|
-
| 散点图、漏斗图(`<chart>`
|
|
17
|
+
| 有结构化数据序列的柱/条/折线/面积/雷达/饼/环/组合图 | `<chart>` — 原生渲染,支持 legend / tooltip / 系列配色 |
|
|
18
|
+
| 散点图、漏斗图(`<chart>` 不支持)或其他非原生数据视觉 | `<whiteboard>` SVG |
|
|
17
19
|
| 流程图、时序图、架构图、类图、ER 图等拓扑图 | `<whiteboard>` Mermaid 或 SVG |
|
|
18
20
|
| 自定义图标、徽标、示意性图形(需要 path/polygon 精确控制) | `<whiteboard>` SVG |
|
|
19
21
|
| 进度条、波浪背景、装饰图案、像素级自定义可视化 | `<whiteboard>` SVG |
|
|
20
22
|
|
|
21
|
-
> 适合 `<chart>` 的内容就用 `<chart>`,不要用 SVG
|
|
23
|
+
> 适合 `<chart>` 的内容就用 `<chart>`,不要用 SVG / Mermaid 手绘——原生渲染更省力、结构更稳定,也更容易被回读和后续编辑。
|
|
22
24
|
|
|
23
25
|
---
|
|
24
26
|
|
|
@@ -39,9 +41,13 @@ SVG 内的坐标相对于 whiteboard 自身左上角(0,0),与 slide 坐标
|
|
|
39
41
|
|
|
40
42
|
## SVG 还是 Mermaid?
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
选择分三步:**先排除原生 `<chart>`,再判断 whiteboard 类型,最后看当前模型身份**。
|
|
45
|
+
|
|
46
|
+
### 第一步:先确认是否应该使用 `<chart>`
|
|
43
47
|
|
|
44
|
-
|
|
48
|
+
如果内容是柱状图、条形图、折线图、面积图、雷达图、饼图 / 环图或组合图,返回使用原生 `<chart>`,不要继续套用本文档的 SVG / Mermaid 路径。
|
|
49
|
+
|
|
50
|
+
### 第二步:whiteboard 类型优先判断
|
|
45
51
|
|
|
46
52
|
以下类型**推荐 Mermaid**,自动布局、代码简洁;如需精确匹配品牌配色或自定义节点样式,可改用 SVG:
|
|
47
53
|
|
|
@@ -50,20 +56,19 @@ SVG 内的坐标相对于 whiteboard 自身左上角(0,0),与 slide 坐标
|
|
|
50
56
|
| 流程图、决策树、架构图 | `flowchart TD` / `flowchart LR` |
|
|
51
57
|
| 时序图 | `sequenceDiagram` |
|
|
52
58
|
| 类图 | `classDiagram` |
|
|
53
|
-
| 饼图 | `pie` |
|
|
54
59
|
| 甘特图 | `gantt` |
|
|
55
60
|
| 状态图 | `stateDiagram-v2` |
|
|
56
61
|
| 思维导图 | `mindmap` |
|
|
57
62
|
| ER 图 | `erDiagram` |
|
|
58
63
|
|
|
59
|
-
###
|
|
64
|
+
### 第三步:非原生图表与装饰元素按模型身份选路径
|
|
60
65
|
|
|
61
66
|
上表以外的场景(散点图、漏斗图、进度条、时间线、波浪背景、星点纹理等)需要精确控制坐标和配色,SVG 表达力更强,但各模型生成 SVG 的能力有差异:
|
|
62
67
|
|
|
63
68
|
| 模型身份 | 路径 |
|
|
64
69
|
|----------|------|
|
|
65
70
|
| Claude / Gemini / GPT / GLM | **SVG** — 精确控制坐标、颜色、透明度 |
|
|
66
|
-
| Doubao / Seed / Other | **Mermaid** — 用 `
|
|
71
|
+
| Doubao / Seed / Other | **Mermaid** — 用 `gantt`、`flowchart` 等近似表达;确实无法用 Mermaid 表达时才回退到简单 SVG 矩形/线条 |
|
|
67
72
|
|
|
68
73
|
> **先自报身份再选路径**:在决定使用 SVG 之前,确认当前模型属于哪一类。不要跳过这一步。
|
|
69
74
|
|
|
@@ -73,13 +78,13 @@ SVG 内的坐标相对于 whiteboard 自身左上角(0,0),与 slide 坐标
|
|
|
73
78
|
|
|
74
79
|
### ⚠️ 设计品质要求
|
|
75
80
|
|
|
76
|
-
在 slide 里嵌入 `<whiteboard>`
|
|
81
|
+
在 slide 里嵌入 `<whiteboard>` 的目的是**表达原生 `<chart>` 或基础 `<shape>` 难以覆盖的视觉关系**,不是把标准数据图表手绘一遍。
|
|
77
82
|
|
|
78
83
|
- **不要只用矩形加文字应付**:通篇纯白底色 + 方块 + 黑字等于白做,这是不及格输出
|
|
79
|
-
-
|
|
84
|
+
- **非原生数据视觉必须有坐标系**:散点、漏斗等仍要有必要的坐标轴、刻度、数值标注或分段说明,不要只画点或色块
|
|
80
85
|
- **字号必须有层级**:标题 ≠ 标签 ≠ 数值,混用同一字号会消灭视觉焦点
|
|
81
86
|
- **配色要与 slide 主题呼应**:深色 slide 背景下图表用透明底或深色卡片;浅色背景下避免再加纯白底块
|
|
82
|
-
- **每个 whiteboard
|
|
87
|
+
- **每个 whiteboard 都是设计机会**:主动用圆角、半透明填充、清晰分组、节点状态等细节拉开与默认模板的差距
|
|
83
88
|
- **写 SVG 前先判断背景亮度**:背景亮度 < 30% 时,装饰元素"对比不足"比"过强"危害更大,宁重勿轻;
|
|
84
89
|
- **装饰层次用亮度跳跃,不用线性叠透明度**:`α=0.04→0.08→0.12` 的等差递增在深色底上几乎看不出差异(相邻层亮度差 ≈20);正确做法是非线性跳跃如 `0.10→0.40→0.70→1.0`,相邻层亮度差 ≥60。
|
|
85
90
|
|
|
@@ -106,11 +111,11 @@ whiteboard 渲染时以**所有子元素的几何包围盒合并结果**为内
|
|
|
106
111
|
|
|
107
112
|
| 元素 | 说明 | 典型用途 |
|
|
108
113
|
|------|------|---------|
|
|
109
|
-
| `<rect>` | 矩形,支持 `rx` 圆角 |
|
|
114
|
+
| `<rect>` | 矩形,支持 `rx` 圆角 | 卡片、进度条、分段色块 |
|
|
110
115
|
| `<circle>` | 圆 | 节点、装饰点、环形图 |
|
|
111
116
|
| `<ellipse>` | 椭圆 | 自定义轮廓图形 |
|
|
112
|
-
| `<line>` | 直线 |
|
|
113
|
-
| `<path>` | 任意路径(支持 Q/C 曲线) |
|
|
117
|
+
| `<line>` | 直线 | 轴线、分隔线、连接线 |
|
|
118
|
+
| `<path>` | 任意路径(支持 Q/C 曲线) | 波浪、曲线、弧形 |
|
|
114
119
|
| `<text>` | 文本,支持中文 | 标签、数值 |
|
|
115
120
|
| `<polygon>` | 多边形 | 箭头、星形、面积填充 |
|
|
116
121
|
| `<g>` | 分组 | 批量变换、语义分组 |
|
|
@@ -123,27 +128,25 @@ whiteboard 渲染时以**所有子元素的几何包围盒合并结果**为内
|
|
|
123
128
|
---
|
|
124
129
|
### 元素计算
|
|
125
130
|
|
|
126
|
-
SVG 中只要涉及批量定位、等间距排布或数据映射,**建议额外运行一个 Python 脚本把坐标算出来再填入 SVG
|
|
131
|
+
SVG 中只要涉及批量定位、等间距排布或数据映射,**建议额外运行一个 Python 脚本把坐标算出来再填入 SVG**,而不是手动估值。适用范围包括散点、漏斗、装饰性点阵、等间距圆、重复图案等;普通柱状图、折线图、饼图仍应回到原生 `<chart>`。
|
|
127
132
|
|
|
128
133
|
> **主动去算**:写 SVG 之前先运行脚本,把输出当注释贴在 `<svg>` 开头,再照着填坐标。估值几乎每次都需要反复调整,跳过这步反而更慢。
|
|
129
134
|
|
|
130
|
-
|
|
135
|
+
**散点图 / 装饰性点阵范式**
|
|
131
136
|
|
|
132
137
|
```python
|
|
133
138
|
W, H = 360, 260
|
|
134
139
|
origin_x, origin_y = 50, 216 # 左下角,SVG Y 轴向下
|
|
135
140
|
cw, ch = 290, 184
|
|
136
141
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
for i,
|
|
140
|
-
|
|
141
|
-
y
|
|
142
|
-
print(f"
|
|
142
|
+
points = [(12, 40), (28, 80), (45, 65)]
|
|
143
|
+
x_min, x_max, y_min, y_max = 0, 50, 0, 100
|
|
144
|
+
for i, (xv, yv) in enumerate(points):
|
|
145
|
+
x = round(origin_x + (xv - x_min) / (x_max - x_min) * cw)
|
|
146
|
+
y = round(origin_y - (yv - y_min) / (y_max - y_min) * ch)
|
|
147
|
+
print(f"point-{i}: cx={x} cy={y}")
|
|
143
148
|
```
|
|
144
149
|
|
|
145
|
-
折线图:`x = origin_x + i/(n-1)*cw`,`y = origin_y - (v-y_min)/(y_max-y_min)*ch`。
|
|
146
|
-
|
|
147
150
|
**装饰性元素(等间距范式)**
|
|
148
151
|
|
|
149
152
|
```python
|
|
@@ -160,9 +163,9 @@ for i in range(n):
|
|
|
160
163
|
```python
|
|
161
164
|
# 每个元素登记 (x, y, w, h),含 stroke 外扩
|
|
162
165
|
elements = [
|
|
163
|
-
(10, 20, 80, 160), #
|
|
164
|
-
(107, 10, 80, 170), #
|
|
165
|
-
(204, 40, 80, 140), #
|
|
166
|
+
(10, 20, 80, 160), # item-0
|
|
167
|
+
(107, 10, 80, 170), # item-1
|
|
168
|
+
(204, 40, 80, 140), # item-2
|
|
166
169
|
(0, 0, 300, 1), # x-axis
|
|
167
170
|
]
|
|
168
171
|
|
|
@@ -261,7 +264,6 @@ print(f"whiteboard width={wb_w} height={wb_h}")
|
|
|
261
264
|
| 流程图 | `flowchart TD` / `flowchart LR` | 业务流程、决策树、工作流 |
|
|
262
265
|
| 时序图 | `sequenceDiagram` | 系统交互、API 调用链 |
|
|
263
266
|
| 甘特图 | `gantt` | 项目计划、里程碑 |
|
|
264
|
-
| 饼图 | `pie` | 占比数据 |
|
|
265
267
|
| 类图 | `classDiagram` | 对象关系、架构设计 |
|
|
266
268
|
| ER 图 | `erDiagram` | 数据库结构 |
|
|
267
269
|
| 状态图 | `stateDiagram-v2` | 状态机、生命周期 |
|
|
@@ -279,7 +281,6 @@ Mermaid 图表会自动撑满 whiteboard 区域。建议:
|
|
|
279
281
|
|---------|-----------|------------|
|
|
280
282
|
| 流程图(5-8 节点) | 720-816 | 300-400 |
|
|
281
283
|
| 时序图(3-5 参与者) | 720-816 | 320-420 |
|
|
282
|
-
| 饼图 | 500-600 | 300-360 |
|
|
283
284
|
| 甘特图 | 816 | 280-360 |
|
|
284
285
|
| 思维导图 | 816 | 380-480 |
|
|
285
286
|
|
|
@@ -307,7 +308,7 @@ Mermaid 语法包含 `[`、`>`、`-->`,不用 CDATA 直接写会破坏 XML 解
|
|
|
307
308
|
- [ ] 文字 `y` 坐标为 baseline 位置,最小值 ≥ font-size(避免被裁切)
|
|
308
309
|
|
|
309
310
|
**SVG 模式——视觉品质检查:**
|
|
310
|
-
- [ ]
|
|
311
|
+
- [ ] 非原生数据视觉有必要的坐标轴、网格线、数值标注或分段说明,没有"裸点"或无解释色块
|
|
311
312
|
- [ ] 字号有层级:标题 > 数值 > 轴标签,非全部相同
|
|
312
313
|
- [ ] 单一数据系列用同一颜色,多系列用不同颜色且对比充足
|
|
313
314
|
- [ ] 轴标签与图表元素互不遮挡,留有足够空间
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# slides +xml-get(读取 XML)
|
|
2
|
+
|
|
3
|
+
读取已有演示文稿的完整 XML,或按 `slide_id` / 页码读取单页 XML。适合创建后验收、编辑前备份、获取 `slide_id` / `revision_id`,以及排查空白页、破图、文本溢出等问题。相比直接调用底层 `xml_presentations.get` / `xml_presentation.slide.get`,本 shortcut 会自动解析 Slides URL / Wiki URL,并可把 XML 保存到本地文件,避免终端输出被截断。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
lark-cli slides +xml-get \
|
|
10
|
+
--as user \
|
|
11
|
+
--presentation <slides_url_or_xml_presentation_id> \
|
|
12
|
+
--output .lark-slides/plan/<deck-id>/readback.xml
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 参数
|
|
16
|
+
|
|
17
|
+
| 参数 | 必需 | 说明 |
|
|
18
|
+
|------|------|------|
|
|
19
|
+
| `--presentation` | 是 | `xml_presentation_id`、`/slides/` URL 或 `/wiki/` URL |
|
|
20
|
+
| `--output` | 否 | 本地 XML 保存路径,必须是当前工作目录内的相对路径,不能传绝对路径。传入时 XML 内容保存到文件,stdout 只返回保存后的绝对路径、大小等简短元信息;省略时默认返回 JSON envelope |
|
|
21
|
+
| `--slide-id` | 否 | 页面 short ID;传入后只读取该页 XML。不能和 `--slide-number` 同时使用 |
|
|
22
|
+
| `--slide-number` | 否 | 1-based 页码;传入后只读取该页 XML。不能和 `--slide-id` 同时使用 |
|
|
23
|
+
| `--revision-id` | 否 | 读取指定版本;默认 `-1`,表示最新版本 |
|
|
24
|
+
| `--remove-attr-id` | 否 | 仅全文读取可用。移除返回 XML 中的 `id` 属性;适合只读检查,不适合精确块级编辑 |
|
|
25
|
+
| `--raw` | 否 | 省略 `--output` 时直接把 XML 原文写到 stdout,不包 JSON envelope。不能和 `--output` / `--jq` / 非 json `--format` 同时使用 |
|
|
26
|
+
| `--dry-run` | 否 | 预览将调用的 API 和输出方式,不读取真实 XML |
|
|
27
|
+
|
|
28
|
+
## 输出到文件
|
|
29
|
+
|
|
30
|
+
推荐普通工作流都传 `--output`,尤其是中大型 PPT。`--output` 必须是当前工作目录内的相对路径,例如 `.lark-slides/plan/$PID/readback.xml`,不要传 `/tmp/readback.xml` 这类绝对路径。XML 会写入本地文件,stdout 只保留元信息,便于后续脚本读取。
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
lark-cli slides +xml-get --as user \
|
|
34
|
+
--presentation "$PID" \
|
|
35
|
+
--output .lark-slides/plan/$PID/readback.xml
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
成功输出中的 `data` 类似:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"xml_presentation_id": "slides_example_presentation_id",
|
|
43
|
+
"path": "/abs/path/.lark-slides/plan/slides_example_presentation_id/readback.xml",
|
|
44
|
+
"size": 123456,
|
|
45
|
+
"content_saved": true,
|
|
46
|
+
"revision_id": 12
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
其中 `path` 是 CLI 解析后的绝对路径。
|
|
51
|
+
|
|
52
|
+
如果传入 `--remove-attr-id`,返回元信息中会包含 `"remove_attr_id": true`。
|
|
53
|
+
|
|
54
|
+
## 读取单页
|
|
55
|
+
|
|
56
|
+
已知页面 short ID 时,用 `--slide-id`:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
lark-cli slides +xml-get --as user \
|
|
60
|
+
--presentation "$PID" \
|
|
61
|
+
--slide-id "$SID" \
|
|
62
|
+
--output .lark-slides/plan/$PID/slide-$SID.xml
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
已知页码时,用 `--slide-number`(页码从 1 开始):
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
lark-cli slides +xml-get --as user \
|
|
69
|
+
--presentation "$PID" \
|
|
70
|
+
--slide-number 2 \
|
|
71
|
+
--output .lark-slides/plan/$PID/slide-2.xml
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
单页模式底层调用 `xml_presentation.slide.get`,返回或保存的是单个 `<slide>` XML 片段。`--slide-id` 和 `--slide-number` 不能同时传;`--remove-attr-id` 只支持全文读取。
|
|
75
|
+
|
|
76
|
+
## 输出到终端
|
|
77
|
+
|
|
78
|
+
省略 `--output` 时,CLI 默认输出 JSON envelope,XML 位于 `data.xml_presentation.content`(全文)或 `data.slide.content`(单页)。这个模式适合配合 `--jq` 临时提取:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
lark-cli slides +xml-get --as user \
|
|
82
|
+
--presentation "$PID" \
|
|
83
|
+
--jq '.data.xml_presentation.content'
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
需要把 XML 原文直接写到 stdout 时,加 `--raw`:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
lark-cli slides +xml-get --as user \
|
|
90
|
+
--presentation "$PID" \
|
|
91
|
+
--slide-number 2 \
|
|
92
|
+
--raw
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 相关命令
|
|
96
|
+
|
|
97
|
+
- [slides +screenshot](lark-slides-screenshot.md) - 获取页面截图做视觉验证
|
|
98
|
+
- [slides +replace-slide](lark-slides-replace-slide.md) - 局部替换或插入页面元素
|
|
99
|
+
- [slides +replace-pages](lark-slides-replace-pages.md) - 多页整页重建
|
|
100
|
+
- [xml_presentations get](lark-slides-xml-presentations-get.md) - 底层原生 API 参考
|
|
@@ -49,7 +49,10 @@ lark-cli slides xml_presentation.slide delete --as user --params '{
|
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
51
|
# 先读取 XML 内容,确认待删除页面
|
|
52
|
-
lark-cli slides
|
|
52
|
+
lark-cli slides +xml-get --as user \
|
|
53
|
+
--presentation "slides_example_presentation_id" \
|
|
54
|
+
--output .lark-slides/plan/slides_example_presentation_id/readback.xml \
|
|
55
|
+
--json
|
|
53
56
|
|
|
54
57
|
# 然后按已知 slide_id 删除
|
|
55
58
|
lark-cli slides xml_presentation.slide delete --as user --params '{"xml_presentation_id":"slides_example_presentation_id","slide_id":"slide_example_id"}'
|
|
@@ -61,11 +64,11 @@ lark-cli slides xml_presentation.slide delete --as user --params '{"xml_presenta
|
|
|
61
64
|
|
|
62
65
|
```json
|
|
63
66
|
{
|
|
64
|
-
"
|
|
67
|
+
"ok": true,
|
|
68
|
+
"identity": "user",
|
|
65
69
|
"data": {
|
|
66
70
|
"revision_id": 100
|
|
67
|
-
}
|
|
68
|
-
"msg": "success"
|
|
71
|
+
}
|
|
69
72
|
}
|
|
70
73
|
```
|
|
71
74
|
|
|
@@ -118,6 +121,5 @@ done
|
|
|
118
121
|
|
|
119
122
|
## 相关命令
|
|
120
123
|
|
|
121
|
-
- [slides +create](lark-slides-create.md) -
|
|
122
|
-
- [
|
|
123
|
-
- [xml_presentation.slide create](lark-slides-xml-presentation-slide-create.md) - 添加幻灯片页面
|
|
124
|
+
- [slides +create](lark-slides-create.md) - 创建 PPT / 添加幻灯片页面
|
|
125
|
+
- [slides +xml-get](lark-slides-xml-get.md) - 读取 PPT 内容并保存到本地文件
|
|
@@ -65,15 +65,15 @@ lark-cli slides xml_presentation.slide get --as user --params '{
|
|
|
65
65
|
|
|
66
66
|
```json
|
|
67
67
|
{
|
|
68
|
-
"
|
|
68
|
+
"ok": true,
|
|
69
|
+
"identity": "user",
|
|
69
70
|
"data": {
|
|
70
71
|
"slide": {
|
|
71
72
|
"slide_id": "slide_example_id",
|
|
72
73
|
"content": "<slide id=\"slide_example_id\"><style/><data>...</data></slide>"
|
|
73
74
|
},
|
|
74
75
|
"revision_id": 100
|
|
75
|
-
}
|
|
76
|
-
"msg": "success"
|
|
76
|
+
}
|
|
77
77
|
}
|
|
78
78
|
```
|
|
79
79
|
|
|
@@ -106,5 +106,5 @@ lark-cli slides xml_presentation.slide get --as user --params '{
|
|
|
106
106
|
|
|
107
107
|
- [slides +replace-slide](lark-slides-replace-slide.md) — 块级替换 shortcut(推荐)
|
|
108
108
|
- [xml_presentation.slide replace](lark-slides-xml-presentation-slide-replace.md) — 底层 replace API 参考
|
|
109
|
-
- [
|
|
109
|
+
- [slides +xml-get](lark-slides-xml-get.md) — 读整个 PPT 并保存到本地文件
|
|
110
110
|
- [lark-slides-edit-workflows.md](lark-slides-edit-workflows.md) — 读-改-写闭环
|
|
@@ -130,24 +130,28 @@ lark-cli slides xml_presentation.slide replace --as user --params '{
|
|
|
130
130
|
|
|
131
131
|
```json
|
|
132
132
|
{
|
|
133
|
-
"
|
|
133
|
+
"ok": true,
|
|
134
|
+
"identity": "user",
|
|
134
135
|
"data": {
|
|
135
136
|
"revision_id": 105
|
|
136
|
-
}
|
|
137
|
-
"msg": "success"
|
|
137
|
+
}
|
|
138
138
|
}
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
### 失败(任一 part 失败,整批不生效)
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
失败时命令以非零退出码结束,stderr 返回类型化错误信封(`error.code`(如 3350001)/ `error.message` / `error.hint`),stdout 不会打印后端原始响应:
|
|
144
144
|
|
|
145
145
|
```json
|
|
146
146
|
{
|
|
147
|
-
"
|
|
148
|
-
"
|
|
149
|
-
|
|
150
|
-
"
|
|
147
|
+
"ok": false,
|
|
148
|
+
"identity": "user",
|
|
149
|
+
"error": {
|
|
150
|
+
"type": "api",
|
|
151
|
+
"subtype": "...",
|
|
152
|
+
"code": 3350001,
|
|
153
|
+
"message": "...",
|
|
154
|
+
"hint": "..."
|
|
151
155
|
}
|
|
152
156
|
}
|
|
153
157
|
```
|
|
@@ -155,8 +159,6 @@ lark-cli slides xml_presentation.slide replace --as user --params '{
|
|
|
155
159
|
| 字段 | 类型 | 说明 |
|
|
156
160
|
|------|------|------|
|
|
157
161
|
| `data.revision_id` | integer | 成功时返回更新后最新版本号 |
|
|
158
|
-
| `data.failed_part_index` | integer | 失败的 part 在 `parts` 数组中的索引(从 0 起) |
|
|
159
|
-
| `data.failed_reason` | string | 失败原因 |
|
|
160
162
|
|
|
161
163
|
## 常见错误
|
|
162
164
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
读取飞书幻灯片(PPT)演示文稿的完整 XML 内容信息。
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 底层原生命令形态
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
lark-cli slides xml_presentations get --as user --params '<json_params>'
|
|
@@ -35,19 +35,22 @@ lark-cli slides xml_presentations get --as user --params '<json_params>'
|
|
|
35
35
|
### 基础示例
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
lark-cli slides xml_presentations get --as user
|
|
38
|
+
lark-cli slides xml_presentations get --as user \
|
|
39
|
+
--params '{"xml_presentation_id":"slides_example_presentation_id","revision_id":-1}'
|
|
39
40
|
```
|
|
40
41
|
|
|
41
|
-
###
|
|
42
|
+
### 指定版本读取
|
|
42
43
|
|
|
43
44
|
```bash
|
|
44
|
-
lark-cli slides xml_presentations get --as user
|
|
45
|
+
lark-cli slides xml_presentations get --as user \
|
|
46
|
+
--params '{"xml_presentation_id":"slides_example_presentation_id","revision_id":10}'
|
|
45
47
|
```
|
|
46
48
|
|
|
47
|
-
###
|
|
49
|
+
### 移除 XML id 属性后读取
|
|
48
50
|
|
|
49
51
|
```bash
|
|
50
|
-
lark-cli slides xml_presentations get --as user
|
|
52
|
+
lark-cli slides xml_presentations get --as user \
|
|
53
|
+
--params '{"xml_presentation_id":"slides_example_presentation_id","revision_id":-1,"remove_attr_id":true}'
|
|
51
54
|
```
|
|
52
55
|
|
|
53
56
|
## 返回值
|
|
@@ -56,15 +59,15 @@ lark-cli slides xml_presentations get --as user --params '{"xml_presentation_id"
|
|
|
56
59
|
|
|
57
60
|
```json
|
|
58
61
|
{
|
|
59
|
-
"
|
|
62
|
+
"ok": true,
|
|
63
|
+
"identity": "user",
|
|
60
64
|
"data": {
|
|
61
65
|
"xml_presentation": {
|
|
62
66
|
"presentation_id": "slides_example_presentation_id",
|
|
63
67
|
"revision_id": 1,
|
|
64
68
|
"content": "<presentation xmlns=\"http://www.larkoffice.com/sml/2.0\" height=\"540\" width=\"960\">...</presentation>"
|
|
65
69
|
}
|
|
66
|
-
}
|
|
67
|
-
"msg": "success"
|
|
70
|
+
}
|
|
68
71
|
}
|
|
69
72
|
```
|
|
70
73
|
|
|
@@ -86,13 +89,11 @@ lark-cli slides xml_presentations get --as user --params '{"xml_presentation_id"
|
|
|
86
89
|
|
|
87
90
|
## 注意事项
|
|
88
91
|
|
|
89
|
-
1.
|
|
92
|
+
1. 直接调用底层 API 前,使用 `lark-cli schema slides.xml_presentations.get` 查看最新的参数结构
|
|
90
93
|
2. 返回的 XML 在 `data.xml_presentation.content` 字段中
|
|
91
94
|
3. 如果只需要部分信息,可以使用 `jq` 等工具过滤返回结果
|
|
92
|
-
4. 建议将获取的 XML 保存为文件,便于后续编辑或备份
|
|
93
95
|
|
|
94
96
|
## 相关命令
|
|
95
97
|
|
|
96
|
-
- [slides +create](lark-slides-create.md) -
|
|
97
|
-
- [xml_presentation.slide create](lark-slides-xml-presentation-slide-create.md) - 添加幻灯片页面
|
|
98
|
+
- [slides +create](lark-slides-create.md) - 创建 PPT / 添加幻灯片页面
|
|
98
99
|
- [xml_presentation.slide delete](lark-slides-xml-presentation-slide-delete.md) - 删除幻灯片页面
|