Appearance
扩展资料接口
扩展资料是什么
扩展资料包是 WordMomo 中为词汇提供额外学习资料的独立数据包,用户背单词时会展示匹配到的资料。AI 可写入两种类型:
| 类型 | type | 内容 | 适用场景 |
|---|---|---|---|
| 基础资料 | basic | 单词的释义、音标、切分 | 用户说「帮我生成这些单词的基础资料」「给这批词补上释义音标」 |
| 例句资料 | example | 单词的例句(原文+译文) | 用户说「帮我生成这些词汇的例句资料」「给这些单词配几个例句」 |
注意区分:词库(book/unit/word 接口)存放的是用户要背的学习内容本身; 扩展资料包存放的是辅助资料(释义、例句),在学习时作为参考展示。两者不要混淆。
工作流程
与词汇接口相同的原则——先调查、出方案、用户确认后再写入:
判断资料类型(basic 还是 example)
↓
res.list 调查现有资料包(只读)
↓
出具《预执行方案》:新建还是追加到哪个资料包 + 预览几条资料内容
↓
用户确认
↓
res.import 一键导入(按名称+类型自动找到或创建资料包)
↓
向用户汇报执行结果确认规则:用户未明确同意前,不得调用 res.import。即使用户点名了某个资料包,也需简短确认「追加到《XXX》资料包,共 N 条」再执行。
获取资料包列表
POST /ai/invoke
method: res.list请求体
json
{
"method": "res.list",
"data": {
"type": "all"
}
}data 参数:
| 字段 | 必填 | 说明 |
|---|---|---|
type | 否 | 类型筛选:all=全部(默认值)、basic=基础资料、example=例句资料 |
响应示例
json
{
"success": true,
"data": [
{
"key": "r8f1c2a0d3e4",
"name": "我的例句库",
"type": "example",
"language": "en",
"enable": true
}
]
}响应字段
返回资料包数组,每项字段:
| 字段 | 说明 |
|---|---|
key | 资料包标识 |
name | 资料包名称 |
type | 类型:basic / example |
language | 语言代码 |
enable | 是否启用 |
一键导入资料
POST /ai/invoke
method: res.import一次调用完成:按名称+类型匹配现有资料包(同名同类型直接复用,不会重复创建),没有则自动创建,然后批量写入资料条目。同一单词重复导入会覆盖更新,不会产生重复条目。
请求体(基础资料 basic)
json
{
"method": "res.import",
"data": {
"name": "我的基础资料",
"type": "basic",
"language": "en",
"items": [
{ "word": "caption", "translate": "n.说明文字", "symbol": "ˈkæpʃn" },
{ "word": "distance", "translate": "n.距离", "symbol": "'dɪstəns" }
]
}
}items 每项(basic):
| 字段 | 必填 | 说明 |
|---|---|---|
word | 是 | 单词 |
translate | 否 | 释义,建议提供,可带词性(如 n.距离) |
symbol | 否 | 音标 |
split | 否 | 音节切分(如 dis-tance),通常可省略 |
请求体(例句资料 example)
json
{
"method": "res.import",
"data": {
"name": "我的例句库",
"type": "example",
"language": "en",
"items": [
{
"word": "reservation",
"content": [
{ "amp": "I have a <b>reservation</b> for tonight.", "trans": "我订了今晚的<b>房间</b>。" },
{ "amp": "Please confirm your <b>reservation</b>.", "trans": "请确认您的<b>预订</b>。" }
]
}
]
}
}items 每项(example):
| 字段 | 必填 | 说明 |
|---|---|---|
word | 是 | 单词 |
content | 是 | 例句数组,每条含 amp(例句原文)和 trans(例句译文) |
例句格式要求(重要):
amp中的目标单词必须用<b></b>标签包裹高亮,trans译文中对应词语同样用<b></b>包裹,与官方资料包风格保持一致。- 每个单词建议 2~3 条例句,例句应简单实用。
- 每个单词的例句放在同一个
content数组里,不要拆成多个word相同的条目。
公共 data 参数
| 字段 | 必填 | 说明 |
|---|---|---|
name | 是 | 资料包名称,同名同类型直接复用 |
type | 是 | basic / example |
language | 否 | 语言代码,默认 en,仅在新建资料包时生效 |
items | 是 | 资料条目数组,格式见上方对应类型 |
响应示例
json
{
"success": true,
"data": {
"key": "r3d9e4b1a2f3",
"name": "我的例句库",
"type": "example",
"created": true,
"added": 12
}
}响应字段
| 字段 | 说明 |
|---|---|
key | 资料包标识 |
name | 资料包名称 |
type | 资料包类型 |
created | 本次是否新建了资料包 |
added | 写入的词条数(重复单词按覆盖更新计入) |
行为准则(请遵守)
- 先方案后执行:调用
res.import前必须出具预执行方案并获得用户确认。 - 类型别搞错:例句写入
example,释义/音标写入basic。 - 高亮规范:例句中目标词用
<b></b>包裹。 - 结果必汇报:告诉用户写入了多少条、写进了哪个资料包(新建还是追加),并提醒用户到「扩展资料」中查看。
