71 lines
3.4 KiB
Markdown
71 lines
3.4 KiB
Markdown
# UI 規劃(管理者 / 會員)
|
||
|
||
## 會員中心(統一 UI)
|
||
### 會員端
|
||
- 註冊 / 登入 / 忘記密碼 / 修改密碼
|
||
- Email 驗證
|
||
- 個人資料(基本資料、聯絡方式、公司資訊)
|
||
- 收貨地址簿
|
||
- 訂閱管理(清單與退訂)
|
||
- 退訂(單一清單)
|
||
- 連結外站(可選:回到來源站點)
|
||
|
||
### 管理者端
|
||
- 租戶管理(Tenant CRUD)
|
||
- OAuth Client 管理(usage / redirect_uris / client_id / client_secret;scope 由 usage 自動配置)
|
||
- 電子報清單管理(Lists CRUD)
|
||
- 訂閱查詢 / 匯出
|
||
- 審計紀錄查詢
|
||
- 系統設定(安全策略、token 時效)
|
||
- Auth 資源設定(resource / audience / scope / usage mapping)
|
||
|
||
## 各站自建 UI(API)
|
||
### 會員端
|
||
- 登入 / 註冊 / 忘記密碼 / 修改密碼
|
||
- Email 驗證頁(可自建或導回會員中心)
|
||
- 訂閱表單(未登入)
|
||
- 外站自建訂閱偏好管理(登入後,走 API)
|
||
- 退訂頁(從 email token 進來)
|
||
|
||
### 管理者端
|
||
- 站內顯示會員資料(只讀)
|
||
- 站內訂閱狀態顯示
|
||
|
||
## UI 核心原則
|
||
- 會員中心 UI 為統一入口(少數情境)
|
||
- 其餘皆走 API 與各站自建 UI
|
||
- 會員中心 UI 不承擔行銷內容或寄送
|
||
- `MemberCenter.Web` 採 client-first 介面;admin 功能以角色判斷後顯示於同一登入入口內
|
||
- `/admin/*` 由 `Areas/Admin` 提供獨立管理區殼層
|
||
- 非 admin 或未登入存取 `/admin/*` 時,回 `404`
|
||
## UI 路徑對應(Use Cases)
|
||
|
||
### 會員端(統一 UI)
|
||
- UC-01 註冊會員: `/account/register`
|
||
- UC-02 登入: `/account/login`
|
||
- UC-03 登出: `POST /account/logout`
|
||
- UC-04 忘記密碼 / 重設密碼: `/account/forgotpassword`, `/account/resetpassword`
|
||
- UC-04.1 已登入修改密碼: `/account/changepassword`
|
||
- UC-05 Email 驗證: `/account/verifyemail?email=...&token=...`
|
||
- UC-07 訂閱確認(double opt-in): `/newsletter/confirm?token=...`
|
||
- UC-08 取消訂閱(單一清單): `/newsletter/unsubscribe?token=...`
|
||
- UC-09 訂閱偏好管理(外站整合 API): `/newsletter/preferences?list_id=...&email=...`
|
||
- UC-10 會員資料查看 / 編輯: `/profile`
|
||
- UC-10.1 收貨地址簿管理: `/profile/addresses`
|
||
- UC-10.2 我的電子報訂閱: `/profile/subscriptions`
|
||
|
||
### 管理者端(統一 UI)
|
||
- UC-11 租戶管理: `/admin/tenants`
|
||
- UC-11.1 Tenant 可設定 `Send Engine Webhook Client Id`(UUID)
|
||
- UC-12 OAuth Client 管理: `/admin/oauth-clients`(建立時顯示一次 client_secret,可旋轉;可選 `usage=tenant_api` / `send_api` / `web_login` / `webhook_outbound` / `platform_service` / `file_api`;`platform_service` / `web_login` 可不指定 tenant)
|
||
- `redirect_uris` 僅 `web_login` / `webhook_outbound` 需要;其餘 usage 不需要
|
||
- `tenant_api` / `send_api` / `platform_service` / `file_api` 強制 `client_type=confidential`
|
||
- UC-13 電子報清單管理: `/admin/newsletter-lists`
|
||
- UC-14 訂閱查詢 / 匯出: `/admin/subscriptions`, `/admin/subscriptions/export`
|
||
- UC-15 審計紀錄查詢: `/admin/audit-logs`
|
||
- UC-16 安全策略設定: `/admin/security`
|
||
- UC-16.1 Auth 資源設定:建議整併於 `/admin/security` 或其子頁籤,而非獨立新頁
|
||
- 管理 `Issuer` 顯示資訊與非敏感 Auth 設定
|
||
- 管理 resource registry,例如 `member_center_api`、`send_engine_api`、`file_access_api`
|
||
- audience 設定建議放在現有 Auth / Security 設定畫面下,而不是放到 SMTP / Send Engine 整合設定頁
|