perf: 优化前端加载速度

- 改用 mime 标准库替代硬编码 MIME 类型(更优雅)
- 全局 gzip 中间件替代手动压缩(覆盖所有响应)
- ECharts 改为动态 import,首屏不再加载 1.1MB
- manualChunks 拆分 vue-vendor/ui-vendor 减小主包
- 首屏 gzip 体积从 544KB 降至 236KB(减少 57%)
This commit is contained in:
2026-05-05 13:18:40 +08:00
parent bc30afe106
commit d584b578f1
4 changed files with 387 additions and 151 deletions
+86 -59
View File
@@ -4,8 +4,10 @@ import (
"compress/gzip"
"embed"
"fmt"
"io"
"io/fs"
"log"
"mime"
"net/url"
"os"
"strings"
@@ -225,9 +227,19 @@ func startServer() {
r := gin.Default()
r.MaxMultipartMemory = 32 << 20
mime.AddExtensionType(".js", "application/javascript; charset=utf-8")
mime.AddExtensionType(".mjs", "application/javascript; charset=utf-8")
mime.AddExtensionType(".css", "text/css; charset=utf-8")
mime.AddExtensionType(".html", "text/html; charset=utf-8")
mime.AddExtensionType(".json", "application/json; charset=utf-8")
mime.AddExtensionType(".svg", "image/svg+xml")
mime.AddExtensionType(".woff", "font/woff")
mime.AddExtensionType(".woff2", "font/woff2")
r.Use(middleware.Logger())
r.Use(middleware.Recovery())
r.Use(middleware.Cors())
r.Use(gzipMiddleware())
r.Static("/uploads", "uploads")
router.SetupRoutes(r)
@@ -273,20 +285,13 @@ func setupEmbeddedFrontend(r *gin.Engine) {
return
}
contentType := getContentType(decodedPath)
c.Header("Cache-Control", "public, max-age=31536000, immutable")
if strings.Contains(c.GetHeader("Accept-Encoding"), "gzip") && isCompressible(decodedPath) {
c.Header("Content-Encoding", "gzip")
c.Header("Vary", "Accept-Encoding")
c.Writer.WriteHeader(200)
c.Writer.Header().Set("Content-Type", contentType)
gw := gzip.NewWriter(c.Writer)
gw.Write(data)
gw.Close()
} else {
c.Data(200, contentType, data)
contentType := mime.TypeByExtension(decodedPath)
if contentType == "" {
contentType = "application/octet-stream"
}
c.Header("Cache-Control", "public, max-age=31536000, immutable")
c.Data(200, contentType, data)
})
r.NoRoute(func(c *gin.Context) {
@@ -301,7 +306,10 @@ func setupEmbeddedFrontend(r *gin.Engine) {
decodedPath = path
}
if data, err := fs.ReadFile(distFS, decodedPath); err == nil {
contentType := getContentType(decodedPath)
contentType := mime.TypeByExtension(decodedPath)
if contentType == "" {
contentType = "application/octet-stream"
}
c.Data(200, contentType, data)
return
}
@@ -345,52 +353,71 @@ func getSettingString(settings map[string]interface{}, key, defaultValue string)
return defaultValue
}
func isCompressible(filename string) bool {
ext := strings.ToLower(filename[strings.LastIndex(filename, "."):])
switch ext {
case ".js", ".mjs", ".css", ".html", ".json", ".svg", ".xml", ".txt":
return true
default:
return false
func isCompressibleContentType(contentType string) bool {
return strings.HasPrefix(contentType, "text/") ||
strings.Contains(contentType, "javascript") ||
strings.Contains(contentType, "json") ||
strings.Contains(contentType, "xml") ||
strings.Contains(contentType, "svg")
}
func gzipMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
if !strings.Contains(c.GetHeader("Accept-Encoding"), "gzip") {
c.Next()
return
}
c.Header("Vary", "Accept-Encoding")
c.Writer = &gzipWriter{Writer: gzip.NewWriter(c.Writer), ResponseWriter: c.Writer}
c.Next()
if gw, ok := c.Writer.(*gzipWriter); ok {
contentType := c.Writer.Header().Get("Content-Type")
if !isCompressibleContentType(contentType) {
gw.ResponseWriter = &noopWriter{}
gw.Writer.Close()
c.Writer = gw.ResponseWriter
return
}
gw.Writer.Close()
}
}
}
func getContentType(filename string) string {
ext := strings.ToLower(filename[strings.LastIndex(filename, "."):])
switch ext {
case ".js", ".mjs":
return "application/javascript; charset=utf-8"
case ".css":
return "text/css; charset=utf-8"
case ".html":
return "text/html; charset=utf-8"
case ".json":
return "application/json; charset=utf-8"
case ".png":
return "image/png"
case ".jpg", ".jpeg":
return "image/jpeg"
case ".gif":
return "image/gif"
case ".svg":
return "image/svg+xml"
case ".ico":
return "image/x-icon"
case ".webp":
return "image/webp"
case ".woff":
return "font/woff"
case ".woff2":
return "font/woff2"
case ".ttf":
return "font/ttf"
case ".eot":
return "application/vnd.ms-fontobject"
case ".xml":
return "application/xml"
case ".txt":
return "text/plain; charset=utf-8"
default:
return "application/octet-stream"
}
type gzipWriter struct {
gin.ResponseWriter
Writer *gzip.Writer
}
func (w *gzipWriter) Write(data []byte) (int, error) {
contentType := w.Header().Get("Content-Type")
if !isCompressibleContentType(contentType) {
return w.ResponseWriter.Write(data)
}
if w.Header().Get("Content-Encoding") == "" {
w.Header().Set("Content-Encoding", "gzip")
}
return w.Writer.Write(data)
}
func (w *gzipWriter) WriteString(s string) (int, error) {
contentType := w.Header().Get("Content-Type")
if !isCompressibleContentType(contentType) {
return w.ResponseWriter.WriteString(s)
}
if w.Header().Get("Content-Encoding") == "" {
w.Header().Set("Content-Encoding", "gzip")
}
return io.WriteString(w.Writer, s)
}
type noopWriter struct {
gin.ResponseWriter
}
func (w *noopWriter) Write(data []byte) (int, error) {
return len(data), nil
}
+293 -90
View File
@@ -1,95 +1,298 @@
root@super:/opt/ace/compose/verify# docker compose logs
verify-app | 2026/05/05 03:40:45 database.go:69: Using SQLite database: /app/data/verification_platform.db
verify-app | 2026/05/05 04:59:07 database.go:69: Using SQLite database: /app/data/verification_platform.db
verify-app |
verify-app | 2026/05/05 03:40:45 /app/internal/database/database.go:163
verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0002c8140
verify-app | 2026/05/05 03:40:45 database.go:164: Applications table columns:
verify-app | 2026/05/05 03:40:45 database.go:166: - id (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - user_id (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - name (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - description (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - icon_url (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - app_key (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - billing_type (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - login_policy (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - encrypt_type (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - encrypt_key (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - bind_type (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - max_devices (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - change_limit (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - change_interval (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - change_exceed_action (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - change_deduct_amount (REAL)
verify-app | 2026/05/05 03:40:45 database.go:166: - multi_open_mode (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - max_instances (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - enable_trial (numeric)
verify-app | 2026/05/05 03:40:45 database.go:166: - trial_balance (REAL)
verify-app | 2026/05/05 03:40:45 database.go:166: - trial_days (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - enable_free_period (numeric)
verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_type (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_start (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_end (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_weekdays (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_start_time (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_end_time (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - heartbeat_interval (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - heartbeat_timeout (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - max_attempts (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - lock_duration (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - status (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_mode (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_type (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_interval (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_unit (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_amount (REAL)
verify-app | 2026/05/05 03:40:45 database.go:166: - allow_register (numeric)
verify-app | 2026/05/05 03:40:45 database.go:166: - enable_login_verify (numeric)
verify-app | 2026/05/05 03:40:45 database.go:166: - enable_register_verify (numeric)
verify-app | 2026/05/05 03:40:45 database.go:166: - verify_method (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - email_config_id (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - sms_config_id (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - enable_password_reset (numeric)
verify-app | 2026/05/05 03:40:45 database.go:166: - password_reset_method (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:166: - password_reset_email_id (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - password_reset_sms_id (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:166: - created_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:166: - updated_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:166: - deleted_at (datetime)
verify-app | 2026/05/05 04:59:07 /app/internal/database/database.go:163
verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc000625080
verify-app | 2026/05/05 04:59:07 database.go:164: Applications table columns:
verify-app | 2026/05/05 04:59:07 database.go:166: - id (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - user_id (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - name (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - description (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - icon_url (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - app_key (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - billing_type (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - login_policy (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - encrypt_type (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - encrypt_key (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - bind_type (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - max_devices (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - change_limit (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - change_interval (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - change_exceed_action (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - change_deduct_amount (REAL)
verify-app | 2026/05/05 04:59:07 database.go:166: - multi_open_mode (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - max_instances (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - enable_trial (numeric)
verify-app | 2026/05/05 04:59:07 database.go:166: - trial_balance (REAL)
verify-app | 2026/05/05 04:59:07 database.go:166: - trial_days (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - enable_free_period (numeric)
verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_type (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_start (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_end (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_weekdays (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_start_time (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_end_time (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - heartbeat_interval (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - heartbeat_timeout (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - max_attempts (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - lock_duration (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - status (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_mode (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_type (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_interval (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_unit (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_amount (REAL)
verify-app | 2026/05/05 04:59:07 database.go:166: - allow_register (numeric)
verify-app | 2026/05/05 04:59:07 database.go:166: - enable_login_verify (numeric)
verify-app | 2026/05/05 04:59:07 database.go:166: - enable_register_verify (numeric)
verify-app | 2026/05/05 04:59:07 database.go:166: - verify_method (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - email_config_id (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - sms_config_id (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - enable_password_reset (numeric)
verify-app | 2026/05/05 04:59:07 database.go:166: - password_reset_method (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:166: - password_reset_email_id (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - password_reset_sms_id (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:166: - created_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:166: - updated_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:166: - deleted_at (datetime)
verify-app |
verify-app | 2026/05/05 03:40:45 /app/internal/database/database.go:178
verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0002c9cc0
verify-app | 2026/05/05 03:40:45 database.go:179: AppUsers table columns:
verify-app | 2026/05/05 03:40:45 database.go:181: - id (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:181: - username (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:181: - email (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:181: - password (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:181: - device_id (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:181: - avatar (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:181: - status (TEXT)
verify-app | 2026/05/05 03:40:45 database.go:181: - application_id (INTEGER)
verify-app | 2026/05/05 03:40:45 database.go:181: - balance (REAL)
verify-app | 2026/05/05 03:40:45 database.go:181: - expiry_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:181: - last_login_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:181: - last_heartbeat_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:181: - is_trial_user (numeric)
verify-app | 2026/05/05 03:40:45 database.go:181: - trial_start_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:181: - trial_end_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:181: - created_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:181: - updated_at (datetime)
verify-app | 2026/05/05 03:40:45 database.go:181: - deleted_at (datetime)
verify-app | 2026/05/05 04:59:07 /app/internal/database/database.go:178
verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc00008f970
verify-app | 2026/05/05 04:59:07 database.go:179: AppUsers table columns:
verify-app | 2026/05/05 04:59:07 database.go:181: - id (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:181: - username (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:181: - email (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:181: - password (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:181: - device_id (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:181: - avatar (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:181: - status (TEXT)
verify-app | 2026/05/05 04:59:07 database.go:181: - application_id (INTEGER)
verify-app | 2026/05/05 04:59:07 database.go:181: - balance (REAL)
verify-app | 2026/05/05 04:59:07 database.go:181: - expiry_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:181: - last_login_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:181: - last_heartbeat_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:181: - is_trial_user (numeric)
verify-app | 2026/05/05 04:59:07 database.go:181: - trial_start_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:181: - trial_end_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:181: - created_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:181: - updated_at (datetime)
verify-app | 2026/05/05 04:59:07 database.go:181: - deleted_at (datetime)
verify-app |
verify-app | 2026/05/05 03:40:45 /app/internal/database/database.go:273
verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc000235f40
verify-app | 2026/05/05 03:40:45 database.go:418: Document data already exists, skipping initialization
verify-app | 2026/05/05 03:40:45 database.go:730: Initializing ticket data...
verify-app | 2026/05/05 03:40:45 database.go:734: No dev user found, skipping ticket initialization
verify-app | 2026/05/05 03:40:45 database.go:418: Document data already exists, skipping initialization
verify-app | 2026/05/05 03:40:45 database.go:718: Failed to connect to Redis: dial tcp [::1]:6379: connect: connection refused
verify-app | 2026/05/05 03:40:45 main.go:240: Server starting on port 8080
verify-app | 103.244.89.77 - [Tue, 05 May 2026 03:41:04 UTC] "GET / HTTP/1.1 200 848.29µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 03:41:04 UTC] "GET / HTTP/1.1 200 907.021µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 03:41:04 | 200 | 922.691µs | 103.244.89.77 | GET "/"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 03:41:05 UTC] "GET /logo-black.svg HTTP/1.1 200 34.14µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 03:41:05 UTC] "GET /logo-black.svg HTTP/1.1 200 308.597µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 03:41:05 | 200 | 764.498µs | 103.244.89.77 | GET "/logo-black.svg"
verify-app | 2026/05/05 04:59:07 /app/internal/database/database.go:273
verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0006817f0
verify-app | 2026/05/05 04:59:07 database.go:418: Document data already exists, skipping initialization
verify-app | 2026/05/05 04:59:07 database.go:730: Initializing ticket data...
verify-app | 2026/05/05 04:59:07 database.go:734: No dev user found, skipping ticket initialization
verify-app | 2026/05/05 04:59:07 database.go:418: Document data already exists, skipping initialization
verify-app | 2026/05/05 04:59:07 database.go:718: Failed to connect to Redis: dial tcp [::1]:6379: connect: connection refused
verify-app | 2026/05/05 04:59:07 main.go:241: Server starting on port 8080
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:32 UTC] "GET / HTTP/1.1 200 951.402µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:32 UTC] "GET / HTTP/1.1 200 1.062536ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:32 | 200 | 1.071216ms | 103.244.89.77 | GET "/"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:33 UTC] "GET /assets/index-DoxWyWmZ.js HTTP/1.1 200 359.883482ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:33 UTC] "GET /assets/index-DoxWyWmZ.js HTTP/1.1 200 360.212609ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:33 | 200 | 360.246009ms | 103.244.89.77 | GET "/assets/index-DoxWyWmZ.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:33 UTC] "GET /assets/index-BfXsKSU-.css HTTP/1.1 200 1.071762817s "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:33 UTC] "GET /assets/index-BfXsKSU-.css HTTP/1.1 200 1.071998323s "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:33 | 200 | 1.072024884s | 103.244.89.77 | GET "/assets/index-BfXsKSU-.css"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:34 UTC] "GET /logo-black.svg HTTP/1.1 200 33.351µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:34 UTC] "GET /logo-black.svg HTTP/1.1 200 209.845µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:34 | 200 | 218.144µs | 103.244.89.77 | GET "/logo-black.svg"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:34 UTC] "GET /api/install/status HTTP/1.1 200 479.822µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:34 UTC] "GET /api/install/status HTTP/1.1 200 665.496µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:34 | 200 | 713.857µs | 103.244.89.77 | GET "/api/install/status"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/index-BJnq4yQ9.js HTTP/1.1 200 630.615µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/index-BJnq4yQ9.js HTTP/1.1 200 731.978µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 785.6µs | 103.244.89.77 | GET "/assets/index-BJnq4yQ9.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/admin-C1hzinZI.js HTTP/1.1 200 2.191591ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/admin-C1hzinZI.js HTTP/1.1 200 2.435859ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 2.46971ms | 103.244.89.77 | GET "/assets/admin-C1hzinZI.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Button.vue_vue_type_script_setup_true_lang-BW0CQfxM.js HTTP/1.1 200 464.011µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Button.vue_vue_type_script_setup_true_lang-BW0CQfxM.js HTTP/1.1 200 547.402µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 555.053µs | 103.244.89.77 | GET "/assets/Button.vue_vue_type_script_setup_true_lang-BW0CQfxM.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/toggle-theme.vue_vue_type_script_setup_true_lang-GCJifAgv.js HTTP/1.1 200 2.930561ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/toggle-theme.vue_vue_type_script_setup_true_lang-GCJifAgv.js HTTP/1.1 200 3.121174ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 3.147606ms | 103.244.89.77 | GET "/assets/toggle-theme.vue_vue_type_script_setup_true_lang-GCJifAgv.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/chevron-right-BOMtceEI.js HTTP/1.1 200 542.413µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/chevron-right-BOMtceEI.js HTTP/1.1 200 660.066µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 666.926µs | 103.244.89.77 | GET "/assets/chevron-right-BOMtceEI.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Presence-B2ehKLzp.js HTTP/1.1 200 1.076375ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Presence-B2ehKLzp.js HTTP/1.1 200 1.148237ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 1.156536ms | 103.244.89.77 | GET "/assets/Presence-B2ehKLzp.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/DialogTitle-PnLD98fS.js HTTP/1.1 200 797.488µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/DialogTitle-PnLD98fS.js HTTP/1.1 200 886.741µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 895.283µs | 103.244.89.77 | GET "/assets/DialogTitle-PnLD98fS.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/useForwardExpose-Dyf9JicK.js HTTP/1.1 200 349.559µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/useForwardExpose-Dyf9JicK.js HTTP/1.1 200 1.64715ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 1.722791ms | 103.244.89.77 | GET "/assets/useForwardExpose-Dyf9JicK.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Teleport-DztKJKBh.js HTTP/1.1 200 2.268814ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Teleport-DztKJKBh.js HTTP/1.1 200 3.259817ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 3.306268ms | 103.244.89.77 | GET "/assets/Teleport-DztKJKBh.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/DialogPortal-MXQjtRrV.js HTTP/1.1 200 502.903µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/DialogPortal-MXQjtRrV.js HTTP/1.1 200 638.825µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 647.664µs | 103.244.89.77 | GET "/assets/DialogPortal-MXQjtRrV.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/handleAndDispatchCustomEvent-ChOKVcqp.js HTTP/1.1 200 425.119µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/handleAndDispatchCustomEvent-ChOKVcqp.js HTTP/1.1 200 570.983µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 578.454µs | 103.244.89.77 | GET "/assets/handleAndDispatchCustomEvent-ChOKVcqp.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/nullish-CHIgUVhi.js HTTP/1.1 200 370.958µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/nullish-CHIgUVhi.js HTTP/1.1 200 559.234µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 588.384µs | 103.244.89.77 | GET "/assets/nullish-CHIgUVhi.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-VvbNUUF1.js HTTP/1.1 200 3.449522ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-VvbNUUF1.js HTTP/1.1 200 3.580125ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 3.590716ms | 103.244.89.77 | GET "/assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-VvbNUUF1.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/RovingFocusGroup-DeSHoQAD.js HTTP/1.1 200 412.83µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/RovingFocusGroup-DeSHoQAD.js HTTP/1.1 200 498.162µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 505.482µs | 103.244.89.77 | GET "/assets/RovingFocusGroup-DeSHoQAD.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/useTypeahead-FkQmBycg.js HTTP/1.1 200 274.447µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/useTypeahead-FkQmBycg.js HTTP/1.1 200 334.098µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 341.608µs | 103.244.89.77 | GET "/assets/useTypeahead-FkQmBycg.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/PopperContent-DbsvOHwg.js HTTP/1.1 200 1.518316ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/PopperContent-DbsvOHwg.js HTTP/1.1 200 1.719901ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 1.748232ms | 103.244.89.77 | GET "/assets/PopperContent-DbsvOHwg.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/Collection-BAcqxeuT.js HTTP/1.1 200 1.231559ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/Collection-BAcqxeuT.js HTTP/1.1 200 1.323172ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 1.332092ms | 103.244.89.77 | GET "/assets/Collection-BAcqxeuT.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/utils-BSyFCJg4.js HTTP/1.1 200 286.657µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/utils-BSyFCJg4.js HTTP/1.1 200 455.651µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 482.822µs | 103.244.89.77 | GET "/assets/utils-BSyFCJg4.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/TooltipTrigger.vue_vue_type_script_setup_true_lang-DlgXMLv7.js HTTP/1.1 200 918.692µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/TooltipTrigger.vue_vue_type_script_setup_true_lang-DlgXMLv7.js HTTP/1.1 200 992.774µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 1.000044ms | 103.244.89.77 | GET "/assets/TooltipTrigger.vue_vue_type_script_setup_true_lang-DlgXMLv7.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/config-CtltiSGh.js HTTP/1.1 200 265.406µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/config-CtltiSGh.js HTTP/1.1 200 380.879µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 388.53µs | 103.244.89.77 | GET "/assets/config-CtltiSGh.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/VisuallyHidden-D62_wXQj.js HTTP/1.1 200 901.191µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/VisuallyHidden-D62_wXQj.js HTTP/1.1 200 1.208199ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 1.2418ms | 103.244.89.77 | GET "/assets/VisuallyHidden-D62_wXQj.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/circle-LMAkEZDv.js HTTP/1.1 200 340.489µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/circle-LMAkEZDv.js HTTP/1.1 200 410.51µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 422.5µs | 103.244.89.77 | GET "/assets/circle-LMAkEZDv.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-R6dyfzer.js HTTP/1.1 200 562.003µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-R6dyfzer.js HTTP/1.1 200 648.085µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 655.655µs | 103.244.89.77 | GET "/assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-R6dyfzer.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Label.vue_vue_type_script_setup_true_lang-C5u6Jh0Q.js HTTP/1.1 200 263.076µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Label.vue_vue_type_script_setup_true_lang-C5u6Jh0Q.js HTTP/1.1 200 361.609µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 368.379µs | 103.244.89.77 | GET "/assets/Label.vue_vue_type_script_setup_true_lang-C5u6Jh0Q.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/AvatarImage.vue_vue_type_script_setup_true_lang-ScEmLal1.js HTTP/1.1 200 947.193µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/AvatarImage.vue_vue_type_script_setup_true_lang-ScEmLal1.js HTTP/1.1 200 1.706191ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 1.905176ms | 103.244.89.77 | GET "/assets/AvatarImage.vue_vue_type_script_setup_true_lang-ScEmLal1.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/settings-D5-8pkJR.js HTTP/1.1 200 224.675µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/settings-D5-8pkJR.js HTTP/1.1 200 301.937µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 309.137µs | 103.244.89.77 | GET "/assets/settings-D5-8pkJR.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/CardContent.vue_vue_type_script_setup_true_lang-DPZryuTV.js HTTP/1.1 200 210.565µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/CardContent.vue_vue_type_script_setup_true_lang-DPZryuTV.js HTTP/1.1 200 287.416µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 293.297µs | 103.244.89.77 | GET "/assets/CardContent.vue_vue_type_script_setup_true_lang-DPZryuTV.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Separator.vue_vue_type_script_setup_true_lang-71Wq2rGM.js HTTP/1.1 200 471.451µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Separator.vue_vue_type_script_setup_true_lang-71Wq2rGM.js HTTP/1.1 200 552.923µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 559.943µs | 103.244.89.77 | GET "/assets/Separator.vue_vue_type_script_setup_true_lang-71Wq2rGM.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Badge.vue_vue_type_script_setup_true_lang-DHc6SYF7.js HTTP/1.1 200 1.076226ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Badge.vue_vue_type_script_setup_true_lang-DHc6SYF7.js HTTP/1.1 200 1.159658ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 1.167398ms | 103.244.89.77 | GET "/assets/Badge.vue_vue_type_script_setup_true_lang-DHc6SYF7.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/crown-D4BePwBT.js HTTP/1.1 200 258.036µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/crown-D4BePwBT.js HTTP/1.1 200 414.97µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 437.84µs | 103.244.89.77 | GET "/assets/crown-D4BePwBT.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/zap-D0k7SyOc.js HTTP/1.1 200 232.735µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/zap-D0k7SyOc.js HTTP/1.1 200 564.133µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 661.946µs | 103.244.89.77 | GET "/assets/zap-D0k7SyOc.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/chevrons-up-down-B2NPstpy.js HTTP/1.1 200 338.937µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/chevrons-up-down-B2NPstpy.js HTTP/1.1 200 438.859µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 447.211µs | 103.244.89.77 | GET "/assets/chevrons-up-down-B2NPstpy.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/database-CSOj9u_P.js HTTP/1.1 200 517.933µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/database-CSOj9u_P.js HTTP/1.1 200 634.385µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 702.817µs | 103.244.89.77 | GET "/assets/database-CSOj9u_P.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/ticket-CKyJ7VO7.js HTTP/1.1 200 201.774µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/ticket-CKyJ7VO7.js HTTP/1.1 200 285.656µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 297.788µs | 103.244.89.77 | GET "/assets/ticket-CKyJ7VO7.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/boxes-De9cvdP7.js HTTP/1.1 200 252.987µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/boxes-De9cvdP7.js HTTP/1.1 200 403.63µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 428.881µs | 103.244.89.77 | GET "/assets/boxes-De9cvdP7.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/hash-Dh_yhb_P.js HTTP/1.1 200 300.667µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/hash-Dh_yhb_P.js HTTP/1.1 200 621.695µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 663.856µs | 103.244.89.77 | GET "/assets/hash-Dh_yhb_P.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/git-branch-DOgY_6Y6.js HTTP/1.1 200 261.566µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/git-branch-DOgY_6Y6.js HTTP/1.1 200 291.826µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 296.939µs | 103.244.89.77 | GET "/assets/git-branch-DOgY_6Y6.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/megaphone-CEUfVOUa.js HTTP/1.1 200 1.711251ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/megaphone-CEUfVOUa.js HTTP/1.1 200 1.784914ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 1.791763ms | 103.244.89.77 | GET "/assets/megaphone-CEUfVOUa.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/key-DPABnB2z.js HTTP/1.1 200 252.577µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/key-DPABnB2z.js HTTP/1.1 200 439.281µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 464.581µs | 103.244.89.77 | GET "/assets/key-DPABnB2z.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/users-DmCxDnbH.js HTTP/1.1 200 297.416µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/users-DmCxDnbH.js HTTP/1.1 200 367.048µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 373.268µs | 103.244.89.77 | GET "/assets/users-DmCxDnbH.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/smartphone-DYYdkdw2.js HTTP/1.1 200 306.986µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/smartphone-DYYdkdw2.js HTTP/1.1 200 456.382µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 484.012µs | 103.244.89.77 | GET "/assets/smartphone-DYYdkdw2.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/dollar-sign-oKcJ_qpo.js HTTP/1.1 200 859.431µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/dollar-sign-oKcJ_qpo.js HTTP/1.1 200 942.103µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 950.813µs | 103.244.89.77 | GET "/assets/dollar-sign-oKcJ_qpo.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/variable-mFgZHT-9.js HTTP/1.1 200 235.425µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/variable-mFgZHT-9.js HTTP/1.1 200 429.77µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 456.711µs | 103.244.89.77 | GET "/assets/variable-mFgZHT-9.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/code-rucqtecV.js HTTP/1.1 200 294.567µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/code-rucqtecV.js HTTP/1.1 200 379.628µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 419.351µs | 103.244.89.77 | GET "/assets/code-rucqtecV.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/shield-BHy4a6t5.js HTTP/1.1 200 271.587µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/shield-BHy4a6t5.js HTTP/1.1 200 575.643µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 611.254µs | 103.244.89.77 | GET "/assets/shield-BHy4a6t5.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/plug-BUw8lDqy.js HTTP/1.1 200 1.960456ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/plug-BUw8lDqy.js HTTP/1.1 200 2.07387ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 2.082668ms | 103.244.89.77 | GET "/assets/plug-BUw8lDqy.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/credit-card-f_3GRknG.js HTTP/1.1 200 214.465µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/credit-card-f_3GRknG.js HTTP/1.1 200 299.279µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 310.958µs | 103.244.89.77 | GET "/assets/credit-card-f_3GRknG.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/monitor-Bt5tXtXS.js HTTP/1.1 200 306.878µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/monitor-Bt5tXtXS.js HTTP/1.1 200 431.32µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 439.12µs | 103.244.89.77 | GET "/assets/monitor-Bt5tXtXS.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/message-square-BsejJkia.js HTTP/1.1 200 229.597µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/message-square-BsejJkia.js HTTP/1.1 200 300.117µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 307.418µs | 103.244.89.77 | GET "/assets/message-square-BsejJkia.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/log-out-DjyB9hj4.js HTTP/1.1 200 290.057µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/log-out-DjyB9hj4.js HTTP/1.1 200 475.671µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 487.48µs | 103.244.89.77 | GET "/assets/log-out-DjyB9hj4.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/hard-drive-DWc9iBj_.js HTTP/1.1 200 1.819934ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/hard-drive-DWc9iBj_.js HTTP/1.1 200 2.119611ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 2.170683ms | 103.244.89.77 | GET "/assets/hard-drive-DWc9iBj_.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/mail-DixYhp_V.js HTTP/1.1 200 278.817µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/mail-DixYhp_V.js HTTP/1.1 200 557.173µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 596.234µs | 103.244.89.77 | GET "/assets/mail-DixYhp_V.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/api-Dphx-5K-.js HTTP/1.1 200 491.662µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/api-Dphx-5K-.js HTTP/1.1 200 592.843µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 599.915µs | 103.244.89.77 | GET "/assets/api-Dphx-5K-.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/CardDescription.vue_vue_type_script_setup_true_lang-Cws7j5Zi.js HTTP/1.1 200 352.699µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/CardDescription.vue_vue_type_script_setup_true_lang-Cws7j5Zi.js HTTP/1.1 200 426.53µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 432.45µs | 103.244.89.77 | GET "/assets/CardDescription.vue_vue_type_script_setup_true_lang-Cws7j5Zi.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/CardTitle.vue_vue_type_script_setup_true_lang-vOfK23l8.js HTTP/1.1 200 227.885µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/CardTitle.vue_vue_type_script_setup_true_lang-vOfK23l8.js HTTP/1.1 200 383.039µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 404.941µs | 103.244.89.77 | GET "/assets/CardTitle.vue_vue_type_script_setup_true_lang-vOfK23l8.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/basic-page.vue_vue_type_script_setup_true_lang-CUNv6V1G.js HTTP/1.1 200 513.653µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/basic-page.vue_vue_type_script_setup_true_lang-CUNv6V1G.js HTTP/1.1 200 672.228µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 683.397µs | 103.244.89.77 | GET "/assets/basic-page.vue_vue_type_script_setup_true_lang-CUNv6V1G.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/layout-grid-DPdwq3G3.js HTTP/1.1 200 403.11µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/layout-grid-DPdwq3G3.js HTTP/1.1 200 616.076µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 716.808µs | 103.244.89.77 | GET "/assets/layout-grid-DPdwq3G3.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:41 UTC] "GET /assets/arrow-right-D420FtAf.js HTTP/1.1 200 351.039µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:41 UTC] "GET /assets/arrow-right-D420FtAf.js HTTP/1.1 200 433.26µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:41 | 200 | 439.18µs | 103.244.89.77 | GET "/assets/arrow-right-D420FtAf.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:41 UTC] "GET /assets/index-DwjdSFGn.js HTTP/1.1 200 534.311305ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:41 UTC] "GET /assets/index-DwjdSFGn.js HTTP/1.1 200 534.50403ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:41 | 200 | 534.534179ms | 103.244.89.77 | GET "/assets/index-DwjdSFGn.js"
verify-app | JWT中间件被调用: GET /api/v1/dev/dashboard
verify-app | JWT中间件: 验证成功, user_id=1, role=admin
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /api/v1/dev/dashboard HTTP/1.1 200 9.073197ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /api/v1/dev/dashboard HTTP/1.1 200 9.18858ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:42 | 200 | 9.1995ms | 103.244.89.77 | GET "/api/v1/dev/dashboard"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /avatars/admin.jpg HTTP/1.1 200 656.126µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /avatars/admin.jpg HTTP/1.1 200 948.593µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:42 | 200 | 1.060876ms | 103.244.89.77 | GET "/avatars/admin.jpg"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /logo-black.svg HTTP/1.1 200 34.741µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /logo-black.svg HTTP/1.1 200 135.903µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:42 | 200 | 147.333µs | 103.244.89.77 | GET "/logo-black.svg"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /assets/auto-CquwA8NN.js HTTP/1.1 200 24.780483ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /assets/auto-CquwA8NN.js HTTP/1.1 200 25.023429ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:42 | 200 | 25.231414ms | 103.244.89.77 | GET "/assets/auto-CquwA8NN.js"
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:43 UTC] "GET /world.json HTTP/1.1 200 625.188099ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:43 UTC] "GET /world.json HTTP/1.1 200 625.284262ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" "
verify-app | [GIN] 2026/05/05 - 04:59:43 | 200 | 625.289642ms | 103.244.89.77 | GET "/world.json"
root@super:/opt/ace/compose/verify#
+4 -2
View File
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { ArrowRight, DollarSign, Key, LayoutGrid, Loader2, Ticket, Users } from 'lucide-vue-next'
import * as echarts from 'echarts'
import { useColorMode } from '@vueuse/core'
import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -237,7 +236,10 @@ async function initMapChart() {
return
try {
const worldResponse = await fetch('/world.json')
const [{ default: echarts }, worldResponse] = await Promise.all([
import('echarts'),
fetch('/world.json'),
])
if (!worldResponse.ok) {
throw new Error('Failed to load world map data')
+4
View File
@@ -112,6 +112,10 @@ export default defineConfig({
},
entryFileNames: 'assets/[name]-[hash].js',
assetFileNames: 'assets/[name]-[hash].[ext]',
manualChunks: {
'vue-vendor': ['vue', 'vue-router', 'vue-i18n', 'pinia', '@vueuse/core'],
'ui-vendor': ['reka-ui', 'class-variance-authority', 'clsx', 'tailwind-merge', 'lucide-vue-next'],
},
},
},
},