南鑫林 пре 5 година
родитељ
комит
19b934ee2c
17 измењених фајлова са 148 додато и 54 уклоњено
  1. 2 2
      RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
  2. 24 13
      RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+Window.swift
  3. 1 1
      RainbowPlanet/RainbowPlanet/Manager/MapManager/BaiduMapManager/BaiduMapManager.swift
  4. 7 19
      RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/BindPhoneNumber/ViewController/BindPhoneNumberViewController.swift
  5. 16 9
      RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/GenderSelection/ViewController/GenderSelectionViewController.swift
  6. 8 1
      RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/MobileLogin/ViewController/MobileLoginViewController.swift
  7. 8 1
      RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/PasswordLogin/ViewController/PasswordLoginViewController.swift
  8. 1 3
      RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/RegisterLogin/ViewController/RegisterLoginViewController.swift
  9. 1 0
      RainbowPlanet/RainbowPlanet/Service/Model/UserModel/UserModel.swift
  10. 20 0
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaNetWorkServiceUser.swift
  11. 16 5
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaServiceUserApi.swift
  12. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_female.imageset/Contents.json
  13. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_female.imageset/login_sex_female@2x.png
  14. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_female.imageset/login_sex_female@3x.png
  15. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_male.imageset/Contents.json
  16. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_male.imageset/login_sex_male@2x.png
  17. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_male.imageset/login_sex_male@3x.png

