接口描述
此 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。
响应:
点击发送请求查看响应