Files
ewoooc/docs/USER_FLOW.md
ogt 1b4f3a7bbe
Some checks failed
CD Pipeline / deploy (push) Failing after 59s
feat: EwoooC 初始化 — 完整專案推版至 Gitea
- 建立 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>
2026-04-19 01:21:13 +08:00

231 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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[結束]
```