3 Commits
Author SHA1 Message Date
chiyiandDevin e54f989f98 pay: submit.php 回到 302,收银台页落在 /cashier.php
直出页面时 POST 表单刷新会丢/重复提交。改为 PRG:
submit.php 建单后 302 到 /cashier.php?trade_no=(后端渲染同一
收银台页,按订单当前状态展示,刷新安全);nginx 放行 cashier.php。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-11-02 23:45:45 +08:00
chiyiandDevin e2ba38a0c7 docker: nginx listens on 80 and 8890, backend moves to internal 8891
Deploy platforms that route to the container's exposed/compose port
(8890) were hitting the fun backend directly, which 404s unmatched
GET paths. Now nginx answers on both ports so either routing lands
on the SPA/API proxy layer.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-08 16:57:46 +08:00
chiyiandDevin 5621c32dec add Dockerfile + docker-compose: single-image deploy (nginx + backend)
Multi-stage build: node builds frontend dist, golang builds static
binary (modernc sqlite, CGO off), alpine runtime runs nginx :80 +
backend :8890 in one container. nginx serves SPA with fallback, strips
/api prefix (same as vite dev proxy), proxies protocol endpoints
(/mcp, /m/*, /v1/*, /d/*, /ws/*, *.php) with buffering off for
NDJSON/SSE streams and WS upgrade headers.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-08 08:57:30 +08:00