清理旧后端下线后的残留
Some checks failed
Deploy / deploy (push) Has been cancelled

旧 Django 后端 2026-08-26 下线、回滚路径作废,代码里还留着几处以它为前提的
死代码和过期注释。

- PUBLIC_WS_URL / PUBLIC_OJ_URL 全部删除。BaseWebSocket 的
  `${PUBLIC_WS_URL}/${path}/` fallback 是 Channels 时代的写法,而三个子类
  早就各自传 url,等于永不执行;config.vue 里 PUBLIC_OJ_URL 只是个会被
  getWebsiteConfig() 立刻覆盖、且指着 :8000 的假初值。WebSocketConfig.path
  随之去掉,url 改成必填。
- vite.config:删掉 /api2、/ws2 的迁移期注释,换成还成立的约束(代理这三段
  要和 docker/Caddyfile 同步);newBackend 改名 backend。
- 六处 “回滚时旧后端还要读” 换成真实理由:snake_case 保留的结论不变,但因为
  判题机按这套键名写、存量 JSONB 就是这形状。
- CLAUDE.md:数据库一节开头「不写迁移 + 先想清楚回滚」与下一节的 drizzle
  migration 自相矛盾,改掉;判题状态码不再要求同步到 OnlineJudge,理由换成
  历史 submission.result 和沙箱用的就是这套编码。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 09:09:26 -06:00
parent 64cb7b62ef
commit 7793a2fe4c
11 changed files with 33 additions and 51 deletions

View File

@@ -92,9 +92,8 @@ function injectMaxkb(maxkbUrl: string | undefined): Plugin {
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), "PUBLIC_")
// 开发时一律指向本机后端。PUBLIC_OJ_URL / PUBLIC_WS_URL 是迁移期指向
// 旧 Django 用的,端点搬完后不再参与代理。
const newBackend = {
// 开发时一律指向本机后端apps/api3000
const backend = {
target: "http://localhost:3000",
changeOrigin: true,
}
@@ -162,12 +161,11 @@ export default defineConfig(({ mode }) => {
server: {
port: 5173,
proxy: {
// 迁移期间 /api2、/ws2 是「新后端」的临时前缀,/api、/ws 还指着 Django。
// 端点已全部搬完,临时前缀去掉、统一指向新后端 —— 生产的 Caddy 也只认
// /api、/ws、/public 这三段docker/Caddyfile
"/api": newBackend,
"/public": newBackend,
"/ws": { ...newBackend, ws: true },
// 只有这三段过后端,和生产的 Caddy 认的是同一套docker/Caddyfile
// 别在这里加代理规则而不同步改 Caddyfile。
"/api": backend,
"/public": backend,
"/ws": { ...backend, ws: true },
},
},
}