Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
陈高翔
/
DreamSleep-iOS
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit a383b474
由
cgx
编写于
2022-04-24 12:18:32 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
自动登录请求接口
1 个父辈
3f3eafb5
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
53 行增加
和
1 行删除
DreamSleep/DreamSleep/HomeModule/Home/Controller/HomeViewController.m
DreamSleep/DreamSleep/Profile/UserLogin/LoginUtils.h
DreamSleep/DreamSleep/Profile/UserLogin/LoginUtils.m
DreamSleep/DreamSleep/Profile/UserLogin/UserModel.m
DreamSleep/DreamSleep/Profile/UserLogin/UserRequestModel.h
DreamSleep/DreamSleep/Profile/UserLogin/UserRequestModel.m
DreamSleep/DreamSleep/HomeModule/Home/Controller/HomeViewController.m
查看文件 @
a383b47
...
...
@@ -7,6 +7,7 @@
#import "HomeViewController.h"
#import "HomeTableView.h"
#import "UserRequestModel.h"
@interface
HomeViewController
()
@property
(
nonatomic
,
strong
)
HomeTableView
*
homeTV
;
...
...
@@ -25,6 +26,12 @@
UILabel
*
leftLab
=
[
UILabel
dkLabWithText
:
@"小梦睡眠"
font
:
BoldFont
(
24
.
0
)];
UIBarButtonItem
*
leftItem
=
[[
UIBarButtonItem
alloc
]
initWithCustomView
:
leftLab
];
self
.
navigationItem
.
leftBarButtonItem
=
leftItem
;
if
([
LoginUtils
getUserLoginData
])
{
// 自动登录请求(调用时机)
[
UserRequestModel
autoLoginRequestWithCompletion
:
^
(
UserRequestModel
*
_Nonnull
requestModel
)
{
}];
}
}
#pragma mark - 导航栏日间、黑夜模式
...
...
DreamSleep/DreamSleep/Profile/UserLogin/LoginUtils.h
查看文件 @
a383b47
...
...
@@ -22,6 +22,14 @@ NS_ASSUME_NONNULL_BEGIN
/// 获取sid
+
(
NSString
*
)
getSid
;
/// 获取token
+
(
NSString
*
)
getToken
;
/// 更新sid和token
/// @param sid sid
/// @param token token
+
(
void
)
updateSid
:(
NSString
*
)
sid
token
:(
NSString
*
)
token
;
/// 保存用户登录数据
+
(
void
)
saveUserLoginData
:(
UserModel
*
)
model
;
...
...
DreamSleep/DreamSleep/Profile/UserLogin/LoginUtils.m
查看文件 @
a383b47
...
...
@@ -26,6 +26,18 @@
return
userModel
.
sid
;
}
+
(
NSString
*
)
getToken
{
UserModel
*
userModel
=
[
self
getUserLoginData
];
return
userModel
.
token
;
}
+
(
void
)
updateSid
:
(
NSString
*
)
sid
token
:
(
NSString
*
)
token
{
UserModel
*
userModel
=
[
self
getUserLoginData
];
userModel
.
sid
=
sid
;
userModel
.
token
=
token
;
[
self
saveUserLoginData
:
userModel
];
}
+
(
void
)
saveUserLoginData
:
(
UserModel
*
)
model
{
NSData
*
userData
=
[
NSKeyedArchiver
archivedDataWithRootObject
:
model
];
kSetUserDefaultsObj
(
userData
,
UserBasicInfo
);
...
...
DreamSleep/DreamSleep/Profile/UserLogin/UserModel.m
查看文件 @
a383b47
...
...
@@ -15,6 +15,7 @@
[
aCoder
encodeObject
:
_birthday
forKey
:
@"birthday"
];
[
aCoder
encodeObject
:
@
(
_user_id
)
forKey
:
@"user_id"
];
[
aCoder
encodeObject
:
_token
forKey
:
@"token"
];
[
aCoder
encodeObject
:
_sid
forKey
:
@"sid"
];
[
aCoder
encodeObject
:
_face_img
forKey
:
@"face_img"
];
}
...
...
@@ -24,6 +25,7 @@
_birthday
=
[
aDecoder
decodeObjectForKey
:
@"birthday"
];
_user_id
=
[[
aDecoder
decodeObjectForKey
:
@"user_id"
]
intValue
];
_token
=
[
aDecoder
decodeObjectForKey
:
@"token"
];
_sid
=
[
aDecoder
decodeObjectForKey
:
@"sid"
];
_face_img
=
[
aDecoder
decodeObjectForKey
:
@"face_img"
];
return
self
;
...
...
DreamSleep/DreamSleep/Profile/UserLogin/UserRequestModel.h
查看文件 @
a383b47
...
...
@@ -34,6 +34,10 @@ NS_ASSUME_NONNULL_BEGIN
/// @param completion completion
+
(
NSURLSessionDataTask
*
)
closeUserRequestWithCompletion
:(
void
(
^
)(
UserRequestModel
*
requestModel
))
completion
;
/// 自动登录请求(用于更新token,登录成功后定期调用)
/// @param completion completion
+
(
NSURLSessionDataTask
*
)
autoLoginRequestWithCompletion
:(
void
(
^
)(
UserRequestModel
*
requestModel
))
completion
;
@end
NS_ASSUME_NONNULL_END
DreamSleep/DreamSleep/Profile/UserLogin/UserRequestModel.m
查看文件 @
a383b47
...
...
@@ -76,7 +76,26 @@
int
user_id
=
[
LoginUtils
getUserID
];
NSString
*
argStr
=
[
NSString
stringWithFormat
:
@"mutation{%@(user_id:%d)}"
,
api
,
user_id
];
return
[
self
httpPostBodyRequestWithAPI
:
api
params
:@{
@"query"
:
argStr
}
view
:
nil
hasNetActivity
:
YES
loadingInfo
:
nil
hasFailInfo
:
YES
success
:^
(
NSDictionary
*
_Nonnull
apiDic
)
{
DSLog
(
@"用户用户注销账户接口apiDic:%@"
,
apiDic
);
DSLog
(
@"用户注销账户接口apiDic:%@"
,
apiDic
);
requestModel
.
resCode
=
DSResCodeSuccess
;
completion
(
requestModel
);
}
failure
:^
(
id
_Nonnull
failureInfo
)
{
requestModel
.
resCode
=
DSResCodeNetFail
;
requestModel
.
errorInfo
=
failureInfo
;
completion
(
requestModel
);
}];
}
+
(
NSURLSessionDataTask
*
)
autoLoginRequestWithCompletion
:(
void
(
^
)(
UserRequestModel
*
requestModel
))
completion
{
UserRequestModel
*
requestModel
=
[[
UserRequestModel
alloc
]
init
];
NSString
*
api
=
@"auto_login"
;
NSString
*
token
=
[
LoginUtils
getToken
];
NSString
*
argStr
=
[
NSString
stringWithFormat
:
@"mutation{%@(token:
\"
%@
\"
)}"
,
api
,
token
];
return
[
self
httpPostBodyRequestWithAPI
:
api
params
:@{
@"query"
:
argStr
}
view
:
nil
hasNetActivity
:
YES
loadingInfo
:
nil
hasFailInfo
:
YES
success
:^
(
NSDictionary
*
_Nonnull
apiDic
)
{
DSLog
(
@"用户自动登录接口apiDic:%@
\n
, token:%@
\n
, sid:%@"
,
apiDic
,
token
,
[
LoginUtils
getSid
]);
NSDictionary
*
resultDic
=
apiDic
[
@"result"
];
[
LoginUtils
updateSid
:
resultDic
[
@"sid"
]
token
:
resultDic
[
@"token"
]];
DSLog
(
@"自动登录成功后token:%@
\n
, sid:%@"
,
[
LoginUtils
getToken
],
[
LoginUtils
getSid
]);
requestModel
.
resCode
=
DSResCodeSuccess
;
completion
(
requestModel
);
}
failure
:^
(
id
_Nonnull
failureInfo
)
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论