index.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import request from '@/config/axios'
  2. /**
  3. * IoT 产品物模型
  4. */
  5. export interface ThingModelData {
  6. id?: number // 物模型功能编号
  7. identifier?: string // 功能标识
  8. name?: string // 功能名称
  9. description?: string // 功能描述
  10. productId?: number // 产品编号
  11. productKey?: string // 产品标识
  12. dataType: string // 数据类型,与 dataSpecs 的 dataType 保持一致
  13. type: number // 功能类型
  14. property: ThingModelProperty // 属性
  15. event?: ThingModelEvent // 事件
  16. service?: ThingModelService // 服务
  17. }
  18. /**
  19. * IoT 模拟设备
  20. */
  21. // TODO @super:和 ThingModelSimulatorData 会不会好点
  22. export interface SimulatorData extends ThingModelData {
  23. simulateValue?: string | number // 用于存储模拟值 TODO @super:字段使用 value 会不会好点
  24. }
  25. /**
  26. * ThingModelProperty 类型
  27. */
  28. export interface ThingModelProperty {
  29. [key: string]: any
  30. }
  31. /**
  32. * ThingModelEvent 类型
  33. */
  34. export interface ThingModelEvent {
  35. [key: string]: any
  36. }
  37. /**
  38. * ThingModelService 类型
  39. */
  40. export interface ThingModelService {
  41. [key: string]: any
  42. }
  43. // IoT 产品物模型 API
  44. export const ThingModelApi = {
  45. // 查询产品物模型分页
  46. getThingModelPage: async (params: any) => {
  47. return await request.get({ url: `/iot/thing-model/page`, params })
  48. },
  49. // 获得产品物模型列表
  50. getThingModelList: async (params: any) => {
  51. return await request.get({ url: `/iot/thing-model/list`, params })
  52. },
  53. // 获得产品物模型
  54. getThingModelListByProductId: async (params: any) => {
  55. return await request.get({
  56. url: `/iot/thing-model/list-by-product-id`,
  57. params
  58. })
  59. },
  60. // 查询产品物模型详情
  61. getThingModel: async (id: number) => {
  62. return await request.get({ url: `/iot/thing-model/get?id=` + id })
  63. },
  64. // 新增产品物模型
  65. createThingModel: async (data: ThingModelData) => {
  66. return await request.post({ url: `/iot/thing-model/create`, data })
  67. },
  68. // 修改产品物模型
  69. updateThingModel: async (data: ThingModelData) => {
  70. return await request.put({ url: `/iot/thing-model/update`, data })
  71. },
  72. // 删除产品物模型
  73. deleteThingModel: async (id: number) => {
  74. return await request.delete({ url: `/iot/thing-model/delete?id=` + id })
  75. }
  76. }