移除舊文檔
This commit is contained in:
		
							
								
								
									
										228
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										228
									
								
								README.md
									
									
									
									
									
								
							@@ -257,231 +257,3 @@ WS     | /api/{name}/{item_id}          | Websocket 連接對象
 | 
			
		||||
 | 
			
		||||
* GET查詢以外的操作都必須在headers中攜帶token驗證身份權限
 | 
			
		||||
* GET查詢私有模型也必須登錄, 否則不會被展示
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 圖片列表
 | 
			
		||||
 | 
			
		||||
GET /api/images
 | 
			
		||||
```javascript
 | 
			
		||||
{
 | 
			
		||||
    page: 1,             // 当前页码
 | 
			
		||||
    pageSize: 20,        // 分页数
 | 
			
		||||
    next: true,          // 是否存在下一页
 | 
			
		||||
    list: [{
 | 
			
		||||
        id: 1234,        // 原图ID
 | 
			
		||||
        width: 512,      // 原图宽度
 | 
			
		||||
        height: 512,     // 原图高度
 | 
			
		||||
        createdAt: '',   // 創建時間
 | 
			
		||||
        updatedAt: '',   // 更新時間
 | 
			
		||||
        user: {          // 来源用户
 | 
			
		||||
            id: 1234,
 | 
			
		||||
            user_name: 'LAST',
 | 
			
		||||
        },
 | 
			
		||||
        article: {       // 来源文章
 | 
			
		||||
            id: 1234,
 | 
			
		||||
            title: 'GAMEX',
 | 
			
		||||
        }
 | 
			
		||||
    }]
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
列表视图:(输出控制)
 | 
			
		||||
 | 
			
		||||
Method | URL                            | Info
 | 
			
		||||
-------|--------------------------------|----------------------------------
 | 
			
		||||
GET    | /api/images                    | 标准顺序查询
 | 
			
		||||
GET    | /api/images?page=1&pageSize=20 | 指定页码和指定分页大小
 | 
			
		||||
DELETE | /api/images/{image_id}         | 刪除指定圖片
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
筛选规则:(数据过滤)
 | 
			
		||||
 | 
			
		||||
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?similar=1234       | 根据指定图片的相似图片(指定图片ID)
 | 
			
		||||
GET    | /api/images?sort=date+         | 排序规则(相似图片查询时此项无效)
 | 
			
		||||
GET    | /api/images?sort=like          | 根据用户偏好推荐(指定用户的偏好)
 | 
			
		||||
GET    | /api/images?sort=history       | 根据浏览记录推荐(指定用户的记录)
 | 
			
		||||
GET    | /api/images?sort=choice        | 根据精选集推荐(指定精选集ID,取一组权重)
 | 
			
		||||
 | 
			
		||||
* 注意, 筛选规则为多条件取交集, 单条件的复数取并集
 | 
			
		||||
* 权重强化属于排序规则而非过滤规则
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 模型列表
 | 
			
		||||
 | 
			
		||||
GET /api/models
 | 
			
		||||
```javascript
 | 
			
		||||
{
 | 
			
		||||
    page: 1,             // 当前页码
 | 
			
		||||
    pageSize: 20,        // 分页数
 | 
			
		||||
    next: true,          // 是否存在下一页
 | 
			
		||||
    list: [{
 | 
			
		||||
        id: 'xxxxx',     // 模型ID
 | 
			
		||||
        name: 'xxx',     // 模型名稱
 | 
			
		||||
        createdAt: '',   // 創建時間
 | 
			
		||||
        updatedAt: '',   // 更新時間
 | 
			
		||||
    }]
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
篩選規則:(數據過濾)
 | 
			
		||||
 | 
			
		||||
Method | URL                            | Info
 | 
			
		||||
-------|--------------------------------|----------------------------------
 | 
			
		||||
GET    | /api/models                    | 獲取所有模型
 | 
			
		||||
GET    | /api/models?user=1234          | 僅取指定用戶的(按用戶ID過濾)
 | 
			
		||||
GET    | /api/models?tag=xxx            | 按標籤分類篩選
 | 
			
		||||
GET    | /api/models?public=true        | 僅取公開的
 | 
			
		||||
GET    | /api/models?public=false       | 僅取私有的
 | 
			
		||||
POST   | /api/models                    | 創建一個模型
 | 
			
		||||
 | 
			
		||||
* 如果未登錄, 返回的結果將過濾掉無權限查看的內容
 | 
			
		||||
* 如果已登錄, 返回的結果將包含私有的
 | 
			
		||||
 | 
			
		||||
POST /api/models
 | 
			
		||||
```javascript
 | 
			
		||||
// 發送數據
 | 
			
		||||
{
 | 
			
		||||
    name: '',    // 設定名稱
 | 
			
		||||
    type: '',    // 指定訓練類型
 | 
			
		||||
    source: '',  // 指定源模型ID
 | 
			
		||||
    type: '',    // 模型類型(RoLa|SD2|SD1.5)
 | 
			
		||||
    data: {
 | 
			
		||||
        oss:     [], // 直接上傳到OSS的圖片地址列表
 | 
			
		||||
        images:  [], // 指定圖片的ID們
 | 
			
		||||
        choices: [], // 精選集的ID們
 | 
			
		||||
    },   // 指定數據集(可以是上傳到OSS的文件列表, 也可以是已有的圖片ID, 也可以是精選集ID)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 返回數據
 | 
			
		||||
{
 | 
			
		||||
    id: 'xxx',     // 模型ID
 | 
			
		||||
    name: '',      // 模型名稱
 | 
			
		||||
    status: '',    // 模型狀態(必須訓練完成的才可用)
 | 
			
		||||
    createdAt: '', // 創建時間
 | 
			
		||||
    updatedAt: '', // 更新時間
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### 模型詳情
 | 
			
		||||
 | 
			
		||||
GET /api/models/{model_id}
 | 
			
		||||
```javascript
 | 
			
		||||
{
 | 
			
		||||
    id: 'xxxxx',     // 模型ID
 | 
			
		||||
    name: 'xxx',     // 模型名稱
 | 
			
		||||
    createdAt: '',   // 創建時間
 | 
			
		||||
    updatedAt: '',   // 更新時間
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
PATCH /api/models/{model_id}
 | 
			
		||||
```javascript
 | 
			
		||||
{
 | 
			
		||||
    name: 'xxx',     // 修改模型名稱
 | 
			
		||||
    status: 'ready', // (initial|ready|waiting|running|success|error)
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* 修改指定字段, 只傳遞需要修改的字段
 | 
			
		||||
* status 初始默認爲 'initial', 修改爲 'ready' 即就緒狀態, 服務器將爲此任務自動排期
 | 
			
		||||
* 當模型訓練任務被加入等待隊列時, 其狀態自動變更爲 'waiting'
 | 
			
		||||
* 當模型訓練任務被執行時, 其狀態自動變更爲 'running', 並開始更新進度條 Progress
 | 
			
		||||
* 當模型訓練完成時狀態自動變更爲'success', 失敗時爲'error'
 | 
			
		||||
* 訓練中的模型將被鎖定, 無法修改刪除等操作
 | 
			
		||||
 | 
			
		||||
DELETE /api/models/{model_id}
 | 
			
		||||
* 刪除指定模型
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 獲取標籤
 | 
			
		||||
 | 
			
		||||
GET /api/tags
 | 
			
		||||
```javascript
 | 
			
		||||
{
 | 
			
		||||
    page: 1,             // 当前页码
 | 
			
		||||
    pageSize: 20,        // 分页数
 | 
			
		||||
    next: true,          // 是否存在下一页
 | 
			
		||||
    list: [{
 | 
			
		||||
        id: 'xxxxx',     // 標籤ID
 | 
			
		||||
        name: 'xxx',     // 標籤名稱
 | 
			
		||||
        createdAt: '',   // 創建時間
 | 
			
		||||
        updatedAt: '',   // 更新時間
 | 
			
		||||
    }]
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
篩選規則:(數據過濾)
 | 
			
		||||
 | 
			
		||||
Method | URL                            | Info
 | 
			
		||||
-------|--------------------------------|------------------
 | 
			
		||||
GET    | /api/tags?user=1234            | 按用戶ID篩選
 | 
			
		||||
GET    | /api/tags?tag=xxx              | 按標籤分類篩選
 | 
			
		||||
DELETE | /api/tags/{tag_id}             | 刪除指定標籤
 | 
			
		||||
 | 
			
		||||
### 獲取任務
 | 
			
		||||
GET /api/tasks
 | 
			
		||||
```javascript
 | 
			
		||||
{
 | 
			
		||||
    page: 1,             // 当前页码
 | 
			
		||||
    pageSize: 20,        // 分页数
 | 
			
		||||
    next: true,          // 是否存在下一页
 | 
			
		||||
    list: [{
 | 
			
		||||
        id: 'xxxxx',     // 任務ID
 | 
			
		||||
        name: 'xxx',     // 任務名稱
 | 
			
		||||
        status: 'xxx',   // 任務狀態(waiting|running|success|error)
 | 
			
		||||
        progress: 100,   // 任務進度(0~100)
 | 
			
		||||
        data: {},        // 任務數據
 | 
			
		||||
        createdAt: '',   // 創建時間
 | 
			
		||||
        updatedAt: '',   // 更新時間
 | 
			
		||||
    }]
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
篩選規則:(數據過濾)
 | 
			
		||||
 | 
			
		||||
Method | URL                            | Info
 | 
			
		||||
-------|--------------------------------|------------------
 | 
			
		||||
GET    | /api/tasks?user=1234           | 按用戶ID篩選
 | 
			
		||||
GET    | /api/tasks?tag=xxx             | 按標籤分類篩選
 | 
			
		||||
DELETE | /api/tasks/{task_id}           | 刪除指定任務
 | 
			
		||||
 | 
			
		||||
### 監聽任務
 | 
			
		||||
 | 
			
		||||
WebSocket /api/tasks/{task_id}
 | 
			
		||||
```javascript
 | 
			
		||||
{
 | 
			
		||||
    id: 'xxxx',    // 任務ID
 | 
			
		||||
    status: 'xxx', // 任務狀態(waiting|running|success|error)
 | 
			
		||||
    progress: 100, // 任務進度(0~100)
 | 
			
		||||
    data: {},      // 返回數據
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
* 使用websocket建立連接以對指定任務監聽狀態變化
 | 
			
		||||
* 離開頁面時,或是任務結束時, 應斷開websocket連接
 | 
			
		||||
* 當任務狀態發生變化時, 服務端向瀏覽器主動發送消息
 | 
			
		||||
* 返回數據:任務執行中爲預覽, 任務完成時爲生成結果
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user