262 lines
5.8 KiB
JavaScript
262 lines
5.8 KiB
JavaScript
const request = require('./request.js');
|
|
const apiConfig = require('../config/api.js');
|
|
|
|
/**
|
|
* API服务类
|
|
*/
|
|
class ApiService {
|
|
|
|
// ==================== 认证相关 ====================
|
|
|
|
/**
|
|
* 用户登录
|
|
* @param {string} username 用户名
|
|
* @param {string} password 密码
|
|
*/
|
|
login(username, password) {
|
|
return request.post(apiConfig.endpoints.auth.login, {
|
|
username,
|
|
password
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 获取用户信息
|
|
*/
|
|
getUserInfo() {
|
|
return request.get(apiConfig.endpoints.auth.userInfo);
|
|
}
|
|
|
|
/**
|
|
* 用户退出登录
|
|
*/
|
|
logout() {
|
|
return request.post(apiConfig.endpoints.auth.logout);
|
|
}
|
|
|
|
// ==================== 养殖户管理 ====================
|
|
|
|
/**
|
|
* 获取养殖户列表
|
|
* @param {Object} params 查询参数
|
|
*/
|
|
getFarmers(params = {}) {
|
|
return request.get(apiConfig.endpoints.farmer.list, params);
|
|
}
|
|
|
|
/**
|
|
* 获取养殖户详情
|
|
* @param {string} id 养殖户ID
|
|
*/
|
|
getFarmerDetail(id) {
|
|
return request.get(`${apiConfig.endpoints.farmer.detail}/${id}`);
|
|
}
|
|
|
|
/**
|
|
* 创建养殖户
|
|
* @param {Object} data 养殖户数据
|
|
*/
|
|
createFarmer(data) {
|
|
return request.post(apiConfig.endpoints.farmer.create, data);
|
|
}
|
|
|
|
/**
|
|
* 更新养殖户信息
|
|
* @param {string} id 养殖户ID
|
|
* @param {Object} data 更新数据
|
|
*/
|
|
updateFarmer(id, data) {
|
|
return request.put(`${apiConfig.endpoints.farmer.update}/${id}`, data);
|
|
}
|
|
|
|
/**
|
|
* 删除养殖户
|
|
* @param {string} id 养殖户ID
|
|
*/
|
|
deleteFarmer(id) {
|
|
return request.delete(`${apiConfig.endpoints.farmer.delete}/${id}`);
|
|
}
|
|
|
|
/**
|
|
* 重置养殖户密码
|
|
* @param {string} id 养殖户ID
|
|
*/
|
|
resetFarmerPassword(id) {
|
|
return request.post(apiConfig.endpoints.farmer.resetPassword.replace('{id}', id));
|
|
}
|
|
|
|
/**
|
|
* 获取养殖场类型列表
|
|
*/
|
|
getFarmTypes() {
|
|
return request.get(apiConfig.endpoints.farmer.farmTypes);
|
|
}
|
|
|
|
/**
|
|
* 获取动物类型列表
|
|
*/
|
|
getAnimalTypes() {
|
|
return request.get(apiConfig.endpoints.farmer.animalTypes);
|
|
}
|
|
|
|
// ==================== 数据统计 ====================
|
|
|
|
/**
|
|
* 获取数据中心统计信息
|
|
*/
|
|
getDataCenterStats() {
|
|
return request.get(apiConfig.endpoints.statistics.dataCenter);
|
|
}
|
|
|
|
/**
|
|
* 获取市场价格信息
|
|
*/
|
|
getMarketPrice() {
|
|
return request.get(apiConfig.endpoints.statistics.marketPrice);
|
|
}
|
|
|
|
// ==================== 设备管理 ====================
|
|
|
|
/**
|
|
* 获取设备告警列表
|
|
* @param {Object} params 查询参数
|
|
*/
|
|
getDeviceWarnings(params = {}) {
|
|
return request.get(apiConfig.endpoints.device.warnings, params);
|
|
}
|
|
|
|
/**
|
|
* 获取智能项圈列表
|
|
* @param {Object} params 查询参数
|
|
*/
|
|
getSmartCollars(params = {}) {
|
|
return request.get(apiConfig.endpoints.device.smartCollars, params);
|
|
}
|
|
|
|
/**
|
|
* 创建智能项圈
|
|
* @param {Object} data 项圈数据
|
|
*/
|
|
createSmartCollar(data) {
|
|
return request.post(apiConfig.endpoints.device.smartCollars, data);
|
|
}
|
|
|
|
/**
|
|
* 更新智能项圈
|
|
* @param {string} id 项圈ID
|
|
* @param {Object} data 更新数据
|
|
*/
|
|
updateSmartCollar(id, data) {
|
|
return request.put(`${apiConfig.endpoints.device.smartCollars}/${id}`, data);
|
|
}
|
|
|
|
/**
|
|
* 删除智能项圈
|
|
* @param {string} id 项圈ID
|
|
*/
|
|
deleteSmartCollar(id) {
|
|
return request.delete(`${apiConfig.endpoints.device.smartCollars}/${id}`);
|
|
}
|
|
|
|
// ==================== 疫情管理 ====================
|
|
|
|
/**
|
|
* 获取疫情记录列表
|
|
* @param {Object} params 查询参数
|
|
*/
|
|
getEpidemicRecords(params = {}) {
|
|
return request.get(apiConfig.endpoints.epidemic.records, params);
|
|
}
|
|
|
|
/**
|
|
* 获取疫情活动列表
|
|
* @param {Object} params 查询参数
|
|
*/
|
|
getEpidemicActivities(params = {}) {
|
|
return request.get(apiConfig.endpoints.epidemic.activities, params);
|
|
}
|
|
|
|
/**
|
|
* 获取疫苗列表
|
|
* @param {Object} params 查询参数
|
|
*/
|
|
getVaccines(params = {}) {
|
|
return request.get(apiConfig.endpoints.epidemic.vaccines, params);
|
|
}
|
|
|
|
// ==================== 监管任务 ====================
|
|
|
|
/**
|
|
* 获取监管任务列表
|
|
* @param {Object} params 查询参数
|
|
*/
|
|
getSupervisionTasks(params = {}) {
|
|
return request.get(apiConfig.endpoints.supervision.tasks, params);
|
|
}
|
|
|
|
// ==================== 审批流程 ====================
|
|
|
|
/**
|
|
* 获取审批流程列表
|
|
* @param {Object} params 查询参数
|
|
*/
|
|
getApprovalProcesses(params = {}) {
|
|
return request.get(apiConfig.endpoints.approval.processes, params);
|
|
}
|
|
|
|
// ==================== 系统相关 ====================
|
|
|
|
/**
|
|
* 健康检查
|
|
*/
|
|
healthCheck() {
|
|
return request.get('/health');
|
|
}
|
|
|
|
// ==================== 通用方法 ====================
|
|
|
|
/**
|
|
* 上传文件
|
|
* @param {string} filePath 文件路径
|
|
* @param {string} name 文件字段名
|
|
* @param {Object} formData 额外表单数据
|
|
*/
|
|
uploadFile(filePath, name = 'file', formData = {}) {
|
|
return new Promise((resolve, reject) => {
|
|
const token = wx.getStorageSync('token');
|
|
const header = {};
|
|
|
|
if (token) {
|
|
header['Authorization'] = `Bearer ${token}`;
|
|
}
|
|
|
|
wx.uploadFile({
|
|
url: `${apiConfig.baseURL}/files/upload`,
|
|
filePath,
|
|
name,
|
|
formData,
|
|
header,
|
|
success: (res) => {
|
|
try {
|
|
const data = JSON.parse(res.data);
|
|
if (data.code === 200 || data.code === 0) {
|
|
resolve(data);
|
|
} else {
|
|
reject(data);
|
|
}
|
|
} catch (e) {
|
|
reject({ message: '文件上传失败' });
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
reject(err);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
// 创建实例
|
|
const apiService = new ApiService();
|
|
|
|
module.exports = apiService; |