146 lines
4.5 KiB
Markdown
146 lines
4.5 KiB
Markdown
# webp
|
||
|
||
提供webp生成服务
|
||
|
||
```javascript
|
||
// GET /webp/{type}-{id}-{version}-{width}-{height}-{fit}.{format}
|
||
// @type: image avatar article article_attribute ad
|
||
// @id: int 图片ID或是文章ID或是广告ID
|
||
// @version: update_time 时间戳
|
||
// @width: 宽度 1x 2x 3x 倍图直接输入尺寸
|
||
// @height: 高度 1x 2x 3x 倍图直接输入尺寸
|
||
// @fit: 裁切方式 cover contain fill auto
|
||
|
||
// GET /img/{type}-{id}.{format}?width=320&height=320&fit=cover
|
||
// 更优雅的实现, 使用查询参数的接口 (不幸的是CDN与OSS都不支持)
|
||
```
|
||
|
||
|
||
## Update
|
||
|
||
```bash
|
||
# 静态编译
|
||
go build bin/main.go
|
||
|
||
# 上传到服务器
|
||
scp ./main root@47.103.40.152:~/main
|
||
```
|
||
|
||
|
||
## Dev & Install
|
||
|
||
```bash
|
||
# 需要安装依赖
|
||
sudo apt install libopencv-dev
|
||
```
|
||
|
||
防止错误 ‘ArucoDetector’ in namespace ‘cv::aruco’ does not name a type
|
||
將安裝的 opencv 版本從 4.2 更改為 4.7,它工作正常。
|
||
|
||
```bash
|
||
# E: 无法定位软件包 libdc1394-22-dev
|
||
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
|
||
sudo apt update
|
||
sudo apt upgrade
|
||
sudo apt install libjasper1 libjasper-dev
|
||
|
||
# 添加主服务器
|
||
sudo gedit /etc/apt/sources.list
|
||
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
|
||
|
||
sudo apt-get update
|
||
sudo apt update
|
||
sudo apt upgrade
|
||
|
||
# GPT 方案
|
||
sudo add-apt-repository universe
|
||
sudo apt update
|
||
sudo apt install libdc1394-22-dev
|
||
apt search libdc1394
|
||
|
||
# 手动下载 https://pkgs.org/download/libdc1394-22
|
||
wget http://archive.ubuntu.com/ubuntu/pool/universe/libd/libdc1394-22/libdc1394-22_2.2.5-2.1_amd64.deb
|
||
sudo dpkg -i libdc1394-22_2.2.5-2.1_amd64.deb
|
||
apt search libdc1394
|
||
|
||
# 确认安装后注释 Markfile 第52行
|
||
cd gocv
|
||
make install
|
||
|
||
# 下载超时请爬墙
|
||
```
|
||
|
||
torch 模型文件
|
||
https://d2j0dndfm35trm.cloudfront.net/resnet-50.t7
|
||
https://github.com/facebookarchive/fb.resnet.torch/tree/master/pretrained
|
||
|
||
|
||
## Document
|
||
|
||
通用权重模型接口
|
||
|
||
|
||
### 获取图片列表(标准查询)
|
||
|
||
GET /api/images
|
||
```javascript
|
||
{
|
||
page: 1, // 当前页码
|
||
pageSize: 20, // 分页数
|
||
next: true, // 是否存在下一页
|
||
list: [{
|
||
id: 1234, // 原图ID
|
||
width: 512, // 原图宽度
|
||
height: 512, // 原图高度
|
||
user: { // 来源用户
|
||
id: 1234,
|
||
user_name: 'LAST',
|
||
},
|
||
article: { // 来源文章
|
||
id: 1234,
|
||
title: 'GAMEX',
|
||
}
|
||
}]
|
||
}
|
||
```
|
||
|
||
|
||
列表视图:(输出控制)
|
||
---------------------------------------------------------------------
|
||
Method | URL | Info
|
||
-------|--------------------------------|----------------------------
|
||
GET | /api/images | 标准顺序查询
|
||
GET | /api/images?page=1&pageSize=20 | 指定页码和指定分页大小
|
||
|
||
|
||
筛选规则:(数据过滤)
|
||
---------------------------------------------------------------------
|
||
Method | URL | Info
|
||
-------|--------------------------------|----------------------------
|
||
GET | /api/images?user=1234 | 筛选指定某用户发表的图片
|
||
GET | /api/images?choice=1234 | 筛选指定精选集下的图片
|
||
GET | /api/images?like=1234 | 筛选指定用户点赞的图片
|
||
GET | /api/images?tag=1234 | 筛选含有指定标签的图片
|
||
GET | /api/images?tag=1234,1235 | 筛选含有多个标签之一的图片(并集)
|
||
GET | /api/images?tag=1234&tag=1235 | 筛选含有指定多个标签的图片(交集)
|
||
GET | /api/images?user=1234&tag=123 | 筛选指定用户的指定标签图片(交集)
|
||
GET | /api/images?date=20220214+ | 时间范围(之后)
|
||
GET | /api/images?date=20220214- | 时间范围(之前)
|
||
GET | /api/images?date=2022~2023 | 时间范围(之间)
|
||
|
||
|
||
排序规则:(权重强化)
|
||
---------------------------------------------------------------------
|
||
Method | URL | Info
|
||
-------|--------------------------------|----------------------------
|
||
GET | /api/images?sort=date+ | 排序规则(相似图片查询时此项无效)
|
||
GET | /api/images?sort=like | 根据用户偏好推荐(指定用户的偏好)
|
||
GET | /api/images?sort=history | 根据浏览记录推荐(指定用户的记录)
|
||
GET | /api/images?sort=choice | 根据精选集推荐(指定精选集ID, 取一组权重)
|
||
GET | /api/images?similar=1234 | 根据指定图片的相似图片(指定图片ID)
|
||
|
||
|
||
|
||
* 注意, 筛选规则为多条件取交集, 单条件的复数取并集
|
||
* 权重强化属于排序规则而非过滤规则
|