Переглянути джерело

Merge branch 'feature/jeremy' into develop

南鑫林 5 роки тому
батько
коміт
8e70546bac

+ 4 - 0
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -383,6 +383,7 @@
 		A7D5F26322C0CF8600F8E9AF /* UserFansModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D5F26222C0CF8600F8E9AF /* UserFansModel.swift */; };
 		A7D5F26522C118F100F8E9AF /* CMSMemberListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D5F26422C118F100F8E9AF /* CMSMemberListModel.swift */; };
 		A7DAB33322D881F5005B964E /* H5RouterModuleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DAB33222D881F5005B964E /* H5RouterModuleType.swift */; };
+		A7DAB33522D8D3AC005B964E /* RegisterLoginModuleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DAB33422D8D3AC005B964E /* RegisterLoginModuleType.swift */; };
 		A7DC467F22783A47001F3EFC /* EditExpressAddressTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DC467E22783A47001F3EFC /* EditExpressAddressTableViewCell.swift */; };
 		A7DF50D622A4E8B400998908 /* OrderDetailProductTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DF50D522A4E8B400998908 /* OrderDetailProductTableViewCell.swift */; };
 		A7DF50D822A4FAFC00998908 /* ProductDetailEvaluationImageCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DF50D722A4FAFC00998908 /* ProductDetailEvaluationImageCollectionViewCell.swift */; };
@@ -1073,6 +1074,7 @@
 		A7D5F26222C0CF8600F8E9AF /* UserFansModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFansModel.swift; sourceTree = "<group>"; };
 		A7D5F26422C118F100F8E9AF /* CMSMemberListModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CMSMemberListModel.swift; sourceTree = "<group>"; };
 		A7DAB33222D881F5005B964E /* H5RouterModuleType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = H5RouterModuleType.swift; sourceTree = "<group>"; };
+		A7DAB33422D8D3AC005B964E /* RegisterLoginModuleType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegisterLoginModuleType.swift; sourceTree = "<group>"; };
 		A7DC467E22783A47001F3EFC /* EditExpressAddressTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditExpressAddressTableViewCell.swift; sourceTree = "<group>"; };
 		A7DF50D522A4E8B400998908 /* OrderDetailProductTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderDetailProductTableViewCell.swift; sourceTree = "<group>"; };
 		A7DF50D722A4FAFC00998908 /* ProductDetailEvaluationImageCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductDetailEvaluationImageCollectionViewCell.swift; sourceTree = "<group>"; };
@@ -3455,6 +3457,7 @@
 				A770E5DA22CED8C600CBD0A4 /* RouterManager.swift */,
 				A770E5DF22CF19FA00CBD0A4 /* CommunityRouterModuleType.swift */,
 				A7DAB33222D881F5005B964E /* H5RouterModuleType.swift */,
+				A7DAB33422D8D3AC005B964E /* RegisterLoginModuleType.swift */,
 			);
 			path = Router;
 			sourceTree = "<group>";
@@ -6149,6 +6152,7 @@
 				A7FF1564228C696B00A85748 /* OrderListView.swift in Sources */,
 				A70B2C072284305400B2449F /* ProductModel.swift in Sources */,
 				A72A72BC22321DE000B21995 /* Extension+UIAlertController.swift in Sources */,
+				A7DAB33522D8D3AC005B964E /* RegisterLoginModuleType.swift in Sources */,
 				A71CAB4522CB36EC00D908A8 /* CommunityFollowUserViewModel.swift in Sources */,
 				A7BB68662269B1DD00AB07A2 /* AddressPOIView.swift in Sources */,
 				BDF862A7228E42FA000DEF84 /* OrderApplyRefundController.swift in Sources */,

+ 6 - 6
RainbowPlanet/RainbowPlanet/Model/UserModel/UserModel.swift

@@ -6,11 +6,11 @@ import Foundation
 import ObjectMapper
 
 
