整合資料庫、完成登入註冊忘記密碼功能

This commit is contained in:
2025-09-09 12:00:22 +08:00
parent af88c0f037
commit 32b19e9a0f
85 changed files with 11672 additions and 2350 deletions

View File

@@ -0,0 +1,72 @@
async function testAdminAccess() {
console.log('🧪 測試管理員存取權限...\n');
try {
// 1. 測試管理員登入
console.log('1. 測試管理員登入...');
const loginResponse = await fetch('http://localhost:3000/api/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: 'admin@ai-platform.com',
password: 'admin123456'
})
});
if (loginResponse.ok) {
const loginData = await loginResponse.json();
console.log('✅ 管理員登入成功');
console.log('用戶資料:', {
id: loginData.user?.id,
name: loginData.user?.name,
email: loginData.user?.email,
role: loginData.user?.role,
department: loginData.user?.department
});
// 2. 測試管理員頁面存取
console.log('\n2. 測試管理員頁面存取...');
const adminResponse = await fetch('http://localhost:3000/admin');
if (adminResponse.ok) {
console.log('✅ 管理員頁面載入成功');
console.log('狀態碼:', adminResponse.status);
// 檢查頁面內容
const pageContent = await adminResponse.text();
if (pageContent.includes('存取被拒')) {
console.log('❌ 頁面顯示存取被拒');
if (pageContent.includes('調試信息')) {
console.log('📋 調試信息已顯示,請檢查用戶角色');
}
} else if (pageContent.includes('儀表板') || pageContent.includes('管理員')) {
console.log('✅ 管理員頁面正常顯示');
} else {
console.log('⚠️ 頁面內容不確定');
}
} else {
console.log('❌ 管理員頁面載入失敗:', adminResponse.status);
}
} else {
const errorData = await loginResponse.text();
console.log('❌ 管理員登入失敗:', loginResponse.status, errorData);
}
console.log('\n🎉 管理員存取權限測試完成!');
console.log('\n📋 可能的原因:');
console.log('1. 用戶未正確登入');
console.log('2. 用戶角色不是 admin');
console.log('3. 用戶資料載入時機問題');
console.log('4. localStorage 中的用戶資料有問題');
} catch (error) {
console.error('❌ 測試過程中發生錯誤:', error);
}
}
testAdminAccess();