保险前后端,养殖端和保险端小程序

This commit is contained in:
xuqiuyun
2025-09-17 19:01:52 +08:00
parent e4287b83fe
commit 473891163c
218 changed files with 109331 additions and 14103 deletions

View File

@@ -9,6 +9,7 @@ const { verifyToken, checkRole } = require('../middleware/auth');
const { requirePermission } = require('../middleware/permission');
const { IotXqClient, IotJbqServer, IotJbqClient } = require('../models');
const { Op } = require('sequelize');
const { createSuccessResponse, createErrorResponse, createPaginatedResponse, SUCCESS_MESSAGES, ERROR_CODES } = require('../utils/apiResponse');
// 公开API路由不需要验证token
const publicRoutes = express.Router();
@@ -84,18 +85,15 @@ publicRoutes.get('/eartags/export', async (req, res) => {
};
});
res.json({
success: true,
data: formattedData,
total: formattedData.length,
message: '导出数据获取成功'
});
res.json(createSuccessResponse(formattedData, SUCCESS_MESSAGES.DATA_RETRIEVED, {
total: formattedData.length
}));
} catch (error) {
console.error('导出智能耳标数据失败:', error);
res.status(500).json({
success: false,
message: '导出数据获取失败: ' + error.message
});
res.status(500).json(createErrorResponse(
'导出数据获取失败: ' + error.message,
ERROR_CODES.DATABASE_ERROR
));
}
});
@@ -181,28 +179,23 @@ publicRoutes.get('/eartags', async (req, res) => {
maintenance: rows.filter(item => item.state === 3).length
};
res.json({
success: true,
data: {
res.json(createPaginatedResponse(
{
list: formattedData,
pagination: {
current: parseInt(page),
pageSize: parseInt(limit),
total: count,
pages: Math.ceil(count / parseInt(limit))
},
stats
stats: stats
},
message: '获取智能耳标列表成功'
});
count,
parseInt(page),
parseInt(limit),
SUCCESS_MESSAGES.DATA_RETRIEVED
));
} catch (error) {
console.error('获取智能耳标列表失败:', error);
res.status(500).json({
success: false,
message: '获取智能耳标列表失败',
error: error.message
});
res.status(500).json(createErrorResponse(
'获取智能耳标列表失败: ' + error.message,
ERROR_CODES.DATABASE_ERROR
));
}
});