【金山文档SKILL功能更新】支持智能表单功能

快乐小子新
快乐小子新 Lv.2 潜力创作者

Lv.2潜力创作者

此前的反馈帖:【建议】金山文档SKILL增加智能表单功能

一、什么是智能表单

智能表单(Form)是金山文档提供的一种轻量级在线信息收集工具,支持通过 API 完成从创建草稿、编辑题目、预览确认到发布收集的完整生命周期。表单发布后生成独立的填写链接,可分发用于数据采集,收集结果在管理后台统一查看。

智能表单通过 form.lite.* 系列四个原子工具驱动,覆盖表单全生命周期:

工具

功能

阶段

form.lite.create_draft

创建智能表单草稿

创建

form.lite.update_draft

更新智能表单草稿

编辑

form.lite.get_form_info

获取智能表单信息

预览/验证

form.lite.publish_draft

发布智能表单草稿

发布


二、支持 14 种题型

题型

类型标识

说明

文本输入

input

单行文本输入

电话

telphone

电话号码格式

邮箱

email

邮箱地址格式

身份证

idcard

身份证号码格式

数字输入

numberInput

整数数字输入

小数

decimal

小数数字输入

单选

select

从选项中选择一项

多选

multiSelect

从选项中选择多项

下拉选择

dropdown

下拉菜单选择

日期

date

选择日期

日期时间

dateTime

选择日期和时间

月份

month

选择月份

时间

time

选择时间

地址

address

地址选择器

选择题(select、multiSelect、dropdown)通过 selects 数组定义选项,每项包含一个 value(选项文本)。地址题(address)可配 location_type 控制地址层级(省/市/区/乡镇/村)。


三、生命周期详解

3.1 创建草稿

调用 create_draft 创建表单草稿,支持两种方式:

  • 空草稿:传入空题目数组 questions: [],后续通过 update_draft 逐步添加

  • 完整草稿:直接在 questions 中定义全部题目和选项

创建时传入 title(表单标题)和 questions(题目列表)。每道题目包含 question(标题)、type(题型)和可选的 selects(选项)。

3.2 更新草稿

调用 update_draft 修改草稿。关键语义:questions 是完整覆盖,不是增量追加

  • 只改标题:只传 title,不传 questions

  • 改题目:传入完整的题目列表整体替换

  • 修改后必须调用 get_form_info 回读验证

3.3 预览确认

每次创建或更新草稿后,需调用 get_form_info 获取最新内容,整理为可读的文字版表单供用户确认。预览内容包括:

  • 表单名称

  • 当前状态

  • 管理页面地址

  • 题目预览表格(序号、题目、类型、必填、选项)

3.4 发布表单

调用 publish_draft 将草稿发布为正式表单。发布后无法修改,因此发布前必须获得用户明确确认。

发布成功后返回两个关键信息:

  • form_id — 用于拼接管理页面(查看结果、管理设置)

  • sid — 用于拼接填写页面(分发给填写人)


四、表单状态与生命周期流

完整调用链条:

create_draft
    │
    ▼
get_form_info(预览确认)
    │
    ▼
update_draft(如需修改)
    │
    ▼
get_form_info(再次确认)
    │
    ▼ 用户确认发布
publish_draft
    │
    ▼
get_form_info(验证发布成功)

两个关键状态:

  • Draft — 草稿状态,可编辑,sid 为空

  • Release — 已发布,不可编辑,sid 非空


五、安全约束与最佳实践

要点

说明

写后回读

每次创建或更新后,强制调用 get_form_info 验证实际结果

发布不可逆

发布前必须用户明确确认,未确认时只交付管理页面

完整覆盖语义

update_draft 的 questions 是完整替换,误传会导致题目丢失

非幂等操作

create_draft 和 update_draft 重试前须先查询当前状态

草稿确认模板

更新后按标准模板整理文字版表单给用户确认


六、典型场景:创建客户满意度调查

1. create_draft("客户满意度调查", questions=[...])    → 获取 form_id
2. get_form_info(form_id)                              → 预览草稿内容
3. 整理文字版预览 → 用户确认
4. 用户提出修改意见 → update_draft(...)
5. get_form_info(form_id)                              → 再次预览确认
6. 用户确认"发布" → publish_draft(form_id)
7. get_form_info(form_id)                              → 验证发布成功
8. 交付管理页面 + 填写页面
广东省
浏览 144
1
4
分享
4 +1
1
1 +1
全部评论 1
 
杯莫停
过来学习一下
· 浙江省
1
回复