feat(frontend): migrate admin UI to role-site model and clean legacy pages

This commit is contained in:
Chris
2026-04-03 00:18:39 +08:00
parent 1e1d913103
commit 5837582c0f
25 changed files with 803 additions and 1504 deletions

View File

@@ -9,7 +9,7 @@
- 詳情頁需顯示底下 `sites` 列表
2. 站台管理CRUD
- 欄位:`site_key`, `company_id`, `display_name`, `domain`, `status`
- 欄位:`site_key`, `company_key`, `display_name`, `domain`, `status`
- 站台詳情需顯示:
- 此站台綁定的 `roles`
- 此站台包含的 `users`
@@ -19,7 +19,7 @@
- 系統詳情需顯示底下 `roles` 列表
4. 角色管理CRUD
- 欄位:`role_key`, `system_id`, `name`, `description`, `idp_role_name`, `status`
- 欄位:`role_key`, `system_key`, `name`, `description`, `idp_role_name`, `status`
- 關聯操作:指派到 Site新增/刪除 `site_roles`
5. 會員管理CRUD

View File

@@ -1,23 +1,20 @@
# Frontend TaskPlan
## 待辦
- [ ] 後台導覽改版:改為 `公司 / 站台 / 系統 / 角色 / 會員 / API Clients`
- [ ] 角色管理頁改成「Site 綁 Role」
- [ ] 可查看 Site 目前擁有角色
- [ ] 可新增/移除 Site 角色
- [ ] 會員管理頁改成「User 綁 Site」
- [ ] 可查看使用者目前所屬 Site
- [ ] 可新增/移除使用者 Site
- [ ] 顯示推導角色(只讀)
- [ ] 公司詳情頁顯示站台列表。
- [ ] 系統詳情頁顯示角色列表。
- [ ] 補齊刪除流程與二次確認(公司/站台/系統/角色/會員)。
- [ ] API 失敗狀態頁統一401/403/409/422/500
## 進行中
- [ ] OIDC callback 與 token 持久化穩定性檢查。
- [ ] OIDC callback 與 token 持久化穩定性檢查(含 token 到期後重新登入行為)
## 已完成
- [x] Vue3 + JS + Vite + Element Plus + Tailwind 基礎框架。
- [x] OIDC 登入按鈕導轉與 callback 路由骨架。
- [x] 基礎 admin 頁面與 API service 分層已建立。
- [x] 後台導覽改版:`公司 / 站台 / 系統 / 角色 / 會員 / API Clients`
- [x] 公司頁CRUD + 公司底下站台列表。
- [x] 站台頁CRUD + 站台角色指派 + 站台會員列表。
- [x] 系統頁CRUD + 系統底下角色列表。
- [x] 角色頁CRUD + 角色綁定站台列表。
- [x] 會員頁CRUD + User 綁 Site + 顯示推導角色 + 重設密碼。
- [x] 刪除流程補齊(公司/站台/系統/角色/會員/API client
- [x] 移除舊流程前端檔案:`modules` / `permission_groups` / `permission_admin` 頁面與 API。
- [x] 我的角色頁改為 role snapshot 顯示(不再顯示舊 permission 欄位)。

View File

@@ -22,6 +22,8 @@
- 成員授權定版:`User` 不直接綁 `Role`,僅透過 `user_sites` 取得 Site 角色。
- IdP 定版Keycloak 為唯一 IdP。
- API 白名單:保留 `api_clients`
- 後端:新 schema 與 admin/internal API 已切到 role-site 模型。
- 前端:管理頁已切到新模型(公司/站台/系統/角色/會員/API Clients
## 單一真實來源
- DB SQL[backend/scripts/init_schema.sql](../backend/scripts/init_schema.sql)