53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
const AdminService = require('../services/adminService');
|
|
const { success, error } = require('../utils/response');
|
|
|
|
class AdminController {
|
|
static async getUsers(req, res) {
|
|
try {
|
|
const result = await AdminService.getUsers(req.query);
|
|
success(res, result.data, '获取成功');
|
|
// 注意:原来的响应结构是 { success, data, pagination }
|
|
// 现在的 success 工具函数结构是 { success, message, data }
|
|
// 我们可以稍微调整 success 调用,或者让前端适应
|
|
// 为了兼容性,这里手动返回
|
|
/*
|
|
res.json({
|
|
success: true,
|
|
data: result.data,
|
|
pagination: result.pagination
|
|
});
|
|
*/
|
|
// 或者修改 response.js 支持 extra 字段,这里简单处理:
|
|
res.json({
|
|
success: true,
|
|
data: result.data,
|
|
pagination: result.pagination
|
|
});
|
|
|
|
} catch (err) {
|
|
console.error('Get Users Error:', err);
|
|
error(res, '服务器错误');
|
|
}
|
|
}
|
|
|
|
static async createUser(req, res) {
|
|
try {
|
|
const { id, name, password, role } = req.body;
|
|
|
|
if (!id || !name || !password || !role) {
|
|
return error(res, '请填写所有必填字段', 400);
|
|
}
|
|
|
|
await AdminService.createUser(req.body);
|
|
success(res, null, '创建用户成功');
|
|
} catch (err) {
|
|
if (err.message === '用户ID已存在') {
|
|
return error(res, err.message, 400);
|
|
}
|
|
console.error('Create User Error:', err);
|
|
error(res, '服务器错误');
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = AdminController; |