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
});
}