fix(ai): 修复AI代理请求和图片生成功能

- 添加详细的错误日志记录,包括请求读取、渠道选择、请求构建和响应处理的失败情况
- 统一AI接口请求失败返回消息为"AI 接口请求失败"
- 添加对上游响应状态码>=400的检查和错误处理
- 在JWT解析中验证签名方法有效性,防止无效登录状态
- 移除JWT密钥警告日志,改为运行时生成随机密钥
- 调整应用配置模态框中云端和本地选项的显示顺序
- 添加图片生成元数据记录生成类型、模型、尺寸、质量和参考图等信息
- 实现空图片节点直接生成图片而不保留空框的功能
- 完善图片重试逻辑,优先使用保存的元数据进行重试
- 添加参考图片丢失时的错误提示
- 修复图片节点样式圆角显示问题
- 更新AI代理路径为/api/v1/*保持OpenAI风格
- 添加系统设置页面的安全警告提示
This commit is contained in:
HouYunFei
2026-05-21 17:50:14 +08:00
parent f9b2759499
commit d40b9b53c2
14 changed files with 214 additions and 51 deletions
+3 -3
View File
@@ -92,6 +92,9 @@ func Login(username string, password string) (model.AuthSession, error) {
func ParseToken(tokenText string) (TokenClaims, error) {
claims := TokenClaims{}
token, err := jwt.ParseWithClaims(tokenText, &claims, func(token *jwt.Token) (any, error) {
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, errors.New("登录状态无效")
}
return []byte(config.Cfg.JWTSecret), nil
})
if err != nil || !token.Valid {
@@ -215,7 +218,4 @@ func WarnDefaultSecurityConfig() {
if config.Cfg.AdminUsername == "admin" && config.Cfg.AdminPassword == "infinite-canvas" {
log.Println("WARNING: using default admin credentials, please set ADMIN_USERNAME and ADMIN_PASSWORD to safer values before deployment")
}
if config.Cfg.JWTSecret == "infinite-canvas" {
log.Println("WARNING: using default JWT_SECRET, please set a long random value before deployment")
}
}