WVJBModel.swift 5.4 KB

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