admin
|
59f7b00b9d
|
chore: 默认品牌名从'微授权'改为'网络验证'
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-16 03:25:30 +08:00 |
|
admin
|
d1228954ea
|
perf: 静态文件完全绕过所有中间件
- 使用 gin.New() 替代 gin.Default(),避免默认中间件
- 添加 skipUploads 包装器,所有中间件跳过 /uploads/ 路径
- 静态文件路由注册在最前面,零中间件开销
- 移除 gzipMiddleware 中重复的跳过逻辑
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 00:22:21 +08:00 |
|
admin
|
0d08bcc0f8
|
perf: 大幅优化静态文件下载性能
- 使用 http.ServeFile 替代手动实现,利用 sendfile 零拷贝
- gzip 中间件跳过 /uploads/ 路径,避免额外开销
- 支持 Range 请求和断点续传(由标准库自动处理)
- 移除不必要的手动 MIME 类型映射
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-12 23:46:26 +08:00 |
|
admin
|
6c191d1b0d
|
perf: 优化静态文件下载性能,支持断点续传
- 替换 Gin 默认 Static 为自定义处理器
- 支持 Range 请求头,实现断点续传
- 使用 1MB 大缓冲区,减少系统调用次数
- 添加 Accept-Ranges 和精确 Content-Length 响应头
- 设置正确的 MIME 类型映射
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-12 23:08:53 +08:00 |
|
admin
|
1cb8f11acd
|
fix: 修复系统设置动态注入到静态文件
- 简化前端 useSiteSettings,直接使用后端注入的 window.__SITE_CONFIG__
- 修复后端 serveIndexHTML 中的设置 key 名,与前端的 key 名一致
- site_name 替换为正确的数据库字段名
- logo 和 favicon 使用 site_logo 和 site_favicon
- 添加 getLogo 函数根据主题自动选择 logo
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-03 13:59:03 +08:00 |
|
admin
|
48889a1c90
|
perf: 优化上传文件缓存策略
- 上传新文件时删除同类型旧文件,避免文件堆积
- 文件名带时间戳,每次上传生成新 URL
- 缓存时间设为 1 年 + immutable,文件更新后 URL 变化自动重新请求
|
2026-05-07 14:12:45 +08:00 |
|
admin
|
4ffb7c0071
|
perf: 为 /uploads 静态资源添加缓存控制
- 设置 Cache-Control: public, max-age=3600 (缓存 1 小时)
- 减少 logo、favicon 等上传文件的重复请求
|
2026-05-07 14:04:20 +08:00 |
|
admin
|
086c5c6573
|
perf: 性能优化与错误修复
- 修复 N+1 查询: users/devices/agents 批量 GROUP BY 替代循环查询
- 添加分页: cards/finance/agents/devices API
- Redis 初始化根据安装配置 redis.enabled 决定是否连接
- 修复 DefaultVal 解析错误: 使用 sql.NullString 处理 NULL 值
- Dashboard 优化: 替换 ECharts 世界地图为 Chart.js 环形饼图
- 适配前端 cards 页面新 API 响应格式
- 添加数据库索引优化查询性能
- 实现可配置的数据清理定时任务
|
2026-05-06 19:19:02 +08:00 |
|
admin
|
92813fde49
|
fix: 修复Alpine上MIME类型检测失败
- fallbackMimeTypes 硬编码映射优先,不依赖系统 mime.types
- Docker 镜像安装 mailcap 包提供 /etc/mime.types
- 移除不可靠的 mime.AddExtensionType 方案
|
2026-05-05 19:58:56 +08:00 |
|
admin
|
6c99256e71
|
fix: 修复gzip中间件ERR_INCOMPLETE_CHUNKED_ENCODING
- 首次Write时删除Content-Length头(压缩后大小不同)
- 非压缩类型直接透传,不经过gzip writer
- 移除有问题的noopWriter方案
|
2026-05-05 14:58:47 +08:00 |
|
admin
|
d584b578f1
|
perf: 优化前端加载速度
- 改用 mime 标准库替代硬编码 MIME 类型(更优雅)
- 全局 gzip 中间件替代手动压缩(覆盖所有响应)
- ECharts 改为动态 import,首屏不再加载 1.1MB
- manualChunks 拆分 vue-vendor/ui-vendor 减小主包
- 首屏 gzip 体积从 544KB 降至 236KB(减少 57%)
|
2026-05-05 13:18:40 +08:00 |
|
admin
|
bc30afe106
|
perf: 添加gzip压缩提升前端资源加载速度
- 对JS/CSS/HTML/JSON/SVG等文本资源启用gzip压缩
- 传输体积可减少70-80%,大幅提升页面加载速度
- 图片和字体等已压缩格式不重复压缩
|
2026-05-05 12:15:46 +08:00 |
|
admin
|
bb802e765c
|
fix: 用硬编码MIME映射替代mime.TypeByExtension
- Alpine镜像缺少/etc/mime.types导致TypeByExtension不可靠
- 使用getContentType函数硬编码常见Web文件MIME类型
- 不再依赖系统环境,确保所有平台行为一致
|
2026-05-05 04:12:12 +08:00 |
|
admin
|
a1e3306fc7
|
fix: 注册MIME类型解决Alpine镜像js文件返回octet-stream的问题
- mime.TypeByExtension在Alpine精简环境中缺少.js等MIME映射
- 使用mime.AddExtensionType在启动时注册常见Web文件类型
|
2026-05-05 03:28:23 +08:00 |
|
admin
|
9253cb23bf
|
fix: 从源头解决下划线文件名问题并优化代码
- Vite配置chunkFileNames去除开头的下划线,避免Go embed/http.FS过滤
- 使用mime.TypeByExtension自动推断Content-Type,替代手动映射
- 移除调试日志(文件列表、全局中间件打印)
|
2026-05-05 02:21:13 +08:00 |
|
admin
|
25fc6e89f7
|
fix: 修复http.FS过滤下划线开头文件导致404的问题
- 使用fs.ReadFile直接读取文件内容替代c.FileFromFS
- http.FileServer/http.FS默认过滤以_开头的文件
- 手动设置Content-Type确保正确的MIME类型
- 移除不再需要的net/http导入
|
2026-05-05 00:44:54 +08:00 |
|
admin
|
13472e56ef
|
debug: 添加嵌入文件系统调试日志
- 启动时列出所有嵌入的assets文件
- 请求assets文件时添加文件查找日志
|
2026-05-04 23:33:19 +08:00 |
|
admin
|
c543b80df1
|
fix: 修复Go embed排除下划线开头文件的问题
- 使用all:前缀确保嵌入所有文件,包括以_开头的文件
- Vite生成的chunk文件名如_id_-0eu8SYUT.js以_开头
- Go的embed指令默认排除_开头的文件,导致这些资源404
|
2026-05-04 21:14:21 +08:00 |
|
admin
|
e229e31079
|
fix: 修复assets文件路径拼接错误
- Gin的*filepath参数包含开头的/,需要去除
- 修复路径拼接导致的双斜杠问题
- 移除自动刷新逻辑,这不是正确的解决方案
|
2026-05-04 16:23:26 +08:00 |
|
admin
|
337ddf6bb4
|
fix: URL解码处理和移除BOM字符
- 添加assets文件路径的URL解码处理,支持特殊字符
- 添加NoRoute处理器的URL解码
- 移除dashboard.go文件中的BOM字符
- 添加Vite构建配置确保文件名格式正确
|
2026-05-04 16:06:46 +08:00 |
|
admin
|
44d65f1fbc
|
fix: 修复assets文件路径错误
- 修复通配符参数filepath只包含assets/后面的部分的问题
- 正确拼接assets/前缀以查找嵌入的静态资源文件
|
2026-05-04 14:38:46 +08:00 |
|
admin
|
16af684a32
|
fix: 资源加载失败时自动刷新页面
- 添加路由错误处理,当动态导入模块失败时自动刷新页面
- 修复 assets 文件不存在时返回 404 错误
|
2026-05-04 10:54:31 +08:00 |
|
admin
|
a950acb2d6
|
fix: index.html禁用缓存,assets启用长期缓存
- index.html: Cache-Control: no-cache,防止浏览器缓存旧版本
- assets: Cache-Control: max-age=31536000,1年强缓存
|
2026-05-03 20:16:11 +08:00 |
|
admin
|
8b9879816d
|
fix: 修复Gin通配符路由冲突导致panic
- 改用NoRoute替代通配符路由/*filepath
- NoRoute中先检查静态文件存在再返回SHTML
|
2026-05-03 17:25:23 +08:00 |
|
admin
|
20f1bfc32d
|
fix: 嵌入式前端正确服务world.json等静态文件
- 修复/install路由返回登录页问题
- checkConfigFile只检查数据目录
- setupEmbeddedFrontend正确响应项目目录下文件
|
2026-05-03 16:57:38 +08:00 |
|
admin
|
730ad0d126
|
fix: 确保数据目录和上传目录存在后再初始化数据库
|
2026-05-03 13:40:16 +08:00 |
|
admin
|
d7170b45ac
|
feat: 添加管理员账号管理命令
- list-admin: 列出所有管理员账号
- reset-password: 重置指定管理员密码
- create-admin: 创建新管理员账号
用法:
docker exec verify-app ./main list-admin
docker exec verify-app ./main reset-password <用户名> [新密码]
docker exec verify-app ./main create-admin <用户名> <密码> [邮箱]
|
2026-05-03 12:10:31 +08:00 |
|
admin
|
67a67517b0
|
feat: 添加重置管理员密码命令
用法:
docker exec verify-app ./main reset-password admin # 随机生成密码
docker exec verify-app ./main reset-password admin newpass # 指定新密码
docker exec verify-app ./main help # 查看帮助
|
2026-05-03 12:08:32 +08:00 |
|
admin
|
10044b474f
|
feat: 添加云端函数HTTP请求、SMTP邮件、数据库操作能力
- 添加HTTP客户端工具支持GET/POST请求
- 添加SMTP邮件发送功能
- 添加数据库操作(db.getRecords, db.deleteRecord, db.deleteRecords)
- 添加订单管理云端函数(读取、接收、筛选、成功、失败)
- 添加测试推送和邮件通知云端函数
- 修复云端函数编辑页面预览代码换行显示
- 云端变量数据模型重构(合并数据类型)
|
2026-04-30 20:54:02 +08:00 |
|
Admin
|
afe67d704e
|
Initial commit: 网络验证平台
|
2026-04-27 17:22:56 +08:00 |
|