package dto import ( "gitea.com/red-future/common/beans" "github.com/gogf/gf/v2/frame/g" ) // CreateModelReq 添加模型配置 type CreateModelReq struct { g.Meta `path:"/createModel" method:"post" tags:"模型管理" summary:"创建模型配置" dc:"添加新的模型配置"` ModelName string `p:"modelName" json:"modelName" v:"required#modelName不能为空" dc:"模型名称(唯一标识)"` BaseURL string `p:"baseUrl" json:"baseUrl" v:"required#baseUrl不能为空" dc:"模型服务基础地址(如 http(s)://host:port)"` Route string `p:"route" json:"route" dc:"路由/路径(拼接到 BaseURL 之后的可选路径)"` HttpMethod string `p:"httpMethod" json:"httpMethod" dc:"请求方式:GET/POST(默认POST)"` APIKey string `p:"apiKey" json:"apiKey" dc:"请求密钥绑定(请求头),示例:TTS_API_KEY:your-key"` Enabled int `p:"enabled" json:"enabled" dc:"是否启用:0-禁用,1-启用"` MaxConcurrency int `p:"maxConcurrency" json:"maxConcurrency" dc:"最大并发数"` QueueLimit int `p:"queueLimit" json:"queueLimit" dc:"排队队列上限(超过则拒绝/限流)"` TimeoutMs int `p:"timeoutMs" json:"timeoutMs" dc:"请求超时时间(毫秒)"` RetryTimes int `p:"retryTimes" json:"retryTimes" dc:"失败重试次数"` AutoCleanSeconds int `p:"autoCleanSeconds" json:"autoCleanSeconds" dc:"自动清理间隔(秒)(如清理超时任务/队列)"` Remark string `p:"remark" json:"remark" dc:"备注说明"` } type CreateModelRes struct { ID int64 `json:"id,string" dc:"配置ID"` } // UpdateModelReq 更新模型配置 type UpdateModelReq struct { g.Meta `path:"/updateModel" method:"put" tags:"模型管理" summary:"更新模型配置" dc:"更新指定ID的模型配置"` ID int64 `p:"id" json:"id,string" v:"required#id不能为空" dc:"配置ID"` BaseURL string `p:"baseUrl" json:"baseUrl" dc:"模型服务基础地址"` Route string `p:"route" json:"route" dc:"路由/路径"` HttpMethod *string `p:"httpMethod" json:"httpMethod" dc:"请求方式:GET/POST(可选更新)"` APIKey *string `p:"apiKey" json:"apiKey" dc:"请求密钥绑定(请求头)(可选更新)"` Enabled *int `p:"enabled" json:"enabled" dc:"是否启用:0-禁用,1-启用(可选更新)"` MaxConcurrency *int `p:"maxConcurrency" json:"maxConcurrency" dc:"最大并发数(可选更新)"` QueueLimit *int `p:"queueLimit" json:"queueLimit" dc:"排队队列上限(可选更新)"` TimeoutMs *int `p:"timeoutMs" json:"timeoutMs" dc:"请求超时时间(毫秒)(可选更新)"` RetryTimes *int `p:"retryTimes" json:"retryTimes" dc:"失败重试次数(可选更新)"` AutoCleanSeconds *int `p:"autoCleanSeconds" json:"autoCleanSeconds" dc:"自动清理间隔(秒)(可选更新)"` Remark *string `p:"remark" json:"remark" dc:"备注说明(可选更新)"` } // DeleteModelReq 删除模型配置 type DeleteModelReq struct { g.Meta `path:"/deleteModel" method:"delete" tags:"模型管理" summary:"删除模型配置" dc:"删除指定ID的模型配置"` ID int64 `p:"id" json:"id,string" v:"required#id不能为空" dc:"配置ID"` } // GetModelReq 获取模型配置详情 type GetModelReq struct { g.Meta `path:"/getModel" method:"get" tags:"模型管理" summary:"获取模型配置" dc:"根据模型名称获取配置详情"` ID int64 `p:"id" json:"id,string" v:"required#id不能为空" dc:"配置ID"` } type GetModelRes struct { Model any `json:"model" dc:"模型配置详情"` } // ListModelReq 配置列表 type ListModelReq struct { g.Meta `path:"/listModel" method:"post" tags:"模型管理" summary:"模型配置列表" dc:"分页获取模型配置列表"` Page *beans.Page `p:"page" json:"page" dc:"分页参数"` } type ListModelRes struct { List any `json:"list" dc:"列表数据"` Total int64 `json:"total" dc:"总数"` }