diff --git a/src/App.vue b/src/App.vue index 92e211f..04b74c2 100644 --- a/src/App.vue +++ b/src/App.vue @@ -61,7 +61,8 @@ const adminTabs = [ { to: '/admin/companies', label: '公司' }, { to: '/admin/sites', label: '站台' }, { to: '/admin/members', label: '會員' }, - { to: '/admin/permission-groups', label: '群組' } + { to: '/admin/permission-groups', label: '群組' }, + { to: '/admin/api-clients', label: 'API Clients' } ] // 行內 NavTab 元件:避免另開檔案 diff --git a/src/api/api-clients.js b/src/api/api-clients.js new file mode 100644 index 0000000..48eceb3 --- /dev/null +++ b/src/api/api-clients.js @@ -0,0 +1,6 @@ +import { adminHttp } from './http' + +export const getApiClients = (params) => adminHttp.get('/admin/api-clients', { params }) +export const createApiClient = (data) => adminHttp.post('/admin/api-clients', data) +export const updateApiClient = (clientKey, data) => adminHttp.patch(`/admin/api-clients/${clientKey}`, data) +export const rotateApiClientKey = (clientKey) => adminHttp.post(`/admin/api-clients/${clientKey}/rotate-key`) diff --git a/src/pages/admin/ApiClientsPage.vue b/src/pages/admin/ApiClientsPage.vue new file mode 100644 index 0000000..6408fc4 --- /dev/null +++ b/src/pages/admin/ApiClientsPage.vue @@ -0,0 +1,282 @@ + + + diff --git a/src/router/index.js b/src/router/index.js index e0bbed3..b776b21 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -66,6 +66,12 @@ const routes = [ name: 'admin-permission-groups', component: () => import('@/pages/admin/PermissionGroupsPage.vue'), meta: { requiresAuth: true } + }, + { + path: '/admin/api-clients', + name: 'admin-api-clients', + component: () => import('@/pages/admin/ApiClientsPage.vue'), + meta: { requiresAuth: true } } ]