Browse Source

home 首页UI排版完成

openlockPPP 1 year ago
parent
commit
e178ae42b9

+ 60 - 4
JiaPeiManage.xcodeproj/project.pbxproj

@@ -7,6 +7,8 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		9076C5DA2A386B2300E5E33F /* MineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9076C5D92A386B2300E5E33F /* MineViewController.swift */; };
+		9076C5DC2A386B2F00E5E33F /* MineViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9076C5DB2A386B2F00E5E33F /* MineViewController.xib */; };
 		90CE52192A36C0710033BD06 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90CE52182A36C0710033BD06 /* AppDelegate.swift */; };
 		90CE521D2A36C0710033BD06 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90CE521C2A36C0710033BD06 /* ViewController.swift */; };
 		90CE52202A36C0710033BD06 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 90CE521E2A36C0710033BD06 /* Main.storyboard */; };
@@ -100,11 +102,15 @@
 		90CE52FA2A36F2570033BD06 /* LoginService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90CE52F92A36F2570033BD06 /* LoginService.swift */; };
 		90CE52FE2A36F6DB0033BD06 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90CE52FD2A36F6DB0033BD06 /* HomeViewController.swift */; };
 		90CE53002A36F7110033BD06 /* HomeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 90CE52FF2A36F7110033BD06 /* HomeViewController.xib */; };
+		90CE53022A3834060033BD06 /* CoachAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90CE53012A3834060033BD06 /* CoachAPI.swift */; };
+		90CE53042A3834360033BD06 /* CoachService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90CE53032A3834360033BD06 /* CoachService.swift */; };
 		FD091E28E4C2EF8E654AE2C6 /* Pods_JiaPeiManage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FC2879EF62A9D4DF6777C62 /* Pods_JiaPeiManage.framework */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
 		1FC2879EF62A9D4DF6777C62 /* Pods_JiaPeiManage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_JiaPeiManage.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		9076C5D92A386B2300E5E33F /* MineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineViewController.swift; sourceTree = "<group>"; };
+		9076C5DB2A386B2F00E5E33F /* MineViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MineViewController.xib; sourceTree = "<group>"; };
 		90CE52152A36C0700033BD06 /* JiaPeiManage.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JiaPeiManage.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		90CE52182A36C0710033BD06 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
 		90CE521C2A36C0710033BD06 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
@@ -201,6 +207,8 @@
 		90CE52F92A36F2570033BD06 /* LoginService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginService.swift; sourceTree = "<group>"; };
 		90CE52FD2A36F6DB0033BD06 /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = "<group>"; };
 		90CE52FF2A36F7110033BD06 /* HomeViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeViewController.xib; sourceTree = "<group>"; };
+		90CE53012A3834060033BD06 /* CoachAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoachAPI.swift; sourceTree = "<group>"; };
+		90CE53032A3834360033BD06 /* CoachService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoachService.swift; sourceTree = "<group>"; };
 		A8171123E8F401C7CF842A4C /* Pods-JiaPeiManage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JiaPeiManage.debug.xcconfig"; path = "Target Support Files/Pods-JiaPeiManage/Pods-JiaPeiManage.debug.xcconfig"; sourceTree = "<group>"; };
 		D9F65764266FE5C95D1940F5 /* Pods-JiaPeiManage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JiaPeiManage.release.xcconfig"; path = "Target Support Files/Pods-JiaPeiManage/Pods-JiaPeiManage.release.xcconfig"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -226,6 +234,48 @@
 			path = Pods;
 			sourceTree = "<group>";
 		};
+		9076C5D52A38694000E5E33F /* Controllers */ = {
+			isa = PBXGroup;
+			children = (
+				9076C5D92A386B2300E5E33F /* MineViewController.swift */,
+				9076C5DB2A386B2F00E5E33F /* MineViewController.xib */,
+			);
+			path = Controllers;
+			sourceTree = "<group>";
+		};
+		9076C5D62A386AFA00E5E33F /* 学员 */ = {
+			isa = PBXGroup;
+			children = (
+				9076C5D82A386B0C00E5E33F /* Views */,
+				9076C5D72A386B0300E5E33F /* Controllers */,
+			);
+			path = "学员";
+			sourceTree = "<group>";
+		};
+		9076C5D72A386B0300E5E33F /* Controllers */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = Controllers;
+			sourceTree = "<group>";
+		};
+		9076C5D82A386B0C00E5E33F /* Views */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = Views;
+			sourceTree = "<group>";
+		};
+		9076C5DD2A38745500E5E33F /* App */ = {
+			isa = PBXGroup;
+			children = (
+				90CE52182A36C0710033BD06 /* AppDelegate.swift */,
+				90CE52DB2A36E6250033BD06 /* CompositionRoot.swift */,
+				90CE52DA2A36E6250033BD06 /* NYAppCongfigure.swift */,
+			);
+			path = App;
+			sourceTree = "<group>";
+		};
 		90CE520C2A36C0700033BD06 = {
 			isa = PBXGroup;
 			children = (
@@ -266,9 +316,6 @@
 				90CE523C2A36E4FD0033BD06 /* Models */,
 				90CE523B2A36E4EE0033BD06 /* Modulars */,
 				90CE522D2A36E3F10033BD06 /* Main */,
-				90CE52182A36C0710033BD06 /* AppDelegate.swift */,
-				90CE52DB2A36E6250033BD06 /* CompositionRoot.swift */,
-				90CE52DA2A36E6250033BD06 /* NYAppCongfigure.swift */,
 				90CE52D12A36E6000033BD06 /* Utils */,
 				90CE52B52A36E5B70033BD06 /* Networking */,
 				90CE52B22A36E5A40033BD06 /* Logging */,
@@ -282,6 +329,8 @@
 		90CE522D2A36E3F10033BD06 /* Main */ = {
 			isa = PBXGroup;
 			children = (
+				90CE522E2A36E4600033BD06 /* Base */,
+				9076C5DD2A38745500E5E33F /* App */,
 				90CE52F22A36EDCE0033BD06 /* NYArticleNavBar.swift */,
 				90CE52F32A36EDCF0033BD06 /* NYArticleNavBar.xib */,
 				90CE52F02A36ECC80033BD06 /* NYWebViewController.swift */,
@@ -289,7 +338,6 @@
 				90CE52352A36E4710033BD06 /* MainNavigationController.swift */,
 				90CE52362A36E4720033BD06 /* MainTabBarController.swift */,
 				90CE52372A36E4720033BD06 /* MainTabBarViewReactor.swift */,
-				90CE522E2A36E4600033BD06 /* Base */,
 			);
 			path = Main;
 			sourceTree = "<group>";
@@ -307,6 +355,7 @@
 		90CE523B2A36E4EE0033BD06 /* Modulars */ = {
 			isa = PBXGroup;
 			children = (
+				9076C5D62A386AFA00E5E33F /* 学员 */,
 				90CE52E52A36E7D00033BD06 /* Mine */,
 				90CE52E42A36E7BD0033BD06 /* Home */,
 				90CE52E32A36E7B20033BD06 /* Login */,
@@ -538,6 +587,8 @@
 			children = (
 				90CE52F72A36F0BD0033BD06 /* LoginAPI.swift */,
 				90CE52F92A36F2570033BD06 /* LoginService.swift */,
+				90CE53012A3834060033BD06 /* CoachAPI.swift */,
+				90CE53032A3834360033BD06 /* CoachService.swift */,
 			);
 			path = Services;
 			sourceTree = "<group>";
@@ -598,6 +649,7 @@
 		90CE52E52A36E7D00033BD06 /* Mine */ = {
 			isa = PBXGroup;
 			children = (
+				9076C5D52A38694000E5E33F /* Controllers */,
 			);
 			path = Mine;
 			sourceTree = "<group>";
@@ -707,6 +759,7 @@
 				90CE52252A36C0720033BD06 /* LaunchScreen.storyboard in Resources */,
 				90CE528A2A36E5460033BD06 /* PopOverViewCell.xib in Resources */,
 				90CE52222A36C0720033BD06 /* Assets.xcassets in Resources */,
+				9076C5DC2A386B2F00E5E33F /* MineViewController.xib in Resources */,
 				90CE52202A36C0710033BD06 /* Main.storyboard in Resources */,
 				90CE52EB2A36E8680033BD06 /* LoginViewController.xib in Resources */,
 				90CE52852A36E5460033BD06 /* EmptyView.xib in Resources */,
@@ -766,6 +819,7 @@
 				90CE52A22A36E59A0033BD06 /* UIColor+Hex.swift in Sources */,
 				90CE52CA2A36E5EC0033BD06 /* UIScrollView+Rx.swift in Sources */,
 				90CE52F82A36F0BD0033BD06 /* LoginAPI.swift in Sources */,
+				90CE53022A3834060033BD06 /* CoachAPI.swift in Sources */,
 				90CE52D82A36E6000033BD06 /* URLNavigationMap.swift in Sources */,
 				90CE52752A36E5460033BD06 /* LWPlayerControlView.swift in Sources */,
 				90CE52A92A36E59A0033BD06 /* UIBarButtonItem+Init.swift in Sources */,
@@ -802,6 +856,7 @@
 				90CE52B12A36E59A0033BD06 /* VTContentView+Gesture.swift in Sources */,
 				90CE52722A36E5460033BD06 /* LWPlayer.swift in Sources */,
 				90CE521D2A36C0710033BD06 /* ViewController.swift in Sources */,
+				90CE53042A3834360033BD06 /* CoachService.swift in Sources */,
 				90CE52CB2A36E5EC0033BD06 /* UILabel+Rx.swift in Sources */,
 				90CE52E12A36E73A0033BD06 /* SplashModel.swift in Sources */,
 				90CE52862A36E5460033BD06 /* EmptyView.swift in Sources */,
@@ -820,6 +875,7 @@
 				90CE52D02A36E5EC0033BD06 /* PullToRefresh+Rx.swift in Sources */,
 				90CE52382A36E4720033BD06 /* MainNavigationController.swift in Sources */,
 				90CE52832A36E5460033BD06 /* SearchBarView.swift in Sources */,
+				9076C5DA2A386B2300E5E33F /* MineViewController.swift in Sources */,
 				90CE52AC2A36E59A0033BD06 /* Array+SectionModel.swift in Sources */,
 				90CE52762A36E5460033BD06 /* LWPlayerSlider.swift in Sources */,
 				90CE52F12A36ECC80033BD06 /* NYWebViewController.swift in Sources */,

+ 2 - 0
JiaPeiManage/Info.plist

@@ -26,5 +26,7 @@
 			</array>
 		</dict>
 	</dict>
+	<key>UIViewControllerBasedStatusBarAppearance</key>
+	<false/>
 </dict>
 </plist>

+ 3 - 2
JiaPeiManage/Sources/AppDelegate.swift → JiaPeiManage/Sources/Main/App/AppDelegate.swift

@@ -26,10 +26,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         self.dependency.configureAppearance()
         self.dependency.configureUserAgent()
         self.dependency.congigurePerformance()
-        
+        // 设置状态栏颜色
+        UIApplication.shared.statusBarStyle = .lightContent
         return true
     }
-
+    
     func application(
         _ app: UIApplication,
         open url: URL,

+ 0 - 2
JiaPeiManage/Sources/CompositionRoot.swift → JiaPeiManage/Sources/Main/App/CompositionRoot.swift

@@ -49,8 +49,6 @@ final class CompositionRoot {
         
         URLNavigationMap.initialize(navigator: navigator)
 
-//        let homeService = HomeService(networking: HomeNetworking())
-
         var presentMainScreen: (() -> Void)!
 
         presentMainScreen = {

+ 0 - 0
JiaPeiManage/Sources/NYAppCongfigure.swift → JiaPeiManage/Sources/Main/App/NYAppCongfigure.swift


+ 6 - 7
JiaPeiManage/Sources/Main/Base/BaseViewController.swift

@@ -50,7 +50,7 @@ class BaseViewController: UIViewController, NetAnimationLoadable {
     // MARK: View Lifecycle
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
-        
+        navigationController?.navigationBar.isHidden = true
         // fix iOS 11 scroll view bug
         if #available(iOS 11, *) {
             if let scrollView = self.view.subviews.first as? UIScrollView {
@@ -60,10 +60,11 @@ class BaseViewController: UIViewController, NetAnimationLoadable {
             }
         }
     }
-    //状态栏颜色
-    override var preferredStatusBarStyle: UIStatusBarStyle{
-        return .lightContent
-    }
+    
+//    //状态栏颜色
+//    override var preferredStatusBarStyle: UIStatusBarStyle{
+//        return .lightContent
+//    }
         
     override func viewDidAppear(_ animated: Bool) {
         super.viewDidAppear(animated)
@@ -87,8 +88,6 @@ class BaseViewController: UIViewController, NetAnimationLoadable {
         self.view.setNeedsUpdateConstraints()
         
         self.edgesForExtendedLayout = []
-        
-        self.view.backgroundColor = .db_gray
     }
     
     override func updateViewConstraints() {

+ 57 - 9
JiaPeiManage/Sources/Modulars/Home/Controllers/HomeViewController.swift

@@ -10,25 +10,73 @@ import RxCocoa
 import SwiftyUserDefaults
 
 final class HomeViewController: BaseViewController {
-    // MARK: UI属性
     
+    // MARK: UI属性
+    //去查看-我的学员
+    @IBOutlet weak var meStu_button: QMUIButton!
+    //我的学员-action-btn
+    @IBOutlet weak var meStuAction_button: UIButton!
+    //在校学员-action
+    @IBOutlet weak var onSchoolAction_button: UIButton!
+    //生成二维码-action
+    @IBOutlet weak var codeQrAction_button: UIButton!
+    //绑定学员-action
+    @IBOutlet weak var biandAction_button: UIButton!
+    //个人中心-action
+    @IBOutlet weak var mineAction_button: UIButton!
+    //去查看-个人中心
+    @IBOutlet weak var meMine_button: QMUIButton!
     
     override func viewDidLoad() {
         super.viewDidLoad()
-        
-        self.view.backgroundColor = UIColor("#06203A")
+//        //判断用户登录
+//        if !LocalManager.userInfo.isLogin {
+//            NYSwRouter.open(NYSwOpenType.login.rawValue)
+//        }
+        //UI
+        setupUI()
         //biand绑定
         biandView()
-        
-        //判断用户登录
-        let loginController = LoginViewController(nibName: "LoginViewController")
-        self.present(loginController, animated: true)
     }
     
     // MARK: 私有方法
+    func setupUI(){
+        self.view.backgroundColor = UIColor("#06203A")
+        self.meStu_button.imagePosition = .right
+        self.meStu_button.spacingBetweenImageAndTitle = 5
+        self.meMine_button.imagePosition = .right
+        self.meMine_button.spacingBetweenImageAndTitle = 5
+    }
+    //绑定-rx
     func biandView(){
-        
+        //我的学员-action-btn
+        self.meStuAction_button.rx.tap.subscribe ({ [unowned self] (_)  in
+           
+            
+        }).disposed(by: disposeBag)
+        //在校学员-action
+        self.onSchoolAction_button.rx.tap.subscribe ({ [unowned self] (_)  in
+           
+            
+        }).disposed(by: disposeBag)
+        //生成二维码-action
+        self.codeQrAction_button.rx.tap.subscribe ({ [unowned self] (_)  in
+           
+            
+        }).disposed(by: disposeBag)
+        //绑定学员-action
+        self.biandAction_button.rx.tap.subscribe ({ [unowned self] (_)  in
+           
+            
+        }).disposed(by: disposeBag)
+        //个人中心-action
+        self.mineAction_button.rx.tap.subscribe ({ [unowned self] (_)  in
+           
+            let mineViewController = MineViewController(nibName: "MineViewController")
+            self.navigationController?.pushViewController(mineViewController, animated: true)
+            
+        }).disposed(by: disposeBag)
         
     }
-    
+        
 }

+ 367 - 8
JiaPeiManage/Sources/Modulars/Home/Controllers/HomeViewController.xib

@@ -1,31 +1,390 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <device id="retina5_9" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HomeViewController" customModule="JiaPeiManage" customModuleProvider="target">
             <connections>
+                <outlet property="biandAction_button" destination="jyp-62-CcY" id="ZRE-cu-Yx5"/>
+                <outlet property="codeQrAction_button" destination="q4X-SH-Odp" id="tGd-Tt-0XK"/>
+                <outlet property="meMine_button" destination="ZiT-fi-dat" id="8Me-fQ-83B"/>
+                <outlet property="meStuAction_button" destination="8jf-BA-Yzd" id="k8a-Kx-85C"/>
+                <outlet property="meStu_button" destination="cfT-vy-eYx" id="ccD-4b-eRr"/>
+                <outlet property="mineAction_button" destination="TyX-PE-eAC" id="tdO-ZH-BaX"/>
+                <outlet property="onSchoolAction_button" destination="Ehd-Fh-nTl" id="c0W-so-udo"/>
                 <outlet property="view" destination="iN0-l3-epB" id="9Zg-Y9-fOO"/>
             </connections>
         </placeholder>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB">
-            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6ni-iZ-qH4" userLabel="View-nav">
+                    <rect key="frame" x="0.0" y="0.0" width="375" height="64"/>
+                    <subviews>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="教练管家" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mvu-fZ-0Ph">
+                            <rect key="frame" x="137.66666666666666" y="20" width="100" height="44"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="100" id="7mc-s2-dL8"/>
+                                <constraint firstAttribute="height" constant="44" id="TQO-Ys-yjr"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
+                            <color key="textColor" red="0.83137254901960778" green="0.8666666666666667" blue="0.90196078431372551" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstAttribute="bottom" secondItem="Mvu-fZ-0Ph" secondAttribute="bottom" id="6id-3V-Ey1"/>
+                        <constraint firstAttribute="height" constant="64" id="RU9-lt-T1g"/>
+                        <constraint firstItem="Mvu-fZ-0Ph" firstAttribute="centerX" secondItem="6ni-iZ-qH4" secondAttribute="centerX" id="bNz-9c-ctQ"/>
+                    </constraints>
+                </view>
+                <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0wI-Nl-SU4">
+                    <rect key="frame" x="0.0" y="64" width="375" height="748"/>
+                    <subviews>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ire-nL-N9x" userLabel="View-contentView">
+                            <rect key="frame" x="0.0" y="0.0" width="375" height="750"/>
+                            <subviews>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="obS-bj-agt" userLabel="View-banner">
+                                    <rect key="frame" x="0.0" y="0.0" width="375" height="150"/>
+                                    <subviews>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="banner" translatesAutoresizingMaskIntoConstraints="NO" id="1HK-0l-a8Z">
+                                            <rect key="frame" x="15" y="0.0" width="345" height="150"/>
+                                        </imageView>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <constraints>
+                                        <constraint firstItem="1HK-0l-a8Z" firstAttribute="leading" secondItem="obS-bj-agt" secondAttribute="leading" constant="15" id="C6g-JZ-NQk"/>
+                                        <constraint firstAttribute="bottom" secondItem="1HK-0l-a8Z" secondAttribute="bottom" id="EBp-Wx-ha0"/>
+                                        <constraint firstAttribute="trailing" secondItem="1HK-0l-a8Z" secondAttribute="trailing" constant="15" id="En7-Om-LgR"/>
+                                        <constraint firstItem="1HK-0l-a8Z" firstAttribute="top" secondItem="obS-bj-agt" secondAttribute="top" id="RaN-pg-TP3"/>
+                                        <constraint firstAttribute="width" secondItem="obS-bj-agt" secondAttribute="height" multiplier="5:2" id="yoG-zz-oyb"/>
+                                    </constraints>
+                                </view>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4a7-TG-aBk" userLabel="View-我的学员">
+                                    <rect key="frame" x="15" y="170" width="170" height="295"/>
+                                    <subviews>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="我的学员" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8WK-hn-gU3">
+                                            <rect key="frame" x="20" y="21" width="100" height="30"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="100" id="cOb-iC-dth"/>
+                                                <constraint firstAttribute="height" constant="30" id="m8f-u0-qgz"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="24"/>
+                                            <color key="textColor" red="0.83137254901960778" green="0.8666666666666667" blue="0.90196078431372551" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_01" translatesAutoresizingMaskIntoConstraints="NO" id="wWi-Rw-a6s">
+                                            <rect key="frame" x="33.666666666666657" y="114" width="103" height="150"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="150" id="1N6-ed-O1V"/>
+                                                <constraint firstAttribute="width" constant="103" id="75W-W2-IOK"/>
+                                            </constraints>
+                                        </imageView>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cfT-vy-eYx" customClass="QMUIButton">
+                                            <rect key="frame" x="20" y="59" width="83" height="30"/>
+                                            <color key="backgroundColor" red="0.90196078431372551" green="0.94117647058823528" blue="0.98039215686274506" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="30" id="8Yn-f8-TxG"/>
+                                                <constraint firstAttribute="width" constant="83" id="CPj-aa-3nL"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                            <state key="normal" title="去查看" image="home_right">
+                                                <color key="titleColor" red="0.13333333333333333" green="0.52156862745098043" blue="0.90588235294117647" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            </state>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                    <real key="value" value="15"/>
+                                                </userDefinedRuntimeAttribute>
+                                            </userDefinedRuntimeAttributes>
+                                        </button>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8jf-BA-Yzd">
+                                            <rect key="frame" x="20" y="20" width="130" height="255"/>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                        </button>
+                                    </subviews>
+                                    <color key="backgroundColor" red="0.043137254901960784" green="0.16862745098039217" blue="0.30196078431372547" alpha="1" colorSpace="calibratedRGB"/>
+                                    <constraints>
+                                        <constraint firstItem="cfT-vy-eYx" firstAttribute="top" secondItem="8WK-hn-gU3" secondAttribute="bottom" constant="8" id="0sb-Y5-x4Y"/>
+                                        <constraint firstAttribute="height" constant="295" id="8Zi-8R-pcz"/>
+                                        <constraint firstItem="wWi-Rw-a6s" firstAttribute="top" secondItem="cfT-vy-eYx" secondAttribute="bottom" constant="25" id="CmF-bi-wVo"/>
+                                        <constraint firstItem="8WK-hn-gU3" firstAttribute="leading" secondItem="4a7-TG-aBk" secondAttribute="leading" constant="20" id="Hfn-s9-mTZ"/>
+                                        <constraint firstItem="8WK-hn-gU3" firstAttribute="top" secondItem="4a7-TG-aBk" secondAttribute="top" constant="21" id="VSO-N1-Pcr"/>
+                                        <constraint firstAttribute="trailing" secondItem="8jf-BA-Yzd" secondAttribute="trailing" constant="20" id="Yyz-xh-VDk"/>
+                                        <constraint firstItem="8jf-BA-Yzd" firstAttribute="leading" secondItem="4a7-TG-aBk" secondAttribute="leading" constant="20" id="dQz-fr-PfF"/>
+                                        <constraint firstItem="8jf-BA-Yzd" firstAttribute="top" secondItem="4a7-TG-aBk" secondAttribute="top" constant="20" id="dkF-ID-O0R"/>
+                                        <constraint firstAttribute="bottom" secondItem="8jf-BA-Yzd" secondAttribute="bottom" constant="20" id="fKb-pE-wkx"/>
+                                        <constraint firstItem="cfT-vy-eYx" firstAttribute="leading" secondItem="4a7-TG-aBk" secondAttribute="leading" constant="20" id="gwJ-x6-flR"/>
+                                        <constraint firstItem="wWi-Rw-a6s" firstAttribute="centerX" secondItem="4a7-TG-aBk" secondAttribute="centerX" id="z2U-bT-WPV"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Mdn-AQ-I8p" userLabel="View-在校学员">
+                                    <rect key="frame" x="190" y="170" width="170" height="150"/>
+                                    <subviews>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="在校学员" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pPy-Zj-4QP">
+                                            <rect key="frame" x="20" y="21" width="100" height="30"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="30" id="1YG-ms-Yhw"/>
+                                                <constraint firstAttribute="width" constant="100" id="4aI-9c-QcO"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="24"/>
+                                            <color key="textColor" red="0.83137254900000002" green="0.86666666670000003" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_04" translatesAutoresizingMaskIntoConstraints="NO" id="S7Z-YB-ElX">
+                                            <rect key="frame" x="50" y="62.000000000000007" width="70" height="70.666666666666686"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="70.5" id="42U-EX-UgA"/>
+                                                <constraint firstAttribute="width" constant="69.900000000000006" id="yjI-5I-M8I"/>
+                                            </constraints>
+                                        </imageView>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ehd-Fh-nTl">
+                                            <rect key="frame" x="20" y="20" width="130" height="110"/>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                        </button>
+                                    </subviews>
+                                    <color key="backgroundColor" red="0.14901960784313725" green="0.14509803921568626" blue="0.27843137254901962" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <constraints>
+                                        <constraint firstAttribute="bottom" secondItem="Ehd-Fh-nTl" secondAttribute="bottom" constant="20" id="1H9-lv-zm5"/>
+                                        <constraint firstItem="pPy-Zj-4QP" firstAttribute="top" secondItem="Mdn-AQ-I8p" secondAttribute="top" constant="21" id="2Sk-oZ-EoE"/>
+                                        <constraint firstItem="S7Z-YB-ElX" firstAttribute="top" secondItem="pPy-Zj-4QP" secondAttribute="bottom" constant="11" id="6FY-5y-QnD"/>
+                                        <constraint firstItem="pPy-Zj-4QP" firstAttribute="leading" secondItem="Mdn-AQ-I8p" secondAttribute="leading" constant="20" id="B8c-ju-JoB"/>
+                                        <constraint firstAttribute="trailing" secondItem="Ehd-Fh-nTl" secondAttribute="trailing" constant="20" id="Nq4-d7-ai7"/>
+                                        <constraint firstItem="Ehd-Fh-nTl" firstAttribute="leading" secondItem="Mdn-AQ-I8p" secondAttribute="leading" constant="20" id="QlM-Op-h8L"/>
+                                        <constraint firstItem="S7Z-YB-ElX" firstAttribute="centerX" secondItem="Mdn-AQ-I8p" secondAttribute="centerX" id="Z9N-BK-Zid"/>
+                                        <constraint firstItem="Ehd-Fh-nTl" firstAttribute="top" secondItem="Mdn-AQ-I8p" secondAttribute="top" constant="20" id="bHd-gN-35g"/>
+                                        <constraint firstAttribute="height" constant="150" id="cXL-Jm-whD"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jve-BG-5J7" userLabel="View-生成二维码">
+                                    <rect key="frame" x="190" y="325" width="170" height="150"/>
+                                    <subviews>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="生成二维码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cux-Ed-DRL">
+                                            <rect key="frame" x="20" y="21" width="122" height="30"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="30" id="eSp-v1-jNI"/>
+                                                <constraint firstAttribute="width" constant="122" id="hqR-bi-exC"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="24"/>
+                                            <color key="textColor" red="0.83137254900000002" green="0.86666666670000003" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_03" translatesAutoresizingMaskIntoConstraints="NO" id="td7-Yx-epc">
+                                            <rect key="frame" x="51" y="63" width="68" height="68"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="68" id="C37-gM-FS3"/>
+                                                <constraint firstAttribute="height" constant="68" id="PdE-u0-jOG"/>
+                                            </constraints>
+                                        </imageView>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="q4X-SH-Odp">
+                                            <rect key="frame" x="20" y="20" width="130" height="110"/>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                        </button>
+                                    </subviews>
+                                    <color key="backgroundColor" red="0.047058823529411764" green="0.2196078431372549" blue="0.23137254901960785" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <constraints>
+                                        <constraint firstItem="q4X-SH-Odp" firstAttribute="leading" secondItem="Jve-BG-5J7" secondAttribute="leading" constant="20" id="BaM-ih-DAg"/>
+                                        <constraint firstItem="cux-Ed-DRL" firstAttribute="top" secondItem="Jve-BG-5J7" secondAttribute="top" constant="21" id="H2g-ny-syM"/>
+                                        <constraint firstItem="td7-Yx-epc" firstAttribute="centerX" secondItem="Jve-BG-5J7" secondAttribute="centerX" id="S40-NC-vxk"/>
+                                        <constraint firstAttribute="trailing" secondItem="q4X-SH-Odp" secondAttribute="trailing" constant="20" id="Sac-Lw-tRg"/>
+                                        <constraint firstAttribute="bottom" secondItem="q4X-SH-Odp" secondAttribute="bottom" constant="20" id="bsl-38-Hpx"/>
+                                        <constraint firstAttribute="height" constant="150" id="dIh-hM-FWy"/>
+                                        <constraint firstItem="td7-Yx-epc" firstAttribute="top" secondItem="cux-Ed-DRL" secondAttribute="bottom" constant="12" id="iX8-DD-2JT"/>
+                                        <constraint firstItem="cux-Ed-DRL" firstAttribute="leading" secondItem="Jve-BG-5J7" secondAttribute="leading" constant="20" id="qDO-LW-N75"/>
+                                        <constraint firstItem="q4X-SH-Odp" firstAttribute="top" secondItem="Jve-BG-5J7" secondAttribute="top" constant="20" id="ugL-UD-TL0"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jJu-2o-jKp" userLabel="View-绑定学员">
+                                    <rect key="frame" x="15" y="470" width="170" height="221"/>
+                                    <subviews>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="绑定学员" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qLB-zu-zdB">
+                                            <rect key="frame" x="20" y="21" width="100" height="30"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="100" id="Dlc-0a-ePr"/>
+                                                <constraint firstAttribute="height" constant="30" id="gvV-4L-Hqr"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="24"/>
+                                            <color key="textColor" red="0.83137254900000002" green="0.86666666670000003" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_02" translatesAutoresizingMaskIntoConstraints="NO" id="kqw-hL-zUY">
+                                            <rect key="frame" x="30" y="78" width="110" height="105"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="105" id="Si0-8O-wCE"/>
+                                                <constraint firstAttribute="width" constant="110" id="oTO-8R-x7R"/>
+                                            </constraints>
+                                        </imageView>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jyp-62-CcY">
+                                            <rect key="frame" x="20" y="20" width="130" height="181"/>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                        </button>
+                                    </subviews>
+                                    <color key="backgroundColor" red="0.15294117647058825" green="0.11372549019607843" blue="0.11372549019607843" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <constraints>
+                                        <constraint firstAttribute="trailing" secondItem="jyp-62-CcY" secondAttribute="trailing" constant="20" id="1DI-Vd-i5s"/>
+                                        <constraint firstItem="qLB-zu-zdB" firstAttribute="leading" secondItem="jJu-2o-jKp" secondAttribute="leading" constant="20" id="23W-m8-nSf"/>
+                                        <constraint firstItem="kqw-hL-zUY" firstAttribute="top" secondItem="qLB-zu-zdB" secondAttribute="bottom" constant="27" id="Grd-mn-iXk"/>
+                                        <constraint firstItem="jyp-62-CcY" firstAttribute="top" secondItem="jJu-2o-jKp" secondAttribute="top" constant="20" id="KV1-JM-ZbO"/>
+                                        <constraint firstAttribute="height" constant="221" id="Vi9-m6-4KQ"/>
+                                        <constraint firstAttribute="bottom" secondItem="jyp-62-CcY" secondAttribute="bottom" constant="20" id="hHf-Bk-6ER"/>
+                                        <constraint firstItem="kqw-hL-zUY" firstAttribute="centerX" secondItem="jJu-2o-jKp" secondAttribute="centerX" id="iEQ-bl-IO2"/>
+                                        <constraint firstItem="qLB-zu-zdB" firstAttribute="top" secondItem="jJu-2o-jKp" secondAttribute="top" constant="21" id="qDV-qq-HFS"/>
+                                        <constraint firstItem="jyp-62-CcY" firstAttribute="leading" secondItem="jJu-2o-jKp" secondAttribute="leading" constant="20" id="te6-9F-cUi"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6eJ-gf-jfD" userLabel="View-个人中心">
+                                    <rect key="frame" x="190" y="480" width="170" height="211"/>
+                                    <subviews>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="个人中心" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3bj-Vm-uCl">
+                                            <rect key="frame" x="20" y="21" width="100" height="30"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="100" id="6tB-db-TRb"/>
+                                                <constraint firstAttribute="height" constant="30" id="e1S-5R-YT4"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="24"/>
+                                            <color key="textColor" red="0.83137254900000002" green="0.86666666670000003" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZiT-fi-dat" customClass="QMUIButton">
+                                            <rect key="frame" x="20" y="59" width="83" height="30"/>
+                                            <color key="backgroundColor" red="0.90196078430000004" green="0.94117647059999998" blue="0.98039215690000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="30" id="F4D-8Y-tHh"/>
+                                                <constraint firstAttribute="width" constant="83" id="sdo-Hq-Mxt"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                            <state key="normal" title="去查看" image="home_right_o">
+                                                <color key="titleColor" red="0.93725490196078431" green="0.49803921568627452" blue="0.20392156862745098" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            </state>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                    <real key="value" value="15"/>
+                                                </userDefinedRuntimeAttribute>
+                                            </userDefinedRuntimeAttributes>
+                                        </button>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_05" translatesAutoresizingMaskIntoConstraints="NO" id="0G2-KM-Ray">
+                                            <rect key="frame" x="52" y="107" width="66" height="81"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="66" id="UUT-hJ-oKE"/>
+                                                <constraint firstAttribute="height" constant="81" id="qrH-gF-phn"/>
+                                            </constraints>
+                                        </imageView>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="TyX-PE-eAC">
+                                            <rect key="frame" x="20" y="20" width="130" height="171"/>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                        </button>
+                                    </subviews>
+                                    <color key="backgroundColor" red="0.21176470588235294" green="0.19215686274509802" blue="0.1803921568627451" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <constraints>
+                                        <constraint firstItem="ZiT-fi-dat" firstAttribute="leading" secondItem="6eJ-gf-jfD" secondAttribute="leading" constant="20" id="2ao-cP-pBS"/>
+                                        <constraint firstItem="3bj-Vm-uCl" firstAttribute="leading" secondItem="6eJ-gf-jfD" secondAttribute="leading" constant="20" id="4Er-N0-zgq"/>
+                                        <constraint firstAttribute="trailing" secondItem="TyX-PE-eAC" secondAttribute="trailing" constant="20" id="8oS-7V-2F2"/>
+                                        <constraint firstItem="0G2-KM-Ray" firstAttribute="top" secondItem="ZiT-fi-dat" secondAttribute="bottom" constant="18" id="Oxe-Rs-EIo"/>
+                                        <constraint firstItem="TyX-PE-eAC" firstAttribute="top" secondItem="6eJ-gf-jfD" secondAttribute="top" constant="20" id="St4-Gz-00n"/>
+                                        <constraint firstItem="ZiT-fi-dat" firstAttribute="top" secondItem="3bj-Vm-uCl" secondAttribute="bottom" constant="8" id="W4y-As-V40"/>
+                                        <constraint firstAttribute="height" constant="211" id="bm2-cb-Vyd"/>
+                                        <constraint firstItem="TyX-PE-eAC" firstAttribute="leading" secondItem="6eJ-gf-jfD" secondAttribute="leading" constant="20" id="pnF-yP-TUZ"/>
+                                        <constraint firstAttribute="bottom" secondItem="TyX-PE-eAC" secondAttribute="bottom" constant="20" id="wp5-oV-rnv"/>
+                                        <constraint firstItem="0G2-KM-Ray" firstAttribute="centerX" secondItem="6eJ-gf-jfD" secondAttribute="centerX" id="yvg-kN-E00"/>
+                                        <constraint firstItem="3bj-Vm-uCl" firstAttribute="top" secondItem="6eJ-gf-jfD" secondAttribute="top" constant="21" id="zDJ-we-To8"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="5"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                            </subviews>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <constraints>
+                                <constraint firstAttribute="trailing" secondItem="obS-bj-agt" secondAttribute="trailing" id="Fp0-bo-dJP"/>
+                                <constraint firstItem="Mdn-AQ-I8p" firstAttribute="top" secondItem="obS-bj-agt" secondAttribute="bottom" constant="20" id="HVG-kB-cTt"/>
+                                <constraint firstItem="obS-bj-agt" firstAttribute="top" secondItem="ire-nL-N9x" secondAttribute="top" id="HsO-s6-l7h"/>
+                                <constraint firstAttribute="trailing" secondItem="6eJ-gf-jfD" secondAttribute="trailing" constant="15" id="NaN-5q-iJV"/>
+                                <constraint firstItem="jJu-2o-jKp" firstAttribute="width" secondItem="6eJ-gf-jfD" secondAttribute="width" id="NgN-V1-mYG"/>
+                                <constraint firstAttribute="trailing" secondItem="Mdn-AQ-I8p" secondAttribute="trailing" constant="15" id="OPw-0s-Jgk"/>
+                                <constraint firstItem="6eJ-gf-jfD" firstAttribute="leading" secondItem="jJu-2o-jKp" secondAttribute="trailing" constant="5" id="Oiv-By-bqi"/>
+                                <constraint firstItem="Jve-BG-5J7" firstAttribute="width" secondItem="Mdn-AQ-I8p" secondAttribute="width" id="POr-HD-leU"/>
+                                <constraint firstAttribute="height" constant="750" id="Uk1-43-dGS"/>
+                                <constraint firstItem="6eJ-gf-jfD" firstAttribute="top" secondItem="Jve-BG-5J7" secondAttribute="bottom" constant="5" id="UuN-Zt-WhS"/>
+                                <constraint firstAttribute="trailing" secondItem="Jve-BG-5J7" secondAttribute="trailing" constant="15" id="Yqj-s9-DdD"/>
+                                <constraint firstItem="4a7-TG-aBk" firstAttribute="top" secondItem="obS-bj-agt" secondAttribute="bottom" constant="20" id="ZeU-p5-ZEx"/>
+                                <constraint firstItem="4a7-TG-aBk" firstAttribute="leading" secondItem="ire-nL-N9x" secondAttribute="leading" constant="15" id="apO-Zv-kfo"/>
+                                <constraint firstItem="Jve-BG-5J7" firstAttribute="leading" secondItem="4a7-TG-aBk" secondAttribute="trailing" constant="5" id="elU-kM-Bzh"/>
+                                <constraint firstItem="Jve-BG-5J7" firstAttribute="top" secondItem="Mdn-AQ-I8p" secondAttribute="bottom" constant="5" id="iBE-3F-234"/>
+                                <constraint firstItem="4a7-TG-aBk" firstAttribute="width" secondItem="Mdn-AQ-I8p" secondAttribute="width" id="klK-g3-Qjc"/>
+                                <constraint firstItem="Mdn-AQ-I8p" firstAttribute="leading" secondItem="4a7-TG-aBk" secondAttribute="trailing" constant="5" id="lCm-uy-dIr"/>
+                                <constraint firstItem="jJu-2o-jKp" firstAttribute="leading" secondItem="ire-nL-N9x" secondAttribute="leading" constant="15" id="tjx-ZG-bEu"/>
+                                <constraint firstItem="jJu-2o-jKp" firstAttribute="top" secondItem="4a7-TG-aBk" secondAttribute="bottom" constant="5" id="wnb-4y-8cB"/>
+                                <constraint firstItem="obS-bj-agt" firstAttribute="leading" secondItem="ire-nL-N9x" secondAttribute="leading" id="xez-sG-l5Q"/>
+                            </constraints>
+                        </view>
+                    </subviews>
+                    <constraints>
+                        <constraint firstAttribute="trailing" secondItem="ire-nL-N9x" secondAttribute="trailing" id="0Cx-MB-Md1"/>
+                        <constraint firstItem="ire-nL-N9x" firstAttribute="leading" secondItem="0wI-Nl-SU4" secondAttribute="leading" id="LpB-aY-4Jg"/>
+                        <constraint firstAttribute="bottom" secondItem="ire-nL-N9x" secondAttribute="bottom" id="OxC-fv-nc3"/>
+                        <constraint firstItem="ire-nL-N9x" firstAttribute="top" secondItem="0wI-Nl-SU4" secondAttribute="top" id="Pde-mh-NXM"/>
+                        <constraint firstItem="ire-nL-N9x" firstAttribute="centerX" secondItem="0wI-Nl-SU4" secondAttribute="centerX" id="j6a-Jx-o1s"/>
+                    </constraints>
+                </scrollView>
+            </subviews>
             <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
-            <point key="canvasLocation" x="34" y="-12"/>
+            <color key="backgroundColor" red="0.023529411760000001" green="0.12549019610000001" blue="0.2274509804" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstItem="6ni-iZ-qH4" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="6oc-Km-9y0"/>
+                <constraint firstItem="0wI-Nl-SU4" firstAttribute="trailing" secondItem="vUN-kp-3ea" secondAttribute="trailing" id="Mhy-G2-YnK"/>
+                <constraint firstItem="6ni-iZ-qH4" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="T6Q-Zg-JD4"/>
+                <constraint firstItem="0wI-Nl-SU4" firstAttribute="top" secondItem="6ni-iZ-qH4" secondAttribute="bottom" id="UiO-qL-RHB"/>
+                <constraint firstItem="6ni-iZ-qH4" firstAttribute="trailing" secondItem="vUN-kp-3ea" secondAttribute="trailing" id="gdj-pZ-2yK"/>
+                <constraint firstItem="0wI-Nl-SU4" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="tG0-Gi-GAs"/>
+                <constraint firstAttribute="bottom" secondItem="0wI-Nl-SU4" secondAttribute="bottom" id="vOl-2d-Bdf"/>
+            </constraints>
+            <point key="canvasLocation" x="32.799999999999997" y="-12.561576354679804"/>
         </view>
     </objects>
     <resources>
-        <systemColor name="systemBackgroundColor">
-            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-        </systemColor>
+        <image name="banner" width="345" height="150"/>
+        <image name="home_01" width="103.33333587646484" height="150.66667175292969"/>
+        <image name="home_02" width="109.66666412353516" height="105"/>
+        <image name="home_03" width="68" height="70"/>
+        <image name="home_04" width="70.666664123535156" height="74.333335876464844"/>
+        <image name="home_05" width="69.333335876464844" height="84.333335876464844"/>
+        <image name="home_right" width="16" height="16"/>
+        <image name="home_right_o" width="16" height="16"/>
     </resources>
 </document>

+ 31 - 10
JiaPeiManage/Sources/Modulars/Login/Controllers/LoginViewController.swift

@@ -14,6 +14,9 @@ final class LoginViewController: BaseViewController {
     
     // MARK: 服务属性
     private let loginService: LoginServiceType = LoginService(networking: LoginNetworking())
+    
+    private let cocahService: CoachServiceType = CoachService(networking: CoachNetworking())
+    
     // MARK: UI属性
     
     // 账号
@@ -94,16 +97,33 @@ final class LoginViewController: BaseViewController {
         }).disposed(by: disposeBag)
         //选择区域
         location_button.rx.tap.subscribe ({ [unowned self] (_)  in
-            NSLog("点击了:选择区域")
-            //登录api RX 订阅 观察 销毁 三部曲
-            self.loginService.loginRequest(user_name: "350102199001182416", user_password: "123456",city: "3501")
-                .subscribe(onSuccess: { userinfo in
-                    print("登录成功:%@", userinfo)
-                    self.navigationController?.popViewController(animated: true)
-                }, onError: { error in
-                    print("%@",error)
-                })
-                .disposed(by: disposeBag)
+            NSLog("点击了:选择区域- \(Thread.isMainThread)")
+//            //登录api RX 订阅 观察 销毁 三部曲
+//            self.loginService.loginRequest(user_name: "350102199001182416", user_password: "123456",city: "3501")
+//                .subscribe(onSuccess: { userinfo in
+//                    print("登录成功:%@", userinfo)
+//                    self.navigationController?.popViewController(animated: true)
+//                }, onError: { error in
+//                    print("%@",error)
+//                })
+//                .disposed(by: disposeBag)
+//            self.loginService.updateRequest(user_name: "350102199001182416", user_password: "1234567", new_password: "123456", city: "3501")
+//                .subscribe(onSuccess: { userinfo in
+//                    print("修改成功  \(userinfo)")
+//                }, onError: { error in
+//                    print("%@",error.localizedDescription)
+//                }).disposed(by: disposeBag)
+//            self.loginService.dictRequest(dictType: "coach_city")
+//                .subscribe(onSuccess: { userinfo in
+//                    print("%@",userinfo)
+//                }, onError: { error in
+//                    print("%@",error)
+//                }).disposed(by: disposeBag)
+            
+//            self.cocahService.coachInfoRequest(id: "3501033735", city: "3501").subscribe(onSuccess: { userinfo in
+//                
+//            },onError: { error in }).disposed(by: disposeBag)
+            
         }).disposed(by: disposeBag)
         //登录
         login_button.rx.tap
@@ -147,4 +167,5 @@ final class LoginViewController: BaseViewController {
     
     
     
+    
 }

+ 26 - 0
JiaPeiManage/Sources/Modulars/Mine/Controllers/MineViewController.swift

@@ -0,0 +1,26 @@
+//
+//  MineViewController.swift
+//  JiaPeiManage
+//
+//  Created by Ning.ge on 2023/6/13.
+//
+
+import UIKit
+import RxSwift
+import RxCocoa
+
+
+final class MineViewController: BaseViewController {
+    
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupUI()
+    }
+    
+    // MARK: 私有方法
+    func setupUI(){
+        self.view.backgroundColor = UIColor("#06203A")
+    }
+    
+}

+ 31 - 0
JiaPeiManage/Sources/Modulars/Mine/Controllers/MineViewController.xib

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MineViewController" customModule="JiaPeiManage" customModuleProvider="target">
+            <connections>
+                <outlet property="view" destination="iN0-l3-epB" id="39j-j8-BwW"/>
+            </connections>
+        </placeholder>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
+            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+            <point key="canvasLocation" x="53" y="-11"/>
+        </view>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 3 - 1
JiaPeiManage/Sources/Networking/Networking.swift

@@ -9,11 +9,12 @@ import Moya
 import RxSwift
 import Alamofire
 
-//typealias HomeNetworking = Networking<HomeAPI>
+typealias CoachNetworking = Networking<CoachAPI>
 typealias LoginNetworking = Networking<LoginAPI>
 
 final class Networking<Target: TargetType>: MoyaProvider<Target> {
     
+
     init(plugins: [PluginType] = [LoadingPlugin()]) {
         //安全证书配置DisabledEvaluator 和 host 不能动
         let serverTrustManager = ServerTrustManager(evaluators: ["jsjp-admin1.zzxcx.net": DisabledEvaluator()])
@@ -39,6 +40,7 @@ final class Networking<Target: TargetType>: MoyaProvider<Target> {
         return self.rx.request(target)
             .filterSuccessfulStatusCodes()
             .do(onSuccess: { (value) in
+                NSLog("do- \(Thread.isMainThread)")
                 let message = "SUCCESS: \(requestString) (\(value.statusCode))"
                 log.debug(message, file: file, function: function, line: line)
                 

+ 80 - 0
JiaPeiManage/Sources/Services/CoachAPI.swift

@@ -0,0 +1,80 @@
+//
+//  CoachAPI.swift
+//  JiaPeiManage
+//
+//  Created by Ning.ge on 2023/6/13.
+//
+
+import Moya
+import SwiftyUserDefaults
+
+enum CoachAPI {
+    
+    //获取教练信息
+    case coachInfo(id:String ,city:String)
+    //获取教练二维码
+    case coachQrInfo(id:String ,city:String)
+    
+}
+
+extension CoachAPI: TargetType {
+    
+    var baseURL: URL {
+        switch self {
+        case .coachInfo,.coachQrInfo:
+            return URL(string: HttpRequest.api.path)!
+        }
+    }
+    
+    var path: String {
+        switch self {
+        case .coachInfo(_,_):
+            return "/jsjp-admin/open-api/tms/coachInfo/getCoachInfo"
+        case .coachQrInfo(_,_):
+            return "/jsjp-admin/open-api/tms/coachInfo/getCoachQrInfo"
+        }
+    }
+    
+    var method: Moya.Method {
+        switch self {
+        case .coachInfo,.coachQrInfo:
+            return .get
+        default:
+            return .get
+        }
+    }
+    
+    var sampleData: Data {
+        return Data()
+    }
+    
+    var task: Moya.Task {
+        switch self {
+        case .coachInfo(_,_),.coachQrInfo(_,_):
+            if let parameters = parameters {
+                return .requestParameters(parameters: parameters, encoding: URLEncoding.default)
+            }
+            return .requestPlain
+        }
+    }
+    
+    var headers: [String: String]? {
+
+        return ["Content-Type":"application/json"]
+    }
+    
+    var parameters: [String : Any]? {
+        switch self {
+        case let .coachInfo(id,city):
+            return ["city": city,
+                    "id": id,]
+        case let .coachQrInfo(id,city):
+            return ["city": city,
+                    "id": id,]
+        default:
+            return nil
+        }
+    }
+    
+    
+}

+ 39 - 0
JiaPeiManage/Sources/Services/CoachService.swift

@@ -0,0 +1,39 @@
+//
+//  CoachService.swift
+//  JiaPeiManage
+//
+//  Created by Ning.ge on 2023/6/13.
+//
+
+import RxSwift
+import RxCocoa
+import SwiftyJSON
+
+protocol CoachServiceType {
+    //获取教练信息
+    func coachInfoRequest(id:String ,city:String) -> Single<UserInfo>
+    //获取教练二维码
+    func coachQrInfoRequest(id:String ,city:String) -> Single<UserInfo>
+    
+}
+
+final class CoachService: CoachServiceType {
+
+    private let networking : CoachNetworking
+    
+    init(networking: CoachNetworking) {
+        self.networking = networking
+    }
+    
+    func coachInfoRequest(id: String, city: String) -> RxSwift.Single<UserInfo> {
+        let api = CoachAPI.coachInfo(id: id, city: city)
+        return networking.request(api).map(UserInfo.self)
+    }
+    
+    func coachQrInfoRequest(id: String, city: String) -> RxSwift.Single<UserInfo> {
+        let api = CoachAPI.coachQrInfo(id: id, city: city)
+        return networking.request(api).map(UserInfo.self)
+    }
+    
+}
+

+ 20 - 5
JiaPeiManage/Sources/Services/LoginAPI.swift

@@ -13,6 +13,8 @@ enum LoginAPI {
     case loginUser(user_name:String, user_password:String ,city:String)
     //修改密码
     case updateUser(user_name:String, user_password:String, new_password:String,city:String)
+    //根据字典类型查询字典数据信息
+    case dictUser(dictType:String)
     
 }
 
@@ -20,7 +22,7 @@ extension LoginAPI: TargetType {
     
     var baseURL: URL {
         switch self {
-        case .loginUser,.updateUser:
+        case .loginUser,.updateUser,.dictUser:
             return URL(string: HttpRequest.api.path)!
         }
     }
@@ -30,14 +32,18 @@ extension LoginAPI: TargetType {
         case .loginUser(_,_,_):
             return "/jsjp-admin/open-api/tms/coachInfo/coachInfoLogin"
         case .updateUser(_,_,_,_):
-            return "/jsjp-admin/open-api/tms/coachInfo/updateCoachInfo"
-       
+            return "/jsjp-admin/open-api/tms/coachInfo/updateCoachPassword"
+        case .dictUser(_):
+            if let parameters = parameters {
+                return "/jsjp-admin/open-api/gzpt/userInfo/type/\(parameters["dictType"] ?? "")"
+            }
+            return ""
         }
     }
     
     var method: Moya.Method {
         switch self {
-        case .loginUser:
+        case .loginUser,.dictUser:
             return .get
         case .updateUser:
             return .put
@@ -62,11 +68,18 @@ extension LoginAPI: TargetType {
                 return .requestParameters(parameters: parameters, encoding: URLEncoding.default)
             }
             return .requestPlain
+        case .dictUser(_):
+            return .requestPlain
         }
     }
     
     var headers: [String: String]? {
-        return ["Content-Type":"application/json"]
+        switch self {
+        case .updateUser:
+            return ["Content-Type":"application/x-www-form-urlencoded"]
+        default:
+            return ["Content-Type":"application/json"]
+        }
     }
     
     var parameters: [String : Any]? {
@@ -81,6 +94,8 @@ extension LoginAPI: TargetType {
                     "idcard": user_name,
                     "password":user_password,
                     "newPassword":new_password,]
+        case let .dictUser(dictType):
+            return ["dictType": dictType]
         default:
             return nil
         }

+ 9 - 1
JiaPeiManage/Sources/Services/LoginService.swift

@@ -14,10 +14,13 @@ protocol LoginServiceType {
     func loginRequest(user_name: String, user_password: String, city:String) -> Single<UserInfo>
     
     func updateRequest(user_name: String, user_password: String,new_password: String, city:String) -> Single<UserInfo>
+    
+    func dictRequest(dictType:String) -> Single<UserInfo>
+    
 }
 
 final class LoginService: LoginServiceType {
-    
+
     private let networking : LoginNetworking
     
     init(networking: LoginNetworking) {
@@ -37,4 +40,9 @@ final class LoginService: LoginServiceType {
         return networking.request(api).map(UserInfo.self)
     }
     
+    //获取地区字典
+    func dictRequest(dictType: String) -> RxSwift.Single<UserInfo> {
+        let api = LoginAPI.dictUser(dictType: dictType)
+        return networking.request(api).map(UserInfo.self)
+    }
 }

+ 7 - 9
JiaPeiManage/Sources/Utils/NYSwRouter.swift

@@ -20,12 +20,10 @@ enum NYSwPushType {
 
 
 enum NYSwOpenType: String {
-    case area = "http://live.bilibili.com/app/area"
-    case common = "http://live.bilibili.com/app/mytag/"
-    case attention = "http://live.bilibili.com/app/myfollow/"
+    case uprotocol = "https://ys.zzxcx.net/xy_jsjp.html"
     case all = "http://live.bilibili.com/app/all-live/"
     
-    case login = "Bilibili://app/login"
+    case login = "JiaPeiManage://app/login"
 }
 
 extension NYSwPushType {
@@ -33,15 +31,15 @@ extension NYSwPushType {
     var path:String {
         switch self {
         case .recommend_rank:
-            return "Bilibili://recommend/rank"
+            return "JiaPeiManage://recommend/rank"
         case .recommend_player:
-            return "Bilibili://recommend/player"
+            return "JiaPeiManage://recommend/player"
         case .live_all:
-            return "Bilibili://live/recommend"
+            return "JiaPeiManage://live/recommend"
         case .live_room:
-            return "Bilibili://live/room"
+            return "JiaPeiManage://live/room"
         case .drama_recommend:
-            return "Bilibili://drama/recommend"
+            return "JiaPeiManage://drama/recommend"
 
         }
     }

+ 3 - 5
JiaPeiManage/Sources/Utils/URLNavigationMap.swift

@@ -60,8 +60,8 @@ final class URLNavigationMap {
         
         navigator.register("http://<path:_>",self.webViewControllerFactory)
         navigator.register("https://<path:_>",self.webViewControllerFactory)
-        navigator.handle(NYSwOpenType.area.rawValue, self.area(navigator: navigator))
-        navigator.handle(NYSwOpenType.all.rawValue, self.all(navigator: navigator))
+//        navigator.handle(NYSwOpenType.area.rawValue, self.area(navigator: navigator))
+//        navigator.handle(NYSwOpenType.all.rawValue, self.all(navigator: navigator))
         navigator.handle(NYSwOpenType.login.rawValue, self.login(navigator: navigator))
     }
     
@@ -111,9 +111,7 @@ final class URLNavigationMap {
     
     private static func login(navigator: NavigatorType) -> URLOpenHandlerFactory {
         return { url, values, context in
-            
-            let loginController = UIViewController()
-//            LoginViewController()
+            let loginController = LoginViewController(nibName: "LoginViewController")
             navigator.present(loginController, wrap: MainNavigationController.self)
             return true
         }