index.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. export interface SimulatorData extends ThingModelData {
  22. simulateValue?: string | number // 用于存储模拟值
  23. }
  24. /**
  25. * ThingModelProperty 类型
  26. */
  27. export interface ThingModelProperty {
  28. [key: string]: any
  29. }
  30. /**
  31. * ThingModelEvent 类型
  32. */
  33. export interface ThingModelEvent {
  34. [key: string]: any
  35. }
  36. /**
  37. * ThingModelService 类型
  38. */
  39. export interface ThingModelService {
  40. [key: string]: any
  41. }
  42. // IoT 产品物模型 API
  43. export const ThingModelApi = {
  44. // 查询产品物模型分页
  45. getThingModelPage: async (params: any) => {
  46. return await request.get({ url: `/iot/thing-model/page`, params })
  47. },
  48. // 获得产品物模型列表
  49. getThingModelList: async (params: any) => {
  50. return await request.get({ url: `/iot/thing-model/list`, params })
  51. },
  52. // 获得产品物模型
  53. getThingModelListByProductId: async (params: any) => {
  54. return await request.get({
  55. url: `/iot/thing-model/list-by-product-id`,
  56. params
  57. })
  58. },
  59. // 查询产品物模型详情
  60. getThingModel: async (id: number) => {
  61. return await request.get({ url: `/iot/thing-model/get?id=` + id })
  62. },
  63. // 新增产品物模型
  64. createThingModel: async (data: ThingModelData) => {
  65. return await request.post({ url: `/iot/thing-model/create`, data })
  66. },
  67. // 修改产品物模型
  68. updateThingModel: async (data: ThingModelData) => {
  69. return await request.put({ url: `/iot/thing-model/update`, data })
  70. },
  71. // 删除产品物模型
  72. deleteThingModel: async (id: number) => {
  73. return await request.delete({ url: `/iot/thing-model/delete?id=` + id })
  74. }
  75. }