From 19a80887b3cc9abbe1995e432e12d51a45d609c5 Mon Sep 17 00:00:00 2001 From: wood911010 Date: Tue, 13 Jan 2026 01:05:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E5=8F=91=E9=80=81=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E8=AF=A6=E7=BB=86=E9=94=99=E8=AF=AF=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BB=A5=E4=BE=BF=E8=B0=83=E8=AF=95=EF=BC=8C=E6=94=B9?= =?UTF-8?q?=E5=96=84=E7=94=A8=E6=88=B7=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/service/cu_user_service.go | 15 ++++++--------- backend/pkg/utils/sms.go | 3 ++- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/backend/internal/service/cu_user_service.go b/backend/internal/service/cu_user_service.go index 07c205a..385b70f 100644 --- a/backend/internal/service/cu_user_service.go +++ b/backend/internal/service/cu_user_service.go @@ -442,10 +442,9 @@ func (s *cuUserService) sendSmsCode(ctx context.Context, phone, phoneCountryCode switch sendErr { case utils.ErrSMSRateLimited: return i18n.NewI18nError("500016", lang) // 短信发送过于频繁,请稍后再试 - case utils.ErrSMSSendFailed: - return i18n.NewI18nError("500017", lang) // 短信发送失败 default: - return i18n.NewI18nError("200004", lang) // 短信发送失败 + // 对于短信发送失败,结合本地化消息和具体错误信息,便于调试 + return i18n.NewI18nError("500017", lang, sendErr.Error()) } } @@ -496,10 +495,9 @@ func (s *cuUserService) SendCurrentPhoneSms(ctx context.Context, userID string) switch err { case utils.ErrSMSRateLimited: return i18n.NewI18nError("500016", lang) // 短信发送过于频繁,请稍后再试 - case utils.ErrSMSSendFailed: - return i18n.NewI18nError("500017", lang) // 短信发送失败 default: - return i18n.NewI18nError("200004", lang) // 短信发送失败 + // 对于短信发送失败,结合本地化消息和具体错误信息,便于调试 + return i18n.NewI18nError("500017", lang, err.Error()) } } @@ -535,10 +533,9 @@ func (s *cuUserService) SendNewPhoneSms(ctx context.Context, req *models.CuUserS switch err { case utils.ErrSMSRateLimited: return i18n.NewI18nError("500016", lang) // 短信发送过于频繁,请稍后再试 - case utils.ErrSMSSendFailed: - return i18n.NewI18nError("500017", lang) // 短信发送失败 default: - return i18n.NewI18nError("200004", lang) // 短信发送失败 + // 对于短信发送失败,结合本地化消息和具体错误信息,便于调试 + return i18n.NewI18nError("500017", lang, err.Error()) } } diff --git a/backend/pkg/utils/sms.go b/backend/pkg/utils/sms.go index 2668223..080673b 100644 --- a/backend/pkg/utils/sms.go +++ b/backend/pkg/utils/sms.go @@ -152,7 +152,8 @@ func (s *smsService) SendVerificationCode(ctx context.Context, phone, phoneCount err := s.sendSMS(fullPhone, templateCode, code) if err != nil { fmt.Printf("Failed to send SMS to %s: %v", fullPhone, err) - return ErrSMSSendFailed + // 返回包含详细错误信息的错误,这样上层可以获取具体错误原因 + return fmt.Errorf("SMS send failed: %w", err) } // 缓存验证码