苹果登录

This commit is contained in:
fengshuo
2024-02-29 00:42:41 +08:00
parent 1bf234a98e
commit cf3d50b308
33 changed files with 4187 additions and 3423 deletions

View File

@@ -8,6 +8,9 @@ PODS:
- Moya/Core (= 15.0.0) - Moya/Core (= 15.0.0)
- Moya/Core (15.0.0): - Moya/Core (15.0.0):
- Alamofire (~> 5.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)": - "NSObject+Rx (5.2.2)":
- RxSwift (~> 6.2) - RxSwift (~> 6.2)
- Nuke (10.7.1) - Nuke (10.7.1)
@@ -40,6 +43,7 @@ DEPENDENCIES:
- Kingfisher - Kingfisher
- MBProgressHUD - MBProgressHUD
- Moya - Moya
- NIMSDK_LITE (= 9.6.1)
- "NSObject+Rx" - "NSObject+Rx"
- Nuke - Nuke
- Reusable - Reusable
@@ -56,6 +60,7 @@ SPEC REPOS:
- Kingfisher - Kingfisher
- MBProgressHUD - MBProgressHUD
- Moya - Moya
- NIMSDK_LITE
- "NSObject+Rx" - "NSObject+Rx"
- Nuke - Nuke
- Protobuf - Protobuf
@@ -74,6 +79,7 @@ SPEC CHECKSUMS:
Kingfisher: 99edc495d3b7607e6425f0d6f6847b2abd6d716d Kingfisher: 99edc495d3b7607e6425f0d6f6847b2abd6d716d
MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406 MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406
Moya: 138f0573e53411fb3dc17016add0b748dfbd78ee Moya: 138f0573e53411fb3dc17016add0b748dfbd78ee
NIMSDK_LITE: b020e3dbbc9f53934609bc35ecba7798be503e1a
"NSObject+Rx": 61cf1f7306a73dcef8b36649198af0813ec18dfd "NSObject+Rx": 61cf1f7306a73dcef8b36649198af0813ec18dfd
Nuke: 279f17a599fd1c83cf51de5e0e1f2db143a287b0 Nuke: 279f17a599fd1c83cf51de5e0e1f2db143a287b0
Protobuf: 8e9074797a13c484a79959fdb819ef4ae6da7dbe Protobuf: 8e9074797a13c484a79959fdb819ef4ae6da7dbe
@@ -85,6 +91,6 @@ SPEC CHECKSUMS:
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
SVGAPlayer: 318b85a78b61292d6ae9dfcd651f3f0d1cdadd86 SVGAPlayer: 318b85a78b61292d6ae9dfcd651f3f0d1cdadd86
PODFILE CHECKSUM: 34a476613fc8cf70e90765dce36c6cc360eb4128 PODFILE CHECKSUM: 975d6fb232bd31671465589b82e2a0c52188d41f
COCOAPODS: 1.12.1 COCOAPODS: 1.14.3

10
Pods/Manifest.lock generated
View File

@@ -8,6 +8,9 @@ PODS:
- Moya/Core (= 15.0.0) - Moya/Core (= 15.0.0)
- Moya/Core (15.0.0): - Moya/Core (15.0.0):
- Alamofire (~> 5.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)": - "NSObject+Rx (5.2.2)":
- RxSwift (~> 6.2) - RxSwift (~> 6.2)
- Nuke (10.7.1) - Nuke (10.7.1)
@@ -40,6 +43,7 @@ DEPENDENCIES:
- Kingfisher - Kingfisher
- MBProgressHUD - MBProgressHUD
- Moya - Moya
- NIMSDK_LITE (= 9.6.1)
- "NSObject+Rx" - "NSObject+Rx"
- Nuke - Nuke
- Reusable - Reusable
@@ -56,6 +60,7 @@ SPEC REPOS:
- Kingfisher - Kingfisher
- MBProgressHUD - MBProgressHUD
- Moya - Moya
- NIMSDK_LITE
- "NSObject+Rx" - "NSObject+Rx"
- Nuke - Nuke
- Protobuf - Protobuf
@@ -74,6 +79,7 @@ SPEC CHECKSUMS:
Kingfisher: 99edc495d3b7607e6425f0d6f6847b2abd6d716d Kingfisher: 99edc495d3b7607e6425f0d6f6847b2abd6d716d
MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406 MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406
Moya: 138f0573e53411fb3dc17016add0b748dfbd78ee Moya: 138f0573e53411fb3dc17016add0b748dfbd78ee
NIMSDK_LITE: b020e3dbbc9f53934609bc35ecba7798be503e1a
"NSObject+Rx": 61cf1f7306a73dcef8b36649198af0813ec18dfd "NSObject+Rx": 61cf1f7306a73dcef8b36649198af0813ec18dfd
Nuke: 279f17a599fd1c83cf51de5e0e1f2db143a287b0 Nuke: 279f17a599fd1c83cf51de5e0e1f2db143a287b0
Protobuf: 8e9074797a13c484a79959fdb819ef4ae6da7dbe Protobuf: 8e9074797a13c484a79959fdb819ef4ae6da7dbe
@@ -85,6 +91,6 @@ SPEC CHECKSUMS:
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
SVGAPlayer: 318b85a78b61292d6ae9dfcd651f3f0d1cdadd86 SVGAPlayer: 318b85a78b61292d6ae9dfcd651f3f0d1cdadd86
PODFILE CHECKSUM: 34a476613fc8cf70e90765dce36c6cc360eb4128 PODFILE CHECKSUM: 975d6fb232bd31671465589b82e2a0c52188d41f
COCOAPODS: 1.12.1 COCOAPODS: 1.14.3

File diff suppressed because it is too large Load Diff

View File

@@ -67,48 +67,83 @@
<key>orderHint</key> <key>orderHint</key>
<integer>8</integer> <integer>8</integer>
</dict> </dict>
<key>Pods-yinmeng-ios.xcscheme</key> <key>Nuke.xcscheme</key>
<dict> <dict>
<key>isShown</key> <key>isShown</key>
<false/> <false/>
<key>orderHint</key> <key>orderHint</key>
<integer>9</integer> <integer>9</integer>
</dict> </dict>
<key>Reusable.xcscheme</key> <key>Pods-yinmeng-ios.xcscheme</key>
<dict> <dict>
<key>isShown</key> <key>isShown</key>
<false/> <false/>
<key>orderHint</key> <key>orderHint</key>
<integer>10</integer> <integer>10</integer>
</dict> </dict>
<key>RxCocoa.xcscheme</key> <key>Protobuf-Protobuf_Privacy.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>11</integer>
</dict>
<key>RxRelay.xcscheme</key>
<dict> <dict>
<key>isShown</key> <key>isShown</key>
<false/> <false/>
<key>orderHint</key> <key>orderHint</key>
<integer>12</integer> <integer>12</integer>
</dict> </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> <dict>
<key>isShown</key> <key>isShown</key>
<false/> <false/>
<key>orderHint</key> <key>orderHint</key>
<integer>13</integer> <integer>13</integer>
</dict> </dict>
<key>SnapKit.xcscheme</key> <key>RxCocoa.xcscheme</key>
<dict> <dict>
<key>isShown</key> <key>isShown</key>
<false/> <false/>
<key>orderHint</key> <key>orderHint</key>
<integer>14</integer> <integer>14</integer>
</dict> </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> </dict>
<key>SuppressBuildableAutocreation</key> <key>SuppressBuildableAutocreation</key>
<dict/> <dict/>

View File

@@ -1,11 +1,11 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 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 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" 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' 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 LIBRARY_SEARCH_PATHS = $(inherited) "${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" 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 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@@ -1,11 +1,11 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 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 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" 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' 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 LIBRARY_SEARCH_PATHS = $(inherited) "${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" 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 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

View File

@@ -62,6 +62,8 @@
E8D15AC52B8C90D400369467 /* AboutUsVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AC42B8C90D400369467 /* AboutUsVC.swift */; }; E8D15AC52B8C90D400369467 /* AboutUsVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AC42B8C90D400369467 /* AboutUsVC.swift */; };
E8D15AE82B8CD47100369467 /* WebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AE72B8CD47100369467 /* WebViewController.swift */; }; E8D15AE82B8CD47100369467 /* WebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AE72B8CD47100369467 /* WebViewController.swift */; };
E8D15AEA2B8CD77800369467 /* H5Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D15AE92B8CD77800369467 /* H5Utils.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 */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@@ -127,6 +129,9 @@
E8D15AC42B8C90D400369467 /* AboutUsVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutUsVC.swift; sourceTree = "<group>"; }; 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>"; }; 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>"; }; 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 */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -292,6 +297,7 @@
E86A43D42B8774B70084C04D /* AuthViewModel.swift */, E86A43D42B8774B70084C04D /* AuthViewModel.swift */,
E8D15A9E2B89AED500369467 /* AuthManager.swift */, E8D15A9E2B89AED500369467 /* AuthManager.swift */,
E8D15AA02B89AF4F00369467 /* UserTokenObject.swift */, E8D15AA02B89AF4F00369467 /* UserTokenObject.swift */,
E8E4AAB62B8F95CA0096D77C /* AuthAppleManager.swift */,
); );
path = VM; path = VM;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -318,6 +324,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E86A43CA2B874C6F0084C04D /* AuthPrivacyView.swift */, E86A43CA2B874C6F0084C04D /* AuthPrivacyView.swift */,
E8E4AAB42B8F8E3A0096D77C /* AuthItmeButton.swift */,
); );
path = View; path = View;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -359,6 +366,7 @@
E884E85D2B6900C500ADE6EE /* yinmeng-ios */ = { E884E85D2B6900C500ADE6EE /* yinmeng-ios */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E8E4AAB82B8F99B90096D77C /* yinmeng-ios.entitlements */,
E86A43B12B85E1FC0084C04D /* Modules */, E86A43B12B85E1FC0084C04D /* Modules */,
E86A43AB2B85DFC20084C04D /* Extension */, E86A43AB2B85DFC20084C04D /* Extension */,
E86A43A72B85DF7A0084C04D /* Base */, E86A43A72B85DF7A0084C04D /* Base */,
@@ -607,12 +615,14 @@
E86A43B02B85E11B0084C04D /* BaseNavigationViewController.swift in Sources */, E86A43B02B85E11B0084C04D /* BaseNavigationViewController.swift in Sources */,
E86A43E82B884C5E0084C04D /* String+.swift in Sources */, E86A43E82B884C5E0084C04D /* String+.swift in Sources */,
E8D15AA32B89B03D00369467 /* Deserialized.swift in Sources */, E8D15AA32B89B03D00369467 /* Deserialized.swift in Sources */,
E8E4AAB72B8F95CA0096D77C /* AuthAppleManager.swift in Sources */,
E8D15AC22B8C703C00369467 /* UserFunctionView.swift in Sources */, E8D15AC22B8C703C00369467 /* UserFunctionView.swift in Sources */,
E86A43DA2B877A840084C04D /* AppConfigObject.swift in Sources */, E86A43DA2B877A840084C04D /* AppConfigObject.swift in Sources */,
E8D15AA62B89B0C600369467 /* List+.swift in Sources */, E8D15AA62B89B0C600369467 /* List+.swift in Sources */,
E81A7BAE2B885B20009E736E /* Base64.m in Sources */, E81A7BAE2B885B20009E736E /* Base64.m in Sources */,
E8479E462B8DD5BF009AF878 /* Date+.swift in Sources */, E8479E462B8DD5BF009AF878 /* Date+.swift in Sources */,
E81A7BB22B886299009E736E /* HUDTool.swift in Sources */, E81A7BB22B886299009E736E /* HUDTool.swift in Sources */,
E8E4AAB52B8F8E3A0096D77C /* AuthItmeButton.swift in Sources */,
E86A43BC2B85FA640084C04D /* AuthForgetVC.swift in Sources */, E86A43BC2B85FA640084C04D /* AuthForgetVC.swift in Sources */,
E86A43C32B8628AF0084C04D /* BaseTabBarViewController.swift in Sources */, E86A43C32B8628AF0084C04D /* BaseTabBarViewController.swift in Sources */,
E8479E3B2B8DC5FA009AF878 /* ChatViewModel.swift in Sources */, E8479E3B2B8DC5FA009AF878 /* ChatViewModel.swift in Sources */,
@@ -799,10 +809,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "yinmeng-ios/yinmeng-ios.entitlements";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 48UCG35Q9W; DEVELOPMENT_TEAM = 7684Q29X5F;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "yinmeng-ios/Info.plist"; INFOPLIST_FILE = "yinmeng-ios/Info.plist";
@@ -833,10 +844,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "yinmeng-ios/yinmeng-ios.entitlements";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 48UCG35Q9W; DEVELOPMENT_TEAM = 7684Q29X5F;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "yinmeng-ios/Info.plist"; INFOPLIST_FILE = "yinmeng-ios/Info.plist";

View File

@@ -7,7 +7,7 @@
<key>yinmeng-ios.xcscheme_^#shared#^_</key> <key>yinmeng-ios.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>15</integer> <integer>20</integer>
</dict> </dict>
</dict> </dict>
</dict> </dict>

View File

@@ -17,7 +17,7 @@ var window: UIWindow?
UIApplication.shared.applicationIconBadgeNumber = 0 UIApplication.shared.applicationIconBadgeNumber = 0
self.window = UIWindow.init(frame: UIScreen.main.bounds) self.window = UIWindow.init(frame: UIScreen.main.bounds)
self.window?.backgroundColor = UIColor.white self.window?.backgroundColor = UIColor.white
self.window?.rootViewController = BaseNavigationViewController(rootViewController:AuthLoginVC()) self.window?.rootViewController = BaseNavigationViewController(rootViewController:AuthLaunchVC())
loginStateListener() loginStateListener()
return true return true
} }
@@ -36,7 +36,7 @@ var window: UIWindow?
} }
} else { } else {
/// ///
self.window?.rootViewController = BaseNavigationViewController(rootViewController:AuthLoginVC()) self.window?.rootViewController = BaseNavigationViewController(rootViewController:AuthLaunchVC())
} }
}).disposed(by: rx.disposeBag) }).disposed(by: rx.disposeBag)

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1005 B

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -8,7 +8,306 @@
import UIKit import UIKit
class AuthLaunchVC: BaseViewController, HiddenNavigationBarProtocol { class AuthLaunchVC: BaseViewController, HiddenNavigationBarProtocol {
var viewModel:AuthViewModel = AuthViewModel.authVM
override func viewDidLoad() { 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() {
}
}

View File

@@ -17,6 +17,15 @@ class AuthLoginVC: BaseViewController, HiddenNavigationBarProtocol {
var code:String = "" var code:String = ""
var id:String = "" var id:String = ""
var password:String = "" var password:String = ""
var index:Int? {
didSet {
if index ?? 0 > 0 {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
self.pwdLoginBtnAction()
}
}
}
}
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()

View 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)
}
}
}

