Commit Graph
14 Commits
Author SHA1 Message Date
zhaoxing 6993c36efb fix:相机优化 2026-10-25 16:16:27 +08:00
zhaoxing a7a8634a96 feat:加一个网站发布公告会弹出来点确定我已知晓的弹窗;mock数据自动匹配接单模板;本地访问模式修改 2026-10-25 12:27:32 +08:00
zhaoxing 25756901cc add:新增同一个工单同一人可以多次拼单:抢单大厅优化 2026-10-24 13:44:34 +08:00
yml2213 6bfeb5a02a fix(caddy): 补缓存策略,消除前端重新部署后旧 index.html 指向已删除 chunk 的问题
前端产物文件名带内容 hash,index.html 不带,而 Caddyfile 里没有任何 Cache-Control。
Caddy 的 file_server 不设该头,浏览器遂按启发式缓存 index.html;一旦命中缓存,
前端重新部署后用户会拿着旧 index 去请求**已从镜像里删掉的旧 chunk**,
表现为后台页面打不开,只能手动强刷恢复(本次部署风控 tab 时就遇到了)。

策略:
- /assets/*(文件名带 hash,内容变则名变)→ public, max-age=31536000, immutable
- 其余静态响应(含 SPA 回退到 index.html 的)→ no-cache,每次校验

两个容易踩的点:
1. header 必须写在 file_server **之前**。route 内按书写顺序执行,
   排在 file_server 之后响应头已写出,就改不动了。
2. SPA 回退(如 /admin/worker-platform)走的是 try_files 内部重写,
   用 `header /index.html` 这种按请求路径匹配的写法**匹配不上**,
   因此改为「排除 /assets 与接口前缀」来覆盖文档类响应。

接口前缀显式排除,避免覆盖后端自己设置的缓存头(handle 匹配后会终止链路,
这些规则本就不会落到 /api 上,显式排除只是防止日后有人在 handle 之外加规则时被误伤)。

验证(部署前用生产同款 caddy 镜像离线做的):
- caddy validate → Valid configuration
- 临时容器跑真实 snippet,实测响应头:
    /assets/foo.js          -> public, max-age=31536000, immutable
    /index.html             -> no-cache
    /admin/worker-platform  -> no-cache
2026-10-02 17:22:48 +08:00
yml2213 1f8252a6bc perf(caddy): encode 提到 handle 之前,API 响应终于会被压缩
抓包发现订单列表响应 75.9KB 明文下发(客户端已发 Accept-Encoding: gzip, br,
响应既无 content-encoding 也无压缩)。原因在 Caddyfile:`encode zstd gzip` 写在
`handle /api/*` 之后,而 Caddy 的 route 按书写顺序执行、handle 匹配后即终止链路,
于是所有 API 响应都绕过了编码器;静态文件一直是压缩的,只是因为它们落在 encode
之后的 file_server。

把 encode 提到 route 内最前面即可(SSE 的 text/event-stream 不在 encode 默认
压缩类型里,事件流不受影响)。后台与打手端 API 同时受益。

验证:部署后 curl 订单列表应出现 content-encoding: gzip 且体积大幅下降;
静态资源仍然压缩;/api/v1/admin/realtime 仍正常流式返回。
2026-10-01 15:39:03 +08:00
yml2213 0dfc1ef0df mall.khhao.com增加 2026-08-23 13:40:06 +08:00
yml2213 bc2909d6f2 打手端迁移至独立子域名 2026-08-16 16:08:38 +08:00
yml2213 e0e4f71830 Caddyfile 增加 live.khhao.com 反代 douyu-login 2026-08-02 11:43:55 +08:00
yml2213 58a902dd3b 增加飞飞领取短链 2026-07-07 21:13:37 +08:00
yml2213 dc8a014601 优化启动流程 2026-04-13 19:01:48 +08:00
yml a95247cd01 修复错误 2026-04-09 18:11:02 +08:00
yml e4ab1f559e 优化了一些文件 增加多店铺 2026-04-09 01:31:47 +08:00
yml a2b09c89e8 开始多平台 多店铺整改 2026-04-08 22:21:11 +08:00
yml 313c036845 init 2026-04-08 16:30:42 +08:00