response.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package response
  2. import "time"
  3. // IdentityResponse 是设备公开身份,不包含 MQTT 密码或配对码。
  4. type IdentityResponse struct {
  5. RequestID string `json:"request_id"`
  6. DeviceID string `json:"device_id"`
  7. DeviceCode string `json:"device_code"`
  8. DeviceType string `json:"device_type"`
  9. DeviceModel string `json:"device_model"`
  10. FirmwareVersion string `json:"firmware_version"`
  11. IP string `json:"ip"`
  12. ConfigPort int `json:"config_port"`
  13. CertificateFingerprint string `json:"certificate_fingerprint"`
  14. PublicKeyFingerprint string `json:"public_key_fingerprint"`
  15. PairingRequired bool `json:"pairing_required"`
  16. Verified bool `json:"verified"`
  17. ExpiredAt time.Time `json:"expired_at"`
  18. ProvisionStatus string `json:"provision_status"`
  19. }
  20. // DiscoveryResponse is an untrusted UDP discovery result awaiting HTTPS identity verification.
  21. type DiscoveryResponse struct {
  22. RequestID string `json:"request_id"`
  23. DeviceID string `json:"device_id"`
  24. DeviceCode string `json:"device_code"`
  25. DeviceType string `json:"device_type"`
  26. DeviceModel string `json:"device_model"`
  27. FirmwareVersion string `json:"firmware_version"`
  28. IP string `json:"ip"`
  29. ConfigPort int `json:"config_port"`
  30. PublicKeyFingerprint string `json:"public_key_fingerprint"`
  31. SignatureVerified bool `json:"signature_verified"`
  32. ProvisionMethod string `json:"provision_method"`
  33. ProvisionStatus string `json:"provision_status"`
  34. ExpiredAt time.Time `json:"expired_at"`
  35. }
  36. // ProvisionStatusResponse 返回设备接入和 MQTT 在线状态。
  37. type ProvisionStatusResponse struct {
  38. DeviceID string `json:"device_id"`
  39. DeviceCode string `json:"device_code"`
  40. ProvisionStatus string `json:"provision_status"`
  41. ProvisionMethod string `json:"provision_method"`
  42. DeviceStatus string `json:"device_status"`
  43. ProvisionError string `json:"provision_error"`
  44. IP string `json:"ip"`
  45. ConfigPort int `json:"config_port"`
  46. CertificateFinger string `json:"certificate_fingerprint"`
  47. VerifiedAt *time.Time `json:"verified_at"`
  48. ProvisionedAt *time.Time `json:"provisioned_at"`
  49. }