工作專案:e:\_AntiGravity\stock_investment
addCandlestickSeries),導致前端拋出例外中斷渲染。已將穩定版庫下載至本地 static/lightweight-charts.js 實現 100% 離線可用,並編寫雙版本跨版本相容層與嚴格日K排序校驗,圖形已完全恢復正常展示。
app_settings 表持久化存放 KD 參數(kd_rsv_period, kd_k_period, kd_d_period)及 RSI、MA 週期。提供 REST API (GET/POST /api/settings) 與前端視覺化「指標參數」設定彈窗。支援一鍵由預設 9,3,3 切換為 5,3,3、14,3,3 或任何自訂值,儲存後即時連動重算並重繪 KD 線。
users 表與安全 SHA-256 雜湊帳密存儲(預設帳號 admin / 密碼 admin123),首頁頂部新增「🔑 登入 (Login)」按鈕。登入成功後切換至「後臺系統 (Admin Portal)」,首頁展示「Talking Log」對話與提問日誌畫面,包含嚴格規定的五大輸入欄位:prompt (文字資料)、date (自動填入當前日期)、time (每秒自動填入時間)、reply (文字資料)、onlinedate (需手動鍵入上線日),並提供即時寫入 DB 與歷史紀錄清單瀏覽/刪除。
127.0.0.1 調整為 0.0.0.0:8000,並同步將前端 API_BASE 重構為動態 window.location.origin,確保同網段內的任何 PC、筆電或手機直接透過 IP 即可完整瀏覽與操作。
create_user, update_user, delete_user, get_users)、RESTful API (/api/users)、獨立命令列管理工具 (user_manager.py) 以及後臺系統「使用者管理」可視化介面(含安全密碼雜湊、重複帳號檢查與防呆防誤刪保護)。
start_service.sh(自動識別虛擬環境、自動安裝套件、即時回顯伺服器 IP)與 Systemd 常駐守護設定檔 stock_service.service,並提供主流 Linux 發行版(Ubuntu/Debian、CentOS/Rocky Linux)的 Python 安裝教學。
| 檔案名稱 | 技術棧 / 格式 | 功能說明與用途 | 狀態 |
|---|---|---|---|
| market_data.db | SQLite 3 資料庫 | 本地實體資料庫,存放台美股標的清單、歷史日K、更新紀錄 | 已建置 (含真實數據) |
| database.py | Python 模組 | 封裝 SQLite DDL、CRUD 操作、標的摘要與歷史查詢邏輯 | 完成 |
| fetcher.py | Python 模組 (yfinance) | 負責自雲端 API 下載股票收盤價、整理 MultiIndex 並批量寫入 DB | 完成 |
| server.py | FastAPI + Uvicorn | 後端 RESTful API 服務(提供 status、history、update、symbols 端點) | 背景常駐運行中 |
| index.html | HTML5 + Tailwind + Chart.js | 前端儀表板:標示最新日期、Update按鈕、Auto Update開關、走勢圖 | 完成 |
| start_service.bat | Windows Batch 腳本 | 一鍵批次檔:自動啟動 Python 後端並於預設瀏覽器開啟儀表板 | 完成 |
| requirements.txt | PIP 依賴清單 | 專案核心依賴套件清單 (fastapi, uvicorn, yfinance, pandas, pydantic) | 完成 |
| start_service.sh | Linux Shell 腳本 | Linux 一鍵啟動腳本 (自動偵測 venv、安裝套件與取得 LAN IP) | 完成 |
| stock_service.service | Systemd 服務設定 | Linux 開機自動啟動與守護進程服務設定檔 | 完成 |
在網頁頂部點擊 「立即更新 (Update DB)」 或勾選 「Auto Update」,即可看到即時更新動畫與最新日期連動。
關閉或重新開機後,只需雙擊資料夾中的批次檔:
start_service.bat