From 9253cb23bf04c3ab6dcd443805c66fd54d939b03 Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 5 May 2026 02:21:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=8E=E6=BA=90=E5=A4=B4=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E4=B8=8B=E5=88=92=E7=BA=BF=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=B9=B6=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Vite配置chunkFileNames去除开头的下划线,避免Go embed/http.FS过滤 - 使用mime.TypeByExtension自动推断Content-Type,替代手动映射 - 移除调试日志(文件列表、全局中间件打印) --- backend/cmd/main.go | 59 +--- error.txt | 632 +++++++++++++++++++++------------------- frontend/vite.config.ts | 5 +- 3 files changed, 348 insertions(+), 348 deletions(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 148df4c..e147657 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -5,6 +5,7 @@ import ( "fmt" "io/fs" "log" + "mime" "net/url" "os" "strings" @@ -228,11 +229,6 @@ func startServer() { r.Use(middleware.Recovery()) r.Use(middleware.Cors()) - r.Use(func(c *gin.Context) { - fmt.Printf("全局中间件: %s %s\n", c.Request.Method, c.Request.URL.Path) - c.Next() - }) - r.Static("/uploads", "uploads") router.SetupRoutes(r) setupEmbeddedFrontend(r) @@ -255,17 +251,6 @@ func setupEmbeddedFrontend(r *gin.Engine) { return } - log.Printf("[Embed] Listing embedded files in assets/:") - fs.WalkDir(distFS, "assets", func(path string, d fs.DirEntry, err error) error { - if err != nil { - return err - } - if !d.IsDir() { - log.Printf("[Embed] %s", path) - } - return nil - }) - indexHTML, err := fs.ReadFile(distFS, "index.html") if err != nil { log.Printf("Warning: index.html not found in embedded dist") @@ -284,36 +269,15 @@ func setupEmbeddedFrontend(r *gin.Engine) { data, err := fs.ReadFile(distFS, fullPath) if err != nil { - log.Printf("[Assets] File not found in embedded FS: %s, error: %v", fullPath, err) c.Status(404) return } - contentType := "application/octet-stream" - switch { - case strings.HasSuffix(decodedPath, ".js"): - contentType = "application/javascript" - case strings.HasSuffix(decodedPath, ".css"): - contentType = "text/css" - case strings.HasSuffix(decodedPath, ".html"): - contentType = "text/html" - case strings.HasSuffix(decodedPath, ".json"): - contentType = "application/json" - case strings.HasSuffix(decodedPath, ".png"): - contentType = "image/png" - case strings.HasSuffix(decodedPath, ".jpg") || strings.HasSuffix(decodedPath, ".jpeg"): - contentType = "image/jpeg" - case strings.HasSuffix(decodedPath, ".svg"): - contentType = "image/svg+xml" - case strings.HasSuffix(decodedPath, ".ico"): - contentType = "image/x-icon" - case strings.HasSuffix(decodedPath, ".woff"): - contentType = "font/woff" - case strings.HasSuffix(decodedPath, ".woff2"): - contentType = "font/woff2" + contentType := mime.TypeByExtension(decodedPath) + if contentType == "" { + contentType = "application/octet-stream" } - c.Header("Content-Type", contentType) c.Header("Cache-Control", "public, max-age=31536000, immutable") c.Data(200, contentType, data) }) @@ -330,18 +294,9 @@ func setupEmbeddedFrontend(r *gin.Engine) { decodedPath = path } if data, err := fs.ReadFile(distFS, decodedPath); err == nil { - contentType := "application/octet-stream" - switch { - case strings.HasSuffix(decodedPath, ".js"): - contentType = "application/javascript" - case strings.HasSuffix(decodedPath, ".css"): - contentType = "text/css" - case strings.HasSuffix(decodedPath, ".html"): - contentType = "text/html" - case strings.HasSuffix(decodedPath, ".png"): - contentType = "image/png" - case strings.HasSuffix(decodedPath, ".svg"): - contentType = "image/svg+xml" + contentType := mime.TypeByExtension(decodedPath) + if contentType == "" { + contentType = "application/octet-stream" } c.Data(200, contentType, data) return diff --git a/error.txt b/error.txt index cbf5a16..f5551df 100644 --- a/error.txt +++ b/error.txt @@ -1,299 +1,341 @@ root@super:/opt/ace/compose/verify# docker compose logs -verify-app | 2026/05/04 16:14:04 database.go:69: Using SQLite database: /app/data/verification_platform.db +verify-app | 2026/05/04 18:17:35 database.go:69: Using SQLite database: /app/data/verification_platform.db verify-app | -verify-app | 2026/05/04 16:14:04 /app/internal/database/database.go:163 -verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0004a1790 -verify-app | 2026/05/04 16:14:04 database.go:164: Applications table columns: -verify-app | 2026/05/04 16:14:04 database.go:166: - id (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - user_id (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - name (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - description (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - icon_url (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - app_key (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - billing_type (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - login_policy (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - encrypt_type (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - encrypt_key (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - bind_type (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - max_devices (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - change_limit (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - change_interval (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - change_exceed_action (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - change_deduct_amount (REAL) -verify-app | 2026/05/04 16:14:04 database.go:166: - multi_open_mode (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - max_instances (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - enable_trial (numeric) -verify-app | 2026/05/04 16:14:04 database.go:166: - trial_balance (REAL) -verify-app | 2026/05/04 16:14:04 database.go:166: - trial_days (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - enable_free_period (numeric) -verify-app | 2026/05/04 16:14:04 database.go:166: - free_period_type (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - free_period_start (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - free_period_end (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - free_period_weekdays (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - free_period_start_time (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - free_period_end_time (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - heartbeat_interval (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - heartbeat_timeout (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - max_attempts (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - lock_duration (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - status (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - deduction_mode (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - deduction_type (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - deduction_interval (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - deduction_unit (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - deduction_amount (REAL) -verify-app | 2026/05/04 16:14:04 database.go:166: - allow_register (numeric) -verify-app | 2026/05/04 16:14:04 database.go:166: - enable_login_verify (numeric) -verify-app | 2026/05/04 16:14:04 database.go:166: - enable_register_verify (numeric) -verify-app | 2026/05/04 16:14:04 database.go:166: - verify_method (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - email_config_id (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - sms_config_id (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - enable_password_reset (numeric) -verify-app | 2026/05/04 16:14:04 database.go:166: - password_reset_method (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:166: - password_reset_email_id (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - password_reset_sms_id (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:166: - created_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:166: - updated_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:166: - deleted_at (datetime) +verify-app | 2026/05/04 18:17:35 /app/internal/database/database.go:163 +verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc000523250 +verify-app | 2026/05/04 18:17:35 database.go:164: Applications table columns: +verify-app | 2026/05/04 18:17:35 database.go:166: - id (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - user_id (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - name (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - description (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - icon_url (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - app_key (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - billing_type (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - login_policy (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - encrypt_type (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - encrypt_key (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - bind_type (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - max_devices (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - change_limit (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - change_interval (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - change_exceed_action (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - change_deduct_amount (REAL) +verify-app | 2026/05/04 18:17:35 database.go:166: - multi_open_mode (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - max_instances (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - enable_trial (numeric) +verify-app | 2026/05/04 18:17:35 database.go:166: - trial_balance (REAL) +verify-app | 2026/05/04 18:17:35 database.go:166: - trial_days (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - enable_free_period (numeric) +verify-app | 2026/05/04 18:17:35 database.go:166: - free_period_type (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - free_period_start (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - free_period_end (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - free_period_weekdays (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - free_period_start_time (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - free_period_end_time (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - heartbeat_interval (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - heartbeat_timeout (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - max_attempts (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - lock_duration (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - status (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - deduction_mode (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - deduction_type (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - deduction_interval (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - deduction_unit (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - deduction_amount (REAL) +verify-app | 2026/05/04 18:17:35 database.go:166: - allow_register (numeric) +verify-app | 2026/05/04 18:17:35 database.go:166: - enable_login_verify (numeric) +verify-app | 2026/05/04 18:17:35 database.go:166: - enable_register_verify (numeric) +verify-app | 2026/05/04 18:17:35 database.go:166: - verify_method (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - email_config_id (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - sms_config_id (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - enable_password_reset (numeric) +verify-app | 2026/05/04 18:17:35 database.go:166: - password_reset_method (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:166: - password_reset_email_id (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - password_reset_sms_id (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:166: - created_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:166: - updated_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:166: - deleted_at (datetime) verify-app | -verify-app | 2026/05/04 16:14:04 /app/internal/database/database.go:178 -verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc000035620 -verify-app | 2026/05/04 16:14:04 database.go:179: AppUsers table columns: -verify-app | 2026/05/04 16:14:04 database.go:181: - id (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:181: - username (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:181: - email (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:181: - password (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:181: - device_id (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:181: - avatar (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:181: - status (TEXT) -verify-app | 2026/05/04 16:14:04 database.go:181: - application_id (INTEGER) -verify-app | 2026/05/04 16:14:04 database.go:181: - balance (REAL) -verify-app | 2026/05/04 16:14:04 database.go:181: - expiry_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:181: - last_login_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:181: - last_heartbeat_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:181: - is_trial_user (numeric) -verify-app | 2026/05/04 16:14:04 database.go:181: - trial_start_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:181: - trial_end_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:181: - created_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:181: - updated_at (datetime) -verify-app | 2026/05/04 16:14:04 database.go:181: - deleted_at (datetime) +verify-app | 2026/05/04 18:17:35 /app/internal/database/database.go:178 +verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0000a5c40 +verify-app | 2026/05/04 18:17:35 database.go:179: AppUsers table columns: +verify-app | 2026/05/04 18:17:35 database.go:181: - id (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:181: - username (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:181: - email (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:181: - password (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:181: - device_id (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:181: - avatar (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:181: - status (TEXT) +verify-app | 2026/05/04 18:17:35 database.go:181: - application_id (INTEGER) +verify-app | 2026/05/04 18:17:35 database.go:181: - balance (REAL) +verify-app | 2026/05/04 18:17:35 database.go:181: - expiry_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:181: - last_login_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:181: - last_heartbeat_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:181: - is_trial_user (numeric) +verify-app | 2026/05/04 18:17:35 database.go:181: - trial_start_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:181: - trial_end_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:181: - created_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:181: - updated_at (datetime) +verify-app | 2026/05/04 18:17:35 database.go:181: - deleted_at (datetime) verify-app | -verify-app | 2026/05/04 16:14:04 /app/internal/database/database.go:273 -verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0006703c0 -verify-app | 2026/05/04 16:14:04 database.go:418: Document data already exists, skipping initialization -verify-app | 2026/05/04 16:14:04 database.go:730: Initializing ticket data... -verify-app | 2026/05/04 16:14:04 database.go:734: No dev user found, skipping ticket initialization -verify-app | 2026/05/04 16:14:04 database.go:418: Document data already exists, skipping initialization -verify-app | 2026/05/04 16:14:04 database.go:718: Failed to connect to Redis: dial tcp [::1]:6379: connect: connection refused -verify-app | 2026/05/04 16:14:04 main.go:259: [Embed] Listing embedded files in assets/: -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/AvatarImage.vue_vue_type_script_setup_true_lang-AwtCux1q.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Badge.vue_vue_type_script_setup_true_lang-CNCteu2Y.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Button.vue_vue_type_script_setup_true_lang-BlLllVY0.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/CardContent.vue_vue_type_script_setup_true_lang-2t3ueBFv.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/CardDescription.vue_vue_type_script_setup_true_lang-wvSKV2D1.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/CardFooter.vue_vue_type_script_setup_true_lang-Bu5gpSYd.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/CardTitle.vue_vue_type_script_setup_true_lang-ChEybjGX.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Checkbox.vue_vue_type_script_setup_true_lang-BPszeqb4.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Collection-DfeE0uSh.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Command.vue_vue_type_script_setup_true_lang-CwniBVl3.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/DateTimePicker.vue_vue_type_script_setup_true_lang-r3AQlJfI.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/DialogPortal-Bn9Gjund.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/DialogTitle-QVMiDj7-.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/DialogTitle.vue_vue_type_script_setup_true_lang-DePzLTf8.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-Dsmekrlt.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Input.vue_vue_type_script_setup_true_lang-A6F7ctQ3.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Label.vue_vue_type_script_setup_true_lang-C5PsOurb.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/NumberFieldDecrement.vue_vue_type_script_setup_true_lang-BAK-Hri3.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-BzsLoFz-.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/PopperContent-Booxl69c.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Presence-CTwhCmRr.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/RadioGroupItem.vue_vue_type_script_setup_true_lang-CgDf32VH.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/RovingFocusGroup-BaGjPci-.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/RovingFocusItem-BEWX8oC5.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/SelectContent.vue_vue_type_script_setup_true_lang-BYqXsmFr.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Separator.vue_vue_type_script_setup_true_lang-oP6Gakrn.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Switch.vue_vue_type_script_setup_true_lang-BKa-B332.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/TableHeader.vue_vue_type_script_setup_true_lang-BLNNfoFw.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Teleport-BQhbMNI4.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/Textarea.vue_vue_type_script_setup_true_lang-BnGE6NbF.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/TooltipProvider.vue_vue_type_script_setup_true_lang-DUN_T_fI.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/TooltipTrigger.vue_vue_type_script_setup_true_lang-wF74j_pN.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/VisuallyHidden-CWMqYMew.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/VisuallyHiddenInput-_ieYs7Nc.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-0eu8SYUT.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-5OkTbEdI.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-B1_ox5ja.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-B88GIrzB.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-BMtDekB_.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-CDQaESnV.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-CpVdqBly.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-DD42NWXR.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-DGYWQPQA.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-DNrgLBRJ.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-DlCRR9aY.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-Dnjqf1jp.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-eFGVomqZ.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-etCs3sod.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/_id_-gHREqXSQ.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/activity-DIQ3qDUo.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/admin-BmXVP3Wg.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/agent-BpbkQ80n.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/api-Dphx-5K-.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/applications-VA1FS_kR.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/arrow-left-BsrZIACk.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/arrow-right-CLjtUreG.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/arrow-up-_hYMNUoB.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/arrow-up-right-tEBXCY_L.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/auto-CquwA8NN.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/ban-BqLu4DZg.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/basic-page.vue_vue_type_script_setup_true_lang-C2Iz63L5.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/box-CQ-z2ati.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/boxes-DnAPlr22.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/bulk-actions.vue_vue_type_script_setup_true_lang-BjLpaF-T.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/calendar-CCK8yU_9.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/card-types-ccGJcsyB.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/check-DGF4n9et.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/chevron-left-5lBEtZrY.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/chevron-right-DbxG4jDG.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/chevrons-up-down-43hifH_H.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/circle-DpXpnJrx.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/circle-alert-RjJZS7w9.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/circle-check-big-PDxVWoWl.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/circle-x-CjB4CsbI.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/clock-BP4iPMli.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/cloud-CRV5SPEs.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/code-6usHRmLV.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/config-CtltiSGh.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/confirm-dialog.vue_vue_type_script_setup_true_lang-CGjl-v_J.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/copy-DB_HRlKj.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/country-select.vue_vue_type_script_setup_true_lang-bc5ry3w7.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-B0sqG9kr.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-BaCmJaNf.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-Bg0WTX3K.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-Bmd21MXk.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-CHAX4SLa.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-CNUI6iQw.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-CPAXxxW2.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-CTVVv31A.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-CjFEgbHT.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-DGVsp6yJ.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-DKh06boE.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-DPnY941l.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-Dc9loZax.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-Dhlblrv2.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-Dqmi63jD.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-DuSupo4Y.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-DxvMKrWv.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-bxYXug0D.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/create-vJSd7IcH.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/credit-card-BFp_X-6k.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/crown-DYumxbmN.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/database-C3hd9UAM.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/date-range-filter.vue_vue_type_script_setup_true_lang-Dm5JWskv.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/dollar-sign-3s5mQ6B6.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/download-BabT8NS7.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/edit-C_jqMbOJ.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/ellipsis-Be5NK2VA.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/eye-BXVoxpMK.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/file-0_Ppsm6i.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/file-plus-BHp60ovy.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/file-text-CfXoDNLz.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/folder-U8W4znt3.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/git-branch-DwZmTlFA.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/globe-uBUwQqGl.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/handleAndDispatchCustomEvent-ChOKVcqp.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/hard-drive-dOmHSQns.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/hash-BTviwxgw.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/iconify-BVzF0Y74.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-3PXBZiut.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-4hsuKCa7.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-BI5xZS_I.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-BV6kGwWy.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-BbeL3Rqx.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-BfXsKSU-.css -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-Bmtov9Bk.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-BqAUYfr-.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-BrlfUfAN.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-BuBZG3A6.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-C3UtEC7L.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-C4Xvm1u3.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-C87IbmBH.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-CFnskj4E.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-CLa6x-N2.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-CMlK9jy_.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-CMnoguab.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-CpTqpQDN.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-CuY7mC11.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-CxX2AQVx.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-D0dECFXe.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-D2g2EZqx.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-DAye8q2C.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-DBSfZ71o.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-DCGryKi8.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-DJAzccVh.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-DcoBCDzD.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-_0LPZbfY.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-dD0bY0_d.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-n1fFA9ee.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-qVsDJT5D.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-u_flp1M3.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/index-wgrrg61s.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/invite-DQSiHZ39.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/key-Djq0PsqX.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/layers-CNrqR6Nk.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/layout-grid-eEB5gjQt.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/link-DtRMZUEt.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/lock-YJ1jIXZ8.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/lock-open-DwagmGeE.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/log-out-C90ri4oc.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/login-B7MvvS1E.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/mail-CW_wbUad.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/megaphone-ERGzCpXD.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/message-square-CWb9ZJtb.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/minus-BY35ShZ_.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/monitor-DhMvGkMK.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/nullish-CHIgUVhi.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/pencil-DIFk4FKP.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/percent-GYYmbL3f.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/plug-CU7VBhiv.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/plus-BkOfVC7B.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/power-CW4uhMrB.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/receipt-DTMXErsm.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/recharge-42rZlWZE.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/refresh-cw-DKH-0oGP.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/register-BpIRLdoJ.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/request-9cLYCh4S.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/rotate-ccw-jodT4r2H.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/save-osZ0tNMr.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/security-Dp87CtQi.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/send-C3p92zcj.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/server-BHRHGVCz.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/settings-2-C_nhY7Wn.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/settings-B4qMjdK2.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/settings-D_voE_4b.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/shield-BCAAwYCt.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/shield-check-DGGjITlW.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/single-filter.vue_vue_type_script_setup_true_lang-Dxixj7x4.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/smartphone-Ch2MC_py.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/square-pen-C64JUWxC.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/table-columns-0w7-t3wd.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/table-pagination.vue_vue_type_script_setup_true_lang-DGmEkzsw.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/ticket-DKuKYg5D.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/tickets-DOl6qwUK.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/toggle-theme.vue_vue_type_script_setup_true_lang-CIpEKE-w.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/trash-2-BVIldtKB.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/upload-Ch5JWnMn.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/useFormControl-DwztNxnq.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/useForwardExpose-CTsRPGsM.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/useKbd-kRIii9yh.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/useLocale-Cm6lU1fj.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/useTypeahead-Dx-84tHn.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/user-Dv2Vp6ri.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/user-plus-B0b9IhWo.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/users-TTzCHqOY.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/utils-Blg70jis.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/variable-C__MpM-t.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/view-options.vue_vue_type_script_setup_true_lang-DKsjF8Mv.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/wallet-WiG-QA-X.js -verify-app | 2026/05/04 16:14:04 main.go:265: [Embed] assets/zap-ptjzNMWo.js -verify-app | 2026/05/04 16:14:04 main.go:246: Server starting on port 8080 \ No newline at end of file +verify-app | 2026/05/04 18:17:35 /app/internal/database/database.go:273 +verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc00061f110 +verify-app | 2026/05/04 18:17:35 database.go:418: Document data already exists, skipping initialization +verify-app | 2026/05/04 18:17:35 database.go:730: Initializing ticket data... +verify-app | 2026/05/04 18:17:35 database.go:734: No dev user found, skipping ticket initialization +verify-app | 2026/05/04 18:17:35 database.go:418: Document data already exists, skipping initialization +verify-app | 2026/05/04 18:17:35 database.go:718: Failed to connect to Redis: dial tcp [::1]:6379: connect: connection refused +verify-app | 2026/05/04 18:17:35 main.go:258: [Embed] Listing embedded files in assets/: +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/AvatarImage.vue_vue_type_script_setup_true_lang-AwtCux1q.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Badge.vue_vue_type_script_setup_true_lang-CNCteu2Y.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Button.vue_vue_type_script_setup_true_lang-BlLllVY0.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/CardContent.vue_vue_type_script_setup_true_lang-2t3ueBFv.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/CardDescription.vue_vue_type_script_setup_true_lang-wvSKV2D1.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/CardFooter.vue_vue_type_script_setup_true_lang-Bu5gpSYd.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/CardTitle.vue_vue_type_script_setup_true_lang-ChEybjGX.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Checkbox.vue_vue_type_script_setup_true_lang-BPszeqb4.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Collection-DfeE0uSh.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Command.vue_vue_type_script_setup_true_lang-CwniBVl3.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/DateTimePicker.vue_vue_type_script_setup_true_lang-r3AQlJfI.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/DialogPortal-Bn9Gjund.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/DialogTitle-QVMiDj7-.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/DialogTitle.vue_vue_type_script_setup_true_lang-DePzLTf8.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-Dsmekrlt.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Input.vue_vue_type_script_setup_true_lang-A6F7ctQ3.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Label.vue_vue_type_script_setup_true_lang-C5PsOurb.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/NumberFieldDecrement.vue_vue_type_script_setup_true_lang-BAK-Hri3.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-BzsLoFz-.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/PopperContent-Booxl69c.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Presence-CTwhCmRr.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/RadioGroupItem.vue_vue_type_script_setup_true_lang-CgDf32VH.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/RovingFocusGroup-BaGjPci-.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/RovingFocusItem-BEWX8oC5.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/SelectContent.vue_vue_type_script_setup_true_lang-BYqXsmFr.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Separator.vue_vue_type_script_setup_true_lang-oP6Gakrn.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Switch.vue_vue_type_script_setup_true_lang-BKa-B332.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/TableHeader.vue_vue_type_script_setup_true_lang-BLNNfoFw.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Teleport-BQhbMNI4.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/Textarea.vue_vue_type_script_setup_true_lang-BnGE6NbF.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/TooltipProvider.vue_vue_type_script_setup_true_lang-DUN_T_fI.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/TooltipTrigger.vue_vue_type_script_setup_true_lang-wF74j_pN.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/VisuallyHidden-CWMqYMew.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/VisuallyHiddenInput-_ieYs7Nc.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-0eu8SYUT.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-5OkTbEdI.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-B1_ox5ja.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-B88GIrzB.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-BMtDekB_.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-CDQaESnV.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-CpVdqBly.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-DD42NWXR.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-DGYWQPQA.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-DNrgLBRJ.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-DlCRR9aY.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-Dnjqf1jp.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-eFGVomqZ.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-etCs3sod.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/_id_-gHREqXSQ.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/activity-DIQ3qDUo.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/admin-BmXVP3Wg.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/agent-BpbkQ80n.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/api-Dphx-5K-.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/applications-VA1FS_kR.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/arrow-left-BsrZIACk.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/arrow-right-CLjtUreG.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/arrow-up-_hYMNUoB.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/arrow-up-right-tEBXCY_L.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/auto-CquwA8NN.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/ban-BqLu4DZg.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/basic-page.vue_vue_type_script_setup_true_lang-C2Iz63L5.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/box-CQ-z2ati.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/boxes-DnAPlr22.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/bulk-actions.vue_vue_type_script_setup_true_lang-BjLpaF-T.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/calendar-CCK8yU_9.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/card-types-ccGJcsyB.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/check-DGF4n9et.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/chevron-left-5lBEtZrY.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/chevron-right-DbxG4jDG.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/chevrons-up-down-43hifH_H.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/circle-DpXpnJrx.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/circle-alert-RjJZS7w9.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/circle-check-big-PDxVWoWl.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/circle-x-CjB4CsbI.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/clock-BP4iPMli.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/cloud-CRV5SPEs.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/code-6usHRmLV.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/config-CtltiSGh.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/confirm-dialog.vue_vue_type_script_setup_true_lang-CGjl-v_J.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/copy-DB_HRlKj.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/country-select.vue_vue_type_script_setup_true_lang-bc5ry3w7.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-B0sqG9kr.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-BaCmJaNf.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-Bg0WTX3K.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-Bmd21MXk.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-CHAX4SLa.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-CNUI6iQw.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-CPAXxxW2.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-CTVVv31A.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-CjFEgbHT.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-DGVsp6yJ.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-DKh06boE.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-DPnY941l.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-Dc9loZax.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-Dhlblrv2.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-Dqmi63jD.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-DuSupo4Y.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-DxvMKrWv.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-bxYXug0D.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/create-vJSd7IcH.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/credit-card-BFp_X-6k.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/crown-DYumxbmN.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/database-C3hd9UAM.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/date-range-filter.vue_vue_type_script_setup_true_lang-Dm5JWskv.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/dollar-sign-3s5mQ6B6.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/download-BabT8NS7.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/edit-C_jqMbOJ.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/ellipsis-Be5NK2VA.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/eye-BXVoxpMK.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/file-0_Ppsm6i.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/file-plus-BHp60ovy.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/file-text-CfXoDNLz.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/folder-U8W4znt3.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/git-branch-DwZmTlFA.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/globe-uBUwQqGl.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/handleAndDispatchCustomEvent-ChOKVcqp.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/hard-drive-dOmHSQns.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/hash-BTviwxgw.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/iconify-BVzF0Y74.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-3PXBZiut.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-4hsuKCa7.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-BI5xZS_I.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-BV6kGwWy.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-BbeL3Rqx.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-BfXsKSU-.css +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-Bmtov9Bk.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-BqAUYfr-.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-BrlfUfAN.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-BuBZG3A6.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-C3UtEC7L.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-C4Xvm1u3.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-C87IbmBH.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-CFnskj4E.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-CLa6x-N2.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-CMlK9jy_.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-CMnoguab.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-CpTqpQDN.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-CuY7mC11.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-CxX2AQVx.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-D0dECFXe.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-D2g2EZqx.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-DAye8q2C.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-DBSfZ71o.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-DCGryKi8.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-DJAzccVh.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-DcoBCDzD.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-_0LPZbfY.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-dD0bY0_d.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-n1fFA9ee.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-qVsDJT5D.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-u_flp1M3.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/index-wgrrg61s.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/invite-DQSiHZ39.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/key-Djq0PsqX.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/layers-CNrqR6Nk.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/layout-grid-eEB5gjQt.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/link-DtRMZUEt.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/lock-YJ1jIXZ8.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/lock-open-DwagmGeE.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/log-out-C90ri4oc.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/login-B7MvvS1E.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/mail-CW_wbUad.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/megaphone-ERGzCpXD.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/message-square-CWb9ZJtb.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/minus-BY35ShZ_.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/monitor-DhMvGkMK.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/nullish-CHIgUVhi.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/pencil-DIFk4FKP.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/percent-GYYmbL3f.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/plug-CU7VBhiv.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/plus-BkOfVC7B.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/power-CW4uhMrB.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/receipt-DTMXErsm.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/recharge-42rZlWZE.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/refresh-cw-DKH-0oGP.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/register-BpIRLdoJ.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/request-9cLYCh4S.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/rotate-ccw-jodT4r2H.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/save-osZ0tNMr.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/security-Dp87CtQi.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/send-C3p92zcj.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/server-BHRHGVCz.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/settings-2-C_nhY7Wn.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/settings-B4qMjdK2.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/settings-D_voE_4b.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/shield-BCAAwYCt.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/shield-check-DGGjITlW.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/single-filter.vue_vue_type_script_setup_true_lang-Dxixj7x4.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/smartphone-Ch2MC_py.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/square-pen-C64JUWxC.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/table-columns-0w7-t3wd.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/table-pagination.vue_vue_type_script_setup_true_lang-DGmEkzsw.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/ticket-DKuKYg5D.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/tickets-DOl6qwUK.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/toggle-theme.vue_vue_type_script_setup_true_lang-CIpEKE-w.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/trash-2-BVIldtKB.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/upload-Ch5JWnMn.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/useFormControl-DwztNxnq.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/useForwardExpose-CTsRPGsM.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/useKbd-kRIii9yh.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/useLocale-Cm6lU1fj.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/useTypeahead-Dx-84tHn.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/user-Dv2Vp6ri.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/user-plus-B0b9IhWo.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/users-TTzCHqOY.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/utils-Blg70jis.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/variable-C__MpM-t.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/view-options.vue_vue_type_script_setup_true_lang-DKsjF8Mv.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/wallet-WiG-QA-X.js +verify-app | 2026/05/04 18:17:35 main.go:264: [Embed] assets/zap-ptjzNMWo.js +verify-app | 2026/05/04 18:17:35 main.go:245: Server starting on port 8080 +verify-app | 全局中间件: GET /admin/card-types +verify-app | 103.244.89.77 - [Mon, 04 May 2026 18:18:21 UTC] "GET /admin/card-types HTTP/1.1 200 482.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 | 103.244.89.77 - [Mon, 04 May 2026 18:18:21 UTC] "GET /admin/card-types HTTP/1.1 200 568.114µ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/04 - 18:18:21 | 200 | 574.186µs | 103.244.89.77 | GET "/admin/card-types" +verify-app | 全局中间件: GET /assets/index-DBSfZ71o.js +verify-app | 全局中间件: GET /assets/index-BfXsKSU-.css +verify-app | 103.244.89.77 - [Mon, 04 May 2026 18:18:22 UTC] "GET /assets/index-DBSfZ71o.js HTTP/1.1 200 467.707189ms "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 - [Mon, 04 May 2026 18:18:22 UTC] "GET /assets/index-DBSfZ71o.js HTTP/1.1 200 467.896982ms "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/04 - 18:18:22 | 200 | 467.906003ms | 103.244.89.77 | GET "/assets/index-DBSfZ71o.js" +verify-app | 103.244.89.77 - [Mon, 04 May 2026 18:18:23 UTC] "GET /assets/index-BfXsKSU-.css HTTP/1.1 200 1.772717056s "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 - [Mon, 04 May 2026 18:18:23 UTC] "GET /assets/index-BfXsKSU-.css HTTP/1.1 200 1.772978804s "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/04 - 18:18:23 | 200 | 1.772997594s | 103.244.89.77 | GET "/assets/index-BfXsKSU-.css" +verify-app | 全局中间件: GET /api/install/status +verify-app | 103.244.89.77 - [Mon, 04 May 2026 18:18:25 UTC] "GET /api/install/status HTTP/1.1 200 523.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 - [Mon, 04 May 2026 18:18:25 UTC] "GET /api/install/status HTTP/1.1 200 661.016µ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/04 - 18:18:25 | 200 | 666.915µs | 103.244.89.77 | GET "/api/install/status" +verify-app | 全局中间件: GET /logo-black.svg +verify-app | 103.244.89.77 - [Mon, 04 May 2026 18:18:25 UTC] "GET /logo-black.svg HTTP/1.1 200 20.46µ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 - [Mon, 04 May 2026 18:18:25 UTC] "GET /logo-black.svg HTTP/1.1 200 94.411µ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/04 - 18:18:25 | 200 | 101.292µs | 103.244.89.77 | GET "/logo-black.svg" +verify-app | 全局中间件: GET /api/v1/dev/card-types +verify-app | JWT中间件被调用: GET /api/v1/dev/card-types +verify-app | JWT中间件: 验证成功, user_id=1, role=admin +verify-app | 2026/05/04 18:18:26 cards.go:78: [DEBUG] handleGetCardTypes called: userID=1, applicationID= +verify-app | 2026/05/04 18:18:26 cards.go:122: [DEBUG] Found 1 card types +verify-app | 2026/05/04 18:18:26 cards.go:124: [DEBUG] CardType 0: ID=1, Name=天卡, ApplicationID=1 +verify-app | 2026/05/04 18:18:26 cards.go:131: [DEBUG] CardType ID=1, Name=天卡, GeneratedCount=0 +verify-app | 103.244.89.77 - [Mon, 04 May 2026 18:18:26 UTC] "GET /api/v1/dev/card-types HTTP/1.1 200 1.682952ms "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 - [Mon, 04 May 2026 18:18:26 UTC] "GET /api/v1/dev/card-types HTTP/1.1 200 1.766753ms "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/04 - 18:18:26 | 200 | 1.773265ms | 103.244.89.77 | GET "/api/v1/dev/card-types" +verify-app | 全局中间件: GET /avatars/admin.jpg +verify-app | 103.244.89.77 - [Mon, 04 May 2026 18:18:26 UTC] "GET /avatars/admin.jpg HTTP/1.1 200 358.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 | 103.244.89.77 - [Mon, 04 May 2026 18:18:26 UTC] "GET /avatars/admin.jpg HTTP/1.1 200 434.731µ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/04 - 18:18:26 | 200 | 441.501µs | 103.244.89.77 | GET "/avatars/admin.jpg" +verify-app | 全局中间件: GET /api/v1/dev/applications +verify-app | JWT中间件被调用: GET /api/v1/dev/applications +verify-app | JWT中间件: 验证成功, user_id=1, role=admin +verify-app | 找到 1 个应用 +verify-app | 103.244.89.77 - [Mon, 04 May 2026 18:18:26 UTC] "GET /api/v1/dev/applications HTTP/1.1 200 1.350663ms "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 - [Mon, 04 May 2026 18:18:26 UTC] "GET /api/v1/dev/applications HTTP/1.1 200 1.422305ms "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/04 - 18:18:26 | 200 | 1.429106ms | 103.244.89.77 | GET "/api/v1/dev/applications" +root@super:/opt/ace/compose/verify# \ No newline at end of file diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 3475710..f70e42e 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -106,7 +106,10 @@ export default defineConfig({ build: { rollupOptions: { output: { - chunkFileNames: 'assets/[name]-[hash].js', + chunkFileNames: (chunkInfo) => { + const name = chunkInfo.name?.replace(/^_+/, '') || 'chunk' + return `assets/${name}-[hash].js` + }, entryFileNames: 'assets/[name]-[hash].js', assetFileNames: 'assets/[name]-[hash].[ext]', },