Some checks failed
CD Pipeline / deploy (push) Failing after 59s
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml) - 部署模式: rsync Python 檔案至 188 → docker restart (volume mount) - Dockerfile/requirements 變動時自動重建 Docker image - 部署通知: Telegram (開始/成功/失敗) - 健康檢查: https://mo.wooo.work/health (最多 5 次重試) - 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.2 KiB
5.2 KiB
MOMO Pro System - 用戶流程圖
最後更新:2026-01-29
🔐 登入流程
flowchart TD
A[訪問系統] --> B{已登入?}
B -->|是| C[進入首頁]
B -->|否| D[顯示登入頁]
D --> E[輸入帳密]
E --> F{驗證}
F -->|成功| G[記錄登入歷史]
G --> C
F -->|失敗| H{錯誤次數 >= 5?}
H -->|是| I[鎖定帳號 30 分鐘]
H -->|否| J[顯示錯誤訊息]
J --> D
I --> D
📊 商品價格監控流程
flowchart TD
A[進入商品看板] --> B[載入商品列表]
B --> C{需要篩選?}
C -->|是| D[選擇篩選條件]
D --> E[分類/價格區間/變動類型]
E --> F[套用篩選]
F --> G[顯示篩選結果]
C -->|否| G
G --> H{查看詳情?}
H -->|是| I[點擊商品]
I --> J[顯示價格歷史圖表]
H -->|否| K{匯出報表?}
K -->|是| L[選擇匯出格式]
L --> M[下載 Excel]
K -->|否| N[結束]
📈 每日業績匯入流程
flowchart TD
A[進入雲端匯入頁面] --> B[連接 Google Drive]
B --> C{已授權?}
C -->|否| D[OAuth 授權]
D --> E[取得 Token]
E --> F
C -->|是| F[列出 Drive 檔案]
F --> G[選擇 Excel 檔案]
G --> H[開始匯入]
H --> I[下載檔案]
I --> J[解析 Excel]
J --> K[驗證資料格式]
K --> L{格式正確?}
L -->|否| M[顯示錯誤]
L -->|是| N[寫入資料庫]
N --> O[更新進度條]
O --> P{完成?}
P -->|否| N
P -->|是| Q[顯示匯入結果]
Q --> R[發送 Telegram 通知]
📦 廠商缺貨通知流程
flowchart TD
A[進入廠商缺貨頁面] --> B[選擇匯入]
B --> C[上傳 Excel]
C --> D[解析檔案]
D --> E[比對廠商郵件]
E --> F{所有廠商有郵件?}
F -->|否| G[標記缺少郵件的廠商]
F -->|是| H
G --> H[顯示匯入結果列表]
H --> I[選擇要發送的項目]
I --> J[預覽郵件內容]
J --> K{確認發送?}
K -->|否| L[返回列表]
K -->|是| M[批次發送郵件]
M --> N[更新發送狀態]
N --> O[記錄發送日誌]
O --> P[顯示發送結果]
🤖 AI 文案生成流程
flowchart TD
A[進入 AI 推薦頁面] --> B[選擇功能]
B --> C{選擇類型}
C -->|文案生成| D[輸入商品名稱]
C -->|熱門推薦| E[選擇趨勢來源]
C -->|網路搜尋| F[輸入搜尋關鍵字]
D --> G[選擇文案風格]
G --> H[選擇 AI 提供者]
E --> H
F --> H
H --> I{Ollama or Gemini?}
I -->|Ollama| J[呼叫 Ollama API]
I -->|Gemini| K[呼叫 Gemini API]
J --> L[生成文案]
K --> L
L --> M[顯示結果]
M --> N{滿意?}
N -->|否| O[重新生成]
O --> H
N -->|是| P{收藏?}
P -->|是| Q[加入收藏]
P -->|否| R[複製使用]
👤 用戶管理流程
flowchart TD
A[進入用戶管理] --> B{操作類型}
B -->|新增| C[點擊新增按鈕]
C --> D[填寫用戶資訊]
D --> E[設定角色權限]
E --> F[儲存]
B -->|編輯| G[選擇用戶]
G --> H[修改資訊]
H --> F
B -->|刪除| I[選擇用戶]
I --> J{確認刪除?}
J -->|是| K[刪除用戶]
J -->|否| A
B -->|重設密碼| L[選擇用戶]
L --> M[生成新密碼]
M --> N[通知用戶]
F --> O[更新成功]
K --> O
N --> O
⏰ 爬蟲排程執行流程
flowchart TD
A[排程觸發] --> B[檢查上次執行時間]
B --> C{在執行間隔內?}
C -->|否| D[跳過執行]
C -->|是| E[開始爬蟲]
E --> F[初始化 Chrome Driver]
F --> G{初始化成功?}
G -->|否| H[重試 2 次]
H --> I{成功?}
I -->|否| J[發送錯誤告警]
I -->|是| K
G -->|是| K[遍歷商品列表]
K --> L[爬取商品頁面]
L --> M[解析價格]
M --> N[寫入資料庫]
N --> O{還有商品?}
O -->|是| L
O -->|否| P[更新統計]
P --> Q[發送完成通知]
Q --> R[記錄執行結果]
🔔 通知發送流程
flowchart TD
A[觸發通知] --> B{通知類型}
B -->|業績報告| C[彙整當日業績]
B -->|系統告警| D[取得告警內容]
B -->|價格異動| E[取得異動商品]
C --> F[渲染通知模板]
D --> F
E --> F
F --> G{發送通道}
G -->|Telegram| H[呼叫 Telegram API]
G -->|LINE| I[呼叫 LINE API]
G -->|Email| J[呼叫 SMTP]
H --> K[記錄發送結果]
I --> K
J --> K
K --> L{發送成功?}
L -->|否| M[重試 3 次]
M --> N{成功?}
N -->|否| O[標記失敗]
N -->|是| P[標記成功]
L -->|是| P
📊 業績分析查詢流程
flowchart TD
A[進入業績分析] --> B[選擇日期範圍]
B --> C[選擇分析維度]
C --> D{維度類型}
D -->|品牌| E[載入品牌列表]
D -->|PM| F[載入 PM 列表]
D -->|分類| G[載入分類列表]
E --> H[查詢資料]
F --> H
G --> H
H --> I[計算統計指標]
I --> J[繪製圖表]
J --> K[顯示結果]
K --> L{匯出?}
L -->|是| M[生成 Excel]
M --> N[下載檔案]
L -->|否| O[結束]