diff --git a/CONSTITUTION.md b/CONSTITUTION.md index 6922aa8..fa985df 100644 --- a/CONSTITUTION.md +++ b/CONSTITUTION.md @@ -2,7 +2,7 @@ > 本文件定義專案開發的核心準則與不可違反的規範 > **建立日期**: 2026-01-12 -> **當前版本**: V10.34 (Frontend v2 static assets mounted) +> **當前版本**: V10.35 (Frontend v2 web static assets mounted) > **最後更新**: 2026-04-30 --- diff --git a/app.py b/app.py index d0a57f6..21b2a03 100644 --- a/app.py +++ b/app.py @@ -95,8 +95,8 @@ except Exception as e: sys_log.error(f"無法檢測磁碟空間: {e}") # 🚩 系統版本定義 (備份與顯示用) -# 🚩 2026-04-30 V10.34: Frontend v2 static assets mounted -SYSTEM_VERSION = "V10.34" +# 🚩 2026-04-30 V10.35: Frontend v2 web static assets mounted +SYSTEM_VERSION = "V10.35" # ========================================== # 🔒 SQL Injection 防護函數 diff --git a/config.py b/config.py index 6f0a1fe..0867842 100644 --- a/config.py +++ b/config.py @@ -254,7 +254,7 @@ YOUTUBE_API_KEY = os.getenv('YOUTUBE_API_KEY', '') # ========================================== # 系統版本與路徑 # ========================================== -SYSTEM_VERSION = "V10.34" +SYSTEM_VERSION = "V10.35" LOG_FILE_PATH = os.path.join(BASE_DIR, 'logs/system.log') public_url = PUBLIC_URL # 用於模板顯示 diff --git a/docker-compose.yml b/docker-compose.yml index 910ef5e..add040e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,6 +66,7 @@ services: - ./database:/app/database:ro - ./utils:/app/utils:ro - ./static:/app/static:ro + - ./web/static:/app/web/static:ro # HTML 模板 (熱更新) - ./templates:/app/templates:ro - ./web/templates:/app/web/templates:ro diff --git a/docs/memory/history_logs.md b/docs/memory/history_logs.md index 2315591..cb336c4 100644 --- a/docs/memory/history_logs.md +++ b/docs/memory/history_logs.md @@ -57,7 +57,7 @@ - **Frontend V2 視覺基準立案**: `MOMO Pro/` prototype 與 `docs/guides/frontend_upgrade_roadmap.md` 成為前端更版依據,AGENTS/CONSTITUTION 改以米色工作台、暖墨文字、焦糖橘 accent 與新版 shell 規範作為後續 UI 基準。 - **Frontend V2 Phase 0 assets**: 新增 `static/css/ewoooc-tokens.css`、`static/css/ewoooc-shell.css`、`templates/ewoooc_base.html` 與 `_ewoooc_shell.html`,先建立可重用 shell,不替換既有頁面;憲章補「真實資料與真實頁面」紅線,禁止假資料冒充完成。 - **Dashboard V2 feature flag**: `/` 預設仍走既有 `dashboard.html`,`/?ui=v2` 才渲染 `dashboard_v2.html`;新版頁沿用既有 dashboard 真實資料與篩選/排序參數,不建立 mock 商品或假 KPI。 -- **Frontend V2 static mount**: `momo-app` 補 `./static:/app/static:ro`,確保 Flask `url_for('static', filename='css/ewoooc-*.css')` 能由 bind-mounted static 目錄熱更新。 +- **Frontend V2 static mount**: `momo-app` 補 `./web/static:/app/web/static:ro`,確保 Flask `url_for('static', filename='css/ewoooc-*.css')` 會從實際 `STATIC_DIR=/app/web/static` 讀到 V2 CSS;保留 `./static:/app/static:ro` 供 local-dev Nginx/舊資產相容。 ### 2026-04-28~29:Phase 3e 重構大戰 + daily_sales cache 隱形 bug 根除 - **app.py 縮減 -10.8%**: 7,386 → 6,590 行,11 commits 全綠零 502。 diff --git a/tests/test_docker_compose_runtime_mounts.py b/tests/test_docker_compose_runtime_mounts.py index b0d68e9..c507361 100644 --- a/tests/test_docker_compose_runtime_mounts.py +++ b/tests/test_docker_compose_runtime_mounts.py @@ -11,3 +11,4 @@ def test_momo_app_mounts_gunicorn_config_for_sync_deploys(): assert 'command: ["gunicorn", "--config", "gunicorn.conf.py", "app:app"]' in compose assert "- ./gunicorn.conf.py:/app/gunicorn.conf.py:ro" in compose assert "- ./static:/app/static:ro" in compose + assert "- ./web/static:/app/web/static:ro" in compose diff --git a/tests/test_frontend_v2_assets.py b/tests/test_frontend_v2_assets.py index d75b098..bebafe0 100644 --- a/tests/test_frontend_v2_assets.py +++ b/tests/test_frontend_v2_assets.py @@ -5,8 +5,8 @@ ROOT = Path(__file__).resolve().parents[1] def test_frontend_v2_shell_assets_exist_and_are_indexed(): - assert (ROOT / "static/css/ewoooc-tokens.css").exists() - assert (ROOT / "static/css/ewoooc-shell.css").exists() + assert (ROOT / "web/static/css/ewoooc-tokens.css").exists() + assert (ROOT / "web/static/css/ewoooc-shell.css").exists() assert (ROOT / "templates/ewoooc_base.html").exists() assert (ROOT / "templates/components/_ewoooc_shell.html").exists() diff --git a/static/css/ewoooc-shell.css b/web/static/css/ewoooc-shell.css similarity index 100% rename from static/css/ewoooc-shell.css rename to web/static/css/ewoooc-shell.css diff --git a/static/css/ewoooc-tokens.css b/web/static/css/ewoooc-tokens.css similarity index 100% rename from static/css/ewoooc-tokens.css rename to web/static/css/ewoooc-tokens.css