+ 2 - 2
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -2579,10 +2579,10 @@
 		A77F2CAE2232010F001BD3F6 /* RegisterLoginModule */ = {
 			isa = PBXGroup;
 			children = (
-				A7931E0922AF86D900297D0A /* GenderSelection */,
-				A7931E0E22AF929B00297D0A /* TopicSelection */,
 				A7778CAC2244BC2600C7C47A /* RegisterLogin */,
 				A7778CB52244E93E00C7C47A /* BindPhoneNumber */,
+				A7931E0922AF86D900297D0A /* GenderSelection */,
+				A7931E0E22AF929B00297D0A /* TopicSelection */,
 				A75414F9224B5EFC002480B5 /* MobileLogin */,
 				A729B5B122672401004AE098 /* PasswordLogin */,
 				A7778CC32246030200C7C47A /* PhoneCountryArea */,

+ 24 - 13
RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+Window.swift

@@ -23,17 +23,22 @@ extension AppDelegate {
             /// 设置全局的navigation
             self?.setNavBarAppearence()
         }
-        if (UserModel.shared().getModel()?.token) != nil && (DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType) != nil {
-            /// 设置Tabbar
-            /// 刷新token
-            setTabbarController()
-            SwiftMoyaNetWorkServiceUser.shared().userRefreshApi { _ in }
-        } else if (UserModel.shared().getModel()?.token) != nil && (DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType) == nil {
-            /// 设置Tabbar
-            setLocationViewController()
+        
+        /// 设置默认为快递
+        let deliveryMethodTypeModel = DeliveryMethodTypeModel.shared()
+        deliveryMethodTypeModel.deliveryMethodType = "2"
+        DeliveryMethodTypeModel.shared().setModel(model: deliveryMethodTypeModel)
+        
+        /// 判断初始化页面
+        if (UserModel.shared().getModel()?.token) != nil && ( UserModel.shared().getModel()?.gender == nil || UserModel.shared().getModel()?.gender == 0) {//设置性别话题
+            setSexViewController()
             SwiftMoyaNetWorkServiceUser.shared().userRefreshApi { _ in }
-        }else {
-            /// 设置登录
+        }
+//        else if (UserModel.shared().getModel()?.token) != nil && ( UserModel.shared().getModel()?.isFollow == nil || UserModel.shared().getModel()?.isFollow == 0) { //设置关注话题
+//            setTopicViewController()
+//            SwiftMoyaNetWorkServiceUser.shared().userRefreshApi { _ in }
+//        }
+        else {// 设置登录
             setLoginController()
         }
 
@@ -53,10 +58,16 @@ extension AppDelegate {
         self.window?.rootViewController = BaseNavigationViewController.init(rootViewController: RegisterLoginViewController())
     }
     
-    /// 设置定位页面
-    func setLocationViewController() {
+    /// 设置性别页面
+    func setSexViewController() {
+        
+        self.window?.rootViewController = BaseNavigationViewController.init(rootViewController: GenderSelectionViewController())
+    }
+    
+    /// 设置话题页面
+    func setTopicViewController() {
         
-        self.window?.rootViewController = BaseNavigationViewController.init(rootViewController: LocationViewController())
+        self.window?.rootViewController = BaseNavigationViewController.init(rootViewController: TopicSelectionViewController())
     }
 
      /// 设置全局的navigation

+ 1 - 1
RainbowPlanet/RainbowPlanet/Manager/MapManager/BaiduMapManager/BaiduMapManager.swift

@@ -33,6 +33,7 @@ public class BaiduMapManager: NSObject {
     public func initBaiduMap() -> Void {
         BMKLocationAuth.sharedInstance()?.checkPermision(withKey: kBaiduMapAppKey, authDelegate: self)
         BMKMapManager().start(kBaiduMapAppKey, generalDelegate: self)
+        startLocation()
     }
     
 // ====================================定位========================================
@@ -205,7 +206,6 @@ extension BaiduMapManager:BMKLocationManagerDelegate {
     ///  当定位发生错误时,会调用代理的此方法。
     public func bmkLocationManager(_ manager: BMKLocationManager, didFailWithError error: Error?) {
         NXLLog("定位错误");
-        
     }
     
     /// 定位权限状态改变时回调函数

+ 7 - 19
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/BindPhoneNumber/ViewController/BindPhoneNumberViewController.swift

@@ -30,20 +30,6 @@ class BindPhoneNumberViewController: BaseViewController {
     }
 
     override  func setupViews() {
-        if bindPhoneNumberVCType == .weixinlogin {
-            navigationBar.wr_setRightButton(title: "跳过", titleColor: k333333Color)
-            navigationBar.onClickRightButton = {
-                [weak self] in
-                let vc = LocationViewController()
-                let nav = BaseNavigationViewController.init(rootViewController: vc)
-                self?.present(nav, animated: true, completion: {
-                    
-                })
-            }
-        }else if bindPhoneNumberVCType == .accountSecuritySet  {
-            
-        }
-       
         view.addSubview(bindPhoneNumberView)
     }
 
@@ -65,13 +51,15 @@ class BindPhoneNumberViewController: BaseViewController {
         bindPhoneNumberView.loginBlock = {
             [weak self] (phoneNumber,sms,invitationCode) in
             SwiftMoyaNetWorkServiceUser.shared().userBindMobileApi(mobile: phoneNumber, smsCode: sms, unionId: UserModel.shared().getModel()?.unionId ?? "", openId: UserModel.shared().getModel()?.openId ?? "", invitationCode: invitationCode, completion: { [weak self] (data) -> (Void) in
-                if self?.bindPhoneNumberVCType == .weixinlogin {
-                    self?.navigationController?.pushViewController(LocationViewController(), animated: true)
-
-                }else if self?.bindPhoneNumberVCType == .accountSecuritySet  {
+                if self?.bindPhoneNumberVCType == .weixinlogin { //跳转性别
+                   
+                    self?.present(GenderSelectionViewController(), animated: true, completion: {
+                        
+                    })
+                }else if self?.bindPhoneNumberVCType == .accountSecuritySet  { //设置密码
                         let vc = SetPasswordViewController()
                         self?.navigationController?.pushViewController(vc, animated: true)
-                }else if self?.bindPhoneNumberVCType == .accountSecurityBindMobile  {
+                }else if self?.bindPhoneNumberVCType == .accountSecurityBindMobile  { //绑定手机
                     NotificationCenter.default.post(name: NSNotification.Name(rawValue: "AccountSecurity"), object: nil)
                     self?.navigationController?.popViewController(animated: true)
                 }

+ 16 - 9
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/GenderSelection/ViewController/GenderSelectionViewController.swift

@@ -80,12 +80,12 @@ class GenderSelectionViewController: BaseViewController {
         let maleButton = UIButton(type: UIButton.ButtonType.custom)
         maleButton.setBackgroundImage(UIImage.imageWithColor(color: kFFF9F0Color), for: UIControl.State.normal)
         maleButton.setBackgroundImage(UIImage.imageWithColor(color: kFFEDD3Color), for: UIControl.State.highlighted)
-        maleButton.setImage(kImage(name: "pic_preload"), for: UIControl.State.normal)
+        maleButton.setImage(kImage(name: "login_sex_male"), for: UIControl.State.normal)
         maleButton.cornerRadius = 10
         maleButton.masksToBounds = true
         maleButton.rx.tap.subscribe(onNext: {
             [weak self] (data) in
-            self?.presentVC()
+            self?.userGenderApi(gender:1)
         }).disposed(by: disposeBag)
         return maleButton
     }()
@@ -94,12 +94,12 @@ class GenderSelectionViewController: BaseViewController {
         let femaleButton = UIButton(type: UIButton.ButtonType.custom)
         femaleButton.setBackgroundImage(UIImage.imageWithColor(color: kFFF9F0Color), for: UIControl.State.normal)
         femaleButton.setBackgroundImage(UIImage.imageWithColor(color: kFFEDD3Color), for: UIControl.State.highlighted)
-        femaleButton.setImage(kImage(name: "pic_preload"), for: UIControl.State.normal)
+        femaleButton.setImage(kImage(name: "login_sex_female"), for: UIControl.State.normal)
         femaleButton.cornerRadius = 10
         femaleButton.masksToBounds = true
         femaleButton.rx.tap.subscribe(onNext: {
             [weak self] (data) in
-            self?.presentVC()
+            self?.userGenderApi(gender:2)
         }).disposed(by: disposeBag)
         return femaleButton
     }()
@@ -111,7 +111,7 @@ class GenderSelectionViewController: BaseViewController {
         maleTitleButton.titleLabel?.font = kScaleRegularFont16
         maleTitleButton.rx.tap.subscribe(onNext: {
             [weak self] (data) in
-            self?.presentVC()
+            self?.userGenderApi(gender:1)
         }).disposed(by: disposeBag)
         return maleTitleButton
     }()
@@ -123,15 +123,22 @@ class GenderSelectionViewController: BaseViewController {
         femaleTitleButton.titleLabel?.font = kScaleRegularFont16
         femaleTitleButton.rx.tap.subscribe(onNext: {
             [weak self] (data) in
-            self?.presentVC()
+            self?.userGenderApi(gender:2)
         }).disposed(by: disposeBag)
         return femaleTitleButton
     }()
 }
 
 extension GenderSelectionViewController {
-    func presentVC() {
-        let vc = TopicSelectionViewController()
-        self.present(vc, animated: true, completion: nil)
+    
+    
+    /// 设置性别
+    ///
+    /// - Parameter gender: 性别
+    func userGenderApi(gender:Int) {
+        SwiftMoyaNetWorkServiceUser.shared().userGenderApi(gender: gender) { (data) -> (Void) in
+            let vc = TopicSelectionViewController()
+            self.present(vc, animated: true, completion: nil)
+        }
     }
 }

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

@@ -42,7 +42,14 @@ class MobileLoginViewController: BaseViewController {
         mobileLoginView.loginBlock = {
             (phoneNumber,sms,invitationCode) in
             SwiftMoyaNetWorkServiceUser.shared().userMobileRegisterApi(mobile: phoneNumber, sms_code: sms,invitationCode:invitationCode, completion: { [weak self] (data) -> (Void) in
-                self?.navigationController?.pushViewController(LocationViewController(), animated: true)
+                if(UserModel.shared().getModel()?.gender == nil || UserModel.shared().getModel()?.gender == 0) {//设置性别话题
+                    self?.present(GenderSelectionViewController(), animated: true, completion: {
+                        
+                    })
+                }else {// 设置首页
+                    kAppDelegate.setTabbarController()
+                    self?.navigationController?.popToRootViewController(animated: false)
+                }
             })
             
         }

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

@@ -32,7 +32,14 @@ class PasswordLoginViewController: BaseViewController {
         passwordLoginView.loginBlock = {
             [weak self] (phoneNumber,password) in
             SwiftMoyaNetWorkServiceUser.shared().userMobileLoginApi(mobile: phoneNumber, password: password, completion: { (data) -> (Void) in
-                self?.navigationController?.pushViewController(LocationViewController(), animated: true)
+                if(UserModel.shared().getModel()?.gender == nil || UserModel.shared().getModel()?.gender == 0) {//设置性别话题
+                    self?.present(GenderSelectionViewController(), animated: true, completion: {
+                        
+                    })
+                }else {// 设置首页
+                    kAppDelegate.setTabbarController()
+                    self?.navigationController?.popToRootViewController(animated: false)
+                }
 
             })
         }

+ 1 - 3
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/RegisterLogin/ViewController/RegisterLoginViewController.swift

@@ -18,8 +18,7 @@ class RegisterLoginViewController: BaseViewController {
 
     override func setupViews() {
         view.backgroundColor = UIColor.white
-        navigationBar.wr_setLeftButton(title: "", titleColor: UIColor.clear)
-        navigationBar.onClickLeftButton = nil
+        navigationBar.isHidden = true
         view.addSubview(registerLoginView)
     }
 
@@ -39,7 +38,6 @@ class RegisterLoginViewController: BaseViewController {
                     let userModel =  userModel as! UserModel
                     if (userModel.mobile != nil && userModel.mobile != "" ) {
                         self?.navigationController?.pushViewController(LocationViewController(), animated: true)
-
                     }else {
                         let vc = BindPhoneNumberViewController()
                         vc.bindPhoneNumberVCType = .weixinlogin

+ 1 - 0
RainbowPlanet/RainbowPlanet/Service/Model/UserModel/UserModel.swift

@@ -27,6 +27,7 @@ class UserModel : NSObject, NSCoding, Mappable{
     var uid : Int?
     var unionId : String?
     var username : String?
+    var isFollow : Int?
 
 
 	class func newInstance(map: Map) -> Mappable?{

+ 20 - 0
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaNetWorkServiceUser.swift

@@ -529,5 +529,25 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             }
         }
     }
+    
+    // MARK: - 修改用户性别
+    /// 修改用户性别
+    ///
+    /// - Parameters:
+    ///   - gender: 0位置 1男 2女
+    ///   - completion: 回调
+    func userGenderApi(gender:Int = 0,completion: @escaping apiCallBack) {
+        var parameters = Dictionary<String,Any>()
+        parameters.updateValue(gender, forKey: "deliver_type")
+        SwiftProgressHUD.shared().showWait()
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceUserApi.userSetDeliverType(parameters: parameters))) { (data) in
+            // 设置成功更新本地存储数据
+            let model = UserModel.shared().getModel()
+            model?.gender = gender
+            UserModel.shared().setModel(model: model!)
+            SwiftProgressHUD.shared().hide()
+            completion("")
+        }
+    }
 
 }

+ 16 - 5
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaServiceUserApi.swift

@@ -97,6 +97,10 @@ public let kUserAddSelfAddressApi = "/user/addSelfAddress"
 /// 设置用户配送方式
 public let kUserSetDeliverTypeApi = "/user/setDeliverType"
 
+// MARK: - 设置用户性别
+/// 设置用户性别
+public let kUserMemberUpdateGenderApi = "user/v2/member/updateGender"
+
 /// 用户
 ///
 /// - userLogout: 登出
@@ -144,6 +148,7 @@ public enum SwiftMoyaServiceUserApi {
     case userSetExpreesContactsDefault(parameters:Dictionary<String, Any>)
     case userAddSelfAddress(parameters:Dictionary<String, Any>)
     case userSetDeliverType(parameters:Dictionary<String, Any>)
+    case userMemberUpdateGender(parameters:Dictionary<String, Any>)
     
 }
 
@@ -172,7 +177,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
              .userDelExpreesContacts,
              .userSetExpreesContactsDefault,
              .userAddSelfAddress,
-             .userSetDeliverType
+             .userSetDeliverType,
+             .userMemberUpdateGender
             :
             return URL(string: kApiDataPrefix())!
         }
@@ -222,8 +228,10 @@ extension SwiftMoyaServiceUserApi: TargetType {
             return kUserSetExpreesContactsDefaultApi
         case .userAddSelfAddress:
             return kUserAddSelfAddressApi
-        case.userSetDeliverType:
+        case .userSetDeliverType:
              return kUserSetDeliverTypeApi
+        case .userMemberUpdateGender:
+            return kUserMemberUpdateGenderApi
         }
     }
 
@@ -252,7 +260,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
         case .userSelfAddressList,
              .userExpreesContactsList,
              .userDefaultExpress,
-             .userDefaultContact
+             .userDefaultContact,
+             .userMemberUpdateGender
             :
             return .get
         case .userAddressDelete,
@@ -288,7 +297,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
              .userDelExpreesContacts(var parameters),
              .userSetExpreesContactsDefault(var parameters),
              .userAddSelfAddress(var parameters),
-             .userSetDeliverType(var parameters)
+             .userSetDeliverType(var parameters),
+             .userMemberUpdateGender(var parameters)
             :
             let sign = SwiftSign.shared().sign(signType:.AccessToken, parameters: parameters)
             parameters.updateValue(sign, forKey: "sign")
@@ -332,7 +342,8 @@ extension SwiftMoyaServiceUserApi: TargetType {
              .userDelExpreesContacts,
              .userSetExpreesContactsDefault,
              .userAddSelfAddress,
-             .userSetDeliverType
+             .userSetDeliverType,
+             .userMemberUpdateGender
             :
             return (headerParameters(headerType: .tokenHeader) as! [String : String])
         case .userLogout,

+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_female.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "login_sex_female@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "login_sex_female@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_female.imageset/login_sex_female@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_female.imageset/login_sex_female@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_male.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "login_sex_male@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "login_sex_male@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_male.imageset/login_sex_male@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/MineModule.xcassets/login_sex_male.imageset/login_sex_male@3x.png