-
Notifications
You must be signed in to change notification settings - Fork 78
icon
主要举出获取全部 icon 列表以及图标的增删改查方法。
本接口只能获取已入库的图标,如果需要获取待审核和其他状态的图标需要走审核接口或者获取用户已上传图标接口。本接口供搜索时使用,支持
-
q=xxx
表示根据 xxx 来模糊查询图标 -
iconId=123
表示查询 id 为 123 的图标 -
iconIds=[1,2,3]
表示查询 id 数组中的图标
其中前两者都是在搜索图标时使用,第三个是在小车展开时查询图标使用。
GET /icons
Response
{
"ret": true,
"data": [
{
"id": 3,
"name": "笔",
"path": " M829,738 L738,829 L512,603 L286,829 L195,738 L421,512 L195,286 L286,195 L512,421 L738,195 L829,286 L603,512",
"oldId": null,
"newId": null
},
]
}
上传图标至某图标库,这里只是上传到工作台,之后在工作台进行名称、tag 等的编辑再进行提交。将 icon 的 status 置为 0。
POST /user/icons
Parameters
这个参数形式是 form-data
。
名称 | 类型 | 描述 |
---|---|---|
icons |
file |
svg 文件 |
Response
{
"ret": true,
"data": "上传图标成功"
}
接口场景为将图标置入大库,表示上传图标并等待审核。此接口会将图标信息写入 icon 库,将 icon 的 status 置为 10。其中 icons 参数里需要传递图标名称、标签、图标后缀和图标 path。本次由于图标的名字、后缀都并不确定(可被大库管理员更改),因此并不生成 fontClass
字段,该字段仅存储图标的后缀。
PATCH /user/icons
Parameters
名称 | 类型 | 描述 |
---|---|---|
repoId |
number |
大库id |
icons |
array |
图标数组 |
Input Example
{
"repoId": 3,
"icons": [
{
"id": 12,
"name": "呵呵",
"tags": "酒杯,酒杯,呵呵",
"fontClass": "-o",
}
]
}
Response
{
"ret": true,
"data": "上传图标成功"
}
图标弹窗使用的接口,可以获取图标的详细情况,包含上传人、所在大库、替换过的图标和被哪个图标替换等各种详细信息。
GET /user/icons/:iconId
Response
{
"ret": true,
"data": {
"id": 3,
"name": "笔",
"path": " M829,738 L738,829 L512,603 L286,829 L195,738 L421,512 L195,286 L286,195 L512,421 L738,195 L829,286 L603,512",
"tags": "你好,呵呵",
"fontClass": "www-bi-o",
"code": 61442,
"oldIcon": {
"id": 3,
"name": "笔",
"path": " M829,738 L738,829 L512,603 L286,829 L195,738 L421,512 L195,286 L286,195 L512,421 L738,195 L829,286 L603,512",
"tags": "你好,呵呵",
"fontClass": "www-bi-o",
"code": 61442,
},
"newId": null,
"repository": {
"id": 1,
"name": "无线大客户端",
"alias": "mobile"
}
}
}
这一操作依据不同权限进行处理,登录用户只能修改 tags
,库管理员可以修改 name
。
PATCH /user/icons/:iconId
Parameters
名称 | 类型 | 描述 |
---|---|---|
tags |
string |
图标标签 |
name |
string |
图标名称 |
Response
{
"ret": true,
"data": "修改图标信息成功"
}
只能删除当前用户上传的,审核失败的图标。
DELETE /user/icons/:iconId
Response
{
"ret": true,
"data": "删除图标成功"
}
GET /user/icons
Response
{
"ret": true,
"data": [
{
"id": 3,
"name": "笔",
"path": " M829,738 L738,829 L512,603 L286,829 L195,738 L421,512 L195,286 L286,195 L512,421 L738,195 L829,286 L603,512",
"oldId": null,
"newId": null
},
]
}
这里参数完全以 json 数据的方式提供,其中项目版本应该提供 version,大库默认都是 0.0.0。如果 json 数据里提供了图标的 id 数组 icons,那么直接根据这个 icons 来下载。
POST /download/font
Parameters
名称 | 类型 | 描述 |
---|---|---|
type |
string |
repo/project |
id |
number |
大库/项目 id |
version |
string |
版本号 |
icons |
array |
如小车下载或单个下载,可以直接传入 icons 数组 |
Response
{
"res": true,
"data": "repo-6-0.0.0.zip"
}
然后使用返回的文件名称新开页面请求:
/download/:filename
如,直接新开页面:/download/repo-6-0.0.0.zip,就可以下载刚才打包好的字体