diff --git a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate index e5719ec..edee341 100644 Binary files a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate and b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 4e1c4bf..f73cac9 100644 --- a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -317,8 +317,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "603" - endingLineNumber = "603" + startingLineNumber = "598" + endingLineNumber = "598" landmarkName = "tableView(_:cellForRowAt:)" landmarkType = "7"> @@ -539,8 +539,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "845" - endingLineNumber = "845" + startingLineNumber = "840" + endingLineNumber = "840" landmarkName = "collectionView(_:cellForItemAt:)" landmarkType = "7"> @@ -1397,8 +1397,8 @@ filePath = "OrderScheduling/Main/AppDelegate.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "138" - endingLineNumber = "138" + startingLineNumber = "137" + endingLineNumber = "137" landmarkName = "jpushNotificationAuthorization(_:withInfo:)" landmarkType = "7"> @@ -1413,8 +1413,8 @@ filePath = "OrderScheduling/Main/AppDelegate.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "126" - endingLineNumber = "126" + startingLineNumber = "125" + endingLineNumber = "125" landmarkName = "jpushNotificationCenter(_:didReceive:withCompletionHandler:)" landmarkType = "7"> @@ -1605,10 +1605,10 @@ filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "234" - endingLineNumber = "234" - landmarkName = "ReviewFailedController" - landmarkType = "3"> + startingLineNumber = "239" + endingLineNumber = "239" + landmarkName = "reloadData()" + landmarkType = "7"> @@ -1669,8 +1669,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "270" - endingLineNumber = "270" + startingLineNumber = "255" + endingLineNumber = "255" landmarkName = "entry(model:remarkId:)" landmarkType = "7"> @@ -2064,8 +2064,8 @@ filePath = "OrderScheduling/Main/AppDelegate.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "128" - endingLineNumber = "128" + startingLineNumber = "127" + endingLineNumber = "127" landmarkName = "jpushNotificationCenter(_:didReceive:withCompletionHandler:)" landmarkType = "7"> @@ -2285,8 +2285,8 @@ filePath = "OrderScheduling/Global/User/UserData.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "17" - endingLineNumber = "17" + startingLineNumber = "20" + endingLineNumber = "20" landmarkName = "isLogin" landmarkType = "24"> @@ -2301,8 +2301,8 @@ filePath = "OrderScheduling/Global/User/UserData.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "20" - endingLineNumber = "20" + startingLineNumber = "23" + endingLineNumber = "23" landmarkName = "isLogin" landmarkType = "24"> @@ -2317,8 +2317,8 @@ filePath = "OrderScheduling/Global/User/UserData.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "19" - endingLineNumber = "19" + startingLineNumber = "22" + endingLineNumber = "22" landmarkName = "isLogin" landmarkType = "24"> @@ -2557,8 +2557,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "856" - endingLineNumber = "856" + startingLineNumber = "851" + endingLineNumber = "851" landmarkName = "collectionView(_:didSelectItemAt:)" landmarkType = "7"> @@ -2854,8 +2854,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "345" - endingLineNumber = "345" + startingLineNumber = "330" + endingLineNumber = "330" landmarkName = "addActions()" landmarkType = "7"> @@ -2870,8 +2870,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "334" - endingLineNumber = "334" + startingLineNumber = "319" + endingLineNumber = "319" landmarkName = "addActions()" landmarkType = "7"> @@ -2886,8 +2886,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "336" - endingLineNumber = "336" + startingLineNumber = "321" + endingLineNumber = "321" landmarkName = "addActions()" landmarkType = "7"> @@ -3035,22 +3035,6 @@ - - - - @@ -3093,8 +3077,8 @@ filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "105" - endingLineNumber = "105" + startingLineNumber = "95" + endingLineNumber = "95" landmarkName = "addActions()" landmarkType = "7"> @@ -3173,8 +3157,8 @@ filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "233" - endingLineNumber = "233" + startingLineNumber = "238" + endingLineNumber = "238" landmarkName = "reloadData()" landmarkType = "7"> @@ -3189,8 +3173,8 @@ filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "232" - endingLineNumber = "232" + startingLineNumber = "237" + endingLineNumber = "237" landmarkName = "reloadData()" landmarkType = "7"> @@ -3205,8 +3189,8 @@ filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "188" - endingLineNumber = "188" + startingLineNumber = "193" + endingLineNumber = "193" landmarkName = "viewDidLoad()" landmarkType = "7"> @@ -3221,8 +3205,8 @@ filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "182" - endingLineNumber = "182" + startingLineNumber = "187" + endingLineNumber = "187" landmarkName = "viewDidLoad()" landmarkType = "7"> @@ -3562,99 +3546,6 @@ landmarkType = "7"> - - - - - - - - - - - - - - - - - - - - + + + + diff --git a/OrderScheduling/Common/View/AppUpdateTool.swift b/OrderScheduling/Common/View/AppUpdateTool.swift index 7e08751..a228f08 100644 --- a/OrderScheduling/Common/View/AppUpdateTool.swift +++ b/OrderScheduling/Common/View/AppUpdateTool.swift @@ -49,12 +49,12 @@ open class AppUpdateTool : NSObject { }) .disposed(by: disposeBag) - requestAppUpdateRelay + Observable.combineLatest(requestAppUpdateRelay, USER.refreshTokenSub) .observe(on: MainScheduler.instance) - .do(onNext: { _ in + .do(onNext: { (_,_) in UIApplication.shared.dd_keyWindow.rootViewController?.view.dd_showHUD() }) - .flatMapLatest { type in + .flatMapLatest { (type,_) in return Observable.zip(RQ.versionCheck(parameters: VersionCheckParameters(version: TOOL.getVersion())).asObservable(), Observable.just(type)) } .observe(on: MainScheduler.instance) diff --git a/OrderScheduling/Common/View/MessageCount.swift b/OrderScheduling/Common/View/MessageCount.swift index 741bf2c..2c41d34 100644 --- a/OrderScheduling/Common/View/MessageCount.swift +++ b/OrderScheduling/Common/View/MessageCount.swift @@ -20,12 +20,9 @@ open class MessageCount : NSObject { public override init() { super.init() - NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: Notification_reloadRescusControllerToDoMessageCount), object: nil, queue: .main) {[weak self] note in - self?.reloadToDoMessageCountRelay.accept(nil) - } - - reloadToDoMessageCountRelay - .flatMapLatest { _ in + + Observable.combineLatest(reloadToDoMessageCountRelay, USER.refreshTokenSub) + .flatMapLatest { (_,_) in return RQ.toDoMessageCount() } .observe(on: MainScheduler.instance) @@ -45,6 +42,6 @@ open class MessageCount : NSObject { } func newestMessage() { - NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControllerToDoMessageCount), object: nil) + reloadToDoMessageCountRelay.accept(nil) } } diff --git a/OrderScheduling/Global/User/UserData.swift b/OrderScheduling/Global/User/UserData.swift index 2c6b9e7..722beb6 100644 --- a/OrderScheduling/Global/User/UserData.swift +++ b/OrderScheduling/Global/User/UserData.swift @@ -6,12 +6,15 @@ // import Foundation +import RxSwift public let USER = UserData.default open class UserData { public static let `default` = UserData() + public let refreshTokenSub = ReplaySubject.create(bufferSize: 1) + public var isLogin : Bool { if token?.isEmpty == false { return true diff --git a/OrderScheduling/Main/AppDelegate.swift b/OrderScheduling/Main/AppDelegate.swift index b4f0249..4c994be 100644 --- a/OrderScheduling/Main/AppDelegate.swift +++ b/OrderScheduling/Main/AppDelegate.swift @@ -100,18 +100,17 @@ extension AppDelegate : JPUSHRegisterDelegate { let userInfo = notification.request.content.userInfo if notification.request.trigger?.isKind(of: UNPushNotificationTrigger.self) == true { JPUSHService.handleRemoteNotification(userInfo) - - if GROUP.isOrderPushNotification(userInfo: userInfo) == true { - if USER.isLogin == true { + if USER.isLogin == true { + // 刷新个数,要在refreshToken之后 + MCOUNT.newestMessage() + + if GROUP.isOrderPushNotification(userInfo: userInfo) == true { // 只有订单类型才会弹窗和声音 TOOL.dealWithOrderPushNotification { userInfo in TOOL.playAlertWith(userInfo: userInfo) TOOL.playVoiceWith(userInfo: userInfo) } - } - }else{ - if USER.isLogin == true { - MCOUNT.newestMessage() + }else{ completionHandler(1 << 1 | 1 << 2) } } diff --git a/OrderScheduling/Main/SceneDelegate.swift b/OrderScheduling/Main/SceneDelegate.swift index f84e29b..11422d7 100644 --- a/OrderScheduling/Main/SceneDelegate.swift +++ b/OrderScheduling/Main/SceneDelegate.swift @@ -43,7 +43,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { TOOL.dealWithOrderPushNotification { userInfo in TOOL.playAlertWith(userInfo: userInfo) } - // app激活就要获取最新消息个数 + // app激活就要获取最新消息个数,要在refreshToken之后 MCOUNT.newestMessage() } } diff --git a/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift b/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift index 6d22ed4..2c8dd6f 100644 --- a/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift +++ b/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift @@ -537,8 +537,8 @@ open class DispatchOrderPannelView : DDView { radiusView.addSubview(tapBackgroundView) onlineButton.setImage(UIImage(named: "dispatchOrder_online_unselected"), for: .normal) onlineButton.setImage(UIImage(named: "dispatchOrder_online_selected"), for: .selected) - onlineButton.setTitle("app调度", for: .normal) - onlineButton.setTitle("app调度", for: .selected) + onlineButton.setTitle("调度给app", for: .normal) + onlineButton.setTitle("调度给app", for: .selected) onlineButton.setTitleColor(.hex("585E6F").alpha(0.7), for: .normal) onlineButton.setTitleColor(.hex("000000"), for: .selected) onlineButton.titleLabel?.font = .mediumFont(auto(16)) @@ -546,8 +546,8 @@ open class DispatchOrderPannelView : DDView { radiusView.addSubview(onlineButton) offlineButton.setImage(UIImage(named: "dispatchOrder_offline_unselected"), for: .normal) offlineButton.setImage(UIImage(named: "dispatchOrder_offline_selected"), for: .selected) - offlineButton.setTitle("小程序调度", for: .normal) - offlineButton.setTitle("小程序调度", for: .selected) + offlineButton.setTitle("调度给小程序", for: .normal) + offlineButton.setTitle("调度给小程序", for: .selected) offlineButton.setTitleColor(.hex("585E6F").alpha(0.7), for: .normal) offlineButton.setTitleColor(.hex("000000"), for: .selected) offlineButton.titleLabel?.font = .mediumFont(auto(16)) diff --git a/OrderScheduling/Rescue/ViewController/RescueController.swift b/OrderScheduling/Rescue/ViewController/RescueController.swift index b216254..02a0ead 100644 --- a/OrderScheduling/Rescue/ViewController/RescueController.swift +++ b/OrderScheduling/Rescue/ViewController/RescueController.swift @@ -79,22 +79,12 @@ extension RescueController { .do(onNext: { _ in UIApplication.shared.dd_keyWindow.dd_hideHUD() }) - .subscribe(onNext: {[weak self] response in + .subscribe(onNext: { response in if response?.success == true { USER.setToken(token: response?.data?.accessToken.tokenValue) USER.setRefreshToken(token: response?.data?.refreshToken.tokenValue) } - // 内容 - if let view = self?.view,let categoryContainerView = self?.categoryContainerView, let categoryView = self?.categoryView { - print(view.safeAreaInsets.bottom) - view.addSubview(categoryContainerView) - categoryView.listContainer = categoryContainerView - categoryContainerView.snp.remakeConstraints({ make in - make.top.equalTo(categoryView.snp.bottom) - make.left.right.equalToSuperview() - make.bottom.equalTo(-view.safeAreaInsets.bottom) - }) - } + USER.refreshTokenSub.onNext(true) }) .disposed(by: disposeBag) @@ -108,16 +98,6 @@ extension RescueController { .disposed(by: disposeBag) } - override func viewSafeAreaInsetsDidChange() { - super.viewSafeAreaInsetsDidChange() - if categoryContainerView?.superview != nil { - categoryContainerView?.snp.remakeConstraints({ make in - make.top.equalTo(categoryView.snp.bottom) - make.left.right.equalToSuperview() - make.bottom.equalTo(-view.safeAreaInsets.bottom) - }) - } - } } extension RescuePendingOrderController { @@ -172,9 +152,7 @@ extension RescuePendingOrderController { } }) .disposed(by: disposeBag) - - pendingOrderView.tableView.mj_header?.beginRefreshing() - + refuseOrderConfirmView.cancelButton.rx.tap .subscribe(onNext: { _ in ENTRY.dismiss(name: refuseOrderConfirmEntry) @@ -234,6 +212,13 @@ extension RescuePendingOrderController { } }) .disposed(by: disposeBag) + + USER.refreshTokenSub + .observe(on: MainScheduler.instance) + .subscribe(onNext: {[weak self] _ in + self?.pendingOrderView.tableView.mj_header?.beginRefreshing() + }) + .disposed(by: disposeBag) } func entry(model:OrderListDataModel,remarkId:String?) { @@ -359,7 +344,12 @@ extension RescuePendingDispatchController { }) .disposed(by: disposeBag) - pendingDispatchView.tableView.mj_header?.beginRefreshing() + USER.refreshTokenSub + .observe(on: MainScheduler.instance) + .subscribe(onNext: {[weak self] _ in + self?.pendingDispatchView.tableView.mj_header?.beginRefreshing() + }) + .disposed(by: disposeBag) } } @@ -416,7 +406,12 @@ extension RescueIsIngController { }) .disposed(by: disposeBag) - pendingIsIngView.tableView.mj_header?.beginRefreshing() + USER.refreshTokenSub + .observe(on: MainScheduler.instance) + .subscribe(onNext: {[weak self] _ in + self?.pendingIsIngView.tableView.mj_header?.beginRefreshing() + }) + .disposed(by: disposeBag) } } @@ -905,6 +900,11 @@ class RescueController : ZDViewController { indicator.indicatorWidth = auto(18) categoryView.indicators = [indicator] + if let categoryContainerView { + view.addSubview(categoryContainerView) + categoryView.listContainer = categoryContainerView + } + messageView.titleLabel.text = "消息" messageView.addGestureRecognizer(messageTapGes) navigationItem.leftBarButtonItem = UIBarButtonItem(customView: messageView) @@ -922,6 +922,15 @@ class RescueController : ZDViewController { } } + override func viewSafeAreaInsetsDidChange() { + super.viewSafeAreaInsetsDidChange() + categoryContainerView?.snp.makeConstraints({ make in + make.top.equalTo(categoryView.snp.bottom) + make.left.right.equalToSuperview() + make.bottom.equalTo(-view.safeAreaInsets.bottom) + }) + } + override func reloadData() { super.reloadData() preRefreshRelay.accept(nil) diff --git a/OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift b/OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift index b81c988..4805e8f 100644 --- a/OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift +++ b/OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift @@ -13,6 +13,7 @@ import RxSwift import RxRelay import RxCocoa import MJRefresh +import ESTabBarController_swift extension ReviewFailedController { func addActions() { @@ -114,6 +115,10 @@ extension ReviewFailedController { }) .disposed(by: disposeBag) + let item = tabBarItem as? ESTabBarItem + item?.badgeValue = "10" + item?.contentView?.updateLayout() + preRefreshRelay .observe(on: MainScheduler.instance) .subscribe(onNext: {[weak self] _ in diff --git a/OrderScheduling/Strings/NotificationStrings.swift b/OrderScheduling/Strings/NotificationStrings.swift index 52bad2c..30cd104 100644 --- a/OrderScheduling/Strings/NotificationStrings.swift +++ b/OrderScheduling/Strings/NotificationStrings.swift @@ -14,5 +14,3 @@ public let Notification_logoutSuccessToLoginController = "Notification_logoutSuc public let Notification_dispatchOrderSuccessReloadIsRescuingController = "Notification_dispatchOrderSuccessReloadIsRescuingController" public let Notification_dispatchOrderSuccessReloadPendingDispatchController = "Notification_dispatchOrderSuccessReloadPendingDispatchController" - -public let Notification_reloadRescusControllerToDoMessageCount = "Notification_reloadRescusControllerToDoMessageCount"