WVJBModel.swift 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. //
  2. // WebViewJavascriptBridgeModel.swift
  3. // Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport
  4. import Foundation
  5. import ObjectMapper
  6. /// h5交互的类型
  7. ///
  8. /// - none: 没有
  9. /// - share: 分享
  10. /// - view: APP原生页面跳转
  11. /// - link: H5页面跳转
  12. /// - copy: 复制
  13. /// - bean: 刷新U米
  14. /// - preview: 预览图片
  15. /// - follow: 关注
  16. /// - datepicker: 时间picker
  17. /// - datepicker: 分享链接
  18. /// - selectTopic: 话题
  19. /// - publish: 点击发布
  20. /// - location: 定位
  21. enum WVJBModelType : String {
  22. case none = ""
  23. case share = "share"
  24. case view = "view"
  25. case link = "link"
  26. case copy = "copy"
  27. case bean = "bean"
  28. case preview = "preview"
  29. case follow = "follow"
  30. case back = "back"
  31. case datepicker = "datepicker"
  32. case shareLink = "shareLink"
  33. case selectTopic = "selectTopic"
  34. case publish = "publish"
  35. case location = "location"
  36. }
  37. /// WebViewJavascriptBridgeModel 简写 WVJBModel
  38. class WVJBModel:NSObject,Mappable{
  39. var modelType : WVJBModelType?
  40. var type : String? {
  41. didSet {
  42. modelType = WVJBModelType(rawValue: type ?? "") ?? WVJBModelType.none
  43. }
  44. }
  45. var params : WVJBParamsModel?
  46. class func newInstance(map: Map) -> Mappable?{
  47. return WVJBModel()
  48. }
  49. required init?(map: Map){}
  50. override init(){}
  51. func mapping(map: Map)
  52. {
  53. type <- map["type"]
  54. params <- map["params"]
  55. }
  56. }
  57. /// 邀请
  58. ///
  59. /// - none: 没有
  60. /// - invite: 分享
  61. enum WVJBParamsModelType : String {
  62. case none = ""
  63. case invite = "invite"
  64. }
  65. /// APP原生页面跳转类型
  66. ///
  67. /// - none: 没有
  68. /// - publist: 发布
  69. /// - join: feed流
  70. /// - account: 账户(绑定微信)
  71. /// - exchange: 兑换商城
  72. /// - planet: 星球
  73. /// - user: 用户
  74. /// - signin: 登录
  75. /// - chatroom: 聊天室
  76. enum WVJBParamsModelPage : String {
  77. case none = ""
  78. case publist = "publish"
  79. case join = "join"
  80. case account = "account"
  81. case exchange = "exchange"
  82. case planet = "planet"
  83. case user = "user"
  84. case signin = "signin"
  85. case chatroom = "chatroom"
  86. case circle = "circle"
  87. }
  88. /// WebViewJavascriptBridgeParameterModel 简写 WVJBParameterModel
  89. class WVJBParamsModel:NSObject,Mappable {
  90. var url : String?
  91. //复制内容
  92. var content : String?
  93. /// 关注
  94. var uid : Int?
  95. /// 关注状态/发布状态
  96. var status : Int?
  97. /// 预览图片 数组
  98. var list : [String]?
  99. /// 初始位置
  100. var current : Int?
  101. /// 交互类型参数
  102. var paramsModelType : WVJBParamsModelType?
  103. // datePicker/shareLink
  104. /// 时间的标示 / 标题
  105. var title : String?
  106. // datePicker
  107. /// 时间戳
  108. var timeStamp : String? {
  109. didSet {
  110. timeStamp = "\(Date.stringToDate(timeStamp ?? Date.dateToString(Date())).timeStamp())"
  111. }
  112. }
  113. // selectTopic
  114. /// 话题
  115. var topic : String?
  116. var key : String?
  117. /// 描述
  118. var desc : String?
  119. /// 链接地址
  120. var link : String?
  121. /// 图片
  122. var imgUrl : String?
  123. var type : String? {
  124. didSet {
  125. paramsModelType = WVJBParamsModelType(rawValue: type ?? "") ?? WVJBParamsModelType.none
  126. }
  127. }
  128. //APP原生页面跳转类型
  129. var paramsModelPage : WVJBParamsModelPage?
  130. var page :String? {
  131. didSet {
  132. paramsModelPage = WVJBParamsModelPage(rawValue: page ?? "") ?? WVJBParamsModelPage.none
  133. }
  134. }
  135. var payload : WVJBPayloadModel?
  136. class func newInstance(map: Map) -> Mappable?{
  137. return WVJBParamsModel()
  138. }
  139. required init?(map: Map){}
  140. override init(){}
  141. func mapping(map: Map)
  142. {
  143. type <- map["type"]
  144. page <- map["page"]
  145. url <- map["url"]
  146. content <- map["content"]
  147. uid <- map["uid"]
  148. status <- map["status"]
  149. list <- map["list"]
  150. current <- map["current"]
  151. payload <- map["payload"]
  152. title <- map["title"]
  153. timeStamp <- map["timestamp"]
  154. key <- map["key"]
  155. desc <- map["desc"]
  156. link <- map["link"]
  157. imgUrl <- map["imgUrl"]
  158. topic <- map["topic"]
  159. status <- map["status"]
  160. }
  161. }
  162. /// WebViewJavascriptBridgeParameterModel 简写 WVJBParameterModel
  163. class WVJBPayloadModel:NSObject,Mappable {
  164. /// 关注
  165. var uid : Int?
  166. var roomId : String?
  167. var roomName : String?
  168. var circleId : Int?
  169. class func newInstance(map: Map) -> Mappable?{
  170. return WVJBParamsModel()
  171. }
  172. required init?(map: Map){}
  173. override init(){}
  174. func mapping(map: Map)
  175. {
  176. uid <- map["uid"]
  177. roomId <- map["room_id"]
  178. roomName <- map["room_name"]
  179. circleId <- map["circle_id"]
  180. }
  181. }
  182. /// APP原生页面跳转类型
  183. ///
  184. /// - none: 没有
  185. /// - publist: 发布
  186. /// - join: feed流
  187. /// - account: 账户(绑定微信)
  188. /// - exchange: 兑换商城
  189. /// - planet: 星球
  190. /// - task: 任务
  191. enum WVJBRefreshModelType : String {
  192. case none = ""
  193. case planet = "planet"
  194. case task = "task"
  195. }
  196. class WVJBRefreshModel: NSObject, Mappable{
  197. var silent : Int?
  198. var type : String?
  199. class func newInstance(map: Map) -> Mappable?{
  200. return WVJBRefreshModel()
  201. }
  202. required init?(map: Map){}
  203. override init(){}
  204. func mapping(map: Map)
  205. {
  206. silent <- map["silent"]
  207. type <- map["type"]
  208. }
  209. }
  210. class WVJBDatepickerModel: NSObject, Mappable{
  211. var timestamp : Double?
  212. var key : String?
  213. class func newInstance(map: Map) -> Mappable?{
  214. return WVJBDatepickerModel()
  215. }
  216. required init?(map: Map){}
  217. override init(){}
  218. func mapping(map: Map)
  219. {
  220. timestamp <- map["timestamp"]
  221. key <- map["key"]
  222. }
  223. }