mode.go 5.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package SDK
  2. // 表单
  3. type Device_Form struct {
  4. T_ProductID string // Sn
  5. T_sn string // 标签路径
  6. T_online int // 当前页码
  7. PageIndex int // 当前页码
  8. PageSize int // 每页文档数量
  9. }
  10. // 表单
  11. type DeviceData_Form struct {
  12. T_sn string // Sn
  13. T_jointTab string // 标签路径
  14. T_jsonFind string // 条件
  15. T_jsonSort string // 排序
  16. PageIndex int // 当前页码
  17. PageSize int // 每页文档数量
  18. }
  19. type JSONR struct {
  20. //必须的大写开头
  21. Code int16
  22. Msg string
  23. Data interface{} // 泛型
  24. }
  25. type JSONS_Device struct {
  26. //必须的大写开头
  27. Code int16
  28. Msg string
  29. List []Device
  30. Total int16
  31. PageIndex int
  32. PageSize int
  33. }
  34. type JSONS_Data struct {
  35. //必须的大写开头
  36. Code int16
  37. Msg string
  38. List []interface{}
  39. Total int16
  40. PageIndex int
  41. PageSize int
  42. }
  43. // 产品协议
  44. type ProductMode struct {
  45. Id int `json:"Id"`
  46. T_name string `json:"T_name"` // 协议名称 Mqtt
  47. T_address string `json:"T_address"` //接入地址 bj-3-mqtt.iot-api.com:1883
  48. T_describe string `json:"T_describe"` // 描述内容
  49. T_state int `json:"T_state"` //状态
  50. }
  51. // 产品类型
  52. type ProductType struct {
  53. T_ProductID string `orm:"size(8);pk" json:"T_ProductID" form:"T_ProductID"` // 产品型号 随机生成(8位)
  54. T_uuid string `orm:"size(8);index" json:"T_uuid" form:"T_uuid"` // 用户识别码(8位) ,管理员可以为空
  55. T_name string `orm:"size(256);" json:"T_name" form:"T_name"` // 产品名称
  56. T_img string `orm:"size(200);" json:"T_img" form:"T_img"` // 图片
  57. T_akey string `orm:"size(56);" json:"T_akey" ` // 授权密钥
  58. T_prot int `orm:"size(10);default(0)" json:"T_prot" form:"T_prot"` //接入协议ID 0:统一协议
  59. T_TabData string `orm:"type(text);default('{}')" json:"T_TabData" form:"T_TabData"` // 产品模型
  60. T_TabDataJson []map[string]interface{} `orm:"-" json:"T_TabDataJson"` // 产品模型 json
  61. T_RelayData string `orm:"type(text);default('{}')" json:"T_RelayData" form:"T_RelayData"` // 消息转发
  62. T_RelayDataJson map[string]interface{} `orm:"-" json:"T_RelayDataJson"` // 消息转发 json
  63. CreateTime Time `orm:"column(create_time);type(timestamp);auto_now_add" json:"CreateTime"`
  64. UpdateTime Time `orm:"column(update_time);type(timestamp);auto_now" json:"UpdateTime"`
  65. }
  66. // 产品协议
  67. type ProductProt struct {
  68. Id int `orm:"column(ID);size(11);auto;pk" json:"Id" form:"Id"`
  69. T_uuid string `orm:"size(8);index" json:"T_uuid" form:"T_uuid"` // 用户识别码(8位) ,管理员可以为空
  70. T_name string `orm:"size(256);" json:"T_name" form:"T_name"` // 协议名称
  71. T_mode int `orm:"size(1);default(0)" json:"T_mode" form:"T_mode"` //接入方式 0:Mqtt 1:http 2:tcp 3:CoAP 4:websocket
  72. //T_prot int `orm:"size(1);default(0)" json:"T_Prot" form:"T_prot"` //接入协议ID 0:统一协议
  73. T_lang int `orm:"size(1);default(1)" json:"T_lang" form:"T_lang"` //编程语言 0: 无解析 1: go 2: C
  74. T_analysis string `orm:"size(100);default('')" json:"T_analysis" form:"T_analysis"` //数据解析
  75. T_text string `orm:"type(text);default('')" json:"T_text" form:"T_text"` // 代码内容
  76. T_describe string `orm:"type(text);default('')" json:"T_describe" form:"T_describe"` // 描述内容
  77. //T_reply string `orm:"size(100);default(_reply)" json:"T_reply" form:"T_reply"` //返回后缀 _reply
  78. }
  79. // 设备
  80. type Device struct {
  81. T_sn string `orm:"size(256);pk" json:"T_sn" form:"T_sn"` // Sn
  82. T_password string `orm:"size(256);" json:"T_password" form:"T_password"` // 密码
  83. T_online int `orm:"size(1);index;default(3)" json:"T_online" form:"T_online"` // 在线状态 1 在线 2 离线 3 未激活
  84. T_project string `orm:"size(256);default('')" json:"T_project" form:"T_project"` // 项目地址
  85. T_ProductID string `orm:"size(8);index" json:"T_ProductID" form:"T_ProductID"` // 产品类型
  86. T_ProductJson ProductType `orm:"-" json:"T_ProductJson"` // 产品类型 json
  87. T_data string `orm:"column(t_data);type(text);default('')" json:"T_data" ` // 设备数据
  88. T_dataJson map[string]interface{} `orm:"-" json:"T_dataJson"` // 设备数据
  89. T_state int `orm:"size(2);default(1);index" json:"T_state" form:"T_state"` // 1 正常 2 禁用\删除 3 无效
  90. CreateTime Time `orm:"column(create_time);type(timestamp);auto_now_add" json:"CreateTime"`
  91. UpdateTime Time `orm:"column(update_time);type(timestamp);auto_now" json:"UpdateTime"`
  92. }