fix: 从源头解决下划线文件名问题并优化代码

- Vite配置chunkFileNames去除开头的下划线,避免Go embed/http.FS过滤
- 使用mime.TypeByExtension自动推断Content-Type,替代手动映射
- 移除调试日志(文件列表、全局中间件打印)
This commit is contained in:
2026-05-05 02:21:13 +08:00
parent 25fc6e89f7
commit 9253cb23bf
3 changed files with 348 additions and 348 deletions
+7 -52
View File
@@ -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
+337 -295
View File
@@ -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
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#
+4 -1
View File
@@ -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]',
},