For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh-tw/docs/web/notifications.md (or send Accept: text/markdown).
通知
應用內通知、按使用者偏好和管理員公告。
初學者演練
先決條件:閱讀下面的兩個初學者指南,完成 Web 本地設定,並在編輯器的根目錄中開啟此 monorepo。網頁設定屬於apps/web/.env.local; Next.js不讀取根.env。預設fake模式下的/dashboard是無資料庫演示; /auth 需要遷移資料庫。
簡而言之:工作區是一個團隊的單獨使用者、資料和設定。伺服器是可信後端;讓提供商金鑰遠離瀏覽器和電話程式碼。遷移是建立或更新表的版本化資料庫更改。人工智慧模型是回答的引擎;型號目錄是伺服器上可用型號 ID 和價格的列表。提供商是一種外部服務,例如人工智慧、電子郵件或計費服務。權利是允許工作區使用某項功能的授權。 Webhook 是一個服務傳送到另一個服務的 URL 的訊息。
1. 以測試會員身份登入並開啟“設定”→“通知”以檢視可用的頻道首選項。
2. 在一個工作區中使用兩名測試成員,並使用 EMAIL_PROVIDER=local 觸發本地測試事件,例如邀請。
3. 確認只有符合條件的會員和已啟用的頻道才會在應用程式或本地發件箱中收到通知。不要向真實會員傳送測試訊息。
對於自定義程式碼,請從提供的 prompts/README.md 開始,然後複製最接近的提示:對於應用程式螢幕為 prompts/new-app-screen.md,對於公共頁面為 prompts/new-landing-page.md。對於伺服器、資料庫或提供商工作,請為您的編碼代理提供本指南的任務,並要求其讀取 AGENTS.md、.ai/PROJECT_CONTEXT.md 和匹配的 .ai/ 映象;檢查此處指定的確切原始檔;列出檔案並在編輯前進行檢查;保留工作區所有權和僅限伺服器的機密;並向您展示差異。告訴它您想要的行為、輸入和輸出欄位、允許的角色、預期的成功和錯誤以及測試帳戶、提供程式或裝置。使用樣本值;永遠不要貼上真正的秘密。
使用產品事件管道
notification-events.ts 將計費、預算、邀請、會員和關聯帳戶活動對映到本地化副本和按會員交付計劃。 API和應用程式客戶端讀取登入工作區的通知;偏好控制合格的頻道。
有些事件有意保留在應用程式內。例如,連線帳戶重新整理失敗不得暴露令牌詳細資訊或觸發未經請求的電子郵件。
尊重收件人的喜好
使用現有的交付計劃、預設首選項和參與者排除選項,而不是單獨向每個成員傳送訊息。事務性電子郵件仍然使用配置的提供商並記錄其自己的傳送結果。
驗證收件人和狀態
測試停用的首選項、排除的參與者、刪除的成員、未讀/已讀行為和另一個工作區。保持動態更新可訪問並驗證本地化訊息。
安裝與配置
通知服務(notification-service.ts)儲存工作區級應用內記錄;GET /api/notifications 為已登入成員列出它們,mark-read 路由更新狀態。按使用者的偏好標誌控制產品更新和安全警報等類別。
成員在 /settings/notifications 中管理偏好。平臺公告通過 announcement-actions 撰寫,並通過同一管道投遞。
GET /api/notifications
PATCH /api/notifications (mark-read)
Emitted on mutations, e.g.:
member.left
member.role_changed實現流程
在成功的變更之後發出通知 —— 絕不在寫入提交之前。保持負載結構化(型別、工作區、引用),使介面無需解析散文即可渲染和路由。
在投遞可停用類別之前檢查偏好標誌;與安全相關的通知(新會話、金鑰變更)應保持強制性。
驗證與排障
驗證停用的偏好會抑制投遞、mark-read 跨會話持久、另一個工作區無法列出這些記錄,以及公告到達預期成員。隨著量級增長,將通知扇出保持在請求的關鍵路徑之外。