Skip to content

本文档非官方出品,主要由 AI 辅助编写,不保证绝对准确。如有疑问,请以 kernel/api/ 中的源码为准。

如果您觉得本文档有帮助,可以考虑赞助支持:爱发电

获取集市图标列表

端点

/api/bazaar/getBazaarIcon

源文件 (GitHub)

接口描述

此 API 端点用于从思源笔记官方集市获取可用的图标包列表。图标包可以用来自定义思源笔记界面中的各种图标,支持按关键词搜索。

认证与授权

此接口需要满足以下条件才能访问:

  1. 用户认证 (model.CheckAuth): 需要有效的用户认证,并通过 Authorization HTTP 头部传递 API Token

请求方法

POST

请求参数

请求体应为 JSON 格式,包含以下字段:

参数名类型必需描述
keywordstring搜索关键词,用于在图标包名称、描述、作者中进行模糊匹配。为空时返回所有图标包

返回值

参数名类型描述
codenumber返回码。0: 成功; -1: 服务器错误
msgstring返回信息。失败时包含错误信息
dataobject返回数据

data 字段内容:

参数名类型描述
packagesobject[]图标包信息数组。每个包包含以下字段:

packages 数组中每个对象的字段:

参数名类型描述
namestring包名
authorstring作者
versionstring版本号
displayNamestring显示名称
descriptionstring描述
repoURLstring仓库地址
repoHashstring仓库哈希
iconURLstring图标地址
fundingobject赞助信息(可选)
installedboolean是否已安装
hasUpdateboolean是否有更新

示例

请求示例 (获取所有图标包)

json
POST /api/bazaar/getBazaarIcon
Content-Type: application/json
Authorization: Token your-token

{
  "keyword": ""
}

请求示例 (搜索特定图标包)

json
POST /api/bazaar/getBazaarIcon
Content-Type: application/json
Authorization: Token your-token

{
  "keyword": "emoji"
}

返回示例 (成功)

json
{
  "code": 0,
  "msg": "",
  "data": {
    "packages": [
      {
        "name": "emoji-icons",
        "author": "YourName",
        "version": "1.0.0",
        "displayName": "Emoji图标包", 
        "description": "一套可爱的emoji风格图标。",
        "repoURL": "https://github.com/yourname/emoji-icons",
        "repoHash": "abcdef1234567890",
        "iconURL": "preview.png",
        "funding": {},
        "installed": true,
        "hasUpdate": false
      }
      // ... more packages
    ]
  }
}

返回示例 (失败)

json
{
  "code": -1,
  "msg": "获取图标包列表失败",
  "data": null
}

错误码说明

错误码说明
0成功
-1服务器错误

备注

  • 返回的图标包列表会根据用户当前安装状态显示 installedhasUpdate 标记
  • 搜索是模糊匹配,会在图标包名称、描述、作者等字段中查找关键词
  • 如果要获取已安装的图标包列表,请使用 /api/bazaar/getInstalledIcon 接口
  • 图标包安装后需要重启思源笔记才能完全生效
  • 建议在安装新图标包前备份当前的主题和外观设置