init
This commit is contained in:
		
							
								
								
									
										83
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										83
									
								
								README.md
									
									
									
									
									
								
							@@ -1,3 +1,82 @@
 | 
			
		||||
# ai
 | 
			
		||||
# ai 繪圖
 | 
			
		||||
 | 
			
		||||
ai 繪圖服務端(快速重構)
 | 
			
		||||
ai 繪圖服務端(快速重構)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
接口列表:
 | 
			
		||||
- [ ] /api/user
 | 
			
		||||
- [ ] /api/tags
 | 
			
		||||
- [ ] /api/tasks
 | 
			
		||||
- [ ] /api/models
 | 
			
		||||
- [ ] /api/images
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
請求方式:
 | 
			
		||||
- [ ] GET
 | 
			
		||||
- [ ] POST
 | 
			
		||||
- [ ] PATCH
 | 
			
		||||
- [ ] DELETE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 获取图片列表(标准查询)
 | 
			
		||||
 | 
			
		||||
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                              | Status
 | 
			
		||||
-------|--------------------------------|-----------------------------------|--------
 | 
			
		||||
GET    | /api/images                    | 标准顺序查询                        | ok
 | 
			
		||||
GET    | /api/images?page=1&pageSize=20 | 指定页码和指定分页大小                | ok
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
筛选规则:(数据过滤)
 | 
			
		||||
-------------------------------------------------------------------------------------
 | 
			
		||||
Method | URL                            | Info                              | Statu
 | 
			
		||||
-------|--------------------------------|-----------------------------------|--------
 | 
			
		||||
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                              | Status
 | 
			
		||||
-------|--------------------------------|-----------------------------------|--------
 | 
			
		||||
GET    | /api/images?similar=1234       | 根据指定图片的相似图片(指定图片ID)     | ok
 | 
			
		||||
GET    | /api/images?sort=date+         | 排序规则(相似图片查询时此项无效)       |
 | 
			
		||||
GET    | /api/images?sort=like          | 根据用户偏好推荐(指定用户的偏好)       |
 | 
			
		||||
GET    | /api/images?sort=history       | 根据浏览记录推荐(指定用户的记录)       |
 | 
			
		||||
GET    | /api/images?sort=choice        | 根据精选集推荐(指定精选集ID,取一组权重) |
 | 
			
		||||
 | 
			
		||||
* 注意, 筛选规则为多条件取交集, 单条件的复数取并集
 | 
			
		||||
* 权重强化属于排序规则而非过滤规则
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								main.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"net/http"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	fmt.Println("Hello, World!")
 | 
			
		||||
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		fmt.Fprintf(w, "Hello, World!")
 | 
			
		||||
	})
 | 
			
		||||
	http.HandleFunc("/images", func(w http.ResponseWriter, r *http.Request) {})
 | 
			
		||||
	http.HandleFunc("/models", func(w http.ResponseWriter, r *http.Request) {})
 | 
			
		||||
	http.HandleFunc("/tasks", func(w http.ResponseWriter, r *http.Request) {})
 | 
			
		||||
	http.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) {})
 | 
			
		||||
	http.HandleFunc("/tags", func(w http.ResponseWriter, r *http.Request) {})
 | 
			
		||||
	http.ListenAndServe(":8080", nil)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								models/ListView.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								models/ListView.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
package models
 | 
			
		||||
 | 
			
		||||
type ListView struct {
 | 
			
		||||
	Code     int           `json:"code"`
 | 
			
		||||
	Page     int           `json:"page"`
 | 
			
		||||
	PageSize int           `json:"page_size"`
 | 
			
		||||
	Total    int           `json:"total"`
 | 
			
		||||
	Next     bool          `json:"next"`
 | 
			
		||||
	List     []interface{} `json:"list"`
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user