完善掉线诊断并优化二维码加载

This commit is contained in:
yml2213
2026-07-14 16:06:25 +08:00
parent 7b2d94e22d
commit 3a555c27b2
12 changed files with 388 additions and 31 deletions
+17
View File
@@ -2,6 +2,8 @@ package main
import (
"context"
"crypto/sha256"
"encoding/hex"
"net/http"
"os"
"os/signal"
@@ -53,6 +55,7 @@ func main() {
if err := cfg.ValidateProductionSecurity(); err != nil {
logger.Fatal("production security config invalid", zap.Error(err))
}
logAuthRuntimeIdentity(logger, cfg)
var deps router.Dependencies
db, err := database.OpenMySQL(cfg.MySQLDSN, cfg.Log.Level)
@@ -119,6 +122,20 @@ func main() {
logger.Info("api server stopped")
}
// logAuthRuntimeIdentity 记录可用于排查多实例或部署配置漂移的非敏感身份信息。
func logAuthRuntimeIdentity(logger *zap.Logger, cfg config.Config) {
instanceID, err := os.Hostname()
if err != nil || instanceID == "" {
instanceID = "unknown"
}
sum := sha256.Sum256([]byte(cfg.JWTSecret))
logger.Info("auth runtime identity",
zap.String("instance_id", instanceID),
zap.String("app_env", cfg.AppEnv),
zap.String("jwt_secret_fingerprint", hex.EncodeToString(sum[:])[:12]),
)
}
func newPaymentConfigRepositoryForJobs(cfg config.Config, db *gorm.DB, logger *zap.Logger) *paymentconfig.Repository {
encryptionKey := cfg.PaymentConfigEncryptionKey
var encryptor paymentconfig.Encryptor