Skip to content

S-04 Forgot Password

學生端登入與設定設計規格
畫面用途

當用戶無法登入時,提供一個安全的路徑來驗證身份並發送重設郵件。此畫面必須簡潔,避免干擾,並引導用戶離開 App 去檢查郵箱。

閱讀完整規格 ↓

內容依原始規格呈現 · 查看 Markdown 來源 ↗需具備倉庫查看權限

重設密碼

🎨 Figma: forgot_password 🔗 · overlay 🔗

⚠️ Figma 缺失: S-04-B Reset Password(郵件重設密碼)、S-04-C Reset Success(重設成功)在 Figma 中無獨立 Frame。

🎯 功能定位

當用戶無法登入時,提供一個安全的路徑來驗證身份並發送重設郵件。此畫面必須簡潔,避免干擾,並引導用戶離開 App 去檢查郵箱。

🧱 畫面結構

S-04 主畫面:

  • Header: < Back to Login
  • Body:
    • [ Key Icon / Image ] ← 視覺暗示
    • Forgot Password? ← 標題
    • Enter your email to reset password. ← 輔助文字
    • Email Address[ example@nihao.com ]
  • CTA: [ Send Reset Link ]

S-04-A 成功發送狀態:

  • Body:
    • [ Check Mail Icon ]
    • Email Sent!
    • We've sent a link to your email.
  • CTA: [ Open Email App ] ← 深層連結跳轉
  • Footer: Resend in (59s) ← 防騷擾冷卻

S-04-B Reset Password(修改新密碼):

  • Header: < Back
  • Body:
    • Reset Password ← 標題
    • Create a new, strong password.
    • New Password[ ******** (eye) ]
    • Confirm New Password[ ******** (eye) ]
  • CTA: [ Reset Password ]

S-04-C Reset Success(重設成功):

  • Body:
    • [ Success Icon ] ← 綠色打勾或吉祥物慶祝
    • Password Changed!
    • Your password has been reset successfully.
  • CTA: [ Back to Login ] ← 引導回到 S-02

📦 區塊說明

#區塊元件行為/交互狀態備註
1Top NavBack Button放棄重設,返回登入Default避免用戶被困在重設流程
2FormEmail Input收集重設目標帳號Focus / Error需檢查格式是否含 @
3ActionSend Button觸發後端發送邏輯Loading / Disabled點擊後進入 60s 冷卻
4FeedbackSuccess View提示用戶去收信Success建議加入「開啟郵件 App」按鈕
5SecurityResend Timer防止 API 被惡意刷動Cooldown預設 60 秒
6Form (B)New Password設定新密碼Focus / Error需包含長度或強度檢查
7Form (B)Confirm Pwd防止輸入錯誤Match / Mismatch若不一致則禁用 Reset 按鈕
8Action (B)Reset Button提交新密碼至伺服器Loading / Disabled提交時需帶入郵件中的 Token
9Feedback (C)Success Msg告知最終結果Static視覺上應呈現正向、輕鬆感
10Action (C)Login Button導回登入起點Default完成整個閉環

🔁 交互流程圖

流程圖

正在載入流程圖…

⚙️ 狀態管理

狀態觸發條件畫面表現
Loading點擊發送/重設按鈕按鈕顯示旋轉圖示,防止二次點擊
Format Error郵箱格式錯誤輸入框變紅,提示「Please enter a valid email」
Not Found無效用戶後端統一返回「If this email exists, a link will be sent」
Success發送成功隱藏輸入表單,顯示成功圖標+Open Email App 按鈕
Cooldown發送成功後按鈕變為「Resend (60s)」,進入禁用狀態
Validation密碼不一致或強度不足Confirm Password 下方顯示紅字,Reset 按鈕 Disabled
Token Expiry連結過期彈出 Error:「This link has expired.」引導回 S-04

🧭 畫面導航

當前畫面操作目標畫面條件
S-04點擊 BackS-02 Login直接返回
S-04點擊 Send Reset Link(成功)S-04-A Success ViewAPI 回傳成功
S-04點擊 Send Reset Link(失敗)S-04(停留,顯示錯誤)API 回傳錯誤或格式驗證失敗
S-04-A自動倒數S-04-A(停留,60s 倒數)防止重複發送
S-04-A點擊 Open Email App系統郵件 App(外部跳轉)deep link
S-04-A點擊 ResendS-04(返回重新發送)冷卻完畢後可操作
S-04-B點擊 BackS-04返回重設請求頁
S-04-B點擊 Reset Password(成功)S-04-C SuccessToken 有效 + 校驗通過
S-04-B點擊 Reset Password(失敗)S-04-B(停留,顯示錯誤)Token 過期或密碼格式不符
S-04-C點擊 Back to LoginS-02 Login完成重設流程

🔎 邏輯自我檢查

  1. 安全性: 郵件連結是否具備單次有效性(One-time link)?(確認:後端邏輯)。
  2. 便利性: 修改完後是否必須手動登入?(確認:為了安全感,引導回 S-02 手動登入是 EdTech 常見做法)。
  3. 視覺回饋: 密碼強度是否有簡單的色條提示?(建議:增加紅/黃/綠條,提升用戶體驗)。

提交版本內容版本 29c89979提交 5ca7557規格文件,功能實現狀態另行確認