From 654103177d9144b012cc38460bde8753663e1b93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=87=E8=96=87=E5=AE=89?= Date: Tue, 3 Feb 2026 15:26:28 +0800 Subject: [PATCH] 1 --- frontend/src/components/GlobalConfig.jsx | 51 +++++++++++++----------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/frontend/src/components/GlobalConfig.jsx b/frontend/src/components/GlobalConfig.jsx index 2dff426..da63533 100644 --- a/frontend/src/components/GlobalConfig.jsx +++ b/frontend/src/components/GlobalConfig.jsx @@ -909,6 +909,32 @@ const GlobalConfig = () => { } + const loadUsersAndAccounts = async () => { + if (!isAdmin) return + try { + setBusy(true) + const [users, accounts] = await Promise.all([ + api.getUsersDetailed ? api.getUsersDetailed() : api.get('/admin/users/detailed').then(r => r.data), + api.getAccounts(), + ]) + setUsersDetailed(Array.isArray(users) ? users : []) + setAccountsAdmin(Array.isArray(accounts) ? accounts : []) + const initMap = {} + ;(Array.isArray(users) ? users : []).forEach(u => { + initMap[u.id] = '' + }) + setLinkAccountMap(initMap) + } catch (e) { + setMessage(e?.message || '加载失败') + } finally { + setBusy(false) + } + } + + useEffect(() => { + if (isAdmin) loadUsersAndAccounts() + }, [isAdmin]) + if (loading) { return
加载中...
} @@ -995,30 +1021,7 @@ const GlobalConfig = () => { }, ] - const loadUsersAndAccounts = async () => { - if (!isAdmin) return - try { - setBusy(true) - const [users, accounts] = await Promise.all([ - api.getUsersDetailed ? api.getUsersDetailed() : api.get('/admin/users/detailed').then(r => r.data), - api.getAccounts(), - ]) - setUsersDetailed(Array.isArray(users) ? users : []) - setAccountsAdmin(Array.isArray(accounts) ? accounts : []) - const initMap = {} - ;(Array.isArray(users) ? users : []).forEach(u => { - initMap[u.id] = '' - }) - setLinkAccountMap(initMap) - } catch (e) { - setMessage(e?.message || '加载失败') - } finally { - setBusy(false) - } - } - useEffect(() => { - if (isAdmin) loadUsersAndAccounts() - }, [isAdmin]) + const handleGrant = async (userId) => { const aid = parseInt(String(linkAccountMap[userId] || ''), 10)