Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
book-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
book-app
Commits
57e655c8
提交
57e655c8
authored
3月 13, 2024
作者:
yueweilu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
第二个用户登录 第一个登录的用户退出登录
上级
ec1b92d8
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
50 行增加
和
14 行删除
+50
-14
controller.dart
lib/pages/login/controller.dart
+12
-8
controller.dart
lib/pages/read_web/controller.dart
+2
-1
routes.dart
lib/routes/routes.dart
+10
-1
http.dart
lib/services/http.dart
+8
-3
user.dart
lib/store/user.dart
+18
-1
没有找到文件。
lib/pages/login/controller.dart
浏览文件 @
57e655c8
...
...
@@ -89,7 +89,7 @@ class LoginController extends GetxController {
/// 测试账号
if
(
kDebugMode
)
{
phoneInput
.
text
=
'13521054068'
;
passwordInput
.
text
=
'
zj123456
'
;
passwordInput
.
text
=
'
12345678
'
;
// phoneInput.text = '17311837355';
// passwordInput.text = '12345678';
}
...
...
@@ -138,14 +138,18 @@ class LoginController extends GetxController {
// 存储用户信息
await
Future
.
wait
([
UserStore
.
to
.
setToken
(
result
.
token
!),
UserStore
.
to
.
setAccessToken
(
result
.
accessToken
!),
]);
await
Future
.
wait
([
UserStore
.
to
.
setInfo
(
result
),
UserStore
.
to
.
profile
(),
UserStore
.
to
.
login
(
result
)
]);
// await Future.wait([
// UserStore.to.setToken(result.token!),
// UserStore.to.setAccessToken(result.accessToken!),
//
// ]);
//
// await Future.wait([
// UserStore.to.setInfo(result),
// UserStore.to.profile(),
// ]);
if
(!
context
.
mounted
)
return
;
if
(
context
.
canPop
()){
...
...
lib/pages/read_web/controller.dart
浏览文件 @
57e655c8
...
...
@@ -635,6 +635,7 @@ class ReadController extends FullLifeCycleController with GetSingleTickerProvide
Console
.
log
(
'解压缩文件:
$fileName
,保存路径:
$filePath
'
);
}
}
CustomToast
.
dismiss
();
Toast
.
show
(
'离线成功'
);
final
exit
=
await
_isExistFile
(
bookId
);
update
();
...
...
@@ -842,7 +843,6 @@ class ReadController extends FullLifeCycleController with GetSingleTickerProvide
/// 添加阅读时长
void
_addReadTime
({
required
type
})
async
{
final
result
=
await
LibraryAPI
.
addReadTime
(
bookId:
bookId
,
readTypes:
type
);
Console
.
log
(
'-------------
$result
-------------------'
);
}
/// 获取离线文件路径
void
getBookDown
()
async
{
...
...
@@ -852,6 +852,7 @@ class ReadController extends FullLifeCycleController with GetSingleTickerProvide
}
else
{
CustomToast
.
loading
();
final
result
=
await
LibraryAPI
.
getbookDownloadParam
(
bookId:
bookId
);
Console
.
log
(
'----------_getBookDown------------------
${result.download}
'
);
...
...
lib/routes/routes.dart
浏览文件 @
57e655c8
...
...
@@ -140,7 +140,16 @@ abstract class Routes {
initialLocation:
'/
$splash
'
,
// initialLocation: '/',
observers:
[
observer
],
// redirect: (context, state) => _RouteRedirect.auth(),
refreshListenable:
UserStore
.
to
.
needLogin
,
redirect:
(
context
,
state
)
{
final
currentRoute
=
state
.
matchedLocation
;
final
loginRoute
=
state
.
namedLocation
(
login
);
final
mainRoute
=
state
.
namedLocation
(
main
);
if
(
currentRoute
.
contains
(
mainRoute
))
return
null
;
if
(
currentRoute
.
contains
(
loginRoute
))
return
null
;
if
(!
UserStore
.
to
.
isLogin
)
return
loginRoute
;
return
null
;
},
routes:
[
GoRoute
(
path:
'/
$splash
'
,
...
...
lib/services/http.dart
浏览文件 @
57e655c8
...
...
@@ -99,9 +99,6 @@ class HttpService extends GetxService {
try
{
final
requestOptions
=
options
??
Options
();
requestOptions
.
headers
=
_getHeaders
(
excludeToken:
excludeToken
,
params:
params
,
url:
url
);
Console
.
log
(
'----headers------
${requestOptions.headers}
'
);
Console
.
log
(
'----params------
$params
'
);
// 如果启用缓存,将cacheEnabled参数添加到请求选项中
if
(
cacheEnabled
){
requestOptions
.
extra
??=
{};
...
...
@@ -114,6 +111,7 @@ class HttpService extends GetxService {
cancelToken:
cancelToken
,
);
if
(
showLoading
)
CustomToast
.
dismiss
();
Console
.
log
(
'----headers------
${requestOptions.headers}
\n
----params------
$params
-----'
);
Console
.
log
(
response
.
data
);
return
ResponseModel
.
fromJson
(
response
.
data
);
}
catch
(
error
){
...
...
@@ -313,6 +311,7 @@ class _RequestInterceptor extends Interceptor {
Future
<
String
?>
refreshToken
()
async
{
Console
.
log
(
'--------refreshToken----------------'
);
final
result
=
await
HttpService
.
to
.
post
(
'/v1/members/login/getToken'
,
params:
{
...
...
@@ -320,6 +319,12 @@ class _RequestInterceptor extends Interceptor {
}
);
if
(
result
.
data
is
Map
)
{
final
String
token
=
result
.
data
[
'token'
];
final
String
accessToken
=
result
.
data
[
'access_token'
];
if
(
token
.
isEmpty
&&
accessToken
.
isEmpty
){
UserStore
.
to
.
logout
();
return
null
;
}
await
Future
.
wait
([
UserStore
.
to
.
setToken
(
result
.
data
[
'token'
]),
UserStore
.
to
.
setAccessToken
(
result
.
data
[
'access_token'
]),
...
...
lib/store/user.dart
浏览文件 @
57e655c8
part of
store
;
class
UserStore
extends
GetxController
{
class
UserStore
extends
GetxController
{
// 获取 UserStore 实例
static
UserStore
get
to
=>
Get
.
find
();
...
...
@@ -21,6 +21,10 @@ class UserStore extends GetxController {
UserModel
_info
=
UserModel
();
UserModel
get
info
=>
_info
;
// 是否需要登录
final
ValueNotifier
<
bool
>
_needLogin
=
ValueNotifier
<
bool
>(
false
);
ValueNotifier
<
bool
>
get
needLogin
=>
_needLogin
;
@override
...
...
@@ -29,6 +33,17 @@ class UserStore extends GetxController {
_token
=
StorageService
.
to
.
getString
(
kLocalToken
);
}
Future
<
void
>
login
(
UserModel
value
)
async
{
_token
=
value
.
token
??
''
;
_accessToken
=
value
.
accessToken
??
''
;
await
StorageService
.
to
.
setString
(
kLocalToken
,
_token
);
await
StorageService
.
to
.
setString
(
kLocalAccessToken
,
value
.
accessToken
??
''
);
await
StorageService
.
to
.
setString
(
kLocalUserInfo
,
jsonEncode
(
value
.
toJson
()));
_needLogin
.
value
=
false
;
_info
=
value
;
_isLogin
=
true
;
update
();
}
Future
<
void
>
setToken
(
String
value
)
async
{
await
StorageService
.
to
.
setString
(
kLocalToken
,
value
);
_token
=
value
;
...
...
@@ -41,6 +56,7 @@ class UserStore extends GetxController {
Future
<
void
>
setInfo
(
UserModel
value
)
async
{
await
StorageService
.
to
.
setString
(
kLocalUserInfo
,
jsonEncode
(
value
.
toJson
()));
_needLogin
.
value
=
false
;
_info
=
value
;
}
...
...
@@ -51,6 +67,7 @@ class UserStore extends GetxController {
await
StorageService
.
to
.
remove
(
kLocalUserInfo
);
_token
=
''
;
_isLogin
=
false
;
_needLogin
.
value
=
true
;
}
Future
<
void
>
profile
()
async
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论