WVJBModel.swift 5.7 KB

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