O2JPushManager.swift 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // O2JPushManager.swift
  3. // O2Platform
  4. //
  5. // Created by FancyLou on 2019/11/11.
  6. // Copyright © 2019 zoneland. All rights reserved.
  7. //
  8. import UIKit
  9. import Moya
  10. import O2OA_Auth_SDK
  11. import Promises
  12. import CocoaLumberjack
  13. class O2JPushManager {
  14. static let shared: O2JPushManager = {
  15. return O2JPushManager()
  16. }()
  17. private init() {
  18. }
  19. private let o2JPushAPI = {
  20. return OOMoyaProvider<JPushAPI>()
  21. }()
  22. //直连版本 连接o2oa服务器绑定设备号到个人属性中
  23. func o2JPushBind() {
  24. DDLogDebug("绑定设备号")
  25. if let _ = O2AuthSDK.shared.o2APIServer(context: .x_jpush_assemble_control) {
  26. let deviceName = O2AuthSDK.shared.getDeviceToken()
  27. let device = JPushDevice()
  28. device.deviceName = deviceName
  29. device.deviceType = "ios"
  30. self.o2JPushAPI.request(.bindDevice(device)) { (result) in
  31. let response = OOResult<BaseModelClass<OOCommonValueBoolModel>>(result)
  32. if response.isResultSuccess() {
  33. let value = response.model?.data
  34. DDLogInfo("绑定设备到个人属性,结果:\(value?.value ?? false)")
  35. }else {
  36. DDLogError(response.error?.localizedDescription ?? "绑定设备到个人属性失败!")
  37. }
  38. }
  39. }else {
  40. DDLogError("绑定,没有获取到极光推送消息模块,服务器版本不支持!!!!!")
  41. }
  42. }
  43. func O2JPushUnBind() {
  44. DDLogDebug("解除绑定设备号")
  45. if let _ = O2AuthSDK.shared.o2APIServer(context: .x_jpush_assemble_control) {
  46. let deviceName = O2AuthSDK.shared.getDeviceToken()
  47. self.o2JPushAPI.request(.unBindDevice(deviceName)) { (result) in
  48. let response = OOResult<BaseModelClass<OOCommonValueBoolModel>>(result)
  49. if response.isResultSuccess() {
  50. let value = response.model?.data
  51. DDLogInfo("解绑设备号 ,结果:\(value?.value ?? false)")
  52. }else {
  53. DDLogError(response.error?.localizedDescription ?? "解绑设备号 失败!")
  54. }
  55. }
  56. }else {
  57. DDLogError("解绑,没有获取到极光推送消息模块,服务器版本不支持!!!!!")
  58. }
  59. }
  60. }