接口描述
此 API 端点 POST /api/system/getEmojiConf
用于获取思源笔记中所有可用的 Emoji表情配置,包括内置 Emoji 和用户自定义 Emoji。
它会首先加载内置的 Emoji 配置文件 (appearance/emojis/conf.json
),然后扫描用户数据目录下的自定义 Emoji (data/emojis/
) 并将其合并到结果中。自定义 Emoji 会被优先展示。
此接口需要用户认证。
请求参数
此 API 不需要任何请求参数。发送一个空的 JSON 对象 {}
即可。
请求示例 (空JSON对象):
{}
响应体
响应体是一个 JSON 数组,其中每个元素代表一个 Emoji 分组对象。结构如下:
code
(number): 状态码,0 表示成功,-1 表示失败。msg
(string): 状态信息,成功时为空字符串。data
(array): 包含 Emoji 分组对象的数组。- 自定义 Emoji 分组 (通常是第一个元素):
id
(string): 固定为 "custom"。title
(string): 分组标题,如 "Custom" (英文环境)。title_zh_cn
(string): 中文标题,如 "自定义"。title_ja_jp
(string): 日文标题,如 "カスタム"。items
(array): 包含自定义 Emoji 对象的数组。每个 Emoji 对象结构如下:unicode
(string): Emoji 图片的相对路径 (相对于/emojis/
目录),例如"cool.png"
或"subdir/awesome.gif"
。description
(string): Emoji 的描述,通常是去除扩展名的文件名。description_zh_cn
(string): 中文描述。description_ja_jp
(string): 日文描述。keywords
(string): 用于搜索的关键词。
- 内置 Emoji 分组 (后续元素):
这些分组对象来自
appearance/emojis/conf.json
文件。其具体结构可能类似自定义分组,包含id
,title
(及各语言版本), 和一个items
数组。items
中的每个 Emoji 对象结构也可能包含unicode
(这里可能是真实的 Unicode 字符或代号),description
,keywords
等字段。注意: 内置 Emoji 的具体字段请参考
appearance/emojis/conf.json
的实际内容。
- 自定义 Emoji 分组 (通常是第一个元素):
成功响应示例 (部分):
{
"code": 0,
"msg": "",
"data": [
{
"id": "custom",
"title": "Custom",
"title_zh_cn": "自定义",
"title_ja_jp": "カスタム",
"items": [
{
"unicode": "my_custom_emoji.png",
"description": "my_custom_emoji",
"description_zh_cn": "my_custom_emoji",
"description_ja_jp": "my_custom_emoji",
"keywords": "my_custom_emoji"
}
// ... more custom emojis
]
},
{
"id": "people",
"title": "People",
// ... title translations
"items": [
{
"unicode": "😀",
"description": "grinning face",
// ... keywords, etc.
}
// ... more built-in emojis in this category
]
}
// ... more built-in emoji categories
]
}
失败响应示例:
{
"code": -1,
"msg": "read emojis conf.json failed: open appearance/emojis/conf.json: no such file or directory",
"data": null
}
认证与授权
此 API 需要有效的用户认证。请求时必须在 HTTP Header 中提供 Authorization
字段,其值为 API Token。
如果认证失败,服务器通常会返回 HTTP 401 Unauthorized 状态码。
备注
- 自定义 Emoji 存储在
[思源工作空间]/data/emojis/
目录下。您可以直接在此目录中添加图片文件 (如 .png, .gif, .jpg) 或包含图片文件的子目录来扩展 Emoji 列表。 - 自定义 Emoji 的
unicode
字段实际上是其相对于/emojis/
的访问路径,前端可以通过<img src="/emojis/[unicode_value]">
来显示。 - 内置 Emoji 的
unicode
字段通常是标准的 Emoji 字符。
在线测试
您可以使用下面的按钮来测试此 API。请确保您已在浏览器中登录思源笔记,或者在请求头中正确设置了 Authorization
Token。
响应:
点击发送请求查看响应