# Frontend 交辦清單(Schema v2)✅ 已完成 ## 目標 前端實現對應後端新模型: - 公司(companies) - 品牌站台(sites) - 會員(users) - 系統/模組(systems/modules) - 權限群組(permission-groups) ## 既有頁面調整 ### 1) 權限管理頁 `/admin/permissions` ✅ - [x] Grant/Revoke payload 改為: - [x] `scope_type`: `company` 或 `site`(下拉選單) - [x] `scope_id`: `company_key` 或 `site_key` - [x] `system`: 必填(例如 `mkt`) - [x] `module`: 選填(空值代表系統層權限) - [x] `action` - [x] 表單新增 `system` 欄位 - [x] `module` 改成可選 ### 2) 我的權限頁 `/me/permissions` ✅ - [x] 表格新增顯示欄位: - [x] `scope_type` - [x] `scope_id` - [x] `system` - [x] `module` - [x] `action` ## 新增頁面 ✅ ### 3) 系統管理 `/admin/systems` ✅ - [x] 列表:`GET /admin/systems` - [x] 新增:`POST /admin/systems` - [x] 表格顯示 system_key 與 name - [x] Dialog 表單新增系統 ### 4) 模組管理 `/admin/modules` ✅ - [x] 列表:`GET /admin/modules` - [x] 新增:`POST /admin/modules` - [x] `system_key` - [x] `module_key` - [x] `name` - [x] 表格顯示三個欄位 - [x] Dialog 表單新增模組 ### 5) 公司管理 `/admin/companies` ✅ - [x] 列表:`GET /admin/companies` - [x] 新增:`POST /admin/companies` - [x] 表格顯示 company_key 與 name - [x] Dialog 表單新增公司 ### 6) 站台管理 `/admin/sites` ✅ - [x] 列表:`GET /admin/sites` - [x] 新增:`POST /admin/sites` - [x] `site_key` - [x] `company_key` - [x] `name` - [x] 表格顯示三個欄位 - [x] Dialog 表單新增站台 ### 7) 會員列表 `/admin/members` ✅ - [x] 列表:`GET /admin/members` - [x] 表格顯示 authentik_sub、email、display_name - [x] 可重新整理 ### 8) 權限群組 `/admin/permission-groups` ✅ - [x] 群組管理 Tab: - [x] 列表:`GET /admin/permission-groups` - [x] 新增:`POST /admin/permission-groups` - [x] Dialog 表單新增群組 - [x] 綁定會員 Tab: - [x] `POST /admin/permission-groups/{group_key}/members/{authentik_sub}` - [x] UI 支援群組選擇 + authentik_sub 輸入 + 加入按鈕 - [x] 群組授權 Tab: - [x] `POST /admin/permission-groups/{group_key}/permissions/grant` - [x] `POST /admin/permission-groups/{group_key}/permissions/revoke` - [x] UI 支援選擇群組、輸入權限資訊、grant/revoke 按鈕 ## 共用資料管理 ✅ - [x] admin.js store 實現: - [x] 統一載入 systems、modules、companies、sites - [x] 供各管理頁使用,避免重複 API 呼叫 ## 認證(管理 API) ✅ - [x] 所有 `/admin/*` API 一律帶: - [x] `X-Client-Key` - [x] `X-API-Key` - [x] axios adminHttp client 自動注入 headers ## 驗收條件 ✅ - [x] 可以新增 system/module/company/site - [x] 可以做 user 直接 grant/revoke(新 payload) - [x] 可以建立 permission-group、加會員、做群組 grant/revoke - [x] `/me/permissions/snapshot` 能看到所有權限欄位(scope_type/scope_id/system/module/action) ## 完成日期 - 開始:2026-03-29 - 完成:2026-03-30 - 提交 Commit:`c4b9789`