O2PersonalViewModel.swift 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // O2PersonalViewModel.swift
  3. // O2Platform
  4. //
  5. // Created by FancyLou on 2018/11/21.
  6. // Copyright © 2018 zoneland. All rights reserved.
  7. //
  8. import CocoaLumberjack
  9. import Promises
  10. import O2OA_Auth_SDK
  11. class O2PersonalViewModel: NSObject {
  12. private let personalAPI = OOMoyaProvider<PersonalAPI>()
  13. /// 获取个人信息
  14. ///
  15. /// - Returns: O2PersonInfo
  16. func loadMyInfo() -> Promise<O2PersonInfo> {
  17. return Promise<O2PersonInfo> { fulfill,reject in
  18. self.personalAPI.request(.personInfo, completion: { (result) in
  19. let response = OOResult<BaseModelClass<O2PersonInfo>>(result)
  20. if response.isResultSuccess() {
  21. if let person = response.model?.data {
  22. fulfill(person)
  23. }else {
  24. reject(OOAppError.apiResponseError("没有获取到用户信息!"))
  25. }
  26. }else {
  27. reject(response.error!)
  28. }
  29. })
  30. }
  31. }
  32. /// 更新个人信息
  33. ///
  34. /// - Parameter person: 个人信息O2PersonInfo
  35. /// - Returns: Bool
  36. func updateMyInfo(person: O2PersonInfo) -> Promise<Bool> {
  37. return Promise<Bool> { fulfill,reject in
  38. self.personalAPI.request(.updatePersonInfo(person), completion: { (result) in
  39. let response = OOResult<BaseModelClass<OOCommonIdModel>>(result)
  40. if response.isResultSuccess() {
  41. fulfill(true)
  42. }else {
  43. reject(response.error!)
  44. }
  45. })
  46. }
  47. }
  48. /// 更新用户头像
  49. ///
  50. /// - Parameter icon: 用户头像
  51. /// - Returns: Bool
  52. func updateMyIcon(icon: UIImage) -> Promise<Bool> {
  53. return Promise<Bool> { fulfill,reject in
  54. self.personalAPI.request(.updatePersonIcon(icon), completion: { (result) in
  55. let response = OOResult<BaseModelClass<OOCommonValueBoolModel>>(result)
  56. if response.isResultSuccess() {
  57. fulfill(true)
  58. }else {
  59. reject(response.error!)
  60. }
  61. })
  62. }
  63. }
  64. }