Documentation
¶
Index ¶
- Constants
- func APIKeyAuthMiddleware(db *gorm.DB) gin.HandlerFunc
- func AdminAuthMiddleware(jwtSecret string) gin.HandlerFunc
- func AdminOnlyMiddleware() gin.HandlerFunc
- func GenerateJWT(secret, username string) (string, error)
- func GenerateJWTWithRole(secret, username, role string, apiKeyID int64) (string, error)
- func SetupRouter(cfg *RouterConfig) *gin.Engine
- type AdminHandler
- func (h *AdminHandler) BatchImportAccounts(c *gin.Context)
- func (h *AdminHandler) CreateAPIKey(c *gin.Context)
- func (h *AdminHandler) CreateAccountDirect(c *gin.Context)
- func (h *AdminHandler) CreateGroup(c *gin.Context)
- func (h *AdminHandler) DeleteAPIKey(c *gin.Context)
- func (h *AdminHandler) DeleteAccountDirect(c *gin.Context)
- func (h *AdminHandler) DeleteCharacterAdmin(c *gin.Context)
- func (h *AdminHandler) DeleteGroup(c *gin.Context)
- func (h *AdminHandler) DownloadTaskContent(c *gin.Context)
- func (h *AdminHandler) GetAccountStatusDirect(c *gin.Context)
- func (h *AdminHandler) GetCharacterAdmin(c *gin.Context)
- func (h *AdminHandler) GetCharacterImage(c *gin.Context)
- func (h *AdminHandler) GetDashboard(c *gin.Context)
- func (h *AdminHandler) GetSettings(c *gin.Context)
- func (h *AdminHandler) GetTask(c *gin.Context)
- func (h *AdminHandler) GetVersion(c *gin.Context)
- func (h *AdminHandler) ListAPIKeys(c *gin.Context)
- func (h *AdminHandler) ListAllAccounts(c *gin.Context)
- func (h *AdminHandler) ListCharacters(c *gin.Context)
- func (h *AdminHandler) ListGroups(c *gin.Context)
- func (h *AdminHandler) ListTasks(c *gin.Context)
- func (h *AdminHandler) RefreshAccountTokenDirect(c *gin.Context)
- func (h *AdminHandler) RevealAPIKey(c *gin.Context)
- func (h *AdminHandler) RevealAccountTokens(c *gin.Context)
- func (h *AdminHandler) TestProxy(c *gin.Context)
- func (h *AdminHandler) ToggleCharacterVisibility(c *gin.Context)
- func (h *AdminHandler) TriggerUpgrade(c *gin.Context)
- func (h *AdminHandler) UpdateAPIKey(c *gin.Context)
- func (h *AdminHandler) UpdateAccountDirect(c *gin.Context)
- func (h *AdminHandler) UpdateGroup(c *gin.Context)
- func (h *AdminHandler) UpdateSettings(c *gin.Context)
- type CharacterHandler
- type ImageHandler
- type JWTClaims
- type PostHandler
- type PromptHandler
- type RouterConfig
- type VideoHandler
Constants ¶
const ( RoleAdmin = "admin" // 管理员:拥有所有权限 RoleViewer = "viewer" // 只读用户(API Key 登录):只能查看文档和角色库 )
用户角色常量
Variables ¶
This section is empty.
Functions ¶
func APIKeyAuthMiddleware ¶
func APIKeyAuthMiddleware(db *gorm.DB) gin.HandlerFunc
APIKeyAuthMiddleware /v1/ API 认证中间件(从数据库查询 API Keys)
func AdminAuthMiddleware ¶
func AdminAuthMiddleware(jwtSecret string) gin.HandlerFunc
AdminAuthMiddleware 管理端认证中间件(JWT,支持 Header 和 query 参数)
func AdminOnlyMiddleware ¶
func AdminOnlyMiddleware() gin.HandlerFunc
AdminOnlyMiddleware 仅管理员可访问的中间件(需放在 AdminAuthMiddleware 之后)
func GenerateJWT ¶
GenerateJWT 生成 JWT Token(默认管理员角色)
func GenerateJWTWithRole ¶
GenerateJWTWithRole 生成指定角色的 JWT Token
Types ¶
type AdminHandler ¶
type AdminHandler struct {
// contains filtered or unexported fields
}
AdminHandler 管理端点
func NewAdminHandler ¶
func NewAdminHandler(db *gorm.DB, manager *service.AccountManager, taskStore *service.TaskStore, settings *service.SettingsStore, version string) *AdminHandler
NewAdminHandler 创建管理端点
func (*AdminHandler) BatchImportAccounts ¶ added in v1.3.0
func (h *AdminHandler) BatchImportAccounts(c *gin.Context)
BatchImportAccounts POST /admin/accounts/batch 批量导入账号:自动识别 RT(rt_ 前缀)或 AT,以邮箱为唯一标识 upsert
func (*AdminHandler) CreateAPIKey ¶
func (h *AdminHandler) CreateAPIKey(c *gin.Context)
CreateAPIKey POST /admin/api-keys
func (*AdminHandler) CreateAccountDirect ¶
func (h *AdminHandler) CreateAccountDirect(c *gin.Context)
CreateAccountDirect POST /admin/accounts
func (*AdminHandler) CreateGroup ¶
func (h *AdminHandler) CreateGroup(c *gin.Context)
CreateGroup POST /admin/groups
func (*AdminHandler) DeleteAPIKey ¶
func (h *AdminHandler) DeleteAPIKey(c *gin.Context)
DeleteAPIKey DELETE /admin/api-keys/:id
func (*AdminHandler) DeleteAccountDirect ¶
func (h *AdminHandler) DeleteAccountDirect(c *gin.Context)
DeleteAccountDirect DELETE /admin/accounts/:id
func (*AdminHandler) DeleteCharacterAdmin ¶
func (h *AdminHandler) DeleteCharacterAdmin(c *gin.Context)
DeleteCharacterAdmin DELETE /admin/characters/:id — 删除角色
func (*AdminHandler) DeleteGroup ¶
func (h *AdminHandler) DeleteGroup(c *gin.Context)
DeleteGroup DELETE /admin/groups/:id
func (*AdminHandler) DownloadTaskContent ¶
func (h *AdminHandler) DownloadTaskContent(c *gin.Context)
DownloadTaskContent GET /admin/tasks/:id/content — 下载任务产物(视频或图片)
func (*AdminHandler) GetAccountStatusDirect ¶
func (h *AdminHandler) GetAccountStatusDirect(c *gin.Context)
GetAccountStatusDirect GET /admin/accounts/:id/status
func (*AdminHandler) GetCharacterAdmin ¶
func (h *AdminHandler) GetCharacterAdmin(c *gin.Context)
GetCharacterAdmin GET /admin/characters/:id — 角色详情
func (*AdminHandler) GetCharacterImage ¶
func (h *AdminHandler) GetCharacterImage(c *gin.Context)
GetCharacterImage GET /admin/characters/:id/image — 获取角色头像图片
func (*AdminHandler) GetDashboard ¶
func (h *AdminHandler) GetDashboard(c *gin.Context)
GetDashboard GET /admin/dashboard — 概览统计
func (*AdminHandler) GetSettings ¶
func (h *AdminHandler) GetSettings(c *gin.Context)
GetSettings GET /admin/settings — 获取所有设置
func (*AdminHandler) GetTask ¶
func (h *AdminHandler) GetTask(c *gin.Context)
GetTask GET /admin/tasks/:id(viewer 只能查看自己 API Key 创建的任务)
func (*AdminHandler) GetVersion ¶ added in v1.5.0
func (h *AdminHandler) GetVersion(c *gin.Context)
GetVersion GET /admin/version — 获取版本信息及最新版本
func (*AdminHandler) ListAPIKeys ¶
func (h *AdminHandler) ListAPIKeys(c *gin.Context)
ListAPIKeys GET /admin/api-keys(支持分页 + 关键词 + enabled 筛选)
func (*AdminHandler) ListAllAccounts ¶
func (h *AdminHandler) ListAllAccounts(c *gin.Context)
ListAllAccounts GET /admin/accounts(支持分页 + 多条件筛选)
func (*AdminHandler) ListCharacters ¶
func (h *AdminHandler) ListCharacters(c *gin.Context)
ListCharacters GET /admin/characters — 角色列表(分页 + 状态筛选 + is_public 筛选)
func (*AdminHandler) ListGroups ¶
func (h *AdminHandler) ListGroups(c *gin.Context)
ListGroups GET /admin/groups
func (*AdminHandler) ListTasks ¶
func (h *AdminHandler) ListTasks(c *gin.Context)
ListTasks GET /admin/tasks(viewer 角色只能看到自己 API Key 创建的任务)
func (*AdminHandler) RefreshAccountTokenDirect ¶
func (h *AdminHandler) RefreshAccountTokenDirect(c *gin.Context)
RefreshAccountTokenDirect POST /admin/accounts/:id/refresh
func (*AdminHandler) RevealAPIKey ¶
func (h *AdminHandler) RevealAPIKey(c *gin.Context)
RevealAPIKey GET /admin/api-keys/:id/reveal — 获取完整 Key
func (*AdminHandler) RevealAccountTokens ¶
func (h *AdminHandler) RevealAccountTokens(c *gin.Context)
RevealAccountTokens GET /admin/accounts/:id/tokens — 获取完整 AT 和 RT
func (*AdminHandler) TestProxy ¶
func (h *AdminHandler) TestProxy(c *gin.Context)
TestProxy POST /admin/proxy-test — 测试代理连通性
func (*AdminHandler) ToggleCharacterVisibility ¶
func (h *AdminHandler) ToggleCharacterVisibility(c *gin.Context)
ToggleCharacterVisibility POST /admin/characters/:id/visibility — 切换角色公开/私密
func (*AdminHandler) TriggerUpgrade ¶ added in v1.5.0
func (h *AdminHandler) TriggerUpgrade(c *gin.Context)
TriggerUpgrade POST /admin/upgrade — 触发升级(仅一键安装方式支持)
func (*AdminHandler) UpdateAPIKey ¶
func (h *AdminHandler) UpdateAPIKey(c *gin.Context)
UpdateAPIKey PUT /admin/api-keys/:id
func (*AdminHandler) UpdateAccountDirect ¶
func (h *AdminHandler) UpdateAccountDirect(c *gin.Context)
UpdateAccountDirect PUT /admin/accounts/:id
func (*AdminHandler) UpdateGroup ¶
func (h *AdminHandler) UpdateGroup(c *gin.Context)
UpdateGroup PUT /admin/groups/:id
func (*AdminHandler) UpdateSettings ¶
func (h *AdminHandler) UpdateSettings(c *gin.Context)
UpdateSettings PUT /admin/settings — 更新设置
type CharacterHandler ¶
type CharacterHandler struct {
// contains filtered or unexported fields
}
CharacterHandler /v1/characters 角色管理端点
func NewCharacterHandler ¶
func NewCharacterHandler(scheduler *service.Scheduler, db *gorm.DB) *CharacterHandler
NewCharacterHandler 创建 CharacterHandler
func (*CharacterHandler) CreateCharacter ¶
func (h *CharacterHandler) CreateCharacter(c *gin.Context)
CreateCharacter POST /v1/characters — 创建角色
func (*CharacterHandler) DeleteCharacter ¶
func (h *CharacterHandler) DeleteCharacter(c *gin.Context)
DeleteCharacter DELETE /v1/characters/:id — 删除角色
func (*CharacterHandler) GetCharacter ¶
func (h *CharacterHandler) GetCharacter(c *gin.Context)
GetCharacter GET /v1/characters/:id — 查询角色状态
func (*CharacterHandler) SetPublic ¶
func (h *CharacterHandler) SetPublic(c *gin.Context)
SetPublic POST /v1/characters/:id/public — 设置角色公开
type ImageHandler ¶
type ImageHandler struct {
// contains filtered or unexported fields
}
ImageHandler /v1/images 图片生成端点
func NewImageHandler ¶
func NewImageHandler(scheduler *service.Scheduler, taskStore *service.TaskStore) *ImageHandler
NewImageHandler 创建 ImageHandler
func (*ImageHandler) CreateImageTask ¶
func (h *ImageHandler) CreateImageTask(c *gin.Context)
CreateImageTask POST /v1/images — 创建图片任务
func (*ImageHandler) DownloadImage ¶
func (h *ImageHandler) DownloadImage(c *gin.Context)
DownloadImage GET /v1/images/:id/content — 下载图片
func (*ImageHandler) GetImageTaskStatus ¶
func (h *ImageHandler) GetImageTaskStatus(c *gin.Context)
GetImageTaskStatus GET /v1/images/:id — 查询图片任务状态
type JWTClaims ¶
type JWTClaims struct {
Username string `json:"username"`
Role string `json:"role"` // admin / viewer
APIKeyID int64 `json:"api_key_id"` // viewer 角色对应的 API Key ID(admin 为 0)
jwt.RegisteredClaims
}
JWTClaims JWT 载荷
func ValidateJWT ¶
ValidateJWT 验证 JWT Token
type PostHandler ¶
type PostHandler struct {
// contains filtered or unexported fields
}
PostHandler /v1/posts 帖子管理 + /v1/watermark-free 无水印下载
func NewPostHandler ¶
func NewPostHandler(scheduler *service.Scheduler, taskStore *service.TaskStore, db *gorm.DB) *PostHandler
NewPostHandler 创建 PostHandler
func (*PostHandler) DeletePost ¶
func (h *PostHandler) DeletePost(c *gin.Context)
DeletePost DELETE /v1/posts/:id — 删除帖子
func (*PostHandler) GetWatermarkFreeURL ¶
func (h *PostHandler) GetWatermarkFreeURL(c *gin.Context)
GetWatermarkFreeURL POST /v1/watermark-free — 获取无水印下载链接
func (*PostHandler) PublishPost ¶
func (h *PostHandler) PublishPost(c *gin.Context)
PublishPost POST /v1/posts — 发布视频帖子
type PromptHandler ¶
type PromptHandler struct {
// contains filtered or unexported fields
}
PromptHandler /v1/enhance-prompt 提示词增强端点
func NewPromptHandler ¶
func NewPromptHandler(scheduler *service.Scheduler) *PromptHandler
NewPromptHandler 创建 PromptHandler
func (*PromptHandler) EnhancePrompt ¶
func (h *PromptHandler) EnhancePrompt(c *gin.Context)
EnhancePrompt POST /v1/enhance-prompt — 提示词增强
type RouterConfig ¶
type RouterConfig struct {
DB *gorm.DB
Scheduler *service.Scheduler
TaskStore *service.TaskStore
Manager *service.AccountManager
Settings *service.SettingsStore
JWTSecret string
AdminUser string
AdminPass string
Version string
}
RouterConfig 路由配置
type VideoHandler ¶
type VideoHandler struct {
// contains filtered or unexported fields
}
VideoHandler /v1/videos 核心端点
func NewVideoHandler ¶
func NewVideoHandler(scheduler *service.Scheduler, taskStore *service.TaskStore) *VideoHandler
NewVideoHandler 创建 VideoHandler
func (*VideoHandler) CreateTask ¶
func (h *VideoHandler) CreateTask(c *gin.Context)
CreateTask POST /v1/videos — 创建视频任务(文生视频/图生视频)
func (*VideoHandler) DownloadVideo ¶
func (h *VideoHandler) DownloadVideo(c *gin.Context)
DownloadVideo GET /v1/videos/:id/content — 下载视频
func (*VideoHandler) GetTaskStatus ¶
func (h *VideoHandler) GetTaskStatus(c *gin.Context)
GetTaskStatus GET /v1/videos/:id — 查询任务状态
func (*VideoHandler) RemixTask ¶
func (h *VideoHandler) RemixTask(c *gin.Context)
RemixTask POST /v1/videos/remix — Remix 视频
func (*VideoHandler) StoryboardTask ¶
func (h *VideoHandler) StoryboardTask(c *gin.Context)
StoryboardTask POST /v1/videos/storyboard — 分镜视频