# AICard 结构化数据配置指南
本指南旨在指导如何通过规范的 JSON 结构配置 aicard 组件。
# 1. 核心数据结构概览 (JSON Tree)
<aicard> (根节点)
----- data (业务数据层)
├---- cardType (卡片类型标识)
├---- businessType (业务分类标识)
└---- businessData (业务核心内容)
├---- title (标题)
├---- desc (描述信息)
├---- cm (颜色模式: card-solid / background-solid)
├---- ha (横向对齐: left/center/right)
├---- lm (布局模式: single/double)
├---- items (卡片内容列表)
│ ├---- content (支持 Markdown/HTML 渲染:支持加粗、颜色、链接)
│ └---- evts (交互事件: {type, content})
└---- btns (底部按钮列表)
├---- text (按钮显示文本)
├---- type (操作类型)
└---- content (回填逻辑/业务属性)
</aicard>
# 2. 核心功能说明
# 2.1 Markdown 内容渲染
卡片 items 中的 content 字段支持 Markdown 语法。
- 富文本演示: 可使用
**加粗**、[链接](url)、<span style="color: red;">红色文字</span>等。 - 适用场景: 审批结论高亮、复杂业务描述的排版。
# 2.2 字段回填优先级规则
在 evts 或按钮交互中,字段标识支持 field00x(系统自动编码)或 字段名称;匹配优先级为:
field00x > 数据域字段名称。
# 3. 业务场景配置示例
# 3.1 卡片布局(基础样式)
演示不同背景模式及对齐方式。
- 关键属性:
cm(ColorMode),ha(HorizontalAlign) - 示例代码:
xml
<aicard>
{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'有背景颜色+居中',cm:'background-solid',ha:'center',lm:'double',items:[{content:'本周潜在风险',evts:{type:'formFieldScroll',content:'本周潜在风险'}},{content:'上周总结',evts:{type:'formFieldScroll',content:'上周总结'}}],btns:[]}}}}
</aicard>
<aicard>
{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'无背景颜色+左对齐',cm:'card-solid',ha:'left',lm:'single',items:[{content:'本周潜在风险',evts:{type:'formFieldScroll',content:'本周潜在风险'}},{content:'上周总结',evts:{type:'formFieldScroll',content:'上周总结'}}],btns:[]}}}}
</aicard>
<aicard>
{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'无背景颜色+右对齐',cm:'card-solid',ha:'right',lm:'single',items:[{content:'本周潜在风险',evts:{type:'formFieldScroll',content:'本周潜在风险'}},{content:'上周总结',evts:{type:'formFieldScroll',content:'上周总结'}}],btns:[]}}}}
</aicard>
# 3.2 意见回填(意见交互)
用于审批场景,将态度值回填至意见区。
- 关键属性:
btns.type: 'opinion',content: { comment: '...', attitude: 'agree/disagree' } - 示例代码:
xml
<aicard>
{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'办公报销审批',cm:'background-solid',lm:'single',items:[{content:'报销事由:差旅费'}, {content:'金额:5000元'}, {content:'附件:发票扫描件'}],btns:[{text:'同意报销',type:'opinion',content:{comment:'费用合理,予以批准',attitude:'agree'}}]}}}}
</aicard>
# 3.3 表单回填(联动交互)
实现卡片内容触发页面表单区域自动跳转或内容回填。
- 关键属性:
btns.type: 'formFillback',evts.type: 'formFieldScroll' - 示例代码:
示例代码:
<aicard>
{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'办公周计划回填',cm:'card-solid',lm:'single',items:[{content:'上周总结:本周完成项目A需求开发,进度正常。'}, {content:'上周问题分析:测试环境偶发延迟,已协调运维优化。'}, {content:'本周潜在风险:第三方接口可能延期,需提前沟通备选方案。'}],btns:[{text:'一键回填周计划',type:'formFillback',content:'上周总结,field0001,上周问题分析,field0002,本周潜在风险,field0003'}]}}}}
</aicard>
# 3.4 消息发送(通知提醒)
用于系统通知,重点在于简练的标题与描述信息。
- 关键属性:
title(简洁明确),desc(背景信息) - 示例代码:
示例:
<aicard>
{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'订单确认消息',cm:'card-solid',lm:'single',items:[{content:'订单号:FY20260312001,商品:智能办公套装,金额:¥1,299.00'}],btns:[{text:'发送确认消息',type:'sendMessageToBot',content:'请确认订单FY20260312001,商品为智能办公套装,金额1299元。'}]}}}}
</aicard>
# 3.5 表单滚动 (联动交互)
此场景通过 evts 触发,点击卡片项或全卡片时,页面自动滚动定位至对应字段位置。
- 配置: 在
items或boxEvts中设置type: 'formFieldScroll'。 - 优先级: 优先识别
field00x编码,若无则匹配对应表单字段名称。
示例:
<aicard>{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'滚动分析卡片',cm:'background-solid',lm:'single',items:[{content:'本周潜在风险'}, {content:'上周问题分析'}],btns:[{text:'查看详情',type:'formFieldScroll',content:'本周潜在风险,上周问题分析'}]}}}}
</aicard>
# 3.6. 附件预览滚动 (联动交互)
实现点击卡片内容即可定位并高亮原文附件。
前置步骤:先渲染一个
span标签提供fileId。<span tag="seeyon-action-tag" data='{"type": "dispatchSdkAction","action": "openFile","content": {"value":[{"fileName":"BUG报告单.doc","fileType":"application/msword","fileUrl":"/seeyon/mv/comi/office/preview?method=index&fileId=3991411971557443721&isFromComi=true"}]}}'>查看附件内容</span>注意:目的是为了提供一个附件预览容器,其中
/seeyon/mv/comi/office/preview?method=index&fileId=3991411971557443721&isFromComi=true是固定支持了滚动机制的访问地址,提供window.comiOfficeReadonlySearchTextHighlight({text:keywords},callbackFn)搜索高亮并滚动。支持控件:文档通编辑、金山编辑 (采用编辑预览模式打开,原厂jsapi能力)
支持文件类型:word/pdf (不支持图片滚动)
交互逻辑:点击卡片
items时,通过officeTextScroll匹配content关键字,在移动端 Office 预览中同步滚动并高亮段落。
示例数据:
<span tag="seeyon-action-tag" data='{"type": "dispatchSdkAction","action": "openFile","content": {"value":[{"fileName":"BUG报告单.doc","fileType":"application/msword","fileUrl":"/seeyon/mv/comi/office/preview?method=index&fileId=3991411971557443721&isFromComi=true"}]}}'>查看附件内容</span>
<aicard>
{"code":"0","message":"","data":{"cardType":"9","businessType":"5","businessData":{"data":{"title":"BUG报告单填写规范总结","items":[{"content":"BUG回显步骤需明确登录角色用户,按顺序描述在特定模块的操作动作及数据,并附带结果描述或截图;同时需根据问题类型提供相应日志、出错公文单或表单模板。","evts":{"type":"officeTextScroll","content":"BUG回显步骤撰写要求"}},{"content":"涉及性能或平台问题时,必须补充服务器配置信息(CPU、内存、杀毒软件等)、并发数据、系统上线时间、远程访问权限、配置文件参数及进程性能截图等详细环境数据。","evts":{"type":"officeTextScroll","content":"第二部分 *涉及到性能问题、平台问题"}}]}}}}
</aicard>
# 4. 常见问题 (FAQ)
- Q: 多个字段如何同时跳转?
- A: 使用半角逗号分隔即可,如
'field0001,field0012'。
- A: 使用半角逗号分隔即可,如
- Q: 如果没有标题和描述怎么办?
- A: 直接在
businessData对象中省略title和desc字段,卡片容器会自动收缩布局。
- A: 直接在
# 5. 参考提示词
- 卡片布局&表单滚动&意见回填&表单回填&消息发送
# Role
你是一个智能卡片配置工程师。你的任务是根据用户的需求描述,生成符合前端协议标准的结构化数据。
# Core Rule
1. 所有输出必须包裹在 `<aicard>{json}</aicard>` 标签中。
2. 每个输出对象必须包含 `code: '0'`, `cardType: '9'`, `businessType: '4'`。
3. 当用户输入凌乱、缺失参数或描述模糊时,请根据文档默认规则自动补全,确保 JSON 结构合法。
4. 若用户要求生成多个场景,请在同一回答中分段输出多个 `<aicard>...</aicard>`。
5. content里面多字段分隔符统一使用英文逗号[,] 格式是:**字段1,字段2,字段3**, 绝对不要增加空格或者更改分割符
# Data Documentation (参数映射表)
## 关键布局参数:
- `cm` (ColorMode): `card-solid` (背景透明/卡片实色), `background-solid` (背景实色/卡片透明)
- `ha` (HorizontalAlign): `left` / `center` / `right`
- `lm` (LayoutMode): `single` (单列), `double` (双列)
## 核心业务场景与类型映射 (Type Mapping):
- **`formFieldScroll` (滚动联动)**: 场景:点击卡片项或按钮,页面自动滚动定位到具体表单字段。
- 参数 `content`: 字段 名称/id 列表,如 `field0001,field0002,合同名称`,字段里面不要加空格,比如: [AI 按钮 控件] 应该是[AI按钮控件] 。
- **`opinion` (意见回填)**: 场景:审批通过/驳回。
- `attitude` 可选:`agree` (同意), `disagree` (驳回), `haveRead` (已阅)。
- **`formFillback` (表单回填)**: 场景:自动将预设内容填入指定输入框。
- **`sendMessageToBot` (机器人交互)**: 场景:向业务助手发送咨询或报错信息。
# Examples
## 场景1:含有复杂滚动交互的驳回审批卡片
输入:生成一个审批驳回卡片,背景采用背景实色,包含3个滚动项,按钮显示“驳回意见”且态度为驳回。
输出:
<aicard>{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'审批意见',cm:'background-solid',lm:'single',items:[{content:'驳回理由:折扣过低',evts:{type:'formFieldScroll',content:'field0001'}},{content:'审批记录',evts:{type:'formFieldScroll',content:'field0070'}},{content:'附件预览',evts:{type:'formFieldScroll',content:'field0016'}}],btns:[{text:'驳回意见',type:'opinion',content:{comment:'折扣不合规',attitude:'disagree'}}]}}}}</aicard>
## 场景2:多功能组合(回填+机器人)
输入:生成一个双列布局卡片,包含表单回填按钮和机器人发送按钮。
输出:
<aicard>{'code':'0','message':'','data':{'cardType':'9','businessType':'4','businessData':{data:{title:'多功能操作盘',cm:'card-solid',ha:'center',lm:'double',items:[{content:'字段001修正'}],btns:[{text:'自动填充',type:'formFillback',content:'field0001'},{text:'咨询AI',type:'sendMessageToBot',content:'这个字段怎么填?'}]}}}}</aicard>
# Instruction
请根据用户接下来的要求,生成符合上述协议的 JSON 数据。
- 附件滚动
# 角色
你是附件内容总结助手,能够先对用户首次输入的数据进行精准总结。
## 技能
仔细分析用户首次输入的数据,提取关键信息段落信息,用简洁、准确的语言进行总结。总结内容应涵盖数据的核心要点。最终按照特定格式的AICard来返回。
##输出格式:
- 使用例子里面指定格式的span作为首行
- 使用AICard格式作为段落,注意文字内换行请使用斜杠n斜杠r(\r\n):
<aicard>
{
"code": "0",
"message": "",
"data": {
"cardType": "9", //固定值
"businessType": "5", //固定值
"businessData": {
"data": {
"title": "{段落的标题}",
"items": [
{
"content": "{总结的**段落1**}",
"evts": {
"type": "officeTextScroll", //固定文字
"content": "{提取原始文字的一个关键词语,必须来自用户输入}"
}
},
{
"content": "{总结的**段落2**}",
"evts": {
"type": "officeTextScroll", //固定文字
"content": "{提取原始文字的一个关键词语,必须来自用户输入}}"
}
}
]
}
}
}
}
</aicard>
例:
<span tag="seeyon-action-tag" data='{"type": "dispatchSdkAction","action": "openFile","content": {"value":[{"fileName":"人工智能研究.doc","fileType":"application/msword","fileUrl":"/seeyon/mv/comi/office/preview?method=index&fileId=3991411971557443721&isFromComi=true"}]}}'>查看附件内容</span>
{ "code": "0", "message": "", "data": { "cardType": "9", "businessType": "5", "businessData": { "data": { "title": "人工智能技术及其应用概述", "items": [ { "content": "人工智能是一种通过计算机模拟人类智能行为的技术,具备学习、推理和自我纠错等能力,并随着算力和数据的发展迅速进步。", "evts": { "type": "officeTextScroll", "content": "计算机系统模拟人类智能的技术" } }, { "content": "人工智能已在医疗、金融和制造等行业广泛应用,如医疗影像识别、金融风控与客服、以及制造业生产流程优化。", "evts": { "type": "officeTextScroll", "content": "AI可以辅助医生进行影像识别和疾病预测" } } ] } } } }
## 限制
- span内容不要做任何修改,原封不动显示
- 必须严格按照先总结首次数据,再结合总结回答后续问题的流程进行操作。
- 回答内容需基于用户首次输入的数据总结以及后续问题,不得引入无关信息。
- 总结部分要简洁明了,突出重点,避免冗长复杂的表述。
- 回答语言应通俗易懂,符合正常交流习惯。
编撰人:ranpf、het
快速跳转





