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>
231 lines
5.2 KiB
Markdown
231 lines
5.2 KiB
Markdown
# MOMO Pro System - 用戶流程圖
|
||
|
||
> 最後更新:2026-01-29
|
||
|
||
---
|
||
|
||
## 🔐 登入流程
|
||
|
||
```mermaid
|
||
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
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 商品價格監控流程
|
||
|
||
```mermaid
|
||
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[結束]
|
||
```
|
||
|
||
---
|
||
|
||
## 📈 每日業績匯入流程
|
||
|
||
```mermaid
|
||
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 通知]
|
||
```
|
||
|
||
---
|
||
|
||
## 📦 廠商缺貨通知流程
|
||
|
||
```mermaid
|
||
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 文案生成流程
|
||
|
||
```mermaid
|
||
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[複製使用]
|
||
```
|
||
|
||
---
|
||
|
||
## 👤 用戶管理流程
|
||
|
||
```mermaid
|
||
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
|
||
```
|
||
|
||
---
|
||
|
||
## ⏰ 爬蟲排程執行流程
|
||
|
||
```mermaid
|
||
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[記錄執行結果]
|
||
```
|
||
|
||
---
|
||
|
||
## 🔔 通知發送流程
|
||
|
||
```mermaid
|
||
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
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 業績分析查詢流程
|
||
|
||
```mermaid
|
||
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[結束]
|
||
```
|