feat: update i18n messages and improve error handling

This commit is contained in:
JustSong 2025-02-02 16:25:52 +08:00
parent 5659fde3fb
commit 19998ebb8a
6 changed files with 28 additions and 37 deletions

View File

@ -1,11 +1,5 @@
{ {
"success": "Success", "invalid_input": "Invalid input, please check your input",
"unauthorized": "Unauthorized", "send_email_failed": "failed to send email: ",
"forbidden": "Forbidden", "invalid_parameter": "invalid parameter"
"invalid_token": "Invalid token",
"channel_not_found": "Channel not found",
"invalid_request": "Invalid request",
"internal_error": "Internal server error",
"quota_exceeded": "Quota exceeded",
"invalid_input": "Invalid input, please check your input"
} }

View File

@ -1,11 +1,5 @@
{ {
"success": "成功", "invalid_input": "无效的输入,请检查您的输入",
"unauthorized": "未授权", "send_email_failed": "发送邮件失败:",
"forbidden": "禁止访问", "invalid_parameter": "无效的参数"
"invalid_token": "无效的令牌",
"channel_not_found": "未找到渠道",
"invalid_request": "无效的请求",
"internal_error": "服务器内部错误",
"quota_exceeded": "配额已用尽",
"invalid_input": "无效的输入,请检查您的输入"
} }

View File

@ -5,11 +5,12 @@ import (
"crypto/tls" "crypto/tls"
"encoding/base64" "encoding/base64"
"fmt" "fmt"
"github.com/songquanpeng/one-api/common/config"
"net" "net"
"net/smtp" "net/smtp"
"strings" "strings"
"time" "time"
"github.com/songquanpeng/one-api/common/config"
) )
func shouldAuth() bool { func shouldAuth() bool {
@ -98,8 +99,8 @@ func SendEmail(subject string, receiver string, content string) error {
if err != nil { if err != nil {
return err return err
} }
} else { return nil
err = smtp.SendMail(addr, auth, config.SMTPAccount, to, mail)
} }
err = smtp.SendMail(addr, auth, config.SMTPAccount, to, mail)
return err return err
} }

View File

@ -8,6 +8,7 @@ import (
"github.com/songquanpeng/one-api/common" "github.com/songquanpeng/one-api/common"
"github.com/songquanpeng/one-api/common/config" "github.com/songquanpeng/one-api/common/config"
"github.com/songquanpeng/one-api/common/i18n"
"github.com/songquanpeng/one-api/common/message" "github.com/songquanpeng/one-api/common/message"
"github.com/songquanpeng/one-api/model" "github.com/songquanpeng/one-api/model"
@ -86,7 +87,7 @@ func SendEmailVerification(c *gin.Context) {
if err := common.Validate.Var(email, "required,email"); err != nil { if err := common.Validate.Var(email, "required,email"); err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }
@ -121,7 +122,6 @@ func SendEmailVerification(c *gin.Context) {
"<p>验证码 %d 分钟内有效,如果不是本人操作,请忽略。</p>", config.SystemName, code, common.VerificationValidMinutes) "<p>验证码 %d 分钟内有效,如果不是本人操作,请忽略。</p>", config.SystemName, code, common.VerificationValidMinutes)
err := message.SendEmail(subject, email, content) err := message.SendEmail(subject, email, content)
if err != nil { if err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": err.Error(), "message": err.Error(),
@ -140,7 +140,7 @@ func SendPasswordResetEmail(c *gin.Context) {
if err := common.Validate.Var(email, "required,email"); err != nil { if err := common.Validate.Var(email, "required,email"); err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }
@ -163,7 +163,7 @@ func SendPasswordResetEmail(c *gin.Context) {
if err != nil { if err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": err.Error(), "message": fmt.Sprintf("%s%s", i18n.Translate(c, "send_email_failed"), err.Error()),
}) })
return return
} }
@ -185,7 +185,7 @@ func ResetPassword(c *gin.Context) {
if req.Email == "" || req.Token == "" { if req.Email == "" || req.Token == "" {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }

View File

@ -2,12 +2,14 @@ package controller
import ( import (
"encoding/json" "encoding/json"
"github.com/songquanpeng/one-api/common/config"
"github.com/songquanpeng/one-api/common/helper"
"github.com/songquanpeng/one-api/model"
"net/http" "net/http"
"strings" "strings"
"github.com/songquanpeng/one-api/common/config"
"github.com/songquanpeng/one-api/common/helper"
"github.com/songquanpeng/one-api/common/i18n"
"github.com/songquanpeng/one-api/model"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
@ -38,7 +40,7 @@ func UpdateOption(c *gin.Context) {
if err != nil { if err != nil {
c.JSON(http.StatusBadRequest, gin.H{ c.JSON(http.StatusBadRequest, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }

View File

@ -35,7 +35,7 @@ func Login(c *gin.Context) {
err := json.NewDecoder(c.Request.Body).Decode(&loginRequest) err := json.NewDecoder(c.Request.Body).Decode(&loginRequest)
if err != nil { if err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
"success": false, "success": false,
}) })
return return
@ -44,7 +44,7 @@ func Login(c *gin.Context) {
password := loginRequest.Password password := loginRequest.Password
if username == "" || password == "" { if username == "" || password == "" {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
"success": false, "success": false,
}) })
return return
@ -131,7 +131,7 @@ func Register(c *gin.Context) {
if err != nil { if err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }
@ -371,7 +371,7 @@ func UpdateUser(c *gin.Context) {
if err != nil || updatedUser.Id == 0 { if err != nil || updatedUser.Id == 0 {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }
@ -435,7 +435,7 @@ func UpdateSelf(c *gin.Context) {
if err != nil { if err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }
@ -545,7 +545,7 @@ func CreateUser(c *gin.Context) {
if err != nil || user.Username == "" || user.Password == "" { if err != nil || user.Username == "" || user.Password == "" {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }
@ -601,7 +601,7 @@ func ManageUser(c *gin.Context) {
if err != nil { if err != nil {
c.JSON(http.StatusOK, gin.H{ c.JSON(http.StatusOK, gin.H{
"success": false, "success": false,
"message": "无效的参数", "message": i18n.Translate(c, "invalid_parameter"),
}) })
return return
} }