Commit e98cdb89 authored by Steven杜宇's avatar Steven杜宇

Merge branch 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into develop

# Conflicts:
#	galaxy/galaxy.xcodeproj/project.pbxproj
#	galaxy/galaxy/Modules/Login(登录)/V/验证码输入框/YHSmsCodeInputView.swift
#	galaxy/galaxy/Modules/Login(登录)/V/验证码输入框/YNSmsCodeView.swift
parents 3e94e17c 9287b8ce
...@@ -14,8 +14,9 @@ target 'galaxy' do ...@@ -14,8 +14,9 @@ target 'galaxy' do
#图片加载 #图片加载
pod 'Kingfisher','7.10.1' pod 'Kingfisher','7.10.1'
#异步编程框架 #异步编程框架
pod 'RxSwift','6.6.0' # pod 'RxSwift','6.6.0'
pod 'RxCocoa','6.6.0' # pod 'RxCocoa','6.6.0'
pod 'RxAlamofire','6.1.1'
#数据存储 #数据存储
pod 'SwiftyUserDefaults','5.3.0' pod 'SwiftyUserDefaults','5.3.0'
#数据加、解密 #数据加、解密
...@@ -55,11 +56,17 @@ target 'galaxy' do ...@@ -55,11 +56,17 @@ target 'galaxy' do
pod 'DeviceKit', '5.1.0' pod 'DeviceKit', '5.1.0'
#骨架图 #骨架图
pod 'SkeletonView','1.30.4' pod 'SkeletonView','1.30.4'
#导航栏、手势
pod 'GKNavigationBarSwift','1.6.5'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
# #数据模型转换 target.build_configurations.each do |config|
pod 'HandyJSON','5.0.2' if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 13.0
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end
end end
...@@ -3,48 +3,47 @@ ...@@ -3,48 +3,47 @@
archiveVersion = 1; archiveVersion = 1;
classes = { classes = {
}; };
objectVersion = 56; objectVersion = 60;
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
04F526AF2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526AE2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift */; }; 04F526AF2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526AE2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift */; };
04F526C12B3A657000FC6CE6 /* YHValidateCodeInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526C02B3A657000FC6CE6 /* YHValidateCodeInputView.swift */; };
04F526C72B3BB94200FC6CE6 /* YHSMSCodeInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F526C32B3BB94200FC6CE6 /* YHSMSCodeInputView.m */; }; 04F526C72B3BB94200FC6CE6 /* YHSMSCodeInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F526C32B3BB94200FC6CE6 /* YHSMSCodeInputView.m */; };
04F526C82B3BB94200FC6CE6 /* YHSMSCodeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F526C42B3BB94200FC6CE6 /* YHSMSCodeView.m */; }; 04F526C82B3BB94200FC6CE6 /* YHSMSCodeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F526C42B3BB94200FC6CE6 /* YHSMSCodeView.m */; };
04F526CA2B3E92E200FC6CE6 /* Algorithm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526C92B3E92E200FC6CE6 /* Algorithm.swift */; }; 04F526CA2B3E92E200FC6CE6 /* Algorithm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526C92B3E92E200FC6CE6 /* Algorithm.swift */; };
04F526CC2B3E962400FC6CE6 /* YNSmsCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526CB2B3E962400FC6CE6 /* YNSmsCodeView.swift */; }; 04F526CC2B3E962400FC6CE6 /* YNSmsCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526CB2B3E962400FC6CE6 /* YNSmsCodeView.swift */; };
04F526CE2B3EA80300FC6CE6 /* YHSmsCodeInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526CD2B3EA80300FC6CE6 /* YHSmsCodeInputView.swift */; }; 04F526CE2B3EA80300FC6CE6 /* YHSmsCodeInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526CD2B3EA80300FC6CE6 /* YHSmsCodeInputView.swift */; };
04FAC5432B32BA5F00D24B36 /* YHHomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC5422B32BA5F00D24B36 /* YHHomeViewController.swift */; }; 04F526D02B3ECAE700FC6CE6 /* YHValidateCodeInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526CF2B3ECAE700FC6CE6 /* YHValidateCodeInputView.swift */; };
04F526E52B3ECC6F00FC6CE6 /* UIApplication+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526D82B3ECC6F00FC6CE6 /* UIApplication+Extension.swift */; };
04F526E62B3ECC6F00FC6CE6 /* UIDevice+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526D92B3ECC6F00FC6CE6 /* UIDevice+Extension.swift */; };
04F526E72B3ECC6F00FC6CE6 /* NSAttributedString+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526DA2B3ECC6F00FC6CE6 /* NSAttributedString+Extension.swift */; };
04F526E82B3ECC6F00FC6CE6 /* UIFont+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526DB2B3ECC6F00FC6CE6 /* UIFont+Extension.swift */; };
04F526E92B3ECC6F00FC6CE6 /* UIColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526DC2B3ECC6F00FC6CE6 /* UIColor+Extension.swift */; };
04F526EA2B3ECC6F00FC6CE6 /* UIButton+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526DD2B3ECC6F00FC6CE6 /* UIButton+Extension.swift */; };
04F526EB2B3ECC6F00FC6CE6 /* UIImage+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526DE2B3ECC6F00FC6CE6 /* UIImage+Extension.swift */; };
04F526EC2B3ECC6F00FC6CE6 /* UIViewController+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526DF2B3ECC6F00FC6CE6 /* UIViewController+Extension.swift */; };
04F526ED2B3ECC6F00FC6CE6 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526E02B3ECC6F00FC6CE6 /* String+Extension.swift */; };
04F526EE2B3ECC6F00FC6CE6 /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526E12B3ECC6F00FC6CE6 /* Dictionary+Extension.swift */; };
04F526EF2B3ECC6F00FC6CE6 /* AppDelegate+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526E22B3ECC6F00FC6CE6 /* AppDelegate+Extension.swift */; };
04F526F02B3ECC6F00FC6CE6 /* UILable+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526E32B3ECC6F00FC6CE6 /* UILable+Extension.swift */; };
04F526F12B3ECC6F00FC6CE6 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526E42B3ECC6F00FC6CE6 /* Array+Extension.swift */; };
04F526F42B3ECCBC00FC6CE6 /* YHLoginStyleButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526F22B3ECCBC00FC6CE6 /* YHLoginStyleButton.swift */; };
04F526F52B3ECCBC00FC6CE6 /* YHLoginPrivacyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F526F32B3ECCBC00FC6CE6 /* YHLoginPrivacyView.swift */; };
04FAC5432B32BA5F00D24B36 /* YHIntelligentServiceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC5422B32BA5F00D24B36 /* YHIntelligentServiceViewController.swift */; };
04FAC5452B32BA7000D24B36 /* YHMyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC5442B32BA7000D24B36 /* YHMyViewController.swift */; }; 04FAC5452B32BA7000D24B36 /* YHMyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC5442B32BA7000D24B36 /* YHMyViewController.swift */; };
04FAC54A2B32CF1000D24B36 /* YHNetRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC5492B32CF1000D24B36 /* YHNetRequest.swift */; }; 04FAC54A2B32CF1000D24B36 /* YHNetRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC5492B32CF1000D24B36 /* YHNetRequest.swift */; };
04FAC54D2B3A9E3D00D24B36 /* YHConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC54C2B3A9E3D00D24B36 /* YHConfig.swift */; }; 04FAC54D2B3A9E3D00D24B36 /* YHConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC54C2B3A9E3D00D24B36 /* YHConfig.swift */; };
04FAC54F2B3AA6EC00D24B36 /* YHLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC54E2B3AA6EC00D24B36 /* YHLoginViewController.swift */; }; 04FAC54F2B3AA6EC00D24B36 /* YHLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC54E2B3AA6EC00D24B36 /* YHLoginViewController.swift */; };
04FAC5512B3ABA5000D24B36 /* YHLoginStyleButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC5502B3ABA5000D24B36 /* YHLoginStyleButton.swift */; };
04FAC5532B3AC6F200D24B36 /* YHLoginPrivacyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04FAC5522B3AC6F200D24B36 /* YHLoginPrivacyView.swift */; };
6203A87EDC96313BBE789D9C /* Pods_galaxy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 987C69D43AE8D85DC1930DCF /* Pods_galaxy.framework */; }; 6203A87EDC96313BBE789D9C /* Pods_galaxy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 987C69D43AE8D85DC1930DCF /* Pods_galaxy.framework */; };
A5009DD82B3D72FD00168BB1 /* NetBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5009DD72B3D72FD00168BB1 /* NetBaseModel.swift */; };
A52DF0BB2B330A20006618D6 /* YHAllApiName.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEAA2B330A1F006618D6 /* YHAllApiName.swift */; }; A52DF0BB2B330A20006618D6 /* YHAllApiName.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEAA2B330A1F006618D6 /* YHAllApiName.swift */; };
A52DF0BC2B330A20006618D6 /* YHNetworkStatusManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEAB2B330A1F006618D6 /* YHNetworkStatusManager.swift */; }; A52DF0BC2B330A20006618D6 /* YHNetworkStatusManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEAB2B330A1F006618D6 /* YHNetworkStatusManager.swift */; };
A52DF0BD2B330A20006618D6 /* YHBaseUrlManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEAC2B330A1F006618D6 /* YHBaseUrlManager.swift */; }; A52DF0BD2B330A20006618D6 /* YHBaseUrlManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEAC2B330A1F006618D6 /* YHBaseUrlManager.swift */; };
A52DF0BF2B330A20006618D6 /* Date-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB02B330A1F006618D6 /* Date-Extension.swift */; }; A52DF0C32B330A20006618D6 /* YhCacheTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB42B330A1F006618D6 /* YhCacheTool.swift */; };
A52DF0C02B330A20006618D6 /* NSAttributedString+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB12B330A1F006618D6 /* NSAttributedString+Extension.swift */; };
A52DF0C12B330A20006618D6 /* UIButton-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB22B330A1F006618D6 /* UIButton-Extension.swift */; };
A52DF0C22B330A20006618D6 /* AppDelegate + UIAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB32B330A1F006618D6 /* AppDelegate + UIAppearance.swift */; };
A52DF0C32B330A20006618D6 /* BsCacheTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB42B330A1F006618D6 /* BsCacheTool.swift */; };
A52DF0C42B330A20006618D6 /* UIApplication-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB52B330A1F006618D6 /* UIApplication-Extension.swift */; };
A52DF0C52B330A20006618D6 /* UIDevice-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB62B330A1F006618D6 /* UIDevice-Extension.swift */; };
A52DF0C62B330A20006618D6 /* UIColor-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB72B330A1F006618D6 /* UIColor-Extension.swift */; };
A52DF0C72B330A20006618D6 /* UIFont-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEB82B330A1F006618D6 /* UIFont-Extension.swift */; };
A52DF0C92B330A20006618D6 /* AlignedCollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBA2B330A1F006618D6 /* AlignedCollectionViewFlowLayout.swift */; }; A52DF0C92B330A20006618D6 /* AlignedCollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBA2B330A1F006618D6 /* AlignedCollectionViewFlowLayout.swift */; };
A52DF0CA2B330A20006618D6 /* UIViewController+Navigation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBB2B330A1F006618D6 /* UIViewController+Navigation.swift */; }; A52DF0CD2B330A20006618D6 /* YhGestureTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBE2B330A1F006618D6 /* YhGestureTableView.swift */; };
A52DF0CB2B330A20006618D6 /* UIView-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBC2B330A1F006618D6 /* UIView-Extension.swift */; }; A52DF0CE2B330A20006618D6 /* YhOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBF2B330A1F006618D6 /* YhOverlayView.swift */; };
A52DF0CC2B330A20006618D6 /* UIImage-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBD2B330A1F006618D6 /* UIImage-Extension.swift */; }; A52DF0DD2B330A20006618D6 /* YhConstant.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEED12B330A1F006618D6 /* YhConstant.swift */; };
A52DF0CD2B330A20006618D6 /* BsGestureTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBE2B330A1F006618D6 /* BsGestureTableView.swift */; };
A52DF0CE2B330A20006618D6 /* BsOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEBF2B330A1F006618D6 /* BsOverlayView.swift */; };
A52DF0CF2B330A20006618D6 /* String-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEC02B330A1F006618D6 /* String-Extension.swift */; };
A52DF0D02B330A20006618D6 /* UILable-Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEEC12B330A1F006618D6 /* UILable-Extension.swift */; };
A52DF0DD2B330A20006618D6 /* BsConstant.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEED12B330A1F006618D6 /* BsConstant.swift */; };
A52DF0DF2B330A20006618D6 /* BSJsonUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DEED32B330A1F006618D6 /* BSJsonUtil.swift */; };
A52DF2342B330A21006618D6 /* BsBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DF0B02B330A20006618D6 /* BsBaseModel.swift */; };
A52DF2352B330A21006618D6 /* YHNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DF0B22B330A20006618D6 /* YHNavigationController.swift */; }; A52DF2352B330A21006618D6 /* YHNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DF0B22B330A20006618D6 /* YHNavigationController.swift */; };
A52DF2362B330A21006618D6 /* YHBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DF0B32B330A20006618D6 /* YHBaseViewController.swift */; }; A52DF2362B330A21006618D6 /* YHBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DF0B32B330A20006618D6 /* YHBaseViewController.swift */; };
A52DF2372B330A21006618D6 /* YHTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DF0B42B330A20006618D6 /* YHTabBarViewController.swift */; }; A52DF2372B330A21006618D6 /* YHTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A52DF0B42B330A20006618D6 /* YHTabBarViewController.swift */; };
...@@ -87,7 +86,6 @@ ...@@ -87,7 +86,6 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
04F526AE2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPersonalCenterCell.swift; sourceTree = "<group>"; }; 04F526AE2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPersonalCenterCell.swift; sourceTree = "<group>"; };
04F526BF2B39733000FC6CE6 /* galaxy-Bridge-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "galaxy-Bridge-Header.h"; sourceTree = "<group>"; }; 04F526BF2B39733000FC6CE6 /* galaxy-Bridge-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "galaxy-Bridge-Header.h"; sourceTree = "<group>"; };
04F526C02B3A657000FC6CE6 /* YHValidateCodeInputView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHValidateCodeInputView.swift; sourceTree = "<group>"; };
04F526C32B3BB94200FC6CE6 /* YHSMSCodeInputView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHSMSCodeInputView.m; sourceTree = "<group>"; }; 04F526C32B3BB94200FC6CE6 /* YHSMSCodeInputView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHSMSCodeInputView.m; sourceTree = "<group>"; };
04F526C42B3BB94200FC6CE6 /* YHSMSCodeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHSMSCodeView.m; sourceTree = "<group>"; }; 04F526C42B3BB94200FC6CE6 /* YHSMSCodeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YHSMSCodeView.m; sourceTree = "<group>"; };
04F526C52B3BB94200FC6CE6 /* YHSMSCodeInputView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YHSMSCodeInputView.h; sourceTree = "<group>"; }; 04F526C52B3BB94200FC6CE6 /* YHSMSCodeInputView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YHSMSCodeInputView.h; sourceTree = "<group>"; };
...@@ -95,38 +93,38 @@ ...@@ -95,38 +93,38 @@
04F526C92B3E92E200FC6CE6 /* Algorithm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Algorithm.swift; sourceTree = "<group>"; }; 04F526C92B3E92E200FC6CE6 /* Algorithm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Algorithm.swift; sourceTree = "<group>"; };
04F526CB2B3E962400FC6CE6 /* YNSmsCodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YNSmsCodeView.swift; sourceTree = "<group>"; }; 04F526CB2B3E962400FC6CE6 /* YNSmsCodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YNSmsCodeView.swift; sourceTree = "<group>"; };
04F526CD2B3EA80300FC6CE6 /* YHSmsCodeInputView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSmsCodeInputView.swift; sourceTree = "<group>"; }; 04F526CD2B3EA80300FC6CE6 /* YHSmsCodeInputView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSmsCodeInputView.swift; sourceTree = "<group>"; };
04FAC5422B32BA5F00D24B36 /* YHHomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeViewController.swift; sourceTree = "<group>"; }; 04F526CF2B3ECAE700FC6CE6 /* YHValidateCodeInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHValidateCodeInputView.swift; sourceTree = "<group>"; };
04F526D82B3ECC6F00FC6CE6 /* UIApplication+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIApplication+Extension.swift"; sourceTree = "<group>"; };
04F526D92B3ECC6F00FC6CE6 /* UIDevice+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIDevice+Extension.swift"; sourceTree = "<group>"; };
04F526DA2B3ECC6F00FC6CE6 /* NSAttributedString+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Extension.swift"; sourceTree = "<group>"; };
04F526DB2B3ECC6F00FC6CE6 /* UIFont+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIFont+Extension.swift"; sourceTree = "<group>"; };
04F526DC2B3ECC6F00FC6CE6 /* UIColor+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Extension.swift"; sourceTree = "<group>"; };
04F526DD2B3ECC6F00FC6CE6 /* UIButton+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIButton+Extension.swift"; sourceTree = "<group>"; };
04F526DE2B3ECC6F00FC6CE6 /* UIImage+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Extension.swift"; sourceTree = "<group>"; };
04F526DF2B3ECC6F00FC6CE6 /* UIViewController+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Extension.swift"; sourceTree = "<group>"; };
04F526E02B3ECC6F00FC6CE6 /* String+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = "<group>"; };
04F526E12B3ECC6F00FC6CE6 /* Dictionary+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Dictionary+Extension.swift"; sourceTree = "<group>"; };
04F526E22B3ECC6F00FC6CE6 /* AppDelegate+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AppDelegate+Extension.swift"; sourceTree = "<group>"; };
04F526E32B3ECC6F00FC6CE6 /* UILable+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UILable+Extension.swift"; sourceTree = "<group>"; };
04F526E42B3ECC6F00FC6CE6 /* Array+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Array+Extension.swift"; sourceTree = "<group>"; };
04F526F22B3ECCBC00FC6CE6 /* YHLoginStyleButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHLoginStyleButton.swift; sourceTree = "<group>"; };
04F526F32B3ECCBC00FC6CE6 /* YHLoginPrivacyView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHLoginPrivacyView.swift; sourceTree = "<group>"; };
04FAC5422B32BA5F00D24B36 /* YHIntelligentServiceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHIntelligentServiceViewController.swift; sourceTree = "<group>"; };
04FAC5442B32BA7000D24B36 /* YHMyViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyViewController.swift; sourceTree = "<group>"; }; 04FAC5442B32BA7000D24B36 /* YHMyViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyViewController.swift; sourceTree = "<group>"; };
04FAC5492B32CF1000D24B36 /* YHNetRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHNetRequest.swift; sourceTree = "<group>"; }; 04FAC5492B32CF1000D24B36 /* YHNetRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHNetRequest.swift; sourceTree = "<group>"; };
04FAC54C2B3A9E3D00D24B36 /* YHConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHConfig.swift; sourceTree = "<group>"; }; 04FAC54C2B3A9E3D00D24B36 /* YHConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHConfig.swift; sourceTree = "<group>"; };
04FAC54E2B3AA6EC00D24B36 /* YHLoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLoginViewController.swift; sourceTree = "<group>"; }; 04FAC54E2B3AA6EC00D24B36 /* YHLoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLoginViewController.swift; sourceTree = "<group>"; };
04FAC5502B3ABA5000D24B36 /* YHLoginStyleButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLoginStyleButton.swift; sourceTree = "<group>"; };
04FAC5522B3AC6F200D24B36 /* YHLoginPrivacyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLoginPrivacyView.swift; sourceTree = "<group>"; };
58C2405158A4A6632D0E7460 /* Pods-galaxy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-galaxy.debug.xcconfig"; path = "Target Support Files/Pods-galaxy/Pods-galaxy.debug.xcconfig"; sourceTree = "<group>"; }; 58C2405158A4A6632D0E7460 /* Pods-galaxy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-galaxy.debug.xcconfig"; path = "Target Support Files/Pods-galaxy/Pods-galaxy.debug.xcconfig"; sourceTree = "<group>"; };
987C69D43AE8D85DC1930DCF /* Pods_galaxy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_galaxy.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 987C69D43AE8D85DC1930DCF /* Pods_galaxy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_galaxy.framework; sourceTree = BUILT_PRODUCTS_DIR; };
A5009DD72B3D72FD00168BB1 /* NetBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetBaseModel.swift; sourceTree = "<group>"; };
A52DEEAA2B330A1F006618D6 /* YHAllApiName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHAllApiName.swift; sourceTree = "<group>"; }; A52DEEAA2B330A1F006618D6 /* YHAllApiName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHAllApiName.swift; sourceTree = "<group>"; };
A52DEEAB2B330A1F006618D6 /* YHNetworkStatusManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHNetworkStatusManager.swift; sourceTree = "<group>"; }; A52DEEAB2B330A1F006618D6 /* YHNetworkStatusManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHNetworkStatusManager.swift; sourceTree = "<group>"; };
A52DEEAC2B330A1F006618D6 /* YHBaseUrlManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBaseUrlManager.swift; sourceTree = "<group>"; }; A52DEEAC2B330A1F006618D6 /* YHBaseUrlManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBaseUrlManager.swift; sourceTree = "<group>"; };
A52DEEB02B330A1F006618D6 /* Date-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Date-Extension.swift"; sourceTree = "<group>"; }; A52DEEB42B330A1F006618D6 /* YhCacheTool.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YhCacheTool.swift; sourceTree = "<group>"; };
A52DEEB12B330A1F006618D6 /* NSAttributedString+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Extension.swift"; sourceTree = "<group>"; };
A52DEEB22B330A1F006618D6 /* UIButton-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIButton-Extension.swift"; sourceTree = "<group>"; };
A52DEEB32B330A1F006618D6 /* AppDelegate + UIAppearance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AppDelegate + UIAppearance.swift"; sourceTree = "<group>"; };
A52DEEB42B330A1F006618D6 /* BsCacheTool.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BsCacheTool.swift; sourceTree = "<group>"; };
A52DEEB52B330A1F006618D6 /* UIApplication-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIApplication-Extension.swift"; sourceTree = "<group>"; };
A52DEEB62B330A1F006618D6 /* UIDevice-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIDevice-Extension.swift"; sourceTree = "<group>"; };
A52DEEB72B330A1F006618D6 /* UIColor-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor-Extension.swift"; sourceTree = "<group>"; };
A52DEEB82B330A1F006618D6 /* UIFont-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIFont-Extension.swift"; sourceTree = "<group>"; };
A52DEEBA2B330A1F006618D6 /* AlignedCollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlignedCollectionViewFlowLayout.swift; sourceTree = "<group>"; }; A52DEEBA2B330A1F006618D6 /* AlignedCollectionViewFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlignedCollectionViewFlowLayout.swift; sourceTree = "<group>"; };
A52DEEBB2B330A1F006618D6 /* UIViewController+Navigation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Navigation.swift"; sourceTree = "<group>"; }; A52DEEBE2B330A1F006618D6 /* YhGestureTableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YhGestureTableView.swift; sourceTree = "<group>"; };
A52DEEBC2B330A1F006618D6 /* UIView-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView-Extension.swift"; sourceTree = "<group>"; }; A52DEEBF2B330A1F006618D6 /* YhOverlayView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YhOverlayView.swift; sourceTree = "<group>"; };
A52DEEBD2B330A1F006618D6 /* UIImage-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage-Extension.swift"; sourceTree = "<group>"; }; A52DEED12B330A1F006618D6 /* YhConstant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YhConstant.swift; sourceTree = "<group>"; };
A52DEEBE2B330A1F006618D6 /* BsGestureTableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BsGestureTableView.swift; sourceTree = "<group>"; };
A52DEEBF2B330A1F006618D6 /* BsOverlayView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BsOverlayView.swift; sourceTree = "<group>"; };
A52DEEC02B330A1F006618D6 /* String-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String-Extension.swift"; sourceTree = "<group>"; };
A52DEEC12B330A1F006618D6 /* UILable-Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UILable-Extension.swift"; sourceTree = "<group>"; };
A52DEED12B330A1F006618D6 /* BsConstant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BsConstant.swift; sourceTree = "<group>"; };
A52DEED32B330A1F006618D6 /* BSJsonUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BSJsonUtil.swift; sourceTree = "<group>"; };
A52DF0B02B330A20006618D6 /* BsBaseModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BsBaseModel.swift; sourceTree = "<group>"; };
A52DF0B22B330A20006618D6 /* YHNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHNavigationController.swift; sourceTree = "<group>"; }; A52DF0B22B330A20006618D6 /* YHNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHNavigationController.swift; sourceTree = "<group>"; };
A52DF0B32B330A20006618D6 /* YHBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBaseViewController.swift; sourceTree = "<group>"; }; A52DF0B32B330A20006618D6 /* YHBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBaseViewController.swift; sourceTree = "<group>"; };
A52DF0B42B330A20006618D6 /* YHTabBarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHTabBarViewController.swift; sourceTree = "<group>"; }; A52DF0B42B330A20006618D6 /* YHTabBarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHTabBarViewController.swift; sourceTree = "<group>"; };
...@@ -183,11 +181,7 @@ ...@@ -183,11 +181,7 @@
04F526A92B32D3D500FC6CE6 /* V */ = { 04F526A92B32D3D500FC6CE6 /* V */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04F526C22B3BB94200FC6CE6 /* 验证码输入框 */,
04F526AE2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift */, 04F526AE2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift */,
04F526C02B3A657000FC6CE6 /* YHValidateCodeInputView.swift */,
04FAC5502B3ABA5000D24B36 /* YHLoginStyleButton.swift */,
04FAC5522B3AC6F200D24B36 /* YHLoginPrivacyView.swift */,
04F526C92B3E92E200FC6CE6 /* Algorithm.swift */, 04F526C92B3E92E200FC6CE6 /* Algorithm.swift */,
); );
path = V; path = V;
...@@ -214,24 +208,45 @@ ...@@ -214,24 +208,45 @@
path = "验证码输入框"; path = "验证码输入框";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
04F526D72B3ECC6F00FC6CE6 /* Extention */ = {
isa = PBXGroup;
children = (
04F526D82B3ECC6F00FC6CE6 /* UIApplication+Extension.swift */,
04F526D92B3ECC6F00FC6CE6 /* UIDevice+Extension.swift */,
04F526DA2B3ECC6F00FC6CE6 /* NSAttributedString+Extension.swift */,
04F526DB2B3ECC6F00FC6CE6 /* UIFont+Extension.swift */,
04F526DC2B3ECC6F00FC6CE6 /* UIColor+Extension.swift */,
04F526DD2B3ECC6F00FC6CE6 /* UIButton+Extension.swift */,
04F526DE2B3ECC6F00FC6CE6 /* UIImage+Extension.swift */,
04F526DF2B3ECC6F00FC6CE6 /* UIViewController+Extension.swift */,
04F526E02B3ECC6F00FC6CE6 /* String+Extension.swift */,
04F526E12B3ECC6F00FC6CE6 /* Dictionary+Extension.swift */,
04F526E22B3ECC6F00FC6CE6 /* AppDelegate+Extension.swift */,
04F526E32B3ECC6F00FC6CE6 /* UILable+Extension.swift */,
04F526E42B3ECC6F00FC6CE6 /* Array+Extension.swift */,
);
path = Extention;
sourceTree = "<group>";
};
04FAC53B2B32B8F100D24B36 /* Modules */ = { 04FAC53B2B32B8F100D24B36 /* Modules */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04FAC53C2B32B90E00D24B36 /* Home(智慧服务) */, A5009DD32B3D717300168BB1 /* Login(登录) */,
04FAC53C2B32B90E00D24B36 /* IntelligentService(智慧服务) */,
04FAC53D2B32B91700D24B36 /* Mine(我的) */, 04FAC53D2B32B91700D24B36 /* Mine(我的) */,
); );
name = Modules; name = Modules;
path = ../Modules; path = ../Modules;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
04FAC53C2B32B90E00D24B36 /* Home(智慧服务) */ = { 04FAC53C2B32B90E00D24B36 /* IntelligentService(智慧服务) */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A52DF2542B331B19006618D6 /* V */, A52DF2542B331B19006618D6 /* V */,
A52DF2532B331B0C006618D6 /* M */, A52DF2532B331B0C006618D6 /* M */,
04FAC53F2B32B96300D24B36 /* C */, 04FAC53F2B32B96300D24B36 /* C */,
); );
path = "Home(智慧服务)"; path = "IntelligentService(智慧服务)";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
04FAC53D2B32B91700D24B36 /* Mine(我的) */ = { 04FAC53D2B32B91700D24B36 /* Mine(我的) */ = {
...@@ -248,7 +263,6 @@ ...@@ -248,7 +263,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04FAC5442B32BA7000D24B36 /* YHMyViewController.swift */, 04FAC5442B32BA7000D24B36 /* YHMyViewController.swift */,
04FAC54E2B3AA6EC00D24B36 /* YHLoginViewController.swift */,
); );
path = C; path = C;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -256,7 +270,7 @@ ...@@ -256,7 +270,7 @@
04FAC53F2B32B96300D24B36 /* C */ = { 04FAC53F2B32B96300D24B36 /* C */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04FAC5422B32BA5F00D24B36 /* YHHomeViewController.swift */, 04FAC5422B32BA5F00D24B36 /* YHIntelligentServiceViewController.swift */,
); );
path = C; path = C;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -286,6 +300,42 @@ ...@@ -286,6 +300,42 @@
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
A5009DD32B3D717300168BB1 /* Login(登录) */ = {
isa = PBXGroup;
children = (
A5009DD62B3D71A300168BB1 /* C */,
A5009DD52B3D719B00168BB1 /* V */,
A5009DD42B3D719000168BB1 /* M */,
);
path = "Login(登录)";
sourceTree = "<group>";
};
A5009DD42B3D719000168BB1 /* M */ = {
isa = PBXGroup;
children = (
);
path = M;
sourceTree = "<group>";
};
A5009DD52B3D719B00168BB1 /* V */ = {
isa = PBXGroup;
children = (
04F526F32B3ECCBC00FC6CE6 /* YHLoginPrivacyView.swift */,
04F526F22B3ECCBC00FC6CE6 /* YHLoginStyleButton.swift */,
04F526CF2B3ECAE700FC6CE6 /* YHValidateCodeInputView.swift */,
04F526C22B3BB94200FC6CE6 /* 验证码输入框 */,
);
path = V;
sourceTree = "<group>";
};
A5009DD62B3D71A300168BB1 /* C */ = {
isa = PBXGroup;
children = (
04FAC54E2B3AA6EC00D24B36 /* YHLoginViewController.swift */,
);
path = C;
sourceTree = "<group>";
};
A52DEEA62B330A1F006618D6 /* Classes */ = { A52DEEA62B330A1F006618D6 /* Classes */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -300,9 +350,9 @@ ...@@ -300,9 +350,9 @@
A52DEEA72B330A1F006618D6 /* Tools */ = { A52DEEA72B330A1F006618D6 /* Tools */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04F526D72B3ECC6F00FC6CE6 /* Extention */,
04FAC54B2B3A9DB200D24B36 /* Config */, 04FAC54B2B3A9DB200D24B36 /* Config */,
A52DEEA82B330A1F006618D6 /* NetWork */, A52DEEA82B330A1F006618D6 /* NetWork */,
A52DEEAF2B330A1F006618D6 /* Extention */,
A52DEEC22B330A1F006618D6 /* Helper */, A52DEEC22B330A1F006618D6 /* Helper */,
); );
path = Tools; path = Tools;
...@@ -315,40 +365,20 @@ ...@@ -315,40 +365,20 @@
A52DEEAA2B330A1F006618D6 /* YHAllApiName.swift */, A52DEEAA2B330A1F006618D6 /* YHAllApiName.swift */,
A52DEEAB2B330A1F006618D6 /* YHNetworkStatusManager.swift */, A52DEEAB2B330A1F006618D6 /* YHNetworkStatusManager.swift */,
A52DEEAC2B330A1F006618D6 /* YHBaseUrlManager.swift */, A52DEEAC2B330A1F006618D6 /* YHBaseUrlManager.swift */,
A5009DD72B3D72FD00168BB1 /* NetBaseModel.swift */,
); );
path = NetWork; path = NetWork;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
A52DEEAF2B330A1F006618D6 /* Extention */ = {
isa = PBXGroup;
children = (
A52DEEB02B330A1F006618D6 /* Date-Extension.swift */,
A52DEEB12B330A1F006618D6 /* NSAttributedString+Extension.swift */,
A52DEEB22B330A1F006618D6 /* UIButton-Extension.swift */,
A52DEEB32B330A1F006618D6 /* AppDelegate + UIAppearance.swift */,
A52DEEB42B330A1F006618D6 /* BsCacheTool.swift */,
A52DEEB52B330A1F006618D6 /* UIApplication-Extension.swift */,
A52DEEB62B330A1F006618D6 /* UIDevice-Extension.swift */,
A52DEEB72B330A1F006618D6 /* UIColor-Extension.swift */,
A52DEEB82B330A1F006618D6 /* UIFont-Extension.swift */,
A52DEEBA2B330A1F006618D6 /* AlignedCollectionViewFlowLayout.swift */,
A52DEEBB2B330A1F006618D6 /* UIViewController+Navigation.swift */,
A52DEEBC2B330A1F006618D6 /* UIView-Extension.swift */,
A52DEEBD2B330A1F006618D6 /* UIImage-Extension.swift */,
A52DEEBE2B330A1F006618D6 /* BsGestureTableView.swift */,
A52DEEBF2B330A1F006618D6 /* BsOverlayView.swift */,
A52DEEC02B330A1F006618D6 /* String-Extension.swift */,
A52DEEC12B330A1F006618D6 /* UILable-Extension.swift */,
);
path = Extention;
sourceTree = "<group>";
};
A52DEEC22B330A1F006618D6 /* Helper */ = { A52DEEC22B330A1F006618D6 /* Helper */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A52DEED12B330A1F006618D6 /* YhConstant.swift */,
A52DEEBE2B330A1F006618D6 /* YhGestureTableView.swift */,
A52DEEBA2B330A1F006618D6 /* AlignedCollectionViewFlowLayout.swift */,
A52DEEBF2B330A1F006618D6 /* YhOverlayView.swift */,
A52DEEB42B330A1F006618D6 /* YhCacheTool.swift */,
A52DF2412B33177F006618D6 /* BsHUD */, A52DF2412B33177F006618D6 /* BsHUD */,
A52DEED12B330A1F006618D6 /* BsConstant.swift */,
A52DEED32B330A1F006618D6 /* BSJsonUtil.swift */,
); );
path = Helper; path = Helper;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -366,7 +396,6 @@ ...@@ -366,7 +396,6 @@
A52DF0AF2B330A20006618D6 /* M */ = { A52DF0AF2B330A20006618D6 /* M */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A52DF0B02B330A20006618D6 /* BsBaseModel.swift */,
); );
path = M; path = M;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -543,8 +572,10 @@ ...@@ -543,8 +572,10 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
BuildIndependentTargetsInParallel = 1; BuildIndependentTargetsInParallel = 1;
CLASSPREFIX = YH;
LastSwiftUpdateCheck = 1510; LastSwiftUpdateCheck = 1510;
LastUpgradeCheck = 1510; LastUpgradeCheck = 1510;
ORGANIZATIONNAME = www.davidhuang.com;
TargetAttributes = { TargetAttributes = {
A5573ECD2B317BFF00D98EC0 = { A5573ECD2B317BFF00D98EC0 = {
CreatedOnToolsVersion = 15.1; CreatedOnToolsVersion = 15.1;
...@@ -560,7 +591,7 @@ ...@@ -560,7 +591,7 @@
}; };
}; };
buildConfigurationList = A5573EC92B317BFF00D98EC0 /* Build configuration list for PBXProject "galaxy" */; buildConfigurationList = A5573EC92B317BFF00D98EC0 /* Build configuration list for PBXProject "galaxy" */;
compatibilityVersion = "Xcode 14.0"; compatibilityVersion = "Xcode 15.0";
developmentRegion = en; developmentRegion = en;
hasScannedForEncodings = 0; hasScannedForEncodings = 0;
knownRegions = ( knownRegions = (
...@@ -653,57 +684,56 @@ ...@@ -653,57 +684,56 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A52DF24C2B33177F006618D6 /* BsHUD.swift in Sources */, A52DF24C2B33177F006618D6 /* BsHUD.swift in Sources */,
A52DF0DF2B330A20006618D6 /* BSJsonUtil.swift in Sources */,
A52DF2502B33177F006618D6 /* BsHUDRotatingImageView.swift in Sources */, A52DF2502B33177F006618D6 /* BsHUDRotatingImageView.swift in Sources */,
A52DF0BB2B330A20006618D6 /* YHAllApiName.swift in Sources */, A52DF0BB2B330A20006618D6 /* YHAllApiName.swift in Sources */,
04F526E52B3ECC6F00FC6CE6 /* UIApplication+Extension.swift in Sources */,
04F526EF2B3ECC6F00FC6CE6 /* AppDelegate+Extension.swift in Sources */,
A52DF2372B330A21006618D6 /* YHTabBarViewController.swift in Sources */, A52DF2372B330A21006618D6 /* YHTabBarViewController.swift in Sources */,
A52DF0C22B330A20006618D6 /* AppDelegate + UIAppearance.swift in Sources */,
A52DF2352B330A21006618D6 /* YHNavigationController.swift in Sources */, A52DF2352B330A21006618D6 /* YHNavigationController.swift in Sources */,
04FAC5512B3ABA5000D24B36 /* YHLoginStyleButton.swift in Sources */, 04F526E72B3ECC6F00FC6CE6 /* NSAttributedString+Extension.swift in Sources */,
A52DF0C52B330A20006618D6 /* UIDevice-Extension.swift in Sources */,
A5573ED22B317BFF00D98EC0 /* AppDelegate.swift in Sources */, A5573ED22B317BFF00D98EC0 /* AppDelegate.swift in Sources */,
04FAC54A2B32CF1000D24B36 /* YHNetRequest.swift in Sources */, 04FAC54A2B32CF1000D24B36 /* YHNetRequest.swift in Sources */,
04FAC5452B32BA7000D24B36 /* YHMyViewController.swift in Sources */, 04FAC5452B32BA7000D24B36 /* YHMyViewController.swift in Sources */,
A52DF0CE2B330A20006618D6 /* BsOverlayView.swift in Sources */, 04F526D02B3ECAE700FC6CE6 /* YHValidateCodeInputView.swift in Sources */,
04F526F42B3ECCBC00FC6CE6 /* YHLoginStyleButton.swift in Sources */,
A52DF0CE2B330A20006618D6 /* YhOverlayView.swift in Sources */,
04F526EC2B3ECC6F00FC6CE6 /* UIViewController+Extension.swift in Sources */,
04F526E92B3ECC6F00FC6CE6 /* UIColor+Extension.swift in Sources */,
A52DF0C92B330A20006618D6 /* AlignedCollectionViewFlowLayout.swift in Sources */, A52DF0C92B330A20006618D6 /* AlignedCollectionViewFlowLayout.swift in Sources */,
A52DF0BC2B330A20006618D6 /* YHNetworkStatusManager.swift in Sources */, A52DF0BC2B330A20006618D6 /* YHNetworkStatusManager.swift in Sources */,
04F526C72B3BB94200FC6CE6 /* YHSMSCodeInputView.m in Sources */, 04F526C72B3BB94200FC6CE6 /* YHSMSCodeInputView.m in Sources */,
A52DF0CA2B330A20006618D6 /* UIViewController+Navigation.swift in Sources */, 04F526EB2B3ECC6F00FC6CE6 /* UIImage+Extension.swift in Sources */,
04FAC5532B3AC6F200D24B36 /* YHLoginPrivacyView.swift in Sources */,
04FAC54F2B3AA6EC00D24B36 /* YHLoginViewController.swift in Sources */, 04FAC54F2B3AA6EC00D24B36 /* YHLoginViewController.swift in Sources */,
A52DF0C12B330A20006618D6 /* UIButton-Extension.swift in Sources */,
A52DF0CF2B330A20006618D6 /* String-Extension.swift in Sources */,
A52DF2402B3316A0006618D6 /* YHBouncesContentView.swift in Sources */, A52DF2402B3316A0006618D6 /* YHBouncesContentView.swift in Sources */,
A52DF2362B330A21006618D6 /* YHBaseViewController.swift in Sources */, A52DF2362B330A21006618D6 /* YHBaseViewController.swift in Sources */,
A52DF0BF2B330A20006618D6 /* Date-Extension.swift in Sources */, A52DF0CD2B330A20006618D6 /* YhGestureTableView.swift in Sources */,
04F526C12B3A657000FC6CE6 /* YHValidateCodeInputView.swift in Sources */, A52DF0DD2B330A20006618D6 /* YhConstant.swift in Sources */,
A52DF0CD2B330A20006618D6 /* BsGestureTableView.swift in Sources */,
A52DF0DD2B330A20006618D6 /* BsConstant.swift in Sources */,
A52DF2512B33177F006618D6 /* BsHUDErrorView.swift in Sources */, A52DF2512B33177F006618D6 /* BsHUDErrorView.swift in Sources */,
A52DF0CB2B330A20006618D6 /* UIView-Extension.swift in Sources */, 04F526F12B3ECC6F00FC6CE6 /* Array+Extension.swift in Sources */,
A52DF24D2B33177F006618D6 /* BsHUDWariningView.swift in Sources */, A52DF24D2B33177F006618D6 /* BsHUDWariningView.swift in Sources */,
A52DF0C32B330A20006618D6 /* BsCacheTool.swift in Sources */, A52DF0C32B330A20006618D6 /* YhCacheTool.swift in Sources */,
A52DF24A2B33177F006618D6 /* BsHUDContainerView.swift in Sources */, A52DF24A2B33177F006618D6 /* BsHUDContainerView.swift in Sources */,
04F526CC2B3E962400FC6CE6 /* YNSmsCodeView.swift in Sources */, 04F526CC2B3E962400FC6CE6 /* YNSmsCodeView.swift in Sources */,
04F526ED2B3ECC6F00FC6CE6 /* String+Extension.swift in Sources */,
A52DF0BD2B330A20006618D6 /* YHBaseUrlManager.swift in Sources */, A52DF0BD2B330A20006618D6 /* YHBaseUrlManager.swift in Sources */,
A52DF2342B330A21006618D6 /* BsBaseModel.swift in Sources */, A5009DD82B3D72FD00168BB1 /* NetBaseModel.swift in Sources */,
04FAC54D2B3A9E3D00D24B36 /* YHConfig.swift in Sources */, 04FAC54D2B3A9E3D00D24B36 /* YHConfig.swift in Sources */,
04F526E62B3ECC6F00FC6CE6 /* UIDevice+Extension.swift in Sources */,
04F526C82B3BB94200FC6CE6 /* YHSMSCodeView.m in Sources */, 04F526C82B3BB94200FC6CE6 /* YHSMSCodeView.m in Sources */,
04F526CE2B3EA80300FC6CE6 /* YHSmsCodeInputView.swift in Sources */, 04F526CE2B3EA80300FC6CE6 /* YHSmsCodeInputView.swift in Sources */,
04F526EE2B3ECC6F00FC6CE6 /* Dictionary+Extension.swift in Sources */,
04F526AF2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift in Sources */, 04F526AF2B32D4B600FC6CE6 /* YHPersonalCenterCell.swift in Sources */,
A52DF23B2B330A21006618D6 /* YHNoDataTipView.swift in Sources */, A52DF23B2B330A21006618D6 /* YHNoDataTipView.swift in Sources */,
04F526F52B3ECCBC00FC6CE6 /* YHLoginPrivacyView.swift in Sources */,
A52DF23F2B3316A0006618D6 /* YHBasicContentView.swift in Sources */, A52DF23F2B3316A0006618D6 /* YHBasicContentView.swift in Sources */,
A52DF0C42B330A20006618D6 /* UIApplication-Extension.swift in Sources */, 04F526F02B3ECC6F00FC6CE6 /* UILable+Extension.swift in Sources */,
A52DF0C72B330A20006618D6 /* UIFont-Extension.swift in Sources */,
A52DF24E2B33177F006618D6 /* BsHUDSuccessView.swift in Sources */, A52DF24E2B33177F006618D6 /* BsHUDSuccessView.swift in Sources */,
A52DF0CC2B330A20006618D6 /* UIImage-Extension.swift in Sources */,
A52DF24F2B33177F006618D6 /* BsHUDProgressView.swift in Sources */, A52DF24F2B33177F006618D6 /* BsHUDProgressView.swift in Sources */,
A52DF24B2B33177F006618D6 /* BsHUDSquareBaseView.swift in Sources */, A52DF24B2B33177F006618D6 /* BsHUDSquareBaseView.swift in Sources */,
A52DF0C02B330A20006618D6 /* NSAttributedString+Extension.swift in Sources */,
A52DF0C62B330A20006618D6 /* UIColor-Extension.swift in Sources */,
A52DF0D02B330A20006618D6 /* UILable-Extension.swift in Sources */,
04FAC5432B32BA5F00D24B36 /* YHHomeViewController.swift in Sources */,
04F526CA2B3E92E200FC6CE6 /* Algorithm.swift in Sources */, 04F526CA2B3E92E200FC6CE6 /* Algorithm.swift in Sources */,
04F526E82B3ECC6F00FC6CE6 /* UIFont+Extension.swift in Sources */,
04FAC5432B32BA5F00D24B36 /* YHIntelligentServiceViewController.swift in Sources */,
04F526EA2B3ECC6F00FC6CE6 /* UIButton+Extension.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -792,7 +822,7 @@ ...@@ -792,7 +822,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.2; IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
...@@ -849,7 +879,7 @@ ...@@ -849,7 +879,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.2; IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
...@@ -871,12 +901,10 @@ ...@@ -871,12 +901,10 @@
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = "$(inherited)";
"$(inherited)",
"$(PROJECT_DIR)/galaxy/Classes/Modules/Login/V/手机号码一键登录",
);
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = galaxy/Info.plist; INFOPLIST_FILE = galaxy/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "超级App";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = "Launch Screen.storyboard"; INFOPLIST_KEY_UILaunchStoryboardName = "Launch Screen.storyboard";
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
...@@ -885,7 +913,7 @@ ...@@ -885,7 +913,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.galaxy.cn.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.galaxy.cn.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -908,12 +936,10 @@ ...@@ -908,12 +936,10 @@
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = "$(inherited)";
"$(inherited)",
"$(PROJECT_DIR)/galaxy/Classes/Modules/Login/V/手机号码一键登录",
);
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = galaxy/Info.plist; INFOPLIST_FILE = galaxy/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "超级App";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = "Launch Screen.storyboard"; INFOPLIST_KEY_UILaunchStoryboardName = "Launch Screen.storyboard";
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
...@@ -922,7 +948,7 @@ ...@@ -922,7 +948,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.galaxy.cn.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.galaxy.cn.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import UIKit import UIKit
import ESTabBarController_swift import ESTabBarController_swift
import IQKeyboardManagerSwift import IQKeyboardManagerSwift
import SmartCodable
@main @main
class AppDelegate: UIResponder, UIApplicationDelegate { class AppDelegate: UIResponder, UIApplicationDelegate {
...@@ -49,10 +50,10 @@ extension AppDelegate { ...@@ -49,10 +50,10 @@ extension AppDelegate {
//2、一键登录初始化 //2、一键登录初始化
// TXCommonHandler.sharedInstance().setAuthSDKInfo(BsConstant.kAliOnePressPhoneLoginKey) // TXCommonHandler.sharedInstance().setAuthSDKInfo(BsConstant.kAliOnePressPhoneLoginKey)
//3.微信登录初始化 //3.微信登录初始化
// BsWxLoginManager.shared.doWxInit() // BsWxLoginManager.shared.doWxInit()
//4. //4.
IQKeyboardManager.shared.enable = true IQKeyboardManager.shared.enable = true
...@@ -60,7 +61,7 @@ extension AppDelegate { ...@@ -60,7 +61,7 @@ extension AppDelegate {
IQKeyboardManager.shared.shouldResignOnTouchOutside = true // 控制点击背景是否收起键盘 IQKeyboardManager.shared.shouldResignOnTouchOutside = true // 控制点击背景是否收起键盘
//webView 预加载 //webView 预加载
// BsWebViewPreloadManager.share.addPreloadingView() // BsWebViewPreloadManager.share.addPreloadingView()
// //
customAppearance() customAppearance()
...@@ -74,7 +75,7 @@ extension AppDelegate { ...@@ -74,7 +75,7 @@ extension AppDelegate {
//1.设置主窗口 //1.设置主窗口
private func setupRootVC() { private func setupRootVC() {
let tabBarController = YHTabBarViewController() let tabBarController = YHTabBarViewController()
let v1 = YHNavigationController(rootViewController: YHHomeViewController()) let v1 = YHNavigationController(rootViewController: YHIntelligentServiceViewController())
let v2 = YHNavigationController(rootViewController:YHMyViewController()) let v2 = YHNavigationController(rootViewController:YHMyViewController())
v1.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "智慧服务", image: UIImage(named: "home"), selectedImage: UIImage(named: "home_1")) v1.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "智慧服务", image: UIImage(named: "home"), selectedImage: UIImage(named: "home_1"))
...@@ -83,10 +84,18 @@ extension AppDelegate { ...@@ -83,10 +84,18 @@ extension AppDelegate {
tabBarController.viewControllers = [v1, v2] tabBarController.viewControllers = [v1, v2]
tabBarController.tabBar.backgroundColor = .white tabBarController.tabBar.backgroundColor = .white
window = UIWindow(frame: UIScreen.main.bounds) window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = tabBarController window?.rootViewController = tabBarController
window?.makeKeyAndVisible() window?.makeKeyAndVisible()
window?.backgroundColor = .white window?.backgroundColor = .white
//处理数据解析
#if DEBUG
SmartConfig.debugMode = .verbose
#else
SmartConfig.debugMode = .none
#endif
} }
} }
......
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "back_entity_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "back_entity_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "icon/24/back@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "icon/24/back@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "nav_share_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "nav_share_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
...@@ -26,7 +26,7 @@ class YHBaseViewController: UIViewController { ...@@ -26,7 +26,7 @@ class YHBaseViewController: UIViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
self.bs_setupLeftButton() // self.bs_setupLeftButton()
//0 //0
setupNavigationAttributed() setupNavigationAttributed()
......
...@@ -21,7 +21,7 @@ class YHNavigationController: UINavigationController { ...@@ -21,7 +21,7 @@ class YHNavigationController: UINavigationController {
override func pushViewController(_ viewController: UIViewController, animated: Bool) { override func pushViewController(_ viewController: UIViewController, animated: Bool) {
// 隐藏要push的控制器的tabbar // 隐藏要push的控制器的tabbar
if animated == true { if viewControllers.count > 0 {
viewController.hidesBottomBarWhenPushed = true viewController.hidesBottomBarWhenPushed = true
} }
super.pushViewController(viewController, animated: animated) super.pushViewController(viewController, animated: animated)
......
...@@ -13,7 +13,7 @@ class YHTabBarViewController: ESTabBarController { ...@@ -13,7 +13,7 @@ class YHTabBarViewController: ESTabBarController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
self.tabBar.shadowImage = UIImage() // self.tabBar.shadowImage = UIImage()
self.tabBar.backgroundImage = UIImage() self.tabBar.backgroundImage = UIImage()
// NotificationCenter.default.addObserver(self, selector: #selector(hideTabBar), name: BsConstant.BsNotification.tabBarHideNotification, object: nil) // NotificationCenter.default.addObserver(self, selector: #selector(hideTabBar), name: BsConstant.BsNotification.tabBarHideNotification, object: nil)
......
//
// BaseModel.swift
// DouYuUI
//
// Created by davidhuang on 2022/8/15.
// Copyright © 2022 davidhuang. All rights reserved.
//
import UIKit
import HandyJSON
// MARK: - JSon解析模型的基类
class BsBaseModel: HandyJSON {
var data : Any?
var errorCode : Int = -1
var errorMessage : String = ""
var success : Bool = false
// MARK: - 使用 HandyJSON 进行解析
required init() {}
}
...@@ -11,14 +11,11 @@ import UIKit ...@@ -11,14 +11,11 @@ import UIKit
let APP_NAME = Bundle.main.infoDictionary!["CFBundleName"] as! String let APP_NAME = Bundle.main.infoDictionary!["CFBundleName"] as! String
func YHLOG<T>(message:T,file:String = #file,funcName:String = #function,lineName:Int = #line){ func YHLOG<T>(message:T,file:String = #file,funcName:String = #function,lineName:Int = #line){
//这个DEBUG 是一个debug时候的一个flag需要自己去xcode设置项设置。 //这个DEBUG 是一个debug时候的一个flag需要自己去xcode设置项设置。
#if DEBUG #if DEBUG
let flieName = (file as NSString).lastPathComponent let flieName = (file as NSString).lastPathComponent
print("\(APP_NAME)/\(flieName)/\(funcName)/\(lineName):\(message)") print("\(APP_NAME)/\(flieName)/\(funcName)/\(lineName):\(message)")
#endif
#endif
} }
///屏幕宽度 ///屏幕宽度
......
//
// Array+Extension.swift
// galaxy
//
// Created by davidhuangA on 2023/12/28.
// Copyright © 2023 www.davidhuang.com. All rights reserved.
//
import Foundation
extension Array {
/// 数组转json字符串
func yh_toJSONString() -> String? {
if (!JSONSerialization.isValidJSONObject(self)) {
return nil
}
do {
let data = try JSONSerialization.data(withJSONObject: self, options: [])
let json = String(data: data, encoding: String.Encoding.utf8)
return json
} catch {
return nil
}
}
}
//
// Date-Extension.swift
// DouYuUI
//
// Created by davidhuang on 2022/8/11.
// Copyright © 2022 davidhuang. All rights reserved.
//
import UIKit
extension Date {
static func getCurrentDate() -> String {
let now = Int(Date.timeIntervalSinceReferenceDate)
return "\(now)"
}
init(_ dateString: String, dateFormat: String = "yyyy-MM-dd") {
let df = DateFormatter()
df.dateFormat = dateFormat
let date = df.date(from: dateString)!
self.init(timeInterval: 0, since: date)
}
}
//
// Dictionary+Extension.swift
// galaxy
//
// Created by davidhuangA on 2023/12/28.
// Copyright © 2023 www.davidhuang.com. All rights reserved.
//
import Foundation
extension Dictionary {
/// 字典转Json字符串
func yh_toJSONString() -> String? {
if (!JSONSerialization.isValidJSONObject(self)) {
print("无法解析出JSONString")
return nil
}
do {
let data = try JSONSerialization.data(withJSONObject: self, options: [])
let json = String(data: data, encoding: String.Encoding.utf8)
return json
} catch {
return nil
}
}
}
...@@ -7,6 +7,30 @@ ...@@ -7,6 +7,30 @@
// //
import UIKit import UIKit
extension String {
/// JSONString转换为字典
func toDictionary() -> Dictionary<String, Any>? {
guard let jsonData:Data = data(using: .utf8) else { return nil }
if let dict = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers) {
if let temp = dict as? Dictionary<String, Any> {
return temp
}
}
return nil
}
/// JSONString转换为数组
func toArray() -> Array<Any>? {
guard let jsonData:Data = data(using: .utf8) else { return nil }
if let array = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers) {
if let temp = array as? Array<Any> {
return temp
}
}
return nil
}
}
extension String { extension String {
// MARK: - 拨打电话 // MARK: - 拨打电话
......
...@@ -10,7 +10,7 @@ import UIKit ...@@ -10,7 +10,7 @@ import UIKit
extension UIApplication { extension UIApplication {
func bsKeyWindow() -> UIWindow? { func yhKeyWindow() -> UIWindow? {
var originalKeyWindow: UIWindow? var originalKeyWindow: UIWindow?
#if swift(>=5.1) #if swift(>=5.1)
if #available(iOS 13, *) { if #available(iOS 13, *) {
......
...@@ -10,11 +10,11 @@ import UIKit ...@@ -10,11 +10,11 @@ import UIKit
extension UIFont { extension UIFont {
// MARK: - 苹果字体 // MARK: - 苹果字体
static func PFSCR(ofSize size : CGFloat = 15) -> UIFont { class func PFSCR(ofSize size : CGFloat = 15) -> UIFont {
return UIFont(name: "PingFangSC-Regular", size: size)! return UIFont(name: "PingFangSC-Regular", size: size)!
} }
static func PFSCM(ofSize size : CGFloat = 15) -> UIFont { class func PFSCM(ofSize size : CGFloat = 15) -> UIFont {
return UIFont(name: "PingFangSC-Medium", size: size)! return UIFont(name: "PingFangSC-Medium", size: size)!
} }
......
//
// UIView-Extension.swift
// BaiSiSMApp
//
// Created by davidhuang on 2022/10/16.
// Copyright © 2022 www.davidhuang.com. All rights reserved.
//
import UIKit
extension UIView {
// MARK: - 旋转
func rotate( begin : Bool = true) {
if begin == true {
let rotation : CABasicAnimation = CABasicAnimation(keyPath:"transform.rotation.z")
rotation.toValue = NSNumber(value: Double.pi * 2)
rotation.duration = 3
rotation.isCumulative = true
rotation.repeatCount = Float.greatestFiniteMagnitude
rotation.fillMode = CAMediaTimingFillMode(rawValue: "forwards")
layer.add(rotation, forKey:"rotationAnimation")
} else {
layer.removeAllAnimations()
}
}
// MARK: - 获取当前UIview 所在的 UIViewController
func getFirstViewController()->UIViewController?{
for view in sequence(first: self.superview, next: {$0?.superview}){
if let responder = view?.next{
if responder.isKind(of: UIViewController.self){
return responder as? UIViewController
}
}
}
return nil
}
// MARK: - UIView 晃动效果
public func shake2(direction:ShakeDirection = .horizontal,times: Int = 5,
interval:TimeInterval = 0.1, delta : CGFloat = 5,completion:(() -> Void)?=nil){
if times == 0 {
self.layer.setAffineTransform(CGAffineTransform.identity)
} else {
UIView.animate(withDuration: interval) {
switch direction {
case .horizontal:
self.layer.setAffineTransform(CGAffineTransform(translationX: delta, y: 0))
break
case .vertical:
self.layer.setAffineTransform(CGAffineTransform(translationX: 0, y: delta))
break
}
} completion: { (finished) in
self.shake2(direction: direction, times: times - 1 , interval: interval, delta: delta * -1, completion: completion)
}
}
}
}
// MARK: - 阴影设置
extension UIView {
@objc public enum ShadowType: Int {
case all = 0 ///四周
case top = 1 ///上方
case left = 2///左边
case right = 3///右边
case bottom = 4///下方
}
///默认设置:黑色阴影, 阴影所占视图的比例
// func shadow(_ type: ShadowType, percent: Float) {
// shadow(type: type, color: .black, opactiy: 0.4, //shadowSize: 4)
//}
///默认设置:黑色阴影
@objc func shadow(_ type: ShadowType) {
shadow(type: type, color: .black, opactiy: 0.1, shadowSize: 4)
}
///阴影设置
@objc public func shadow(type: ShadowType, color: UIColor, opactiy: Float, shadowSize: CGFloat) -> Void {
layer.masksToBounds = false;//必须要等于NO否则会把阴影切割隐藏掉
layer.shadowColor = color.cgColor;// 阴影颜色
layer.shadowOpacity = opactiy;// 阴影透明度,默认0
layer.shadowOffset = .zero;//shadowOffset阴影偏移,默认(0, -3),这个跟shadowRadius配合使用
layer.shadowRadius = 3 //阴影半径,默认3
var shadowRect: CGRect?
switch type {
case .all:
shadowRect = CGRect.init(x: -shadowSize, y: -shadowSize, width: bounds.size.width + 2 * shadowSize, height: bounds.size.height + 2 * shadowSize)
case .top:
shadowRect = CGRect.init(x: -shadowSize, y: -shadowSize, width: bounds.size.width + 2 * shadowSize, height: 2 * shadowSize)
case .bottom:
shadowRect = CGRect.init(x: -shadowSize, y: bounds.size.height - shadowSize, width: bounds.size.width + 2 * shadowSize, height: 2 * shadowSize)
case .left:
shadowRect = CGRect.init(x: -shadowSize, y: -shadowSize, width: 2 * shadowSize, height: bounds.size.height + 2 * shadowSize)
case .right:
shadowRect = CGRect.init(x: bounds.size.width - shadowSize, y: -shadowSize, width: 2 * shadowSize, height: bounds.size.height + 2 * shadowSize)
}
layer.shadowPath = UIBezierPath.init(rect: shadowRect!).cgPath
}
///阴影 0.5
@objc public func bs_shadow(color: UIColor = UIColor(red: 0.87, green: 0.87, blue: 0.87, alpha: 0.7), offset: CGSize = CGSize(width: 0, height: 1.5), opacity: Float = 1, radius: CGFloat = 3.5) {
self.layer.shadowColor = color.cgColor
self.layer.shadowOffset = offset
self.layer.shadowOpacity = opacity
self.layer.shadowRadius = radius
}
///内阴影
@objc public func bs_innerShadow() {
self.layer.shadowColor = UIColor(red: 0.87, green: 0.87, blue: 0.87, alpha: 0.5).cgColor
self.layer.shadowOffset = CGSize(width: 0, height: 0)
self.layer.shadowOpacity = 1
self.layer.shadowRadius = 3
}
}
// MARK: - 圆角设置
extension UIView {
public func setCorners(corners: UIRectCorner, radius: CGFloat) -> Void {
self.setCorners(corners: corners, radius: radius, rect: self.bounds)
}
public func setCorners(corners: UIRectCorner, radius: CGFloat, rect: CGRect) -> Void {
let path = UIBezierPath.init(roundedRect: rect, byRoundingCorners: corners , cornerRadii: CGSize.init(width: radius, height: radius))
let layer = CAShapeLayer.init()
layer.frame = self.bounds
layer.path = path.cgPath
self.layer.mask = layer
}
///渐变颜色(frame需要有值)
@objc public func bs_gradient(_ type: ShadowType = .left, colors: [UIColor], locations: [NSNumber]? = nil) {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.bounds
//设置颜色
var cgColors: [CGColor] = []
for color in colors {
cgColors.append(color.cgColor)
}
gradientLayer.colors = cgColors
//设置占比
if locations == nil {
let num = 1.0/(Double(colors.count)-1.0)
var locations: [NSNumber] = []
for i in 0..<colors.count {
locations.append(NSNumber(value: num*Double(i)))
}
gradientLayer.locations = locations
} else {
gradientLayer.locations = locations
}
//设置位置
switch type {
case .all:
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 0.5, y: 0.5)
case .top:
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0)
gradientLayer.endPoint = CGPoint(x: 0.5, y: 1)
break
case .left:
gradientLayer.startPoint = CGPoint(x: 0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 1, y: 0.5)
break
case .right:
gradientLayer.startPoint = CGPoint(x: 1, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 0, y: 0.5)
break
case .bottom:
gradientLayer.startPoint = CGPoint(x: 0.5, y: 1)
gradientLayer.endPoint = CGPoint(x: 0.5, y: 0)
break
}
self.layer.addSublayer(gradientLayer)
}
/// 绘制虚线
/// - Parameters:
/// - lineLength: 长度
/// - lineSpacing: 间隔长度
/// - lineColor: 颜色
public func bs_drawDashLine(lineLength: Int, lineSpacing: Int, lineColor: UIColor) {
let shapeLayer = CAShapeLayer()
shapeLayer.bounds = self.bounds
shapeLayer.anchorPoint = CGPoint(x: 0, y: 0)
shapeLayer.strokeColor = lineColor.cgColor
shapeLayer.lineWidth = 1 //描边路径时使用的线宽。默认为1。
shapeLayer.lineJoin = CAShapeLayerLineJoin.round
shapeLayer.lineDashPattern = [NSNumber(value: lineLength),NSNumber(value: lineSpacing)]
let path = CGMutablePath()
path.move(to: CGPoint(x: 0, y: 0))
path.addLine(to: CGPoint(x: self.bounds.size.width, y: 0))
shapeLayer.path = path
self.layer.addSublayer(shapeLayer)
}
}
// MARK: - Frame
extension UIView {
//let cOrigin: CGPoint //!< 位置
//let cSize: CGSize //!< 大小
open var height: CGFloat {
get {
return self.frame.height
}
set {
var frame = self.frame
frame.size.height = newValue
self.frame = frame
}
} //!< 高度
open var width: CGFloat {
get {
return self.frame.width
}
set {
var frame = self.frame
frame.size.width = newValue
self.frame = frame
}
} //!< 宽度
open var top: CGFloat {
get {
return self.frame.minY
}
set {
var frame = self.frame
frame.origin.y = newValue
self.frame = frame
}
} //!< 上
open var left: CGFloat {
get {
return self.frame.minX
}
set {
var frame = self.frame
frame.origin.x = newValue
self.frame = frame
}
} //!< 左
open var bottom: CGFloat {
get {
return self.frame.maxY
}
set {
var frame = self.frame
frame.origin.y = newValue - self.frame.height
self.frame = frame
}
} //!< 下
open var right: CGFloat {
get {
return self.frame.maxX
}
set {
var frame = self.frame;
frame.origin.x = newValue - self.frame.width
self.frame = frame
}
} //!< 右
}
...@@ -124,6 +124,8 @@ open class AlignedCollectionViewFlowLayout: UICollectionViewFlowLayout { ...@@ -124,6 +124,8 @@ open class AlignedCollectionViewFlowLayout: UICollectionViewFlowLayout {
default: default:
break break
} }
@unknown default:
fatalError()
} }
// It's safe to force-unwrap as `.leading` and `.trailing` are covered // It's safe to force-unwrap as `.leading` and `.trailing` are covered
......
//
// BSjsonUtil.swift
// BaiSiSMApp
//
// Created by davidhuang on 2022/11/18.
// Copyright © 2022 www.davidhuang.com. All rights reserved.
//
import UIKit
import HandyJSON
class BSJsonUtil: NSObject {
/**
* Json转对象
*/
static func jsonToModel(_ jsonStr:String,_ modelType:HandyJSON.Type) ->BsBaseModel {
if jsonStr == "" || jsonStr.count == 0 {
#if DEBUG
print("jsonoModel:字符串为空")
#endif
return BsBaseModel()
}
return modelType.deserialize(from: jsonStr) as! BsBaseModel
}
/**
* Json转数组对象
*/
static func jsonArrayToModel(_ jsonArrayStr:String, _ modelType:HandyJSON.Type) ->[BsBaseModel] {
if jsonArrayStr == "" || jsonArrayStr.count == 0 {
#if DEBUG
print("jsonToModelArray:字符串为空")
#endif
return []
}
var modelArray:[BsBaseModel] = []
let data = jsonArrayStr.data(using: String.Encoding.utf8)
let peoplesArray = try! JSONSerialization.jsonObject(with:data!, options: JSONSerialization.ReadingOptions()) as? [AnyObject]
for people in peoplesArray! {
modelArray.append(dictionaryToModel(people as! [String : Any], modelType))
}
return modelArray
}
/**
* 字典转对象
*/
static func dictionaryToModel(_ dictionStr:[String:Any],_ modelType:HandyJSON.Type) -> BsBaseModel {
if dictionStr.count == 0 {
#if DEBUG
print("dictionaryToModel:字符串为空")
#endif
return BsBaseModel()
}
return modelType.deserialize(from: dictionStr) as! BsBaseModel
}
/**
* 对象转JSON
*/
static func modelToJson(_ model:BsBaseModel?) -> String {
if model == nil {
#if DEBUG
print("modelToJson:model为空")
#endif
return ""
}
return (model?.toJSONString())!
}
/**
* 对象转字典
*/
static func modelToDictionary(_ model:BsBaseModel?) -> [String:Any] {
if model == nil {
#if DEBUG
print("modelToJson:model为空")
#endif
return [:]
}
return (model?.toJSON())!
}
//数组转json
static func arrayToJson(_ array:NSArray) -> String {
if (!JSONSerialization.isValidJSONObject(array)) {
print("无法解析出JSONString")
return ""
}
let data : NSData! = try? JSONSerialization.data(withJSONObject: array, options: []) as NSData
let JSONString = NSString(data:data as Data,encoding: String.Encoding.utf8.rawValue)
return JSONString! as String
}
/**
* 字典转JSON
*/
static func dictionaryToJson(_ dictionary:NSDictionary) -> String {
if (!JSONSerialization.isValidJSONObject(dictionary)) {
print("无法解析出JSONString")
return ""
}
let data : NSData! = try? JSONSerialization.data(withJSONObject: dictionary, options: []) as NSData
let JSONString = NSString(data:data as Data,encoding: String.Encoding.utf8.rawValue)
return JSONString! as String
}
}
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import Foundation import Foundation
open class BsCacheTool: NSObject { open class YhCacheTool {
/// 计算缓存大小 /// 计算缓存大小
public static var cacheSize: String{ public static var cacheSize: String{
......
...@@ -9,117 +9,7 @@ ...@@ -9,117 +9,7 @@
import UIKit import UIKit
// MARK: - 工程中的 常量定义 // MARK: - 工程中的 常量定义
class BsConstant { class YhConstant {
// MARK: - 个人信息基本类型
enum UserBaseInfoType : Int {
case unknow //未知
case sex//性别
case birthday//生日
case height//身高
case weight//体重
case education //学历
case profession //职务
case work_domain//从事行业
case income//收入
func title() -> String {
switch self {
case .sex:
return "性别"
case .birthday:
return "生日"
case .height:
return "身高"
case .weight:
return "体重"
case .education:
return "学历"
case .profession:
return "职务"
case .work_domain:
return "从事行业"
case .income:
return "收入"
default:
return "--"
}
}
func titleForSelectView() -> String {
switch self {
case .sex:
return "性别"
case .birthday:
return "生日"
case .height:
return "身高(单位:cm)"
case .weight:
return "体重(单位:kg)"
case .education:
return "学历"
case .profession:
return "职务"
case .work_domain:
return "从事行业"
case .income:
return "收入(单位:k)"
default:
return "--"
}
}
/*
var id : String = ""//用户ID
var user_type : String = ""//用户类型 1:普通用户2.明星用户3.管理员
var sex : String = ""//性别 0其他, 1:男, 2女
var real_name : String = "" //真实姓名
var nick_name : String = "" //昵称
var avatar : String = ""//头像
var birthday : String = ""//生日
var status : String = ""//用户状态1:正常,0:已注销
var height : String = ""//身高
var weight : String = ""//体重
var user_name : String = ""//用户名
var phone : String = ""//手机号码
var marital_status : String = ""//婚姻情况
var profession : String = ""//职业ID
var profession_name : String = ""//职业名称
var education : String = ""//文化程度ID
var education_name : String = ""//文化程度名称
var work_domain : String = ""//行业领域ID
var work_domain_name : String = ""//行业领域名称
*/
func key() -> String {
switch self {
case .sex:
return "sex"
case .birthday:
return "birthday"
case .height:
return "height"
case .weight:
return "weight"
case .education:
return "education"
case .profession:
return "profession"
case .work_domain:
return "work_domain"
case .income:
return "monthly_income"
default:
return ""
}
}
}
// MARK: - URL 相关 // MARK: - URL 相关
struct URL { struct URL {
...@@ -151,29 +41,12 @@ class BsConstant { ...@@ -151,29 +41,12 @@ class BsConstant {
static let wx_universal_link = universal_link + "wx-sign-in/" static let wx_universal_link = universal_link + "wx-sign-in/"
//#if DEBUG
// // MARK: - 医学中心
// static let medical_center_url = "http://10.168.3.41:10086/h5/#/pages/medicineCenter/index"
//#else
// MARK: - 医学中心 // MARK: - 医学中心
static let medical_center_url = YHBaseUrlManager.shared.h5URL() + "landing/index.html#/pages/medicineCenter/index" static let medical_center_url = YHBaseUrlManager.shared.h5URL() + "landing/index.html#/pages/medicineCenter/index"
//#endif
// MARK: - 助眠专辑详情
//static let music_detail_url = BsBaseUrlManager.shared.h5URL() + "landing/index.html#/subpages/platform/pages/musicdetail/index?immerse=1"
// MARK: - 文章列表
//static let article_list_url = BsBaseUrlManager.shared.h5URL() + "landing/index.html#/subpages/platform/pages/articlelist/index?immerse=1"
// MARK: - 文章详情 // MARK: - 文章详情
static let article_detail_url = YHBaseUrlManager.shared.h5URL() + "landing/index.html#/subpages/platform/pages/articledetail/index?immerse=1" static let article_detail_url = YHBaseUrlManager.shared.h5URL() + "landing/index.html#/subpages/platform/pages/articledetail/index?immerse=1"
// MARK: - 科普视频列表
//static let video_list_url = BsBaseUrlManager.shared.h5URL() + "landing/index.html#/subpages/platform/pages/videolist/index?immerse=1"
} }
...@@ -195,7 +68,7 @@ class BsConstant { ...@@ -195,7 +68,7 @@ class BsConstant {
} }
extension BsConstant { extension YhConstant {
// MARK: - 友盟相关 // MARK: - 友盟相关
struct Wechat { struct Wechat {
static let appKey = "wx57b2a7469d15ff8f" static let appKey = "wx57b2a7469d15ff8f"
...@@ -215,8 +88,6 @@ extension BsConstant { ...@@ -215,8 +88,6 @@ extension BsConstant {
class BsNotification { class BsNotification {
public static let didCancelTaskNotification = Notification.Name(rawValue: "org.alamofire.notification.name.request.didCancelTask") public static let didCancelTaskNotification = Notification.Name(rawValue: "org.alamofire.notification.name.request.didCancelTask")
//用户详细信息更改成功 //用户详细信息更改成功
public static let didUpdateUserDetailInfoSuccessNotifiction = Notification.Name(rawValue: "com.usleep.health.updateUserDetailInfo.success") public static let didUpdateUserDetailInfoSuccessNotifiction = Notification.Name(rawValue: "com.usleep.health.updateUserDetailInfo.success")
......
...@@ -8,12 +8,12 @@ ...@@ -8,12 +8,12 @@
import UIKit import UIKit
open class BsGestureTableView: UITableView { open class YhGestureTableView: UITableView {
} }
// MARK: - UIGestureRecognizerDelegate // MARK: - UIGestureRecognizerDelegate
extension BsGestureTableView: UIGestureRecognizerDelegate { extension YhGestureTableView: UIGestureRecognizerDelegate {
public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true return true
...@@ -27,13 +27,13 @@ extension BsGestureTableView: UIGestureRecognizerDelegate { ...@@ -27,13 +27,13 @@ extension BsGestureTableView: UIGestureRecognizerDelegate {
open class BsGestureScrollView: UIScrollView { open class YhGestureScrollView: UIScrollView {
} }
// MARK: - UIGestureRecognizerDelegate // MARK: - UIGestureRecognizerDelegate
extension BsGestureScrollView: UIGestureRecognizerDelegate { extension YhGestureScrollView: UIGestureRecognizerDelegate {
public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true return true
...@@ -46,13 +46,13 @@ extension BsGestureScrollView: UIGestureRecognizerDelegate { ...@@ -46,13 +46,13 @@ extension BsGestureScrollView: UIGestureRecognizerDelegate {
} }
open class BsGestureCollectionView: UICollectionView { open class YhGestureCollectionView: UICollectionView {
} }
// MARK: - UIGestureRecognizerDelegate // MARK: - UIGestureRecognizerDelegate
extension BsGestureCollectionView: UIGestureRecognizerDelegate { extension YhGestureCollectionView: UIGestureRecognizerDelegate {
public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true return true
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import UIKit import UIKit
class BsOverlayView: UIView { class YhOverlayView: UIView {
// MARK: - 属性 // MARK: - 属性
...@@ -30,7 +30,7 @@ class BsOverlayView: UIView { ...@@ -30,7 +30,7 @@ class BsOverlayView: UIView {
private func setupOverlayView() { private func setupOverlayView() {
// 1 获取window // 1 获取window
if (keyWindow == nil) { if (keyWindow == nil) {
self.keyWindow = UIApplication.shared.bsKeyWindow() self.keyWindow = UIApplication.shared.yhKeyWindow()
} }
// 2.遮罩view // 2.遮罩view
overlayView = UIControl.init(frame: UIScreen.main.bounds) overlayView = UIControl.init(frame: UIScreen.main.bounds)
......
//
// NetBaseModel.swift
// galaxy
//
// Created by davidhuangA on 2023/12/28.
// Copyright © 2023 www.davidhuang.com. All rights reserved.
//
import Foundation
import SmartCodable
struct NetBaseModel: SmartCodable {
var data : SmartAny?
var errorCode : Int = -1
var errorMessage : String = ""
var success : Bool = false
var test: TestModel = TestModel()
var testArr:[TestModel] = []
}
struct TestModel: SmartCodable {
var test1 : String = ""
var test2 : String = ""
var test3 : String = ""
enum CodingKeys: String, CodingKey {
case test1
case test2
case test3 = "test333" //字段 映射
}
}
...@@ -37,7 +37,7 @@ class YHBaseUrlManager { ...@@ -37,7 +37,7 @@ class YHBaseUrlManager {
#if DEBUG #if DEBUG
return urlForEditing ?? YHBaseUrlManager.baseUrlDev return urlForEditing ?? YHBaseUrlManager.baseUrlDev
#else #else
return urlForEditing ?? YHBaseUrlManager.baseUrlRelease return YHBaseUrlManager.baseUrlRelease
#endif #endif
} }
......
...@@ -85,7 +85,7 @@ class YHNetRequest: NSObject { ...@@ -85,7 +85,7 @@ class YHNetRequest: NSObject {
let errorCodeStr = "0" let errorCodeStr = "0"
var statusCode = string.response?.statusCode ?? 0 var statusCode = string.response?.statusCode ?? 0
let errorResponseMsg = string.error?.localizedDescription ?? "" let errorResponseMsg = string.error?.localizedDescription ?? ""
let timeOut = string.error?._code _ = string.error?._code
let resultValue = string.value ?? "" let resultValue = string.value ?? ""
let serverDict = self.converStringToMap(fromStr: resultValue) let serverDict = self.converStringToMap(fromStr: resultValue)
switch responseResult { switch responseResult {
......
//
// YHHomeViewController.swift
// galaxy
//
// Created by EDY on 2023/12/20.
//
import UIKit
class YHHomeViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .purple
// Do any additional setup after loading the view.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
//
// YHHomeViewController.swift
// galaxy
//
// Created by EDY on 2023/12/20.
//
import UIKit
import SmartCodable
//智慧服务
class YHIntelligentServiceViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
initView()
testModelParse()
}
func initView() {
navigationItem.title = "智慧服务"
view.backgroundColor = YHColorWithHex(0xE9E9E9)
}
func testModelParse() {
SmartConfig.debugMode = .verbose
let json = """
{
"data": "balabala Team",
"errorCode": 0,
"errorMessage": "操作成功",
"success":true,
"test": {
"test1": "test1-value",
"test2": "test2-value",
"test333": "test3-value",
},
"testArr":[
{
"test1": "test1-value",
"test2": "test2-value",
"test333": "test3-value",
},
{
"test1": "test1-value",
"test2": "test2-value",
"test333": "test3-value",
},
{
"test1": "test1-value",
"test2": "test2-value",
"test333": "test3-value",
}
]
}
"""
//1. json字符串 转 对象
guard let model = NetBaseModel.deserialize(json: json) else { return }
print("model 是 ==>",model)
print(model)
//2. 对象 转 dictionary
let dic = model.toDictionary()
print("dic 是 ==>",dic as Any)
//3. dictionary 转 string
let jsonString = dic?.jsonString()
print("jsonString 是 ==>",jsonString ?? "")
//4.model 转 string
let jsonString2 = model.toJSONString()
print("jsonString2 是 ==>",jsonString2 ?? "")
//5. dic 转 model
guard let model1 = NetBaseModel.deserialize(dict: dic) else { return }
print("model1 是 ==>",model1)
}
}
...@@ -184,6 +184,6 @@ class YHLoginViewController: YHBaseViewController { ...@@ -184,6 +184,6 @@ class YHLoginViewController: YHBaseViewController {
make.height.equalTo(20) make.height.equalTo(20)
make.width.equalTo(308) make.width.equalTo(308)
} }
//测试
} }
} }
...@@ -137,7 +137,7 @@ class YHValidateCodeInputView: UIView { ...@@ -137,7 +137,7 @@ class YHValidateCodeInputView: UIView {
for index in 1...count { for index in 1...count {
let component = self.viewWithTag(baseTag+index) as! YHValidateCodeComponentView let component = self.viewWithTag(baseTag+index) as! YHValidateCodeComponentView
let textField = component.viewWithTag(999) as! UITextField _ = component.viewWithTag(999) as! UITextField
} }
} }
......
...@@ -128,9 +128,9 @@ class YHSmsCodeInputView: UIView { ...@@ -128,9 +128,9 @@ class YHSmsCodeInputView: UIView {
} }
for index in (0 ..< config.count) { for index in (0 ..< config.count) {
if index < input.text?.count { // if index < input.text?.count {
} // }
} }
} }
} }
......
...@@ -7,23 +7,17 @@ ...@@ -7,23 +7,17 @@
import UIKit import UIKit
import SnapKit import SnapKit
import PDFKit
struct PersonalModuleItem { struct PersonalModuleItem {
var icon: String var icon: String
var title: String var title: String
init(icon: String, title: String) {
self.icon = icon
self.title = title
}
} }
class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget { class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
let tableView = UITableView(frame: CGRect.zero, style:.plain) let tableView = UITableView(frame: CGRect.zero, style:.plain)
tableView.backgroundColor = UIColor.red tableView.backgroundColor = YHColorWithHex(0xE9E9E9)
tableView.separatorStyle = .none tableView.separatorStyle = .none
tableView.register(YHPersonalCenterCell.self, forCellReuseIdentifier: YHPersonalCenterCell.cellReuseIdentifier) tableView.register(YHPersonalCenterCell.self, forCellReuseIdentifier: YHPersonalCenterCell.cellReuseIdentifier)
tableView.delegate = self tableView.delegate = self
...@@ -48,17 +42,28 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget { ...@@ -48,17 +42,28 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
// view.addSubview(tableView);
// tableView.snp.makeConstraints { make in
// make.left.right.top.bottom.equalTo(view)
// }
let bgImgView = UIImageView(image: UIImage(named: "launch_screen_image")) initView()
view.addSubview(bgImgView) }
bgImgView.snp.makeConstraints { make in
make.edges.equalTo(self.view)
func initView() {
navigationItem.title = "我的"
view.backgroundColor = YHColorWithHex(0xE9E9E9)
view.addSubview(tableView);
tableView.snp.makeConstraints { make in
make.left.right.top.bottom.equalTo(view)
} }
// let bgImgView = UIImageView(image: UIImage(named: "launch_screen_image"))
// view.addSubview(bgImgView)
// bgImgView.snp.makeConstraints { make in
// make.edges.equalTo(self.view)
// }
view.addSubview(self.smsInputView) view.addSubview(self.smsInputView)
smsInputView.snp.makeConstraints { make in smsInputView.snp.makeConstraints { make in
make.left.equalTo(self.view).offset(50) make.left.equalTo(self.view).offset(50)
...@@ -75,6 +80,7 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget { ...@@ -75,6 +80,7 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
// make.height.equalTo(100) // make.height.equalTo(100)
// } // }
} }
} }
extension YHMyViewController : UITableViewDelegate, UITableViewDataSource { extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment