116 lines
3.6 KiB
Go
116 lines
3.6 KiB
Go
|
|
package dto
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"gitea.com/red-future/common/beans"
|
|||
|
|
"github.com/gogf/gf/v2/frame/g"
|
|||
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
type CreationInput struct {
|
|||
|
|
g.Meta `path:"/creation" method:"post" tags:"创作作品管理" summary:"作品创作" dc:"作品创作"`
|
|||
|
|
|
|||
|
|
Mode string `json:"mode"`
|
|||
|
|
ContentType string `json:"content_type"`
|
|||
|
|
Theme string `json:"theme"`
|
|||
|
|
Title string `json:"title"`
|
|||
|
|
Style string `json:"style"`
|
|||
|
|
Count int `json:"count"`
|
|||
|
|
ImagePerPost int `json:"image_per_post"`
|
|||
|
|
ImageRatio string `json:"image_ratio"`
|
|||
|
|
Desc string `json:"desc"`
|
|||
|
|
Content string `json:"content"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type ImageUploadItem struct {
|
|||
|
|
Title string `json:"title"` // 内容标题
|
|||
|
|
Index int `json:"index"` // 第几条
|
|||
|
|
ImageUrls []string `json:"image_urls"` // 上传成功的图片URL列表
|
|||
|
|
HtmlFileUrl string `json:"html_file_url"` // 上传成功的HTML文件URL(如有)
|
|||
|
|
Theme string `json:"theme"`
|
|||
|
|
ContentType string `json:"content_type"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// CreationOutput 接口最终返回结构体(你原有dto,这里补充完整)
|
|||
|
|
type CreationOutput struct {
|
|||
|
|
SuccessCount int `json:"success_count"` // 成功条数
|
|||
|
|
Items []ImageUploadItem `json:"items"` // 所有上传成功的详情
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type Create struct {
|
|||
|
|
HtmlFileUrl string
|
|||
|
|
ImageUrls []string
|
|||
|
|
ContentType string
|
|||
|
|
Theme string
|
|||
|
|
Title string
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UploadFileBytesReq 上传文件请求(字节流)
|
|||
|
|
type UploadFileBytesReq struct {
|
|||
|
|
FileName string `json:"fileName" dc:"文件名"`
|
|||
|
|
FileBytes []byte `json:"fileBytes" dc:"文件字节流"`
|
|||
|
|
FileStoreURL string `json:"fileStoreURL" dc:"文件存储URL"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type UploadFileBytesRes struct {
|
|||
|
|
FileURL string `json:"fileURL" dc:"上传地址"`
|
|||
|
|
FileSize int `json:"fileSize" dc:"文件大小"`
|
|||
|
|
FileName string `json:"fileName" dc:"文件名称"`
|
|||
|
|
FileFormat string `json:"fileFormat" dc:"文件格式"`
|
|||
|
|
FileAddressPrefix string `json:"fileAddressPrefix"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type ListCreationInfoReq struct {
|
|||
|
|
g.Meta `path:"/list" method:"get" tags:"创作作品管理" summary:"作品列表" dc:"作品列表"`
|
|||
|
|
|
|||
|
|
Page *beans.Page `json:"page"`
|
|||
|
|
Creator string `json:"creator"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type ListCreationInfoRes struct {
|
|||
|
|
List []*CreationInfoVO `json:"list"`
|
|||
|
|
Total int `json:"total"`
|
|||
|
|
Tree []TimeNode
|
|||
|
|
ImgAddressPrefix string `json:"imgAddressPrefix"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type CreationInfoVO struct {
|
|||
|
|
Id int64 `json:"id,string" dc:"id"`
|
|||
|
|
HtmlFileUrl string `json:"htmlFileUrl"`
|
|||
|
|
ImageUrls []string `json:"imageUrls"`
|
|||
|
|
Theme string `json:"theme"`
|
|||
|
|
Title string `json:"title"`
|
|||
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|||
|
|
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 第一层:日期
|
|||
|
|
type TimeNode struct {
|
|||
|
|
CreatedDate string `json:"createdDate"`
|
|||
|
|
ContentTypes []ContentTypeNode `json:"contentTypes"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 第二层:ContentType
|
|||
|
|
type ContentTypeNode struct {
|
|||
|
|
ContentType string `json:"contentType"`
|
|||
|
|
Themes []ThemeNode `json:"themes"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 第三层:Theme
|
|||
|
|
type ThemeNode struct {
|
|||
|
|
Theme string `json:"theme"`
|
|||
|
|
Titles []TitleNode `json:"titles"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Title 节点:Title-1、Title-2...
|
|||
|
|
type TitleNode struct {
|
|||
|
|
Title string `json:"title"` // 标题+编号:如 通勤-1
|
|||
|
|
HtmlFileUrl string `json:"htmlFileUrl"` // html地址
|
|||
|
|
ImageUrls []ImgNode `json:"imageUrls"` // 图片列表
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 图片
|
|||
|
|
type ImgNode struct {
|
|||
|
|
Name string `json:"name"` // img+1
|
|||
|
|
Url string `json:"url"`
|
|||
|
|
}
|