171 lines
3.8 KiB
Markdown
171 lines
3.8 KiB
Markdown
# weight
|
|
|
|
通用权重模型
|
|
|
|
|
|
## 获取图片列表(标准查询)
|
|
GET /api/images
|
|
|
|
```javascript
|
|
{
|
|
page: 1, // 当前页码
|
|
pageSize: 20, // 分页数
|
|
next: true, // 是否存在下一页
|
|
list: [
|
|
{
|
|
id: 1234, // 原图ID
|
|
width: 512, // 原图宽度
|
|
height: 512, // 原图高度
|
|
user: { // 来源用户
|
|
id: 1234,
|
|
name: 'LAST',
|
|
},
|
|
article: { // 来源文章
|
|
id: 1234,
|
|
title: 'GAMEX',
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|
|
标准查询(select)
|
|
0. 按照名称搜索(search=xxx)
|
|
1. 按照标签查询权重最相近的(tag=tag1)
|
|
2. 按照时间区间查询(date=20210203~20220102||20210203+||20210203-)
|
|
3. 按照发表用户查询(user=1234)
|
|
4. 按照精选集查询(choice=1234)
|
|
|
|
取交集(筛选必须包含所有指定标签的)
|
|
1. 过滤出多个标签的交集(tags=tag1,tag2,tag3)
|
|
|
|
取并集(筛选任意包含其中一个标签的)
|
|
1. 多个标签同时存在(tags=tag1+,tag2+)
|
|
|
|
取差集(排除含有指定标签的)
|
|
1. 排除含有指定标签的(tags=tag1-,tag2-)
|
|
|
|
|
|
取子集(不提供)
|
|
取补集(不提供)
|
|
|
|
混写示例: (当混写时交集最优先, 并集优先于差集)
|
|
`GET /api/images?tags=tag1,tag2,tag4+,tag3-`
|
|
|
|
|
|
数据排序(sort)
|
|
1. 按照时间正反排序(sort=date+||date-)
|
|
2. 按照热门正反排序(sort=hot+||hot-)
|
|
|
|
|
|
列表分页(page)
|
|
1. 分页大小 pageSize=20
|
|
2. 指定页码 page=1 (当结束时, 返回next字段为false)
|
|
|
|
偏好推荐
|
|
0. 使用权重推荐模型(请求中需要附带有效token)
|
|
* 根据用户偏好推荐 (propose=like)
|
|
* 根据浏览历史推荐 (propose=history)
|
|
* 根据收藏记录推荐 (propose=choice)
|
|
|
|
|
|
## 获取标签列表(热门标签)
|
|
GET /api/tags
|
|
```javascript
|
|
{
|
|
page: 1,
|
|
pageSize: 20,
|
|
next: true,
|
|
list: [
|
|
{
|
|
id: 1234, // 标签ID
|
|
name: 'tagName', // 标签名(按照请求语种对应变化, 支持简体中文,繁体中文,英文,日文)
|
|
count: 2, // 标签索引的图像数量(非实时, 应避免使用)
|
|
}
|
|
]
|
|
}
|
|
```
|
|
标准查询(select)
|
|
0. 按照名称模糊搜索(search=xxx)
|
|
1. 按照创建时间区间查询(date=20210203~20220102||20210203+||20210203-)
|
|
|
|
数据排序
|
|
1. 按照时间正反排序(sort=date+||date-)
|
|
2. 按照热门正反排序(sort=hot+||hot-)
|
|
|
|
* 标签以ID为准而非以标签名为准, 因为需要支持多语种翻译
|
|
* 指定语种 headers: Accept-Language: zh-cn;q=0.8,en-US;q=0.9 (义:优先支持英文,如果没有英文则支持中文)
|
|
|
|
## 搜索推荐
|
|
WS /api/search
|
|
|
|
```javascript
|
|
// 发送数据
|
|
{
|
|
search: 'xxx'
|
|
}
|
|
|
|
// 接收数据
|
|
{
|
|
tags: [
|
|
{
|
|
id: 1234,
|
|
name: 'tagName',
|
|
count: 2,
|
|
}
|
|
]
|
|
}
|
|
```
|
|
* 选中搜索框时建立WS连接
|
|
* 离开搜索框时应及时断开WS连接
|
|
|
|
|
|
## 浏览记录
|
|
|
|
GET /api/history
|
|
```javascript
|
|
{
|
|
page: 1,
|
|
pageSize: 20,
|
|
next: true,
|
|
list: [
|
|
{
|
|
type: 'image'
|
|
date: '2021-12-12 09:24:33',
|
|
data: {
|
|
id: 1234,
|
|
width: 512,
|
|
height: 512
|
|
}
|
|
},
|
|
{
|
|
type: 'article'
|
|
date: '2021-12-12 09:24:33',
|
|
data: {
|
|
id: 1234,
|
|
title: '文章标题'
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
|
|
POST /api/history
|
|
```javascript
|
|
[
|
|
{
|
|
type: 'image', // 浏览类型
|
|
time: '2021-12-12 09:24:33', // 浏览时间
|
|
data: {
|
|
id: 1234
|
|
}
|
|
}
|
|
]
|
|
```
|
|
|
|
筛选
|
|
1. 按类型筛选(type=image)
|
|
2. 按时间区间筛选(date=20210203~20220102||20210203+||20210203-)
|
|
* 浏览记录属于日志没有ID, 以用户身份与时间区间批量操作(移除记录)
|
|
* 浏览记录默认30天内保留最大1000条(不超过1000条的保留全部记录)
|