修bug
This commit is contained in:
		| @@ -54,3 +54,42 @@ export const deleteDevice = (id) => { | ||||
| export const manualControlDevice = (id, manualControlData) => { | ||||
|   return http.post(`/api/v1/devices/manual-control/${id}`, manualControlData); | ||||
| }; | ||||
|  | ||||
| // AreaControllerApi 封装 | ||||
| export const AreaControllerApi = { | ||||
|   list: async () => { | ||||
|     const response = await getDevices(); | ||||
|     return { | ||||
|       ...response, | ||||
|       data: response.data.filter(device => device.type === 'area_controller') | ||||
|     }; | ||||
|   }, | ||||
|   create: (deviceData) => { | ||||
|     return createDevice({ ...deviceData, type: 'area_controller' }); | ||||
|   }, | ||||
|   getById: (id) => { | ||||
|     return getDeviceById(id); | ||||
|   }, | ||||
|   update: (id, deviceData) => { | ||||
|     return updateDevice(id, { ...deviceData, type: 'area_controller' }); | ||||
|   }, | ||||
|   delete: (id) => { | ||||
|     return deleteDevice(id); | ||||
|   } | ||||
| }; | ||||
|  | ||||
| // DeviceApi 封装 | ||||
| export const DeviceApi = { | ||||
|   create: (deviceData) => { | ||||
|     return createDevice({ ...deviceData, type: 'device' }); | ||||
|   }, | ||||
|   getById: (id) => { | ||||
|     return getDeviceById(id); | ||||
|   }, | ||||
|   update: (id, deviceData) => { | ||||
|     return updateDevice(id, { ...deviceData, type: 'device' }); | ||||
|   }, | ||||
|   delete: (id) => { | ||||
|     return deleteDevice(id); | ||||
|   } | ||||
| }; | ||||
|   | ||||
| @@ -4,7 +4,7 @@ import http from '../utils/http'; | ||||
|  * 获取系统中所有设备模板的列表 | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const getDeviceTemplates = () => { | ||||
| const getDeviceTemplates = () => { | ||||
|   return http.get('/api/v1/device-templates'); | ||||
| }; | ||||
|  | ||||
| @@ -13,7 +13,7 @@ export const getDeviceTemplates = () => { | ||||
|  * @param {object} deviceTemplateData - 设备模板信息,对应 dto.CreateDeviceTemplateRequest | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const createDeviceTemplate = (deviceTemplateData) => { | ||||
| const createDeviceTemplate = (deviceTemplateData) => { | ||||
|   return http.post('/api/v1/device-templates', deviceTemplateData); | ||||
| }; | ||||
|  | ||||
| @@ -22,7 +22,7 @@ export const createDeviceTemplate = (deviceTemplateData) => { | ||||
|  * @param {string} id - 设备模板ID | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const getDeviceTemplateById = (id) => { | ||||
| const getDeviceTemplateById = (id) => { | ||||
|   return http.get(`/api/v1/device-templates/${id}`); | ||||
| }; | ||||
|  | ||||
| @@ -32,7 +32,7 @@ export const getDeviceTemplateById = (id) => { | ||||
|  * @param {object} deviceTemplateData - 要更新的设备模板信息,对应 dto.UpdateDeviceTemplateRequest | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const updateDeviceTemplate = (id, deviceTemplateData) => { | ||||
| const updateDeviceTemplate = (id, deviceTemplateData) => { | ||||
|   return http.put(`/api/v1/device-templates/${id}`, deviceTemplateData); | ||||
| }; | ||||
|  | ||||
| @@ -41,6 +41,14 @@ export const updateDeviceTemplate = (id, deviceTemplateData) => { | ||||
|  * @param {string} id - 设备模板ID | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const deleteDeviceTemplate = (id) => { | ||||
| const deleteDeviceTemplate = (id) => { | ||||
|   return http.delete(`/api/v1/device-templates/${id}`); | ||||
| }; | ||||
|  | ||||
| export const DeviceTemplateApi = { | ||||
|   getDeviceTemplates, | ||||
|   createDeviceTemplate, | ||||
|   getDeviceTemplateById, | ||||
|   updateDeviceTemplate, | ||||
|   deleteDeviceTemplate, | ||||
| }; | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| import { AreaControllerApi, DeviceApi } from './device.js'; | ||||
| import PlanApi from './plan.js'; | ||||
| import UserApi from './user.js'; | ||||
| import DeviceTemplateApi from './deviceTemplate.js'; // 导入设备模板API | ||||
| import { PlanApi } from './plan.js'; | ||||
| import { UserApi } from './user.js'; | ||||
| import { DeviceTemplateApi } from './deviceTemplate.js'; // 导入设备模板API | ||||
|  | ||||
| /** | ||||
|  * API客户端 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ import http from '../utils/http'; | ||||
|  * 获取所有计划的列表 | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const getPlans = () => { | ||||
| const getPlans = () => { | ||||
|   return http.get('/api/v1/plans'); | ||||
| }; | ||||
|  | ||||
| @@ -13,7 +13,7 @@ export const getPlans = () => { | ||||
|  * @param {object} planData - 计划信息,对应 dto.CreatePlanRequest | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const createPlan = (planData) => { | ||||
| const createPlan = (planData) => { | ||||
|   return http.post('/api/v1/plans', planData); | ||||
| }; | ||||
|  | ||||
| @@ -22,7 +22,7 @@ export const createPlan = (planData) => { | ||||
|  * @param {number} id - 计划ID | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const getPlanById = (id) => { | ||||
| const getPlanById = (id) => { | ||||
|   return http.get(`/api/v1/plans/${id}`); | ||||
| }; | ||||
|  | ||||
| @@ -32,7 +32,7 @@ export const getPlanById = (id) => { | ||||
|  * @param {object} planData - 更新后的计划信息,对应 dto.UpdatePlanRequest | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const updatePlan = (id, planData) => { | ||||
| const updatePlan = (id, planData) => { | ||||
|   return http.put(`/api/v1/plans/${id}`, planData); | ||||
| }; | ||||
|  | ||||
| @@ -41,7 +41,7 @@ export const updatePlan = (id, planData) => { | ||||
|  * @param {number} id - 计划ID | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const deletePlan = (id) => { | ||||
| const deletePlan = (id) => { | ||||
|   return http.delete(`/api/v1/plans/${id}`); | ||||
| }; | ||||
|  | ||||
| @@ -50,7 +50,7 @@ export const deletePlan = (id) => { | ||||
|  * @param {number} id - 计划ID | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const startPlan = (id) => { | ||||
| const startPlan = (id) => { | ||||
|   return http.post(`/api/v1/plans/${id}/start`); | ||||
| }; | ||||
|  | ||||
| @@ -59,6 +59,16 @@ export const startPlan = (id) => { | ||||
|  * @param {number} id - 计划ID | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const stopPlan = (id) => { | ||||
| const stopPlan = (id) => { | ||||
|   return http.post(`/api/v1/plans/${id}/stop`); | ||||
| }; | ||||
|  | ||||
| export const PlanApi = { | ||||
|   getPlans, | ||||
|   createPlan, | ||||
|   getPlanById, | ||||
|   updatePlan, | ||||
|   deletePlan, | ||||
|   startPlan, | ||||
|   stopPlan, | ||||
| }; | ||||
|   | ||||
| @@ -5,7 +5,7 @@ import http from '../utils/http'; | ||||
|  * @param {object} userData - 用户信息,对应 dto.CreateUserRequest | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const createUser = (userData) => { | ||||
| const createUser = (userData) => { | ||||
|   return http.post('/api/v1/users', userData); | ||||
| }; | ||||
|  | ||||
| @@ -14,7 +14,7 @@ export const createUser = (userData) => { | ||||
|  * @param {object} credentials - 登录凭证,对应 dto.LoginRequest | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const login = (credentials) => { | ||||
| const login = (credentials) => { | ||||
|   return http.post('/api/v1/users/login', credentials); | ||||
| }; | ||||
|  | ||||
| @@ -24,6 +24,12 @@ export const login = (credentials) => { | ||||
|  * @param {object} params - 查询参数 | ||||
|  * @returns {Promise<*>} | ||||
|  */ | ||||
| export const getUserHistory = (id, params) => { | ||||
| const getUserHistory = (id, params) => { | ||||
|   return http.get(`/api/v1/users/${id}/history`, { params }); | ||||
| }; | ||||
|  | ||||
| export const UserApi = { | ||||
|   createUser, | ||||
|   login, | ||||
|   getUserHistory, | ||||
| }; | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| import {AreaControllerApi, DeviceApi} from '../api/device.js'; | ||||
| import {AreaControllerApi, DeviceApi, getDevices} from '../api/device.js'; | ||||
|  | ||||
| class DeviceService { | ||||
|     /** | ||||
| @@ -7,9 +7,9 @@ class DeviceService { | ||||
|      */ | ||||
|     async getDevices() { | ||||
|         try { | ||||
|             const [areaControllersResponse, devicesResponse] = await Promise.all([ | ||||
|             const [areaControllersResponse, allDevicesResponse] = await Promise.all([ | ||||
|                 AreaControllerApi.list(), | ||||
|                 DeviceApi.list() | ||||
|                 getDevices() // 使用通用的getDevices函数获取所有设备 | ||||
|             ]); | ||||
|  | ||||
|             const areaControllers = (areaControllersResponse.data || []).map(controller => ({ | ||||
| @@ -17,11 +17,13 @@ class DeviceService { | ||||
|                 type: 'area_controller' // 添加类型标识 | ||||
|             })); | ||||
|  | ||||
|             const devices = (devicesResponse.data || []).map(device => ({ | ||||
|                 ...device, | ||||
|                 type: 'device', // 添加类型标识 | ||||
|                 parent_id: device.area_controller_id // 适配前端树形结构 | ||||
|             })); | ||||
|             const devices = (allDevicesResponse.data || []) | ||||
|                 .filter(device => device.type === 'device') // 过滤出普通设备 | ||||
|                 .map(device => ({ | ||||
|                     ...device, | ||||
|                     type: 'device', // 添加类型标识 | ||||
|                     parent_id: device.area_controller_id // 适配前端树形结构 | ||||
|                 })); | ||||
|  | ||||
|             return [...areaControllers, ...devices]; | ||||
|         } catch (error) { | ||||
| @@ -60,10 +62,10 @@ class DeviceService { | ||||
|     async getDevice(id, type) { | ||||
|         try { | ||||
|             if (type === 'area_controller') { | ||||
|                 const response = await AreaControllerApi.get(id); | ||||
|                 const response = await AreaControllerApi.getById(id); | ||||
|                 return {...response.data, type: 'area_controller'}; | ||||
|             } else { | ||||
|                 const response = await DeviceApi.get(id); | ||||
|                 const response = await DeviceApi.getById(id); | ||||
|                 return {...response.data, type: 'device', parent_id: response.data.area_controller_id}; | ||||
|             } | ||||
|         } catch (error) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user