-class UserModel : NSObject, NSCoding, Mappable{
+public class UserModel : NSObject, NSCoding, Mappable{
 
     private static let _sharedInstance = UserModel()
 
-    private override init() {} // 私有化init方法
+    override init() {} // 私有化init方法
 
     class func shared() -> UserModel {
         return _sharedInstance
@@ -36,9 +36,9 @@ class UserModel : NSObject, NSCoding, Mappable{
 	class func newInstance(map: Map) -> Mappable?{
 		return UserModel()
 	}
-	required init?(map: Map){}
+    required public init?(map: Map){}
 
-	func mapping(map: Map)
+    public func mapping(map: Map)
 	{
         accessToken <- map["access_token"]
         avatarurl <- map["avatarurl"]
@@ -62,7 +62,7 @@ class UserModel : NSObject, NSCoding, Mappable{
     * NSCoding required initializer.
     * Fills the data from the passed decoder
     */
-    @objc required init(coder aDecoder: NSCoder)
+    @objc required public init(coder aDecoder: NSCoder)
 	{
         accessToken = aDecoder.decodeObject(forKey: "access_token") as? String
         avatarurl = aDecoder.decodeObject(forKey: "avatarurl") as? String
@@ -86,7 +86,7 @@ class UserModel : NSObject, NSCoding, Mappable{
     * NSCoding required method.
     * Encodes mode properties into the decoder
     */
-    @objc func encode(with aCoder: NSCoder)
+    @objc public func encode(with aCoder: NSCoder)
 	{
         if accessToken != nil{
             aCoder.encode(accessToken, forKey: "access_token")

+ 10 - 8
RainbowPlanet/RainbowPlanet/Modules/CommonModules/LocationModule/Location/ViewController/LocationViewController.swift

@@ -68,14 +68,16 @@ class LocationViewController: BaseViewController {
     
     private func setDeliveryMethodType() { //快递
         SwiftMoyaNetWorkServiceUser.shared().userSetDeliverTypeApi(deliveryMethodType: "2") { (data) -> (Void) in
-            if self.presentingViewController != nil {
-                self.dismiss(animated: false, completion: {
-                    kAppDelegate.setTabbarController()
-                })
-            } else {
-                kAppDelegate.setTabbarController()
-            }
-        }        
+            kAppDelegate.setTabbarController()
+
+//            if self.presentingViewController != nil {
+//                self.dismiss(animated: false, completion: {
+//                    kAppDelegate.setTabbarController()
+//                })
+//            } else {
+//                kAppDelegate.setTabbarController()
+//            }
+        }
     }
     
     private func configCityManagementIndexApi()  {

+ 9 - 7
RainbowPlanet/RainbowPlanet/Modules/CommonModules/LocationModule/SelfRecommendation/ViewController/SelfRecommendationViewController.swift

@@ -94,13 +94,15 @@ class SelfRecommendationViewController: BaseViewController {
     
     private func tabbarController(deliveryMethodType:String) {
         SwiftMoyaNetWorkServiceUser.shared().userSetDeliverTypeApi(deliveryMethodType: deliveryMethodType) { (data) -> (Void) in
-                if self.presentingViewController != nil {
-                    self.dismiss(animated: false, completion: {
-                        kAppDelegate.setTabbarController()
-                    })
-                } else {
-                    kAppDelegate.setTabbarController()
-                }
+            kAppDelegate.setTabbarController()
+
+//                if self.presentingViewController != nil {
+//                    self.dismiss(animated: false, completion: {
+//                        kAppDelegate.setTabbarController()
+//                    })
+//                } else {
+//                    kAppDelegate.setTabbarController()
+//                }
         }
         
         

+ 5 - 11
RainbowPlanet/RainbowPlanet/Modules/MineModule/AccountSecurity/ViewController/AccountSecurityViewController.swift

@@ -7,6 +7,7 @@
 //
 
 import UIKit
+import SwiftyMediator
 
 class AccountSecurityViewController: BaseViewController {
 
@@ -75,12 +76,12 @@ class AccountSecurityViewController: BaseViewController {
     /// - Parameter userModel: 用户
     func setMobile(userModel:UserModel?) {
         if userModel?.mobile == nil ||  userModel?.mobile == "" {
-            self.pushBindPhoneNumberVC(bindPhoneNumberVCType: .accountSecurityBindMobile)
+            Mediator.push(RegisterLoginModuleType.pushBindPhoneNumber(bindPhoneNumberVCType: .accountSecurityBindMobile))
         }else {
             AlertSheetView.alert(title: "确认更换您的手机号", cancelTitle: "取消", sureTitle: "确认", cancelBlock: { (popupView, index, string) in
                 
-            }) {[weak self] (popupView, index, string) in
-                self?.pushBindPhoneNumberVC(bindPhoneNumberVCType: .accountSecurityBindMobile)
+            }) {(popupView, index, string) in
+                Mediator.push(RegisterLoginModuleType.pushBindPhoneNumber(bindPhoneNumberVCType: .accountSecurityBindMobile))
             }
         }
     }
@@ -110,17 +111,10 @@ class AccountSecurityViewController: BaseViewController {
     ///   - userModel: 用户
     func setPassword(userModel:UserModel?) {
         if userModel?.mobile == nil ||  userModel?.mobile == "" {
-            self.pushBindPhoneNumberVC(bindPhoneNumberVCType: .accountSecuritySet)
+            Mediator.push(RegisterLoginModuleType.pushBindPhoneNumber(bindPhoneNumberVCType: .accountSecuritySet))
         }else {
             let vc = SetPasswordViewController()
             self.navigationController?.pushViewController(vc, animated: true)
         }
     }
-    
-    /// 绑定手机号,更改换手机号
-    func pushBindPhoneNumberVC(bindPhoneNumberVCType : BindPhoneNumberVCType) {
-        let vc = BindPhoneNumberViewController()
-        vc.bindPhoneNumberVCType = bindPhoneNumberVCType
-        self.navigationController?.pushViewController(vc, animated: true)
-    }
 }

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/BindPhoneNumber/ViewController/BindPhoneNumberViewController.swift

@@ -13,7 +13,7 @@ import UIKit
 /// - weixinlogin: 微信登录
 /// - accountSecuritySet: 账号安全设置
 /// - accountSecurityBindMobile: 账号安全手机绑定
-enum BindPhoneNumberVCType {
+public enum BindPhoneNumberVCType {
     case weixinlogin
     case accountSecuritySet
     case accountSecurityBindMobile

+ 0 - 1
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/MobileLogin/ViewController/MobileLoginViewController.swift

@@ -52,7 +52,6 @@ class MobileLoginViewController: BaseViewController {
                     })
                 }else {// 设置首页
                     kAppDelegate.setTabbarController()
-                    self?.navigationController?.popToRootViewController(animated: false)
                 }
             })
             

+ 0 - 1
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/PasswordLogin/ViewController/PasswordLoginViewController.swift

@@ -38,7 +38,6 @@ class PasswordLoginViewController: BaseViewController {
                     })
                 }else {// 设置首页
                     kAppDelegate.setTabbarController()
-                    self?.navigationController?.popToRootViewController(animated: false)
                 }
 
             })

+ 11 - 6
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/RegisterLogin/ViewController/RegisterLoginViewController.swift

@@ -7,7 +7,7 @@
 //
 
 import UIKit
-
+import SwiftyMediator
 class RegisterLoginViewController: BaseViewController {
 
     override func viewDidLoad() {
@@ -42,16 +42,21 @@ class RegisterLoginViewController: BaseViewController {
                         
                         if(userModel.gender == nil || userModel.gender == 0) {//设置性别话题
                             self?.present(GenderSelectionViewController(), animated: true, completion: {
-                                
+                            })
+                        } else if(userModel.isFollowSuggestTopic == nil || userModel.isFollowSuggestTopic == 0) {
+                            self?.present(TopicSelectionViewController(), animated: true, completion: {
                             })
                         }else {// 设置首页
                             kAppDelegate.setTabbarController()
-                            self?.navigationController?.popToRootViewController(animated: false)
                         }
                     }else {
-                        let vc = BindPhoneNumberViewController()
-                        vc.bindPhoneNumberVCType = .weixinlogin
-                        self?.navigationController?.pushViewController(vc, animated: true)
+                        var userModel1 = UserModel()
+                        userModel1.token = userModel.token
+                        userModel1.accessToken = userModel.accessToken
+                        userModel1.openId = userModel.openId
+                        userModel1.unionId = userModel.unionId
+                        UserModel.shared().setModel(model: userModel1)
+                        Mediator.push(RegisterLoginModuleType.pushBindPhoneNumber(bindPhoneNumberVCType: .weixinlogin))                        
                     }
 
                 })

+ 7 - 7
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/TopicSelection/ViewController/TopicSelectionViewController.swift

@@ -162,13 +162,13 @@ extension TopicSelectionViewController {
             let userModel = UserModel.shared().getModel()
             userModel?.isFollowSuggestTopic = 1
             UserModel.shared().setModel(model: userModel!)
-            if self?.presentingViewController != nil {
-                self?.dismiss(animated: false, completion: {
-                    kAppDelegate.setTabbarController()
-                })
-            } else {
-                kAppDelegate.setTabbarController()
-            }
+            kAppDelegate.setTabbarController()
+//            if self?.presentingViewController != nil {
+//                self?.dismiss(animated: false, completion: {
+//                })
+//            } else {
+//                kAppDelegate.setTabbarController()
+//            }
         }
     }
 }

+ 30 - 0
RainbowPlanet/RainbowPlanet/Router/RegisterLoginModuleType.swift

@@ -0,0 +1,30 @@
+//
+//  RegisterLoginModuleType.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/7/12.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+import SwiftyMediator
+
+
+/// 注册登录模块
+///
+/// - pushBindPhoneNumber: 绑定手机号
+public enum RegisterLoginModuleType: MediatorTargetType {
+    case pushBindPhoneNumber(bindPhoneNumberVCType:BindPhoneNumberVCType)
+}
+
+extension RegisterLoginModuleType: MediatorSourceType {
+    public var viewController: UIViewController? {
+        switch self {
+        case .pushBindPhoneNumber(let bindPhoneNumberVCType):
+            let vc = BindPhoneNumberViewController()
+            vc.bindPhoneNumberVCType = bindPhoneNumberVCType
+            return vc
+        }
+    }
+}