實作用戶管理介面

This commit is contained in:
2025-09-29 18:08:14 +08:00
parent b45cad81bf
commit 9e61eef288
6 changed files with 945 additions and 72 deletions

View File

@@ -0,0 +1,74 @@
const https = require('https')
const http = require('http')
const testUserStats = async () => {
console.log('🔍 測試用戶管理統計功能')
console.log('=' .repeat(50))
try {
// 獲取用戶列表
console.log('\n📊 獲取用戶列表...')
const response = await new Promise((resolve, reject) => {
const req = http.get('http://localhost:3000/api/admin/users', (res) => {
let data = ''
res.on('data', chunk => data += chunk)
res.on('end', () => resolve({ status: res.statusCode, data }))
})
req.on('error', reject)
})
if (response.status === 200) {
const data = JSON.parse(response.data)
if (data.success) {
const users = data.data
// 計算統計數據
const totalUsers = users.length
const adminUsers = users.filter(user => user.role === 'admin').length
const regularUsers = users.filter(user => user.role === 'user').length
console.log('✅ 用戶統計數據:')
console.log(` 總用戶數: ${totalUsers}`)
console.log(` 管理員: ${adminUsers}`)
console.log(` 一般用戶: ${regularUsers}`)
// 顯示用戶詳細資訊
console.log('\n📋 用戶詳細列表:')
users.forEach((user, index) => {
console.log(`\n${index + 1}. ${user.name}:`)
console.log(` ID: ${user.id}`)
console.log(` 電子郵件: ${user.email}`)
console.log(` 部門: ${user.department}`)
console.log(` 角色: ${user.role}`)
console.log(` 建立時間: ${user.created_at}`)
console.log(` 更新時間: ${user.updated_at}`)
})
// 驗證統計數據
const isStatsCorrect = totalUsers === (adminUsers + regularUsers)
console.log(`\n統計數據是否正確: ${isStatsCorrect ? '✅' : '❌'}`)
// 檢查部門分布
console.log('\n📊 部門分布:')
const departmentStats = {}
users.forEach(user => {
departmentStats[user.department] = (departmentStats[user.department] || 0) + 1
})
Object.entries(departmentStats).forEach(([dept, count]) => {
console.log(` ${dept}: ${count}`)
})
} else {
console.log('❌ 獲取用戶列表失敗:', data.error)
}
}
} catch (error) {
console.error('❌ 測試失敗:', error.message)
} finally {
console.log('\n✅ 用戶管理統計功能測試完成')
}
}
testUserStats()