113 112
     func makeMineAboutViewController() -> MineAboutViewController {
114 113
         let vc = MineAboutViewController.instantiate()
114
+        navigationController.pushViewController(vc)
115
+        
115 116
         return vc
116 117
     }
117 118
     

+ 0 - 6
PaiAi/Paiai_iOS/App/Mine/MineFeedbackViewController.swift

@@ -19,7 +19,6 @@ final class MineFeedbackViewController: UIViewController {
19 19
     
20 20
     fileprivate let disposeBag = DisposeBag()
21 21
     var feedbackAPI: FeedbackRemoteAPI!
22
-    var didCancel = PublishSubject<Void>()
23 22
     
24 23
     override func viewDidLoad() {
25 24
         super.viewDidLoad()
@@ -28,11 +27,6 @@ final class MineFeedbackViewController: UIViewController {
28 27
         textView.textContainerInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
29 28
         bindTextViewToSendBtn()
30 29
     }
31
-    
32
-    override func viewWillDisappear(_ animated: Bool) {
33
-        super.viewWillDisappear(animated)
34
-        didCancel.onNext(())
35
-    }
36 30
 }
37 31
 
38 32
 /// storyboard button action

+ 7 - 7
PaiAi/Paiai_iOS/App/PhotoDetail/PhotoDetailCoordinator.swift

@@ -11,22 +11,22 @@ import RxSwift
11 11
 import PaiaiDataKit
12 12
 
13 13
 final class PhotoDetailCoordinator: BaseCoordinator<Void> {
14
-    let navigationController: UINavigationController
15 14
     let photoDetailViewController: PhotoDetailViewController
16 15
     let shareViewModel: PhotoDetailViewModel
17 16
     
18
-    init(_ photoDetailVC: PhotoDetailViewController,
17
+    init(_ viewController: PhotoDetailViewController,
19 18
          nav: UINavigationController,
20 19
          viewModel: PhotoDetailViewModel) {
21
-        photoDetailViewController = photoDetailVC
22
-        shareViewModel = viewModel
23
-        navigationController = nav
24
-        photoDetailViewController.viewModel = viewModel        
20
+        self.photoDetailViewController = viewController
21
+        self.shareViewModel = viewModel
22
+        photoDetailViewController.viewModel = viewModel
23
+        
24
+        super.init(navigationController: nav, viewController: viewController)
25 25
     }
26 26
     
27 27
     override func start() -> Observable<Void> {
28 28
         photoDetailViewController.viewModel.delegate = self
29
-        return .never()
29
+        return didCancel
30 30
     }
31 31
 }
32 32
 

+ 18 - 1
PaiAi/Paiai_iOS/Reusable/BaseCoordinator.swift

@@ -14,11 +14,19 @@ public class BaseCoordinator<ResultType> {
14 14
     typealias CoordinationResult = ResultType
15 15
     
16 16
     let disposeBag = DisposeBag()
17
-    let didCancel = PublishSubject<Void>()
17
+    var didCancel = PublishSubject<Void>()
18
+    var navigationController: UINavigationController
19
+    var viewController: UIViewController
18 20
     
19 21
     private let identifier = UUID()
20 22
     private var childCoordinators = [UUID: Any]()
21 23
     
24
+    init(navigationController: UINavigationController, viewController: UIViewController) {
25
+        self.viewController = viewController
26
+        self.navigationController = navigationController
27
+        listenDeallocate()
28
+    }
29
+    
22 30
     private func store<T>(coordinator: BaseCoordinator<T>) {
23 31
         childCoordinators[coordinator.identifier] = coordinator
24 32
     }
@@ -38,4 +46,13 @@ public class BaseCoordinator<ResultType> {
38 46
     func start() -> Observable<ResultType> {
39 47
         fatalError("Start method should be implemented.")
40 48
     }
49
+    
50
+    func listenDeallocate() {
51
+        navigationController.rx.willShow.subscribe(onNext: {[weak self] (_, _) in
52
+            guard let `self` = self else { return }
53
+            if !self.navigationController.viewControllers.contains(self.viewController) {
54
+                self.didCancel.onNext(())
55
+            }
56
+        }).disposed(by: disposeBag)
57
+    }
41 58
 }

+ 40 - 0
PaiAi/Paiai_iOS/Reusable/Extension/UIViewController+Rx.swift

@@ -0,0 +1,40 @@
1
+//
2
+//  UIViewController+Rx.swift
3
+//  Paiai_iOS
4
+//
5
+//  Created by ffib on 2019/5/6.
6
+//  Copyright © 2019 FFIB. All rights reserved.
7
+//
8
+
9
+import UIKit
10
+import RxCocoa
11
+import RxSwift
12
+
13
+public extension Reactive where Base: UIViewController {
14
+    var viewDidLoad: ControlEvent<Void> {
15
+        let source = self.methodInvoked(#selector(Base.viewDidLoad)).map { _ in }
16
+        return ControlEvent(events: source)
17
+    }
18
+    
19
+    var viewWillAppear: ControlEvent<Bool> {
20
+        let source = self.methodInvoked(#selector(Base.viewWillAppear))
21
+            .map { $0.first as? Bool ?? false }
22
+        return ControlEvent(events: source)
23
+    }
24
+    var viewDidAppear: ControlEvent<Bool> {
25
+        let source = self.methodInvoked(#selector(Base.viewDidAppear))
26
+            .map { $0.first as? Bool ?? false }
27
+        return ControlEvent(events: source)
28
+    }
29
+    
30
+    var viewWillDisappear: ControlEvent<Bool> {
31
+        let source = self.methodInvoked(#selector(Base.viewWillDisappear))
32
+            .map { $0.first as? Bool ?? false }
33
+        return ControlEvent(events: source)
34
+    }
35
+    var viewDidDisappear: ControlEvent<Bool> {
36
+        let source = self.methodInvoked(#selector(Base.viewDidDisappear))
37
+            .map { $0.first as? Bool ?? false }
38
+        return ControlEvent(events: source)
39
+    }
40
+}

Kodo/kodo - Gogs: Go Git Service

69 Commits (c80c57a097e6230bb9a07153e5cdb8e5fc408ea5)

Auteur SHA1 Bericht Datum
  huangqimin001 af7fe7625e :art: is_maintenanceman or not 4 jaren geleden
  huangqimin001 3f48aa7f9e :art: Add MaintenaceInfo relative 4 jaren geleden
  huangqimin001 e07a7be156 :art: Add express relative 4 jaren geleden
  huangqimin001 1b2a5cb9b3 :art: maintenance point 4 jaren geleden
  huangqimin001 3a0e43ca50 :art: Support GOOD_EXCHANGE_ONLY_ONCE 5 jaren geleden
  huangqimin001 bdbcc47009 :art: Add complement_code 5 jaren geleden
  huangqimin001 e7da55aaf2 :art: Add complement_code 5 jaren geleden
  FFIB 9ef019cfea 移除拍爱项目相关 5 jaren geleden
  huangqimin001 b6e7d9b08c :bug: Fix Bug: cannot import name ParamStatusCode 5 jaren geleden
  huangqimin a5595665af :art: Format Codes 6 jaren geleden
  FFIB 9ae3ab5c88 add clerk/query/coupon and clerk/writeoff/coupon 6 jaren geleden
  huangqimin 212f24c882 MarketCode 6 jaren geleden
  huangqimin 211ab99a32 :art: member/user/coupon/detail & member/user/coupon/use 6 jaren geleden
  FFIB 609955cf1c 会员商品不足 6 jaren geleden
  huangqimin 4ce7f5c87b :art: Member Relative APIs 6 jaren geleden
  Brightcells f6e726578d :art: Opt 6 jaren geleden
  FFIB 3c94a5c976 clerk/sale/submit 判断序列号是否重复 6 jaren geleden
  FFIB e634358bf0 增添/clerk/checkout/serialNo 校验序列号 6 jaren geleden
  Kimi.Huang b9200f9ed2 Sales 6 jaren geleden
  Kimi.Huang 40e2a6b882 COUPON_HAS_EXPIRED 7 jaren geleden
  Kimi.Huang 77c612316a queryusedsn 7 jaren geleden
  Kimi.Huang 219acdedb1 Add field has_used 7 jaren geleden
  Brightcells bf80400a5b CLERK_NOT_AUTH 7 jaren geleden
  Brightcells a1d1421493 ScreenStatusCode.QRCODE_NOT_SCAN 7 jaren geleden
  Brightcells 88c914df41 Guideline Login Error 7 jaren geleden
  Brightcells 5fdb5b42fd Logfile Upload 8 jaren geleden
  Brightcells e7dcf47e22 SaleclerkInfo 8 jaren geleden
  Brightcells 62948fb5c3 Operator add/delete/update/list 8 jaren geleden
  Brightcells 537c495621 Statistic 8 jaren geleden
  Brightcells 44a6cdf337 Statistic 8 jaren geleden
  Brightcells 2bac598d19 Clerk Sale Submit 8 jaren geleden
  Brightcells 627187a7d7 Update Kodo 8 jaren geleden
  Brightcells 49634dc097 Add api operator login 8 jaren geleden
  Brightcells a6195fa70d Add outtake lensman 8 jaren geleden
  Brightcells bb58496f42 Add StatusCode TOKEN_HAS_EXPIRED 8 jaren geleden
  Brightcells 1fa63925f2 Separate comment_list_api from comment_submit_api 9 jaren geleden
  Brightcells 1ecd4f276f Remove status code NO_XX_PERMISSION 9 jaren geleden
  Brightcells fd73524af1 Add api group_delete_api 9 jaren geleden
  Brightcells 7bcf74b5da ACTIVE_GROUP_NOT_FOUND 9 jaren geleden
  Brightcells b27a2f135c Fix Bug: check whether have tour goup or not error 9 jaren geleden
  Brightcells e7f3abdf56 Add admin relative api 9 jaren geleden
  Brightcells d19a7d5efb Check tour guide group whether ended 9 jaren geleden
  Brightcells 59def8d479 Add forbidden duplicate upload photo 9 jaren geleden
  Brightcells b065bf7b3a Remove unnecessary u 9 jaren geleden
  Brightcells 70f5faad11 Add tg_group_token_api/tg_group_transfer_api 9 jaren geleden
  Brightcells ad69866b26 Add tour guide's name and phone in GroupInfo 9 jaren geleden
  Brightcells f724e0f9c0 Add tour guide apis 9 jaren geleden
  Brightcells 8a213207ea Add tour guide oauth 9 jaren geleden
  Brightcells aac3532bd8 kkconst => StatusCode 9 jaren geleden
  Brightcells c329660c26 Fix: const variable require all letters capital 9 jaren geleden