IMConversationInfo.swift 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. //
  2. // IMConversation.swift
  3. // O2Platform
  4. //
  5. // Created by FancyLou on 2020/6/4.
  6. // Copyright © 2020 zoneland. All rights reserved.
  7. //
  8. import HandyJSON
  9. class IMConversationInfo: NSObject, DataModel {
  10. @objc var id: String?
  11. @objc var title: String?
  12. @objc var type: String? //会话类型 单人 、 群.
  13. @objc var personList: [String]?
  14. @objc var adminPerson: String?
  15. @objc var note: String?
  16. @objc var lastMessageTime: String?
  17. @objc var createTime: String?
  18. @objc var updateTime: String?
  19. var unreadNumber: Int?
  20. var isTop: Bool?
  21. @objc var lastMessage: IMMessageInfo?
  22. required override init() { }
  23. func mapping(mapper: HelpingMapper) {
  24. }
  25. }
  26. class IMMessageRequestForm: NSObject, DataModel {
  27. @objc var conversationId: String?
  28. required override init() { }
  29. func mapping(mapper: HelpingMapper) {
  30. }
  31. }
  32. class IMMessageInfo: NSObject, DataModel {
  33. @objc var id: String?
  34. @objc var conversationId: String?
  35. @objc var body: String?
  36. @objc var createPerson: String?
  37. @objc var createTime: String?
  38. @objc var updateTime: String?
  39. required override init() { }
  40. func mapping(mapper: HelpingMapper) {
  41. }
  42. }
  43. class IMMessageBodyInfo: NSObject, DataModel {
  44. @objc var id: String?
  45. @objc var type: String?
  46. @objc var body: String?
  47. @objc var fileId: String? //文件id
  48. @objc var fileExtension: String? //文件扩展
  49. @objc var fileTempPath: String? //本地临时文件地址
  50. @objc var audioDuration: String? // 音频文件时长
  51. @objc var address: String? //type=location的时候位置信息
  52. @objc var addressDetail: String?
  53. var latitude: Double?//type=location的时候位置信息
  54. var longitude: Double?//type=location的时候位置信息
  55. required override init() { }
  56. func mapping(mapper: HelpingMapper) {
  57. }
  58. }
  59. class IMUploadBackModel: NSObject, DataModel {
  60. public override var description: String {
  61. return "IMUploadBackModel"
  62. }
  63. @objc var id:String?
  64. @objc var fileExtension: String? //文件扩展
  65. required override init() { }
  66. func mapping(mapper: HelpingMapper) {
  67. }
  68. }
  69. //websocket 消息对象
  70. class WsMessage: NSObject, DataModel {
  71. @objc var type: String? //im_create
  72. @objc var body: IMMessageInfo? //这个对象只有 type=im_create的时候才是这个对象
  73. required override init() { }
  74. func mapping(mapper: HelpingMapper) {
  75. }
  76. }
  77. //其他消息
  78. class InstantMessage: NSObject, DataModel {
  79. @objc var id: String?
  80. @objc var title: String?
  81. @objc var type: String?
  82. @objc var body: String?
  83. @objc var consumerList: [String]?
  84. @objc var person: String?
  85. var consumed: Bool?
  86. @objc var createTime: String?
  87. @objc var updateTime: String?
  88. required override init() { }
  89. func mapping(mapper: HelpingMapper) {
  90. }
  91. }
  92. struct O2LocationData {
  93. var address: String?
  94. var addressDetail: String?
  95. var latitude: Double?
  96. var longitude: Double?
  97. }