poem_front/admin/js/login.js
Shu Guang 8d68332cea feat(admin): 新增管理员登录及后台管理页面
添加管理员登录页面、后台管理首页及相关JavaScript逻辑,支持管理员登录、用户管理、诗词管理等功能。登录后,管理员可以查看和操作用户、诗词及管理员信息。
2025-05-24 17:30:06 +08:00

70 lines
2.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$(document).ready(function() {
const API_BASE_URL = 'http://localhost:3000/api';
// 检查是否已登录
const token = localStorage.getItem('adminToken');
if (token) {
$.ajax({
url: `${API_BASE_URL}/admin/profile`,
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
},
success: function() {
window.location.href = 'index.html';
},
error: function() {
localStorage.removeItem('adminToken');
}
});
}
// 处理登录表单提交
$('#loginForm').submit(function(e) {
e.preventDefault();
const loginData = {
username: $('#username').val().trim(),
password: $('#password').val().trim()
};
if (!loginData.username || !loginData.password) {
$('#errorAlert').text('请填写用户名和密码').show();
return;
}
// 显示加载状态
$('#loginBtn').prop('disabled', true);
$('#loginBtn .spinner-border').removeClass('d-none');
$('#errorAlert').hide();
// 发送登录请求
$.ajax({
url: `${API_BASE_URL}/admin/login`,
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
admin_name: loginData.username || null,
admin_password: loginData.password || null,
role: 'admin' // 添加角色标识
}),
success: function(response) {
console.log('Login response:', response); // 添加响应日志
if (response && response.token) {
localStorage.setItem('adminToken', response.token);
window.location.href = 'index.html';
} else {
$('#errorAlert').text('登录失败未获取到token').show();
}
},
error: function(xhr) {
let errorMessage = '登录失败';
if (xhr.responseJSON) {
console.error('Server error:', xhr.responseJSON);
errorMessage += '' + (xhr.responseJSON.message || xhr.responseJSON.error || '未知错误');
}
$('#errorAlert').text(errorMessage).show();
}
});
});
});