Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
c5f4c204
Commit
c5f4c204
authored
May 29, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信登录 apple登录伪逻辑
parent
89fd1a3c
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
199 additions
and
44 deletions
+199
-44
YHCodeSueecssViewController.swift
...ses/Modules/Login(登录)/C/YHCodeSueecssViewController.swift
+34
-13
YHOtherLoginViewController.swift
...sses/Modules/Login(登录)/C/YHOtherLoginViewController.swift
+104
-29
YHLoginViewModel.swift
...alaxy/Classes/Modules/Login(登录)/VM/YHLoginViewModel.swift
+53
-0
YHShareManager.swift
galaxy/galaxy/Classes/Tools/Analytics/YHShareManager.swift
+7
-2
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+1
-0
No files found.
galaxy/galaxy/Classes/Modules/Login(登录)/C/YHCodeSueecssViewController.swift
View file @
c5f4c204
...
@@ -19,8 +19,10 @@ class YHCodeSueecssViewController: YHBaseViewController {
...
@@ -19,8 +19,10 @@ class YHCodeSueecssViewController: YHBaseViewController {
var
getCodeButton
:
UIButton
!
var
getCodeButton
:
UIButton
!
var
smscodeView
:
YHSmsCodeInputView
!
var
smscodeView
:
YHSmsCodeInputView
!
var
phoneNumber
:
String
?
var
phoneNumber
:
String
?
var
type
:
YHLoginType
=
.
phone
var
viewModel
:
YHLoginViewModel
?
var
viewModel
:
YHLoginViewModel
?
var
token
:
String
=
""
override
func
viewDidLoad
()
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
super
.
viewDidLoad
()
viewModel
=
YHLoginViewModel
()
viewModel
=
YHLoginViewModel
()
...
@@ -132,18 +134,37 @@ class YHCodeSueecssViewController: YHBaseViewController {
...
@@ -132,18 +134,37 @@ class YHCodeSueecssViewController: YHBaseViewController {
}
}
func
requetLogin
(
phone
:
String
,
code
:
String
)
{
func
requetLogin
(
phone
:
String
,
code
:
String
)
{
YHHUD
.
show
(
.
progress
(
message
:
"登录中..."
))
if
type
==
.
phone
{
self
.
viewModel
?
.
login
(
phone
:
phone
,
code
:
code
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
YHHUD
.
show
(
.
progress
(
message
:
"登录中..."
))
YHHUD
.
hide
()
self
.
viewModel
?
.
login
(
phone
:
phone
,
code
:
code
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
YHHUD
.
hide
()
if
success
==
false
{
guard
let
self
=
self
else
{
return
}
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
""
)
if
success
==
false
{
}
else
{
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
""
)
YHLoginManager
.
shared
.
loginSuccessActionBlock
?()
}
else
{
YHHUD
.
flash
(
message
:
"登录成功"
)
YHLoginManager
.
shared
.
loginSuccessActionBlock
?()
self
.
dismiss
(
animated
:
true
)
YHHUD
.
flash
(
message
:
"登录成功"
)
}
self
.
dismiss
(
animated
:
true
)
})
}
})
}
if
type
==
.
wechat
{
self
.
viewModel
?
.
wxlogin
(
unionId
:
self
.
token
,
phone
:
phone
,
code
:
code
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
==
false
{
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
""
)
}
else
{
YHLoginManager
.
shared
.
loginSuccessActionBlock
?()
YHHUD
.
flash
(
message
:
"登录成功"
)
self
.
dismiss
(
animated
:
true
)
}
})
}
if
type
==
.
apple
{
//苹果登录逻辑
}
}
}
func
startTime
()
{
func
startTime
()
{
...
...
galaxy/galaxy/Classes/Modules/Login(登录)/C/YHOtherLoginViewController.swift
View file @
c5f4c204
...
@@ -32,8 +32,9 @@ class YHOtherLoginViewController: YHBaseViewController {
...
@@ -32,8 +32,9 @@ class YHOtherLoginViewController: YHBaseViewController {
var
wechatButton
:
UIButton
!
var
wechatButton
:
UIButton
!
var
appleButton
:
UIButton
!
var
appleButton
:
UIButton
!
var
privacyView
:
YHLoginPrivacyView
!
var
privacyView
:
YHLoginPrivacyView
!
var
viewModel
:
YHLoginViewModel
?
var
viewModel
:
YHLoginViewModel
!
var
type
:
YHLoginType
=
.
phone
var
type
:
YHLoginType
=
.
phone
var
token
:
String
=
""
override
func
viewDidLoad
()
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
super
.
viewDidLoad
()
...
@@ -176,24 +177,74 @@ class YHOtherLoginViewController: YHBaseViewController {
...
@@ -176,24 +177,74 @@ class YHOtherLoginViewController: YHBaseViewController {
loginSubTitleLabel
.
text
=
"微信号首次登录绑定手机号"
loginSubTitleLabel
.
text
=
"微信号首次登录绑定手机号"
appleButton
.
isHidden
=
true
appleButton
.
isHidden
=
true
wechatButton
.
isHidden
=
true
wechatButton
.
isHidden
=
true
privacyView
.
isHidden
=
true
case
.
apple
:
case
.
apple
:
loginTitleLabel
.
text
=
"手机号绑定"
loginTitleLabel
.
text
=
"手机号绑定"
loginSubTitleLabel
.
text
=
"Apple ID首次登录需绑定手机号"
loginSubTitleLabel
.
text
=
"Apple ID首次登录需绑定手机号"
appleButton
.
isHidden
=
true
appleButton
.
isHidden
=
true
wechatButton
.
isHidden
=
true
wechatButton
.
isHidden
=
true
privacyView
.
isHidden
=
true
}
}
}
}
@objc
func
getCode
()
{
@objc
func
getCode
()
{
IQKeyboardManager
.
shared
.
resignFirstResponder
()
IQKeyboardManager
.
shared
.
resignFirstResponder
()
if
type
==
.
phone
{
let
phoneNumer
=
phoneMessageView
.
phoneTextField
.
text
??
""
let
phoneNumer
=
phoneMessageView
.
phoneTextField
.
text
??
""
guard
phoneNumer
.
isMobile
()
==
true
else
{
guard
phoneNumer
.
isMobile
()
==
true
else
{
YHHUD
.
flash
(
message
:
"请输入正确的手机号"
)
YHHUD
.
flash
(
message
:
"请输入正确的手机号"
)
return
return
}
if
privacyView
.
isAgree
{
YHHUD
.
show
(
.
progress
(
message
:
""
))
viewModel
?
.
getLoginCode
(
phoneNumer
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
YHHUD
.
hide
()
guard
let
self
=
self
else
{
return
}
if
success
==
true
{
let
vc
=
YHCodeSueecssViewController
()
vc
.
phoneNumber
=
self
.
phoneMessageView
.
phoneTextField
.
text
vc
.
type
=
self
.
type
vc
.
token
=
self
.
token
self
.
navigationController
?
.
pushViewController
(
vc
)
}
else
{
var
msg
=
error
?
.
errorMsg
??
""
if
msg
.
isEmpty
{
msg
=
String
(
error
?
.
errorCode
??
404
)
}
YHHUD
.
flash
(
message
:
msg
)
}
})
}
else
{
let
view
=
YHPrivacyAlertView
(
frame
:
view
.
bounds
)
view
.
urlBlock
=
{
[
weak
self
]
(
type
,
url
)
in
guard
let
self
=
self
else
{
return
}
let
vc
=
YHWebViewViewController
()
vc
.
url
=
url
if
type
==
0
{
vc
.
navTitle
=
"银河港生活隐私政策"
}
else
if
type
==
1
{
vc
.
navTitle
=
"银河港生活用户条款"
}
self
.
navigationController
?
.
pushViewController
(
vc
)
}
view
.
agreeBlock
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
privacyView
.
isAgree
=
true
self
.
getCode
()
}
self
.
view
.
addSubview
(
view
)
}
}
}
if
privacyView
.
isAgree
{
if
type
==
.
wechat
{
let
phoneNumer
=
phoneMessageView
.
phoneTextField
.
text
??
""
guard
phoneNumer
.
isMobile
()
==
true
else
{
YHHUD
.
flash
(
message
:
"请输入正确的手机号"
)
return
}
YHHUD
.
show
(
.
progress
(
message
:
""
))
YHHUD
.
show
(
.
progress
(
message
:
""
))
viewModel
?
.
getLoginCode
(
phoneNumer
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
viewModel
?
.
getLoginCode
(
phoneNumer
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
YHHUD
.
hide
()
YHHUD
.
hide
()
...
@@ -203,6 +254,8 @@ class YHOtherLoginViewController: YHBaseViewController {
...
@@ -203,6 +254,8 @@ class YHOtherLoginViewController: YHBaseViewController {
if
success
==
true
{
if
success
==
true
{
let
vc
=
YHCodeSueecssViewController
()
let
vc
=
YHCodeSueecssViewController
()
vc
.
phoneNumber
=
self
.
phoneMessageView
.
phoneTextField
.
text
vc
.
phoneNumber
=
self
.
phoneMessageView
.
phoneTextField
.
text
vc
.
type
=
self
.
type
vc
.
token
=
self
.
token
self
.
navigationController
?
.
pushViewController
(
vc
)
self
.
navigationController
?
.
pushViewController
(
vc
)
}
else
{
}
else
{
var
msg
=
error
?
.
errorMsg
??
""
var
msg
=
error
?
.
errorMsg
??
""
...
@@ -212,34 +265,56 @@ class YHOtherLoginViewController: YHBaseViewController {
...
@@ -212,34 +265,56 @@ class YHOtherLoginViewController: YHBaseViewController {
YHHUD
.
flash
(
message
:
msg
)
YHHUD
.
flash
(
message
:
msg
)
}
}
})
})
}
else
{
}
let
view
=
YHPrivacyAlertView
(
frame
:
view
.
bounds
)
if
type
==
.
apple
{
view
.
urlBlock
=
{
[
weak
self
]
(
type
,
url
)
in
let
phoneNumer
=
phoneMessageView
.
phoneTextField
.
text
??
""
guard
let
self
=
self
else
{
return
}
guard
phoneNumer
.
isMobile
()
==
true
else
{
let
vc
=
YHWebViewViewController
()
YHHUD
.
flash
(
message
:
"请输入正确的手机号"
)
vc
.
url
=
url
return
if
type
==
0
{
vc
.
navTitle
=
"银河港生活隐私政策"
}
else
if
type
==
1
{
vc
.
navTitle
=
"银河港生活用户条款"
}
self
.
navigationController
?
.
pushViewController
(
vc
)
}
}
view
.
agreeBlock
=
{
[
weak
self
]
in
YHHUD
.
show
(
.
progress
(
message
:
""
))
viewModel
?
.
getLoginCode
(
phoneNumer
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
YHHUD
.
hide
()
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
self
.
privacyView
.
isAgree
=
true
self
.
getCode
()
if
success
==
true
{
}
let
vc
=
YHCodeSueecssViewController
()
self
.
view
.
addSubview
(
view
)
vc
.
phoneNumber
=
self
.
phoneMessageView
.
phoneTextField
.
text
vc
.
type
=
self
.
type
vc
.
token
=
self
.
token
self
.
navigationController
?
.
pushViewController
(
vc
)
}
else
{
var
msg
=
error
?
.
errorMsg
??
""
if
msg
.
isEmpty
{
msg
=
String
(
error
?
.
errorCode
??
404
)
}
YHHUD
.
flash
(
message
:
msg
)
}
})
}
}
}
}
@objc
func
wechatLogin
()
{
@objc
func
wechatLogin
()
{
//第一次微信登录跳转逻辑
let
login
=
YHShareManager
.
shared
let
vc
=
YHOtherLoginViewController
()
login
.
sendLogin
()
vc
.
type
=
.
wechat
login
.
success
=
{
[
weak
self
]
unionId
in
navigationController
?
.
pushViewController
(
vc
)
guard
let
self
=
self
else
{
return
}
self
.
viewModel
.
wxlogin
(
unionId
:
unionId
,
phone
:
""
,
code
:
""
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
{
YHLoginManager
.
shared
.
loginSuccessActionBlock
?()
YHHUD
.
flash
(
message
:
"登录成功"
)
self
.
dismiss
(
animated
:
true
)
}
else
{
//第一次微信登录跳转逻辑
let
vc
=
YHOtherLoginViewController
()
vc
.
type
=
.
wechat
vc
.
token
=
unionId
navigationController
?
.
pushViewController
(
vc
)
}
}
}
}
}
@objc
func
appleLogin
()
{
@objc
func
appleLogin
()
{
...
...
galaxy/galaxy/Classes/Modules/Login(登录)/VM/YHLoginViewModel.swift
View file @
c5f4c204
...
@@ -132,4 +132,57 @@ extension YHLoginViewModel {
...
@@ -132,4 +132,57 @@ extension YHLoginViewModel {
callBackBlock
(
false
,
error
)
callBackBlock
(
false
,
error
)
}
}
}
}
func
wxlogin
(
unionId
:
String
,
phone
:
String
,
code
:
String
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
timestamp
=
Int
(
Date
()
.
timeIntervalSince1970
)
print
(
timestamp
)
var
params
:
[
String
:
Any
]
=
[
"union_id"
:
unionId
,
"client"
:
"super_app"
,
"testTimestamp"
:
timestamp
]
if
phone
==
""
{
params
=
[
"union_id"
:
unionId
,
"mobile"
:
phone
,
"sms_code"
:
code
,
"client"
:
"super_app"
,
"testTimestamp"
:
timestamp
]
}
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Auth
.
wxlogin
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
printLog
(
json
)
let
dic
=
json
.
data
guard
let
resultModel
=
YHUserModel
.
deserialize
(
dict
:
dic
as?
[
AnyHashable
:
Any
])
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
-
1
,
errorMsg
:
"数据解析不成功"
)
callBackBlock
(
false
,
error
)
return
}
if
json
.
code
==
200
{
if
resultModel
.
token
?
.
count
!=
0
{
//token 正常
self
.
userModel
=
resultModel
YHLoginManager
.
shared
.
userModel
=
resultModel
//数据保存到本地
YHLoginManager
.
shared
.
saveLocalUserInfo
()
NotificationCenter
.
default
.
post
(
name
:
YhConstant
.
YhNotification
.
didLoginSuccessNotifiction
,
object
:
nil
)
//回调
callBackBlock
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
-
2
,
errorMsg
:
"token 不合法"
)
callBackBlock
(
false
,
error
)
}
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
}
galaxy/galaxy/Classes/Tools/Analytics/YHShareManager.swift
View file @
c5f4c204
...
@@ -12,6 +12,8 @@ import Alamofire
...
@@ -12,6 +12,8 @@ import Alamofire
class
YHShareManager
:
NSObject
{
class
YHShareManager
:
NSObject
{
static
let
shared
=
YHShareManager
()
static
let
shared
=
YHShareManager
()
var
scene
:
WXScene
=
WXSceneSession
var
scene
:
WXScene
=
WXSceneSession
typealias
SuccessHandlerType
=
(
String
)
->
Void
var
success
:
SuccessHandlerType
?
}
}
extension
YHShareManager
{
extension
YHShareManager
{
...
@@ -50,10 +52,13 @@ extension YHShareManager {
...
@@ -50,10 +52,13 @@ extension YHShareManager {
let
errorResponseMsg
=
string
.
error
?
.
localizedDescription
??
""
let
errorResponseMsg
=
string
.
error
?
.
localizedDescription
??
""
let
resultValue
=
string
.
value
??
""
let
resultValue
=
string
.
value
??
""
let
serverDict
=
resultValue
.
toDictionary
()
let
serverDict
=
resultValue
.
toDictionary
()
guard
let
access_token
=
serverDict
[
"access_token"
]
as?
String
,
let
openid
=
serverDict
[
"openid"
]
as?
String
else
{
guard
let
access_token
=
serverDict
[
"access_token"
]
as?
String
,
let
openid
=
serverDict
[
"openid"
]
as?
String
,
let
unionid
=
serverDict
[
"unionid"
]
as?
String
else
{
return
return
}
}
self
.
getWechatUserInfo
(
with
:
access_token
,
openId
:
openid
)
if
let
block
=
self
.
success
{
block
(
unionid
)
}
// self.getWechatUserInfo(with: access_token, openId: openid)
})
})
}
}
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
c5f4c204
...
@@ -162,6 +162,7 @@ class YHAllApiName {
...
@@ -162,6 +162,7 @@ class YHAllApiName {
//登录
//登录
struct
Auth
{
struct
Auth
{
static
let
login
=
"infoflow/auth/login"
static
let
login
=
"infoflow/auth/login"
static
let
wxlogin
=
"infoflow/auth/wechat-login"
static
let
logout
=
"infoflow/auth/logout"
static
let
logout
=
"infoflow/auth/logout"
//注销app
//注销app
static
let
unregisterApi
=
"infoflow/auth/cancellation"
static
let
unregisterApi
=
"infoflow/auth/cancellation"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment