SwiftMoyaNetWorkServiceUser.swift 24 KB

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