Files
member-platform/docs/FRONTEND_HANDOFF_SCHEMA_V2.md

3.1 KiB
Raw Blame History

Frontend 交辦清單Schema v2 已完成

目標

前端實現對應後端新模型:

  • 公司companies
  • 品牌站台sites
  • 會員users
  • 系統/模組systems/modules
  • 權限群組permission-groups

既有頁面調整

1) 權限管理頁 /admin/permissions

  • Grant/Revoke payload 改為:
    • scope_type: companysite(下拉選單)
    • scope_id: company_keysite_key
    • system: 必填(例如 mkt
    • module: 選填(空值代表系統層權限)
    • action
  • 表單新增 system 欄位
  • module 改成可選

2) 我的權限頁 /me/permissions

  • 表格新增顯示欄位:
    • scope_type
    • scope_id
    • system
    • module
    • action

新增頁面

3) 系統管理 /admin/systems

  • 列表:GET /admin/systems
  • 新增:POST /admin/systems
  • 表格顯示 system_key 與 name
  • Dialog 表單新增系統

4) 模組管理 /admin/modules

  • 列表:GET /admin/modules
  • 新增:POST /admin/modules
    • system_key
    • module_key
    • name
  • 表格顯示三個欄位
  • Dialog 表單新增模組

5) 公司管理 /admin/companies

  • 列表:GET /admin/companies
  • 新增:POST /admin/companies
  • 表格顯示 company_key 與 name
  • Dialog 表單新增公司

6) 站台管理 /admin/sites

  • 列表:GET /admin/sites
  • 新增:POST /admin/sites
    • site_key
    • company_key
    • name
  • 表格顯示三個欄位
  • Dialog 表單新增站台

7) 會員列表 /admin/members

  • 列表:GET /admin/members
  • 表格顯示 authentik_sub、email、display_name
  • 可重新整理

8) 權限群組 /admin/permission-groups

  • 群組管理 Tab
    • 列表:GET /admin/permission-groups
    • 新增:POST /admin/permission-groups
    • Dialog 表單新增群組
  • 綁定會員 Tab
    • POST /admin/permission-groups/{group_key}/members/{authentik_sub}
    • UI 支援群組選擇 + authentik_sub 輸入 + 加入按鈕
  • 群組授權 Tab
    • POST /admin/permission-groups/{group_key}/permissions/grant
    • POST /admin/permission-groups/{group_key}/permissions/revoke
    • UI 支援選擇群組、輸入權限資訊、grant/revoke 按鈕

共用資料管理

  • admin.js store 實現:
    • 統一載入 systems、modules、companies、sites
    • 供各管理頁使用,避免重複 API 呼叫

認證(管理 API

  • 所有 /admin/* API 一律帶:
    • X-Client-Key
    • X-API-Key
  • axios adminHttp client 自動注入 headers

驗收條件

  • 可以新增 system/module/company/site
  • 可以做 user 直接 grant/revoke新 payload
  • 可以建立 permission-group、加會員、做群組 grant/revoke
  • /me/permissions/snapshot 能看到所有權限欄位scope_type/scope_id/system/module/action

完成日期

  • 開始2026-03-29
  • 完成2026-03-30
  • 提交 Commitc4b9789