iot-gateway_fontend/src/api/device.ts

95 lines
1.9 KiB
TypeScript
Raw Normal View History

import axios from 'axios';
import dashboard from '@/router/routes/modules/dashboard';
export interface DeviceRecord {
size: number;
current: number;
name?: string;
clientId?: string;
productId?: number;
status?: string;
isOnline?: boolean;
pageable?: string;
}
export interface DeviceCreateRecord {
num?: number;
prefix?: string;
name?: string;
hardwareVersion: string;
firmwareVersion: string;
extendParams: string[];
properties: string;
productId: number;
}
export interface DeviceUpdateRecord extends DeviceCreateRecord {
id: number;
}
export interface DeviceEventRecord {
id: number;
clientId: string;
serveName: string;
params: string;
}
// 分页查询
export function queryDeviceList(data: DeviceRecord) {
return axios({
url: '/api/rest/device',
method: 'get',
params: data,
});
}
// 查看详情
export function queryDeviceDetail(id: number) {
return axios.get(`/api/rest/device/${id}`);
}
// 名称模糊查询
export function queryDeviceByName(data: any) {
return axios({
url: `/api/rest/product/fuzzy`,
method: 'get',
params: data,
});
}
// 新增
export function createDevice(data: DeviceCreateRecord) {
return axios.post(`/api/rest/device`, data);
}
// 修改
export function updateDevice(data: DeviceUpdateRecord) {
return axios.patch(`/api/rest/device/${data.id}`, data);
}
// 删除
export function deleteDevice(id: number) {
return axios.delete(`/api/rest/device/${id}`);
}
// 查询上报
export function queryDeviceReport(clientId: number) {
return axios({
url: `/api/rest/device/record/photo`,
method: 'get',
params: clientId,
});
}
// 批量创建
export function createDeviceBatch(data: DeviceCreateRecord) {
return axios.post(`/api/rest/device/batch`, data);
}
// 手动触发事件
export function triggerEvent(data: DeviceEventRecord) {
return axios({
url: `/api/rest/device/event`,
method: 'post',
data,
});
}