SwiftMoyaNetWorkServiceUser.swift 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531
  1. //
  2. // SwiftMoyaNetWorkServiceUser.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/3/29.
  6. // Copyright © 2019 南鑫林. All rights reserved.
  7. //
  8. import Foundation
  9. import Moya
  10. import SwiftyJSON
  11. import ObjectMapper
  12. public class SwiftMoyaNetWorkServiceUser: NSObject {
  13. private static let sharedInstance = SwiftMoyaNetWorkServiceUser()
  14. private override init() {} // 私有化init方法
  15. public class func shared() -> SwiftMoyaNetWorkServiceUser {
  16. return sharedInstance
  17. }
  18. /// 数据回调
  19. typealias apiCallBack = (Any) -> (Void)
  20. // MARK: - 微信注册/登录
  21. /// 微信注册/登录
  22. ///
  23. /// - Parameters:
  24. /// - open_id: 微信 open_id
  25. /// - union_id: 微信 string
  26. /// - avatar: 头像
  27. /// - username: 昵称
  28. /// - gender: 性别 1男 2女
  29. /// - completion: 回调
  30. func userWeiXinRegisterApi(open_id:String,union_id:String,avatar:String,username:String,gender:Int,completion: @escaping apiCallBack) {
  31. var parameters = Dictionary<String,Any>()
  32. parameters.updateValue(open_id, forKey: "open_id")
  33. parameters.updateValue(union_id, forKey: "union_id")
  34. parameters.updateValue(avatar, forKey: "avatar")
  35. parameters.updateValue(username, forKey: "username")
  36. parameters.updateValue(gender, forKey: "gender")
  37. SwiftProgressHUD.shared().showWait()
  38. SwiftMoyaNetWorkManager.shared().request(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userWeiXinRegister(parameters: parameters))) { (userModel) in
  39. UserModel.shared().setModel(model: userModel as! UserModel)
  40. SwiftProgressHUD.shared().hide()
  41. completion(UserModel.shared().getModel() as Any)
  42. }
  43. }
  44. // MARK: - 手机注册/登录
  45. /// 手机注册/登录
  46. ///
  47. /// - Parameters:
  48. /// - mobile: 手机号
  49. /// - sms_code: 短信验证码
  50. /// - completion: 回调
  51. func userMobileRegisterApi(mobile:String,sms_code:String,completion: @escaping apiCallBack) {
  52. var parameters = Dictionary<String,Any>()
  53. parameters.updateValue(mobile, forKey: "mobile")
  54. parameters.updateValue(sms_code, forKey: "sms_code")
  55. SwiftProgressHUD.shared().showWait()
  56. SwiftMoyaNetWorkManager.shared().request(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMobileRegister(parameters: parameters))) { (userModel) in
  57. UserModel.shared().setModel(model: userModel as! UserModel)
  58. SwiftProgressHUD.shared().hide()
  59. completion("")
  60. }
  61. }
  62. // MARK: - 手机密码登录
  63. /// 手机密码登录
  64. ///
  65. /// - Parameters:
  66. /// - mobile: 手机号
  67. /// - password: 密码
  68. /// - completion: 回调
  69. func userMobileLoginApi(mobile:String,password:String,completion: @escaping apiCallBack) {
  70. var parameters = Dictionary<String,Any>()
  71. parameters.updateValue(mobile, forKey: "mobile")
  72. parameters.updateValue(password, forKey: "password")
  73. SwiftProgressHUD.shared().showWait()
  74. SwiftMoyaNetWorkManager.shared().request(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMobileLogin(parameters: parameters))) { (userModel) in
  75. UserModel.shared().setModel(model: userModel as! UserModel)
  76. SwiftProgressHUD.shared().hide()
  77. completion("")
  78. }
  79. }
  80. // MARK: - 刷新令牌
  81. /// 刷新令牌
  82. ///
  83. /// - Parameters:
  84. /// - completion: 回调
  85. func userRefreshApi(completion: @escaping apiCallBack) {
  86. let parameters = Dictionary<String,Any>()
  87. SwiftProgressHUD.shared().showWait()
  88. SwiftMoyaNetWorkManager.shared().request(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userRefresh(parameters: parameters))) { (userModel) in
  89. UserModel.shared().setModel(model: userModel as! UserModel)
  90. SwiftProgressHUD.shared().hide()
  91. completion("")
  92. }
  93. }
  94. // MARK: - 登出
  95. /// 登出
  96. ///
  97. /// - Parameters:
  98. /// - completion: 回调
  99. func userLogoutApi() {
  100. let parameters = Dictionary<String,Any>()
  101. SwiftProgressHUD.shared().showWait()
  102. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userLogout(parameters: parameters))) { (data) in
  103. kAppDelegate.setLoginController()
  104. SwiftProgressHUD.shared().hide()
  105. }
  106. }
  107. // MARK: - 绑定手机号
  108. /// 绑定手机号
  109. ///
  110. /// - Parameters:
  111. /// - mobile: 手机号
  112. /// - smsCode: 验证码
  113. /// - unionId: 微信unioId
  114. /// - openId: 微信openId
  115. /// - completion: 回调
  116. func userBindMobileApi(mobile:String,smsCode:String,unionId:String,openId:String,completion: @escaping apiCallBack) {
  117. var parameters = Dictionary<String,Any>()
  118. parameters.updateValue(mobile, forKey: "mobile")
  119. parameters.updateValue(smsCode, forKey: "sms_code")
  120. parameters.updateValue(unionId, forKey: "union_id")
  121. parameters.updateValue(openId, forKey: "open_id")
  122. SwiftProgressHUD.shared().showWait()
  123. SwiftMoyaNetWorkManager.shared().request(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userBindMobile(parameters: parameters))) { (userModel) in
  124. UserModel.shared().setModel(model: userModel as! UserModel)
  125. SwiftProgressHUD.shared().hide()
  126. completion("")
  127. }
  128. }
  129. // MARK: - 检查是否绑定微信 解绑
  130. /// 检查是否绑定微信 解绑
  131. ///
  132. /// - Parameters:
  133. /// - umLoginModel: UMLoginModel
  134. /// - completion: 回调
  135. func userIsBindWeixinUnBindApi(completion: @escaping apiCallBack) {
  136. let userModel = UserModel.shared().getModel()
  137. var parameters = Dictionary<String,Any>()
  138. parameters.updateValue(userModel!.unionId! as Any, forKey: "union_id")
  139. parameters.updateValue(userModel!.openId! as Any, forKey: "open_id")
  140. if userModel?.mobile == nil || userModel?.mobile == "" {
  141. SwiftProgressHUD.shared().showText("暂时不可以解绑,请先绑定手机号")
  142. }else {
  143. SwiftProgressHUD.shared().showWait()
  144. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userIsBindWeixin(parameters: parameters))) {
  145. [weak self] (rootModel) in
  146. SwiftProgressHUD.shared().hide()
  147. self?.userUnbindWeixinApi(completion: completion)
  148. }
  149. }
  150. }
  151. // MARK: - 检查是否绑定微信 绑定
  152. /// 检查是否绑定微信 绑定
  153. ///
  154. /// - Parameters:
  155. /// - umLoginModel: UMLoginModel
  156. /// - completion: 回调
  157. func userIsBindWeixinBindApi(umLoginModel:UMLoginModel,completion: @escaping apiCallBack) {
  158. var parameters = Dictionary<String,Any>()
  159. parameters.updateValue(umLoginModel.union_id, forKey: "union_id")
  160. parameters.updateValue(umLoginModel.open_id, forKey: "open_id")
  161. SwiftProgressHUD.shared().showWait()
  162. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userIsBindWeixin(parameters: parameters)),isCustomAlert: true) {
  163. [weak self] (rootModel) in
  164. let rootModel = rootModel as! RootModel
  165. SwiftProgressHUD.shared().hide()
  166. if rootModel.code == 0 {
  167. self?.userBindWeixinApi(mobile: UserModel.shared().getModel()?.mobile ?? "", umLoginModel: umLoginModel, completion: completion)
  168. }else if rootModel.code == 1 {
  169. AlertSheetView.alert(title: rootModel.msg ?? "此微信号被其他账号绑定,是否要将此微信号绑定至本账号,并解绑另一起账号?", cancelTitle: "取消", sureTitle: "确认", cancelBlock: { (popupView, index, string) in
  170. }, confirmBlock: { (popupView, index, string) in
  171. AlertSheetView.alert(title: "确认后,原账号将无法以此微信登录,请确保原账号有其他登录方式,否则原账号将无法登录", cancelTitle: "取消", sureTitle: "确认", cancelBlock: { (popupView, index, string) in
  172. }, confirmBlock: {
  173. [weak self] (popupView, index, string) in
  174. self?.userBindWeixinApi(mobile: UserModel.shared().getModel()?.mobile ?? "", umLoginModel: umLoginModel, completion: completion)
  175. })
  176. })
  177. }
  178. }
  179. }
  180. // MARK: - 绑定微信
  181. /// 绑定微信
  182. ///
  183. /// - Parameters:
  184. /// - mobile: 手机号
  185. /// - umLoginModel: 微信模型
  186. /// - completion: 回调
  187. func userBindWeixinApi(mobile:String,umLoginModel:UMLoginModel,completion: @escaping apiCallBack) {
  188. var parameters = Dictionary<String,Any>()
  189. parameters.updateValue(mobile, forKey: "mobile")
  190. parameters.updateValue(umLoginModel.open_id, forKey: "open_id")
  191. parameters.updateValue(umLoginModel.union_id, forKey: "union_id")
  192. parameters.updateValue(umLoginModel.avatar, forKey: "avatar")
  193. parameters.updateValue(umLoginModel.username, forKey: "username")
  194. parameters.updateValue(umLoginModel.gender, forKey: "gender")
  195. SwiftProgressHUD.shared().showWait()
  196. SwiftMoyaNetWorkManager.shared().request(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userBindWeixin(parameters: parameters))) { (userModel) in
  197. UserModel.shared().setModel(model: userModel as! UserModel)
  198. SwiftProgressHUD.shared().hide()
  199. completion("")
  200. }
  201. }
  202. // MARK: - 解绑微信
  203. /// 解绑微信
  204. ///
  205. /// - Parameters:
  206. /// - unionId: 微信unionId
  207. /// - openId: 微信openId
  208. /// - completion: 回调
  209. func userUnbindWeixinApi(completion: @escaping apiCallBack) {
  210. var parameters = Dictionary<String,Any>()
  211. let userModel = UserModel.shared().getModel()
  212. parameters.updateValue(userModel!.unionId! as Any, forKey: "union_id")
  213. parameters.updateValue(userModel!.openId! as Any, forKey: "open_id")
  214. SwiftProgressHUD.shared().showWait()
  215. SwiftMoyaNetWorkManager.shared().request(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userUnbindWeixin(parameters: parameters))) {(userModel) in
  216. UserModel.shared().setModel(model: userModel as! UserModel)
  217. SwiftProgressHUD.shared().hide()
  218. completion("")
  219. }
  220. }
  221. // MARK: - 设置密码
  222. /// 设置密码
  223. ///
  224. /// - Parameters:
  225. /// - mobile: 手机号
  226. /// - password: 密码
  227. /// - password_confirmation: 确认密码
  228. /// - completion: 回调
  229. func userSetPasswordApi(mobile:String,password:String,password_confirmation:String,completion: @escaping apiCallBack) {
  230. var parameters = Dictionary<String,Any>()
  231. parameters.updateValue(mobile, forKey: "mobile")
  232. parameters.updateValue(password, forKey: "password")
  233. parameters.updateValue(password_confirmation, forKey: "password_confirmation")
  234. SwiftProgressHUD.shared().showWait()
  235. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userSetPassword(parameters: parameters))) {(rootModel) in
  236. let rootModel = rootModel as! RootModel
  237. SwiftProgressHUD.shared().showText(rootModel.msg!)
  238. if rootModel.code == 0 {
  239. let userModel = UserModel.shared().getModel()
  240. let setPasswordModel = SetPasswordModel(JSONString: rootModel.data ?? "")
  241. userModel?.isPassword = setPasswordModel?.isPassword
  242. UserModel.shared().setModel(model: userModel!)
  243. completion("")
  244. }
  245. }
  246. }
  247. // MARK: - 用户自提点,快递地址列表
  248. /// 用户自提点,快递地址列表
  249. ///
  250. /// - Parameters:
  251. /// - type: 0所有列表,1自提列表,2快递
  252. /// - city_id: 城市id
  253. /// - completion: 回调
  254. func userSelfAndExpressAddressListApi(type:Int,completion: @escaping apiCallBack) {
  255. var parameters = Dictionary<String,Any>()
  256. let loacationModel = LocationModel.shared().getLocationModel()
  257. let baiduToCityModel = BaiduToCityFactory.shared.query(bjcityId: loacationModel!.cityCode)
  258. parameters.updateValue(baiduToCityModel.areaCode, forKey: "city_id")
  259. parameters.updateValue(type, forKey: "type")
  260. SwiftProgressHUD.shared().showWait()
  261. SwiftMoyaNetWorkManager.shared().request(AddressManagerListModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userSelfAddressList(parameters: parameters))) {(addressManagerListModel) in
  262. SwiftProgressHUD.shared().hide()
  263. completion(addressManagerListModel)
  264. }
  265. }
  266. // MARK: - (新增、编辑)快递地址
  267. /// 新增、编辑)快递地址
  268. ///
  269. /// - Parameters:
  270. /// - id: 表id 修改适合传
  271. /// - contactName: 收货人
  272. /// - contactMobile: 联系电话
  273. /// - provinceId: 省id
  274. /// - provinceName: 省份名称
  275. /// - cityId: 城市id
  276. /// - cityName: 城市名称
  277. /// - areaId: 区id
  278. /// - areaName: 区名称
  279. /// - address: 详细地址
  280. /// - zipcode: 邮政编码 710110
  281. /// - completion: 回调
  282. func userAddExpressAddressApi(expressAddresModel:ExpressAddresModel, completion: @escaping apiCallBack) {
  283. var parameters = Dictionary<String,Any>()
  284. parameters.updateValue(expressAddresModel.id ?? "", forKey: "id")
  285. parameters.updateValue(expressAddresModel.contactName ?? "", forKey: "contact_name")
  286. parameters.updateValue(expressAddresModel.contactMobile ?? "", forKey: "contact_mobile")
  287. parameters.updateValue(expressAddresModel.provinceId ?? "", forKey: "province_id")
  288. parameters.updateValue(expressAddresModel.provinceName ?? "", forKey: "province_name")
  289. parameters.updateValue(expressAddresModel.cityId ?? "", forKey: "city_id")
  290. parameters.updateValue(expressAddresModel.cityName ?? "", forKey: "city_name")
  291. parameters.updateValue(expressAddresModel.areaId ?? "", forKey: "area_id")
  292. parameters.updateValue(expressAddresModel.areaName ?? "", forKey: "area_name")
  293. parameters.updateValue(expressAddresModel.address ?? "", forKey: "address")
  294. SwiftProgressHUD.shared().showWait()
  295. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userAddExpressAddress(parameters: parameters))) {(rootModel) in
  296. let rootModel = rootModel as! RootModel
  297. SwiftProgressHUD.shared().showText(rootModel.msg!)
  298. completion("")
  299. }
  300. }
  301. // MARK: - 设置(自提/快递)默认地址
  302. /// 设置(自提/快递)默认地址
  303. ///
  304. /// - Parameters:
  305. /// - id: 表id 修改适合传
  306. func userAddressIsDefaultApi(id:Int = 0,completion: @escaping apiCallBack) {
  307. var parameters = Dictionary<String,Any>()
  308. parameters.updateValue(id, forKey: "id")
  309. SwiftProgressHUD.shared().showWait()
  310. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userAddressIsDefault(parameters: parameters))) {
  311. (rootModel) in
  312. let rootModel = rootModel as! RootModel
  313. SwiftProgressHUD.shared().showText(rootModel.msg!)
  314. completion("")
  315. }
  316. }
  317. // MARK: - 删除(自提/快递)地址
  318. /// 删除(自提/快递)地址
  319. ///
  320. /// - Parameters:
  321. /// - id: 地址Id
  322. func userAddressDeleteApi(id:Int = 0,completion: @escaping apiCallBack) {
  323. var parameters = Dictionary<String,Any>()
  324. parameters.updateValue(id, forKey: "id")
  325. SwiftProgressHUD.shared().showWait()
  326. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userAddressDelete(parameters: parameters))) {
  327. (rootModel) in
  328. let rootModel = rootModel as! RootModel
  329. SwiftProgressHUD.shared().showText(rootModel.msg!)
  330. completion("")
  331. }
  332. }
  333. // MARK: - 自提点收货人列表
  334. /// 自提点收货人列表
  335. ///
  336. /// - Parameter completion: 成功回调
  337. func userExpreesContactsListApi(completion: @escaping apiCallBack) {
  338. let parameters = Dictionary<String,Any>()
  339. SwiftProgressHUD.shared().showWait()
  340. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userExpreesContactsList(parameters: parameters))) {
  341. (rootModel) in
  342. let rootModel = rootModel as! RootModel
  343. let selfMentionContactsModels = Mapper<SelfMentionContactsModel>().mapArray(JSONString: rootModel.data!)
  344. SwiftProgressHUD.shared().hide()
  345. completion(selfMentionContactsModels as Any)
  346. }
  347. }
  348. // MARK: - 获取默认快递信息
  349. /// 获取默认快递信息
  350. ///
  351. /// - Parameter completion: 成功回调
  352. func userDefaultExpressApi(completion: @escaping apiCallBack) {
  353. let parameters = Dictionary<String,Any>()
  354. SwiftProgressHUD.shared().showWait()
  355. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userDefaultExpress(parameters: parameters))) {(rootModel) in
  356. SwiftProgressHUD.shared().hide()
  357. let rootModel = rootModel as! RootModel
  358. let expressAddrModel = ExpressAddresModel(JSONString: rootModel.data ?? "")
  359. completion(expressAddrModel as Any)
  360. }
  361. }
  362. // MARK: - 获取默认快递信息
  363. /// 获取默认快递信息
  364. ///
  365. /// - Parameter completion: 成功回调
  366. func userDefaultContactApi(completion: @escaping apiCallBack) {
  367. let parameters = Dictionary<String,Any>()
  368. SwiftProgressHUD.shared().showWait()
  369. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userDefaultContact(parameters: parameters))) {(rootModel) in
  370. SwiftProgressHUD.shared().hide()
  371. let rootModel = rootModel as! RootModel
  372. let contactMdl = DefaultContactInfoModel(JSONString: rootModel.data ?? "")
  373. completion(contactMdl as Any)
  374. }
  375. }
  376. // MARK: - 新增、编辑 自提地址收货人信息
  377. /// 新增、编辑 自提地址收货人信息
  378. ///
  379. /// - Parameters:
  380. /// - id: 收货人id
  381. /// - mobile: 手机号码
  382. /// - name: 用户名
  383. /// - completion: 完成
  384. func userSaveExpreesContactsApi(id:Int = 0,mobile:String = "",name:String = "",completion: @escaping apiCallBack) {
  385. if mobile.count != 11 {
  386. SwiftProgressHUD.shared().showText("手机格式有误,请重新输入")
  387. } else if name.count <= 0 {
  388. SwiftProgressHUD.shared().showText("收货人信息不能为空")
  389. }else {
  390. var parameters = Dictionary<String,Any>()
  391. if id != 0 {
  392. parameters.updateValue(id, forKey: "id")
  393. }
  394. parameters.updateValue(mobile, forKey: "mobile")
  395. parameters.updateValue(name, forKey: "name")
  396. SwiftProgressHUD.shared().showWait()
  397. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userSaveExpreesContacts(parameters: parameters))) {
  398. (rootModel) in
  399. let rootModel = rootModel as! RootModel
  400. SwiftProgressHUD.shared().showText(rootModel.msg!)
  401. completion("")
  402. }
  403. }
  404. }
  405. // MARK: - 删除自提点收货人信息
  406. /// 删除自提点收货人信息
  407. ///
  408. /// - Parameters:
  409. /// - id: 收货人id
  410. /// - completion: 完成
  411. func userDelExpreesContactsApi(id:Int = 0,completion: @escaping apiCallBack) {
  412. var parameters = Dictionary<String,Any>()
  413. parameters.updateValue(id, forKey: "id")
  414. SwiftProgressHUD.shared().showWait()
  415. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userDelExpreesContacts(parameters: parameters))) {
  416. (rootModel) in
  417. let rootModel = rootModel as! RootModel
  418. SwiftProgressHUD.shared().showText(rootModel.msg!)
  419. completion("")
  420. }
  421. }
  422. // MARK: - 自提点收货人信息,设置默认
  423. /// 自提点收货人信息,设置默认
  424. ///
  425. /// - Parameters:
  426. /// - id: 收货人id
  427. /// - completion: 完成
  428. func userSetExpreesContactsDefaultApi(id:Int = 0,completion: @escaping apiCallBack) {
  429. var parameters = Dictionary<String,Any>()
  430. parameters.updateValue(id, forKey: "id")
  431. SwiftProgressHUD.shared().showWait()
  432. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userSetExpreesContactsDefault(parameters: parameters))) {
  433. (rootModel) in
  434. let rootModel = rootModel as! RootModel
  435. SwiftProgressHUD.shared().showText(rootModel.msg!)
  436. completion("")
  437. }
  438. }
  439. // MARK: - 新增自提地址
  440. /// 新增自提地址
  441. ///
  442. /// - Parameters:
  443. /// - pickupNodeId: 地址类型1快递地址,自提地址
  444. /// - address: 详细地址
  445. /// - completion: 完成
  446. func userAddSelfAddressApi(cityId:Int = 0,cityName:String = "",pickupNodeId:Int = 0,address:String,completion: @escaping apiCallBack) {
  447. var parameters = Dictionary<String,Any>()
  448. let deliveryMethodTypeModel = DeliveryMethodTypeModel.shared().getModel()
  449. parameters.updateValue(deliveryMethodTypeModel?.deliveryMethodType ?? "1", forKey: "address_type")
  450. parameters.updateValue(cityId, forKey: "city_id")
  451. parameters.updateValue(cityName, forKey: "city_name")
  452. parameters.updateValue(pickupNodeId, forKey: "pickup_node_id")
  453. parameters.updateValue(address, forKey: "address")
  454. SwiftProgressHUD.shared().showWait()
  455. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userAddSelfAddress(parameters: parameters))) {
  456. (rootModel) in
  457. let rootModel = rootModel as! RootModel
  458. SwiftProgressHUD.shared().showText(rootModel.msg!)
  459. completion("")
  460. }
  461. }
  462. // MARK: - 设置用户配送方式
  463. /// 设置用户配送方式
  464. ///
  465. /// - Parameters:
  466. /// - deliveryMethodType: 0所有列表,1自提列表,2快递
  467. /// - completion: 返回
  468. func userSetDeliverTypeApi(deliveryMethodType:String = "2",completion: @escaping apiCallBack) {
  469. var parameters = Dictionary<String,Any>()
  470. let model = DeliveryMethodTypeModel.shared().getModel()
  471. model?.deliveryMethodType = deliveryMethodType
  472. DeliveryMethodTypeModel.shared().setModel(model: model!)
  473. parameters.updateValue(model?.deliveryMethodType ?? "2", forKey: "deliver_type")
  474. SwiftProgressHUD.shared().showWait()
  475. SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userSetDeliverType(parameters: parameters))) {
  476. (rootModel) in
  477. let rootModel = rootModel as! RootModel
  478. SwiftProgressHUD.shared().showText(rootModel.msg!)
  479. completion("")
  480. }
  481. }
  482. }