苹果登录
10
Podfile.lock
@@ -8,6 +8,9 @@ PODS:
|
||||
- Moya/Core (= 15.0.0)
|
||||
- Moya/Core (15.0.0):
|
||||
- Alamofire (~> 5.0)
|
||||
- NIMSDK_LITE (9.6.1):
|
||||
- NIMSDK_LITE/NOS (= 9.6.1)
|
||||
- NIMSDK_LITE/NOS (9.6.1)
|
||||
- "NSObject+Rx (5.2.2)":
|
||||
- RxSwift (~> 6.2)
|
||||
- Nuke (10.7.1)
|
||||
@@ -40,6 +43,7 @@ DEPENDENCIES:
|
||||
- Kingfisher
|
||||
- MBProgressHUD
|
||||
- Moya
|
||||
- NIMSDK_LITE (= 9.6.1)
|
||||
- "NSObject+Rx"
|
||||
- Nuke
|
||||
- Reusable
|
||||
@@ -56,6 +60,7 @@ SPEC REPOS:
|
||||
- Kingfisher
|
||||
- MBProgressHUD
|
||||
- Moya
|
||||
- NIMSDK_LITE
|
||||
- "NSObject+Rx"
|
||||
- Nuke
|
||||
- Protobuf
|
||||
@@ -74,6 +79,7 @@ SPEC CHECKSUMS:
|
||||
Kingfisher: 99edc495d3b7607e6425f0d6f6847b2abd6d716d
|
||||
MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406
|
||||
Moya: 138f0573e53411fb3dc17016add0b748dfbd78ee
|
||||
NIMSDK_LITE: b020e3dbbc9f53934609bc35ecba7798be503e1a
|
||||
"NSObject+Rx": 61cf1f7306a73dcef8b36649198af0813ec18dfd
|
||||
Nuke: 279f17a599fd1c83cf51de5e0e1f2db143a287b0
|
||||
Protobuf: 8e9074797a13c484a79959fdb819ef4ae6da7dbe
|
||||
@@ -85,6 +91,6 @@ SPEC CHECKSUMS:
|
||||
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
|
||||
SVGAPlayer: 318b85a78b61292d6ae9dfcd651f3f0d1cdadd86
|
||||
|
||||
PODFILE CHECKSUM: 34a476613fc8cf70e90765dce36c6cc360eb4128
|
||||
PODFILE CHECKSUM: 975d6fb232bd31671465589b82e2a0c52188d41f
|
||||
|
||||
COCOAPODS: 1.12.1
|
||||
COCOAPODS: 1.14.3
|
||||
|
10
Pods/Manifest.lock
generated
@@ -8,6 +8,9 @@ PODS:
|
||||
- Moya/Core (= 15.0.0)
|
||||
- Moya/Core (15.0.0):
|
||||
- Alamofire (~> 5.0)
|
||||
- NIMSDK_LITE (9.6.1):
|
||||
- NIMSDK_LITE/NOS (= 9.6.1)
|
||||
- NIMSDK_LITE/NOS (9.6.1)
|
||||
- "NSObject+Rx (5.2.2)":
|
||||
- RxSwift (~> 6.2)
|
||||
- Nuke (10.7.1)
|
||||
@@ -40,6 +43,7 @@ DEPENDENCIES:
|
||||
- Kingfisher
|
||||
- MBProgressHUD
|
||||
- Moya
|
||||
- NIMSDK_LITE (= 9.6.1)
|
||||
- "NSObject+Rx"
|
||||
- Nuke
|
||||
- Reusable
|
||||
@@ -56,6 +60,7 @@ SPEC REPOS:
|
||||
- Kingfisher
|
||||
- MBProgressHUD
|
||||
- Moya
|
||||
- NIMSDK_LITE
|
||||
- "NSObject+Rx"
|
||||
- Nuke
|
||||
- Protobuf
|
||||
@@ -74,6 +79,7 @@ SPEC CHECKSUMS:
|
||||
Kingfisher: 99edc495d3b7607e6425f0d6f6847b2abd6d716d
|
||||
MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406
|
||||
Moya: 138f0573e53411fb3dc17016add0b748dfbd78ee
|
||||
NIMSDK_LITE: b020e3dbbc9f53934609bc35ecba7798be503e1a
|
||||
"NSObject+Rx": 61cf1f7306a73dcef8b36649198af0813ec18dfd
|
||||
Nuke: 279f17a599fd1c83cf51de5e0e1f2db143a287b0
|
||||
Protobuf: 8e9074797a13c484a79959fdb819ef4ae6da7dbe
|
||||
@@ -85,6 +91,6 @@ SPEC CHECKSUMS:
|
||||
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
|
||||
SVGAPlayer: 318b85a78b61292d6ae9dfcd651f3f0d1cdadd86
|
||||
|
||||
PODFILE CHECKSUM: 34a476613fc8cf70e90765dce36c6cc360eb4128
|
||||
PODFILE CHECKSUM: 975d6fb232bd31671465589b82e2a0c52188d41f
|
||||
|
||||
COCOAPODS: 1.12.1
|
||||
COCOAPODS: 1.14.3
|
||||
|
6891
Pods/Pods.xcodeproj/project.pbxproj
generated
@@ -67,48 +67,83 @@
|
||||
<key>orderHint</key>
|
||||
<integer>8</integer>
|
||||
</dict>
|
||||
<key>Pods-yinmeng-ios.xcscheme</key>
|
||||
<key>Nuke.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>9</integer>
|
||||
</dict>
|
||||
<key>Reusable.xcscheme</key>
|
||||
<key>Pods-yinmeng-ios.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>10</integer>
|
||||
</dict>
|
||||
<key>RxCocoa.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>11</integer>
|
||||
</dict>
|
||||
<key>RxRelay.xcscheme</key>
|
||||
<key>Protobuf-Protobuf_Privacy.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>12</integer>
|
||||
</dict>
|
||||
<key>RxSwift.xcscheme</key>
|
||||
<key>Protobuf.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>11</integer>
|
||||
</dict>
|
||||
<key>Reusable.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>13</integer>
|
||||
</dict>
|
||||
<key>SnapKit.xcscheme</key>
|
||||
<key>RxCocoa.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>14</integer>
|
||||
</dict>
|
||||
<key>RxRelay.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>15</integer>
|
||||
</dict>
|
||||
<key>RxSwift.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>16</integer>
|
||||
</dict>
|
||||
<key>SSZipArchive.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>18</integer>
|
||||
</dict>
|
||||
<key>SVGAPlayer.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>19</integer>
|
||||
</dict>
|
||||
<key>SnapKit.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>17</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict/>
|
||||
|
@@ -1,11 +1,11 @@
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DeviceKit" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/NSObject+Rx" "${PODS_CONFIGURATION_BUILD_DIR}/Nuke" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf" "${PODS_CONFIGURATION_BUILD_DIR}/Reusable" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SVGAPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DeviceKit" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/NSObject+Rx" "${PODS_CONFIGURATION_BUILD_DIR}/Nuke" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf" "${PODS_CONFIGURATION_BUILD_DIR}/Reusable" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SVGAPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_ROOT}/NIMSDK_LITE/NIMSDK"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/DeviceKit/DeviceKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON/HandyJSON.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD/MBProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/NSObject+Rx/NSObject_Rx.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nuke/Nuke.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf/Protobuf.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Reusable/Reusable.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SVGAPlayer/SVGAPlayer.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
|
||||
OTHER_LDFLAGS = $(inherited) -l"iconv" -l"z" -framework "AVFoundation" -framework "Accelerate" -framework "Alamofire" -framework "CFNetwork" -framework "CoreGraphics" -framework "DeviceKit" -framework "Foundation" -framework "HandyJSON" -framework "Kingfisher" -framework "MBProgressHUD" -framework "Moya" -framework "NSObject_Rx" -framework "Nuke" -framework "Protobuf" -framework "QuartzCore" -framework "Reusable" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "SSZipArchive" -framework "SVGAPlayer" -framework "Security" -framework "SnapKit" -framework "UIKit" -weak_framework "Combine" -weak_framework "SwiftUI"
|
||||
LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
|
||||
OTHER_LDFLAGS = $(inherited) -l"c++" -l"iconv" -l"resolv" -l"sqlite3.0" -l"z" -framework "AVFoundation" -framework "Accelerate" -framework "Alamofire" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreMedia" -framework "CoreTelephony" -framework "DeviceKit" -framework "Foundation" -framework "HandyJSON" -framework "Kingfisher" -framework "MBProgressHUD" -framework "Moya" -framework "NIMNOS" -framework "NIMSDK" -framework "NSObject_Rx" -framework "Nuke" -framework "Protobuf" -framework "QuartzCore" -framework "Reusable" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "SSZipArchive" -framework "SVGAPlayer" -framework "Security" -framework "SnapKit" -framework "SystemConfiguration" -framework "UIKit" -framework "VideoToolbox" -weak_framework "Combine" -weak_framework "SwiftUI"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
|
@@ -1,11 +1,11 @@
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DeviceKit" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/NSObject+Rx" "${PODS_CONFIGURATION_BUILD_DIR}/Nuke" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf" "${PODS_CONFIGURATION_BUILD_DIR}/Reusable" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SVGAPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/DeviceKit" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Moya" "${PODS_CONFIGURATION_BUILD_DIR}/NSObject+Rx" "${PODS_CONFIGURATION_BUILD_DIR}/Nuke" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf" "${PODS_CONFIGURATION_BUILD_DIR}/Reusable" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SVGAPlayer" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_ROOT}/NIMSDK_LITE/NIMSDK"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/DeviceKit/DeviceKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/HandyJSON/HandyJSON.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD/MBProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Moya/Moya.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/NSObject+Rx/NSObject_Rx.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nuke/Nuke.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf/Protobuf.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Reusable/Reusable.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SVGAPlayer/SVGAPlayer.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
|
||||
OTHER_LDFLAGS = $(inherited) -l"iconv" -l"z" -framework "AVFoundation" -framework "Accelerate" -framework "Alamofire" -framework "CFNetwork" -framework "CoreGraphics" -framework "DeviceKit" -framework "Foundation" -framework "HandyJSON" -framework "Kingfisher" -framework "MBProgressHUD" -framework "Moya" -framework "NSObject_Rx" -framework "Nuke" -framework "Protobuf" -framework "QuartzCore" -framework "Reusable" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "SSZipArchive" -framework "SVGAPlayer" -framework "Security" -framework "SnapKit" -framework "UIKit" -weak_framework "Combine" -weak_framework "SwiftUI"
|
||||
LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
|
||||
OTHER_LDFLAGS = $(inherited) -l"c++" -l"iconv" -l"resolv" -l"sqlite3.0" -l"z" -framework "AVFoundation" -framework "Accelerate" -framework "Alamofire" -framework "AudioToolbox" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreMedia" -framework "CoreTelephony" -framework "DeviceKit" -framework "Foundation" -framework "HandyJSON" -framework "Kingfisher" -framework "MBProgressHUD" -framework "Moya" -framework "NIMNOS" -framework "NIMSDK" -framework "NSObject_Rx" -framework "Nuke" -framework "Protobuf" -framework "QuartzCore" -framework "Reusable" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "SSZipArchive" -framework "SVGAPlayer" -framework "Security" -framework "SnapKit" -framework "SystemConfiguration" -framework "UIKit" -framework "VideoToolbox" -weak_framework "Combine" -weak_framework "SwiftUI"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
|
@@ -62,6 +62,8 @@
|
||||
E8D15AC52B8C90D400369467 /* AboutUsVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AC42B8C90D400369467 /* AboutUsVC.swift */; };
|
||||
E8D15AE82B8CD47100369467 /* WebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AE72B8CD47100369467 /* WebViewController.swift */; };
|
||||
E8D15AEA2B8CD77800369467 /* H5Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AE92B8CD77800369467 /* H5Utils.swift */; };
|
||||
E8E4AAB52B8F8E3A0096D77C /* AuthItmeButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AAB42B8F8E3A0096D77C /* AuthItmeButton.swift */; };
|
||||
E8E4AAB72B8F95CA0096D77C /* AuthAppleManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8E4AAB62B8F95CA0096D77C /* AuthAppleManager.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -127,6 +129,9 @@
|
||||
E8D15AC42B8C90D400369467 /* AboutUsVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutUsVC.swift; sourceTree = "<group>"; };
|
||||
E8D15AE72B8CD47100369467 /* WebViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebViewController.swift; sourceTree = "<group>"; };
|
||||
E8D15AE92B8CD77800369467 /* H5Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = H5Utils.swift; sourceTree = "<group>"; };
|
||||
E8E4AAB42B8F8E3A0096D77C /* AuthItmeButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthItmeButton.swift; sourceTree = "<group>"; };
|
||||
E8E4AAB62B8F95CA0096D77C /* AuthAppleManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthAppleManager.swift; sourceTree = "<group>"; };
|
||||
E8E4AAB82B8F99B90096D77C /* yinmeng-ios.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "yinmeng-ios.entitlements"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -292,6 +297,7 @@
|
||||
E86A43D42B8774B70084C04D /* AuthViewModel.swift */,
|
||||
E8D15A9E2B89AED500369467 /* AuthManager.swift */,
|
||||
E8D15AA02B89AF4F00369467 /* UserTokenObject.swift */,
|
||||
E8E4AAB62B8F95CA0096D77C /* AuthAppleManager.swift */,
|
||||
);
|
||||
path = VM;
|
||||
sourceTree = "<group>";
|
||||
@@ -318,6 +324,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E86A43CA2B874C6F0084C04D /* AuthPrivacyView.swift */,
|
||||
E8E4AAB42B8F8E3A0096D77C /* AuthItmeButton.swift */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
@@ -359,6 +366,7 @@
|
||||
E884E85D2B6900C500ADE6EE /* yinmeng-ios */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8E4AAB82B8F99B90096D77C /* yinmeng-ios.entitlements */,
|
||||
E86A43B12B85E1FC0084C04D /* Modules */,
|
||||
E86A43AB2B85DFC20084C04D /* Extension */,
|
||||
E86A43A72B85DF7A0084C04D /* Base */,
|
||||
@@ -607,12 +615,14 @@
|
||||
E86A43B02B85E11B0084C04D /* BaseNavigationViewController.swift in Sources */,
|
||||
E86A43E82B884C5E0084C04D /* String+.swift in Sources */,
|
||||
E8D15AA32B89B03D00369467 /* Deserialized.swift in Sources */,
|
||||
E8E4AAB72B8F95CA0096D77C /* AuthAppleManager.swift in Sources */,
|
||||
E8D15AC22B8C703C00369467 /* UserFunctionView.swift in Sources */,
|
||||
E86A43DA2B877A840084C04D /* AppConfigObject.swift in Sources */,
|
||||
E8D15AA62B89B0C600369467 /* List+.swift in Sources */,
|
||||
E81A7BAE2B885B20009E736E /* Base64.m in Sources */,
|
||||
E8479E462B8DD5BF009AF878 /* Date+.swift in Sources */,
|
||||
E81A7BB22B886299009E736E /* HUDTool.swift in Sources */,
|
||||
E8E4AAB52B8F8E3A0096D77C /* AuthItmeButton.swift in Sources */,
|
||||
E86A43BC2B85FA640084C04D /* AuthForgetVC.swift in Sources */,
|
||||
E86A43C32B8628AF0084C04D /* BaseTabBarViewController.swift in Sources */,
|
||||
E8479E3B2B8DC5FA009AF878 /* ChatViewModel.swift in Sources */,
|
||||
@@ -799,10 +809,11 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = "yinmeng-ios/yinmeng-ios.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 48UCG35Q9W;
|
||||
DEVELOPMENT_TEAM = 7684Q29X5F;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "yinmeng-ios/Info.plist";
|
||||
@@ -833,10 +844,11 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = "yinmeng-ios/yinmeng-ios.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = 48UCG35Q9W;
|
||||
DEVELOPMENT_TEAM = 7684Q29X5F;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "yinmeng-ios/Info.plist";
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<key>yinmeng-ios.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>15</integer>
|
||||
<integer>20</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
@@ -17,7 +17,7 @@ var window: UIWindow?
|
||||
UIApplication.shared.applicationIconBadgeNumber = 0
|
||||
self.window = UIWindow.init(frame: UIScreen.main.bounds)
|
||||
self.window?.backgroundColor = UIColor.white
|
||||
self.window?.rootViewController = BaseNavigationViewController(rootViewController:AuthLoginVC())
|
||||
self.window?.rootViewController = BaseNavigationViewController(rootViewController:AuthLaunchVC())
|
||||
loginStateListener()
|
||||
return true
|
||||
}
|
||||
@@ -36,7 +36,7 @@ var window: UIWindow?
|
||||
}
|
||||
} else {
|
||||
///去登录
|
||||
self.window?.rootViewController = BaseNavigationViewController(rootViewController:AuthLoginVC())
|
||||
self.window?.rootViewController = BaseNavigationViewController(rootViewController:AuthLaunchVC())
|
||||
}
|
||||
}).disposed(by: rx.disposeBag)
|
||||
|
||||
|
22
yinmeng-ios/Assets.xcassets/auth/auth_login_apple.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_apple@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_apple@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_apple.imageset/auth_login_apple@2x.png
vendored
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_apple.imageset/auth_login_apple@3x.png
vendored
Normal file
After Width: | Height: | Size: 6.1 KiB |
22
yinmeng-ios/Assets.xcassets/auth/auth_login_box.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_box@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_box@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_box.imageset/auth_login_box@2x.png
vendored
Normal file
After Width: | Height: | Size: 668 B |
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_box.imageset/auth_login_box@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.2 KiB |
22
yinmeng-ios/Assets.xcassets/auth/auth_login_box_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_box_sel@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_box_sel@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_box_sel.imageset/auth_login_box_sel@2x.png
vendored
Normal file
After Width: | Height: | Size: 661 B |
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_box_sel.imageset/auth_login_box_sel@3x.png
vendored
Normal file
After Width: | Height: | Size: 1005 B |
22
yinmeng-ios/Assets.xcassets/auth/auth_login_id.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_id@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_id@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_id.imageset/auth_login_id@2x.png
vendored
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_id.imageset/auth_login_id@3x.png
vendored
Normal file
After Width: | Height: | Size: 6.6 KiB |
22
yinmeng-ios/Assets.xcassets/auth/auth_login_logo.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_logo@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "auth_login_logo@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_logo.imageset/auth_login_logo@2x.png
vendored
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
yinmeng-ios/Assets.xcassets/auth/auth_login_logo.imageset/auth_login_logo@3x.png
vendored
Normal file
After Width: | Height: | Size: 38 KiB |
@@ -8,7 +8,306 @@
|
||||
import UIKit
|
||||
|
||||
class AuthLaunchVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
var viewModel:AuthViewModel = AuthViewModel.authVM
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
view.addSubview(backImgView)
|
||||
view.addSubview(logoImgView)
|
||||
view.addSubview(titleLb)
|
||||
view.addSubview(phoneLoginBtn)
|
||||
view.addSubview(otherStackView)
|
||||
view.addSubview(loginStackView)
|
||||
view.addSubview(stackView)
|
||||
|
||||
otherStackView.addArrangedSubview(leftView)
|
||||
otherStackView.addArrangedSubview(otherLb)
|
||||
otherStackView.addArrangedSubview(rightView)
|
||||
|
||||
loginStackView.addArrangedSubview(idView)
|
||||
loginStackView.addArrangedSubview(appleView)
|
||||
|
||||
stackView.addArrangedSubview(boxBtn)
|
||||
stackView.addArrangedSubview(protocolStackView)
|
||||
|
||||
protocolStackView.addArrangedSubview(agreeLb)
|
||||
protocolStackView.addArrangedSubview(userProtocolBtn)
|
||||
protocolStackView.addArrangedSubview(andLb)
|
||||
protocolStackView.addArrangedSubview(privacyBtn)
|
||||
|
||||
backImgView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(view)
|
||||
}
|
||||
|
||||
logoImgView.snp.makeConstraints { make in
|
||||
make.size.equalTo(CGSize(width: 88, height: 88))
|
||||
make.centerX.equalTo(view)
|
||||
make.top.equalTo(view).offset(StatusBarHeight + 76)
|
||||
}
|
||||
|
||||
titleLb.snp.makeConstraints { make in
|
||||
make.centerX.equalTo(view)
|
||||
make.top.equalTo(logoImgView.snp.bottom).offset(16)
|
||||
}
|
||||
|
||||
phoneLoginBtn.snp.makeConstraints { make in
|
||||
make.left.right.equalTo(view).inset(40)
|
||||
make.height.equalTo(52)
|
||||
make.top.equalTo(titleLb.snp.bottom).offset(110)
|
||||
}
|
||||
|
||||
otherStackView.snp.makeConstraints { make in
|
||||
make.centerX.equalTo(view)
|
||||
make.bottom.equalTo(loginStackView.snp.top).offset(-32)
|
||||
}
|
||||
|
||||
leftView.snp.makeConstraints { make in
|
||||
make.width.equalTo(100)
|
||||
make.height.equalTo(0.5)
|
||||
}
|
||||
|
||||
rightView.snp.makeConstraints { make in
|
||||
make.width.equalTo(100)
|
||||
make.height.equalTo(0.5)
|
||||
}
|
||||
|
||||
loginStackView.snp.makeConstraints { make in
|
||||
make.centerX.equalTo(view)
|
||||
make.bottom.equalTo(stackView.snp.top).offset(-56)
|
||||
}
|
||||
|
||||
idView.snp.makeConstraints { make in
|
||||
make.width.equalTo(47)
|
||||
make.height.equalTo(70)
|
||||
}
|
||||
|
||||
appleView.snp.makeConstraints { make in
|
||||
make.width.equalTo(47)
|
||||
make.height.equalTo(70)
|
||||
}
|
||||
|
||||
stackView.snp.makeConstraints { make in
|
||||
make.centerX.equalTo(view)
|
||||
make.bottom.equalTo(view).offset(-23 - SafeAraeBottomHeight)
|
||||
}
|
||||
|
||||
boxBtn.snp.makeConstraints { make in
|
||||
make.size.equalTo(CGSize(width: 14, height: 14))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private lazy var backImgView: UIImageView = {
|
||||
let imageView = UIImageView()
|
||||
imageView.image = UIImage(named: "auth_login_bg")
|
||||
imageView.isUserInteractionEnabled = true
|
||||
imageView.layer.masksToBounds = true
|
||||
imageView.contentMode = .scaleAspectFill
|
||||
return imageView
|
||||
}()
|
||||
|
||||
|
||||
private lazy var logoImgView: UIImageView = {
|
||||
let imageView = UIImageView()
|
||||
imageView.image = UIImage(named: "auth_login_logo")
|
||||
imageView.isUserInteractionEnabled = true
|
||||
imageView.layer.masksToBounds = true
|
||||
imageView.contentMode = .scaleAspectFill
|
||||
return imageView
|
||||
}()
|
||||
|
||||
private lazy var titleLb: UILabel = {
|
||||
let label = UILabel()
|
||||
label.textColor = UIColor.white
|
||||
label.font = UIFont.systemFont(ofSize: 28, weight: .medium)
|
||||
label.text = "欢迎来到音萌"
|
||||
return label
|
||||
}()
|
||||
|
||||
private lazy var phoneLoginBtn: UIButton = {
|
||||
let button = UIButton(type: .custom)
|
||||
button.setBackgroundImage(UIImage.gradient([ThemeColor(hexStr: "#FF60FD"), ThemeColor(hexStr: "#8974FF"), ThemeColor(hexStr: "#69EBFF")], radius: 0), for: .normal)
|
||||
button.setTitle("手机号登录", for: .normal)
|
||||
button.setTitleColor(UIColor.white, for: .normal)
|
||||
button.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .medium)
|
||||
button.layer.masksToBounds = true
|
||||
button.layer.cornerRadius = 26
|
||||
button.addTarget(self, action: #selector(phoneLoginBtnAction), for: .touchUpInside)
|
||||
return button
|
||||
}()
|
||||
|
||||
private lazy var otherStackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.distribution = .fill
|
||||
stackView.axis = .horizontal
|
||||
stackView.alignment = .center
|
||||
stackView.spacing = 15
|
||||
return stackView
|
||||
}()
|
||||
|
||||
private lazy var leftView: UIView = {
|
||||
let view = UIView()
|
||||
view.backgroundColor = .white
|
||||
return view
|
||||
}()
|
||||
|
||||
private lazy var otherLb: UILabel = {
|
||||
let label = UILabel()
|
||||
label.textColor = .white
|
||||
label.text = "其他登录方式"
|
||||
label.font = UIFont.systemFont(ofSize: 13)
|
||||
return label
|
||||
}()
|
||||
|
||||
|
||||
private lazy var rightView: UIView = {
|
||||
let view = UIView()
|
||||
view.backgroundColor = .white
|
||||
return view
|
||||
}()
|
||||
|
||||
private lazy var loginStackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.distribution = .fill
|
||||
stackView.axis = .horizontal
|
||||
stackView.alignment = .fill
|
||||
stackView.spacing = 89
|
||||
return stackView
|
||||
}()
|
||||
|
||||
private lazy var idView: AuthItmeButton = {
|
||||
let view = AuthItmeButton()
|
||||
view.imageName = "auth_login_id"
|
||||
view.title = "账号登录"
|
||||
view.backgroundColor = .clear
|
||||
view.addTarget(self, action: #selector(idClick), for: .touchUpInside)
|
||||
return view
|
||||
}()
|
||||
|
||||
private lazy var appleView: AuthItmeButton = {
|
||||
let view = AuthItmeButton()
|
||||
view.imageName = "auth_login_apple"
|
||||
view.title = "iPhone登录"
|
||||
view.backgroundColor = .clear
|
||||
view.addTarget(self, action: #selector(appleClick), for: .touchUpInside)
|
||||
return view
|
||||
}()
|
||||
|
||||
|
||||
|
||||
private lazy var stackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.distribution = .fill
|
||||
stackView.axis = .horizontal
|
||||
stackView.alignment = .fill
|
||||
stackView.spacing = 4
|
||||
return stackView
|
||||
}()
|
||||
|
||||
|
||||
private lazy var boxBtn: UIButton = {
|
||||
let button = UIButton(type: .custom)
|
||||
button.setImage(UIImage(named: "auth_login_box"), for: .normal)
|
||||
button.setImage(UIImage(named: "auth_login_box_sel"), for: .selected)
|
||||
button.addTarget(self, action: #selector(boxBtnAction), for: .touchUpInside)
|
||||
return button
|
||||
}()
|
||||
|
||||
private lazy var protocolStackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.distribution = .fill
|
||||
stackView.axis = .horizontal
|
||||
stackView.alignment = .fill
|
||||
stackView.spacing = 0
|
||||
return stackView
|
||||
}()
|
||||
private lazy var agreeLb: UILabel = {
|
||||
let label = UILabel()
|
||||
label.textColor = .white
|
||||
label.font = UIFont.systemFont(ofSize: 12)
|
||||
label.text = "同意"
|
||||
return label
|
||||
}()
|
||||
|
||||
private lazy var userProtocolBtn: UIButton = {
|
||||
let button = UIButton(type: .custom)
|
||||
button.setTitle("《用户服务协议》", for: .normal)
|
||||
button.setTitleColor(UIColor.white, for: .normal)
|
||||
button.titleLabel?.font = UIFont.systemFont(ofSize: 12)
|
||||
button.addTarget(self, action: #selector(userProtocolBtnAction), for: .touchUpInside)
|
||||
return button
|
||||
}()
|
||||
|
||||
|
||||
private lazy var andLb: UILabel = {
|
||||
let label = UILabel()
|
||||
label.textColor = .white
|
||||
label.text = "和"
|
||||
label.font = UIFont.systemFont(ofSize: 12)
|
||||
return label
|
||||
}()
|
||||
|
||||
|
||||
private lazy var privacyBtn: UIButton = {
|
||||
let button = UIButton(type: .custom)
|
||||
button.setTitle("《隐私协议》", for: .normal)
|
||||
button.setTitleColor(UIColor.white, for: .normal)
|
||||
button.titleLabel?.font = UIFont.systemFont(ofSize: 12)
|
||||
button.addTarget(self, action: #selector(privacyBtnAction), for: .touchUpInside)
|
||||
return button
|
||||
}()
|
||||
|
||||
|
||||
@objc func privacyBtnAction() {
|
||||
let web = WebViewController(url: "yinmeng/\(H5Utils.privacy.rawValue)")
|
||||
self.navigationController?.pushViewController(web, animated: true)
|
||||
}
|
||||
|
||||
@objc func userProtocolBtnAction() {
|
||||
let web = WebViewController(url: "yinmeng/\(H5Utils.privacy.rawValue)")
|
||||
self.navigationController?.pushViewController(web, animated: true)
|
||||
}
|
||||
|
||||
@objc func phoneLoginBtnAction() {
|
||||
if self.boxBtn.isSelected == false {
|
||||
HUDTool.show(with: "请阅读并勾选协议")
|
||||
return
|
||||
}
|
||||
let loginVC = AuthLoginVC()
|
||||
loginVC.index = 0
|
||||
self.navigationController?.pushViewController(loginVC, animated: true)
|
||||
}
|
||||
|
||||
@objc func idClick() {
|
||||
if self.boxBtn.isSelected == false {
|
||||
HUDTool.show(with: "请阅读并勾选协议")
|
||||
return
|
||||
}
|
||||
let loginVC = AuthLoginVC()
|
||||
loginVC.index = 1
|
||||
self.navigationController?.pushViewController(loginVC, animated: true)
|
||||
}
|
||||
|
||||
@objc func appleClick() {
|
||||
if self.boxBtn.isSelected == false {
|
||||
HUDTool.show(with: "请阅读并勾选协议")
|
||||
return
|
||||
}
|
||||
AuthAppleManager.manager.authorizatio { info in
|
||||
if let infor = info{
|
||||
self.viewModel.authApple(params: infor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@objc func boxBtnAction() {
|
||||
self.boxBtn.isSelected = !self.boxBtn.isSelected
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension AuthLaunchVC {
|
||||
private func loginApple() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -17,6 +17,15 @@ class AuthLoginVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
var code:String = ""
|
||||
var id:String = ""
|
||||
var password:String = ""
|
||||
var index:Int? {
|
||||
didSet {
|
||||
if index ?? 0 > 0 {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
||||
self.pwdLoginBtnAction()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
93
yinmeng-ios/Modules/Auth/VM/AuthAppleManager.swift
Normal file
@@ -0,0 +1,93 @@
|
||||
//
|
||||
// AuthAppleManager.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by MaiMang on 2024/2/29.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import AuthenticationServices
|
||||
|
||||
typealias AuthCompletion = ([String: Any]?) -> Void
|
||||
|
||||
class AuthAppleManager:NSObject,ASAuthorizationControllerDelegate,ASAuthorizationControllerPresentationContextProviding {
|
||||
public static var manager = AuthAppleManager.init()
|
||||
|
||||
var completion : AuthCompletion?
|
||||
|
||||
|
||||
@available(iOS 13.0, *)
|
||||
func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor {
|
||||
return UIApplication.shared.keyWindow!;
|
||||
}
|
||||
|
||||
@available(iOS 13.0, *)
|
||||
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
|
||||
|
||||
if authorization.credential.isKind(of: ASAuthorizationAppleIDCredential.self) {
|
||||
|
||||
let maiCssl : ASAuthorizationAppleIDCredential = authorization.credential as! ASAuthorizationAppleIDCredential
|
||||
|
||||
let maitokenJon = String.init(data: maiCssl.identityToken ?? Data.init(), encoding: String.Encoding.utf8)
|
||||
let maicodeCa = String.init(data: maiCssl.authorizationCode ?? Data.init(), encoding: String.Encoding.utf8)
|
||||
|
||||
|
||||
var reusltScom = Dictionary<String, Any>.init()
|
||||
reusltScom.updateValue(maiCssl.user , forKey: "unionid")
|
||||
reusltScom.updateValue(maitokenJon ?? "", forKey: "openid")
|
||||
reusltScom.updateValue(maitokenJon ?? "", forKey: "access_token")
|
||||
completion?(reusltScom)
|
||||
}else{
|
||||
HUDTool.show(with:"授权失败")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func authorizatio(block:AuthCompletion?) -> Void {
|
||||
if #available(iOS 13.0, *){
|
||||
completion = block
|
||||
|
||||
let providerCac : ASAuthorizationAppleIDProvider = ASAuthorizationAppleIDProvider.init()
|
||||
|
||||
let mairequestMka : ASAuthorizationAppleIDRequest = providerCac.createRequest()
|
||||
mairequestMka.requestedScopes = [ASAuthorization.Scope.fullName,ASAuthorization.Scope.email]
|
||||
|
||||
let maicontrollerKKk : ASAuthorizationController = ASAuthorizationController.init(authorizationRequests: [mairequestMka])
|
||||
maicontrollerKKk.delegate = self
|
||||
maicontrollerKKk.presentationContextProvider = self
|
||||
maicontrollerKKk.performRequests()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@available(iOS 13.0, *)
|
||||
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
|
||||
let maierr = error as? NSError
|
||||
if maierr != nil {
|
||||
var message = ""
|
||||
switch maierr?.code {
|
||||
case ASAuthorizationError.canceled.rawValue:
|
||||
message = "授权取消"
|
||||
break
|
||||
case ASAuthorizationError.failed.rawValue:
|
||||
message = "授权请求失败"
|
||||
break
|
||||
case ASAuthorizationError.invalidResponse.rawValue:
|
||||
message = "授权请求无响应"
|
||||
break
|
||||
case ASAuthorizationError.notHandled.rawValue:
|
||||
message = "授权请求失败"
|
||||
break
|
||||
case ASAuthorizationError.unknown.rawValue:
|
||||
message = "授权请求失败"
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
HUDTool.show(with: message)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -78,6 +78,26 @@ class AuthViewModel: NSObject {
|
||||
}
|
||||
}
|
||||
|
||||
func authApple(params:[String: Any]) {
|
||||
var par = params
|
||||
par.updateValue("5", forKey: "type")
|
||||
RequestPost(path: "acc/third/login", parma: par) { data in
|
||||
if let account = Deserialized<UserTokenObject>.toModel(with: data) {
|
||||
LoginTokenConfig.config.saveTokenToLocaltion(token: account)
|
||||
self.token.onNext(account)
|
||||
self.token.onCompleted()
|
||||
///进行token的置换
|
||||
if let accessToken = account.access_token {
|
||||
self.tokenTransformTicket(accesToken: accessToken)
|
||||
}
|
||||
}
|
||||
} fail: { code, msg in
|
||||
self.token.onNext(nil)
|
||||
self.token.onCompleted()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
///通过token获取ticket
|
||||
func tokenTransformTicket(accesToken:String) {
|
||||
let params = ["access_token": accesToken, "issue_type": "multi"]
|
||||
|
59
yinmeng-ios/Modules/Auth/View/AuthItmeButton.swift
Normal file
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// AuthItmeButton.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by MaiMang on 2024/2/28.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class AuthItmeButton: UIControl {
|
||||
var title:String? {
|
||||
didSet {
|
||||
titleLb.text = title
|
||||
}
|
||||
}
|
||||
|
||||
var imageName:String? {
|
||||
didSet {
|
||||
guard let imageName = imageName else { return}
|
||||
imgView.image = UIImage(named: imageName)
|
||||
}
|
||||
}
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
addSubview(imgView)
|
||||
addSubview(titleLb)
|
||||
imgView.snp.makeConstraints { make in
|
||||
make.size.equalTo(CGSize(width: 47, height: 47))
|
||||
make.top.centerX.equalTo(self)
|
||||
}
|
||||
|
||||
titleLb.snp.makeConstraints { make in
|
||||
make.centerX.equalTo(self)
|
||||
make.top.equalTo(imgView.snp.bottom).offset(6)
|
||||
}
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
private lazy var imgView: UIImageView = {
|
||||
let imageView = UIImageView()
|
||||
imageView.isUserInteractionEnabled = false
|
||||
imageView.layer.masksToBounds = true
|
||||
imageView.contentMode = .scaleAspectFill
|
||||
return imageView
|
||||
}()
|
||||
|
||||
private lazy var titleLb: UILabel = {
|
||||
let label = UILabel()
|
||||
label.textColor = .white
|
||||
label.font = UIFont.systemFont(ofSize: 12)
|
||||
return label
|
||||
}()
|
||||
|
||||
|
||||
}
|
@@ -6,12 +6,12 @@
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
import Reusable
|
||||
protocol ChatBaseCellProtocol: NSObjectProtocol {
|
||||
func cell(_ cell: ChatBaseCell, didTapAvatarAt model: ChatBaseObject)
|
||||
}
|
||||
|
||||
class ChatBaseCell: UITableViewCell {
|
||||
class ChatBaseCell: UITableViewCell, Reusable{
|
||||
weak var delegate: ChatBaseCellProtocol?
|
||||
var model:ChatBaseObject? {
|
||||
didSet {
|
||||
|
@@ -165,7 +165,7 @@ class PlanetStarClickItemView: UIView {
|
||||
@objc func chatBtnAction(){
|
||||
if let _refreshBlcok = refreshBlcok,let uid = self.chooseModel?.uid{
|
||||
|
||||
_refreshBlcok(uid)
|
||||
_refreshBlcok("\(uid)")
|
||||
}
|
||||
}
|
||||
@objc func refreshBtnAction(){
|
||||
|
10
yinmeng-ios/yinmeng-ios.entitlements
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.developer.applesignin</key>
|
||||
<array>
|
||||
<string>Default</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|