View File

@@ -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()
}
}
///tokenticket ///tokenticket
func tokenTransformTicket(accesToken:String) { func tokenTransformTicket(accesToken:String) {
let params = ["access_token": accesToken, "issue_type": "multi"] let params = ["access_token": accesToken, "issue_type": "multi"]

View 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
}()
}

View File

@@ -6,12 +6,12 @@
// //
import UIKit import UIKit
import Reusable
protocol ChatBaseCellProtocol: NSObjectProtocol { protocol ChatBaseCellProtocol: NSObjectProtocol {
func cell(_ cell: ChatBaseCell, didTapAvatarAt model: ChatBaseObject) func cell(_ cell: ChatBaseCell, didTapAvatarAt model: ChatBaseObject)
} }
class ChatBaseCell: UITableViewCell { class ChatBaseCell: UITableViewCell, Reusable{
weak var delegate: ChatBaseCellProtocol? weak var delegate: ChatBaseCellProtocol?
var model:ChatBaseObject? { var model:ChatBaseObject? {
didSet { didSet {

View File

@@ -165,7 +165,7 @@ class PlanetStarClickItemView: UIView {
@objc func chatBtnAction(){ @objc func chatBtnAction(){
if let _refreshBlcok = refreshBlcok,let uid = self.chooseModel?.uid{ if let _refreshBlcok = refreshBlcok,let uid = self.chooseModel?.uid{
_refreshBlcok(uid) _refreshBlcok("\(uid)")
} }
} }
@objc func refreshBtnAction(){ @objc func refreshBtnAction(){

View 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>