- 新增设备地图页面,实现设备在地图上的展示和信息弹出 - 扩展设备接口,增加经纬度和图标字段 - 优化设备编辑页面,将产品名称改为所属产品下拉选择- 更新产品属性页面,调整属性类型为读写类型 - 添加高德地图相关依赖和类型定义
98 lines
2.0 KiB
TypeScript
98 lines
2.0 KiB
TypeScript
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;
|
|
longitude?: number;
|
|
latitude?: number;
|
|
icon?: 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,
|
|
});
|
|
}
|