let currentStatus = ''; $(document).ready(function() { loadUsers(); $('.nav-tabs .nav-link').click(function(e) { e.preventDefault(); $('.nav-tabs .nav-link').removeClass('active'); $(this).addClass('active'); currentStatus = $(this).data('status'); loadUsers(); }); }); function loadUsers() { $.ajax({ url: '/api/users', method: 'GET', headers: { 'Authorization': 'Bearer ' + localStorage.getItem('access_token') }, data: { status: currentStatus }, success: function(data) { renderUsers(data.users); }, error: handleAjaxError }); } function renderUsers(users) { const tbody = $('#users-table'); tbody.empty(); users.forEach(function(user) { const statusBadge = { 'pending': '待审核', 'active': '已激活', 'disabled': '已禁用' }[user.status]; const roleBadge = user.role === 'admin' ? '管理员' : '用户'; let actions = ''; if (user.status === 'pending') { actions = ` `; } else { actions = ` `; } tbody.append(` ${user.username} ${user.email} ${user.uid || '-'} ${roleBadge} ${statusBadge} ${user.tags || '-'} ${user.created_at} ${actions} `); }); } function approveUser(userId, action) { const message = action === 'approve' ? '确认通过审核?' : '确认拒绝申请?'; if (!confirm(message)) return; $.ajax({ url: `/api/users/${userId}/approve`, method: 'POST', headers: { 'Authorization': 'Bearer ' + localStorage.getItem('access_token') }, contentType: 'application/json', data: JSON.stringify({ action: action }), success: function(data) { alert(data.message); loadUsers(); }, error: handleAjaxError }); } function editUser(userId) { $.ajax({ url: `/api/users`, method: 'GET', headers: { 'Authorization': 'Bearer ' + localStorage.getItem('access_token') }, success: function(data) { const user = data.users.find(u => u.id === userId); $('#edit-user-id').val(user.id); $('#edit-email').val(user.email); $('#edit-uid').val(user.uid); $('#edit-role').val(user.role); $('#edit-status').val(user.status); $('#edit-tags').val(user.tags); $('#edit-note').val(user.note); $('#editModal').modal('show'); } }); } function saveUser() { const userId = $('#edit-user-id').val(); $.ajax({ url: `/api/users/${userId}`, method: 'PUT', headers: { 'Authorization': 'Bearer ' + localStorage.getItem('access_token') }, contentType: 'application/json', data: JSON.stringify({ email: $('#edit-email').val(), uid: $('#edit-uid').val(), role: $('#edit-role').val(), status: $('#edit-status').val(), tags: $('#edit-tags').val(), note: $('#edit-note').val() }), success: function(data) { alert(data.message); $('#editModal').modal('hide'); loadUsers(); }, error: handleAjaxError }); } function deleteUser(userId) { if (!confirm('确认删除该用户?')) return; $.ajax({ url: `/api/users/${userId}`, method: 'DELETE', headers: { 'Authorization': 'Bearer ' + localStorage.getItem('access_token') }, success: function(data) { alert(data.message); loadUsers(); }, error: handleAjaxError }); }