opt: 媒体库页面登录跳转

This commit is contained in:
guozhigq
2024-05-03 22:58:14 +08:00
parent b89a11dcfb
commit 547fad884f
14 changed files with 157 additions and 51 deletions

View File

@ -17,10 +17,15 @@ class SubController extends GetxController {
int pageSize = 20;
RxBool hasMore = true.obs;
Future<dynamic> querySubFolder({type = 'init'}) async {
@override
void onInit() {
super.onInit();
userInfo = userInfoCache.get('userInfoCache');
}
Future<dynamic> querySubFolder({type = 'init'}) async {
if (userInfo == null) {
return {'status': false, 'msg': '账号未登录'};
return {'status': false, 'msg': '账号未登录', 'code': -101};
}
var res = await UserHttp.userSubFolder(
pn: currentPage,

View File

@ -2,6 +2,7 @@ import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/utils/route_push.dart';
import 'controller.dart';
import 'widgets/item.dart';
@ -68,8 +69,18 @@ class _SubPageState extends State<SubPage> {
physics: const NeverScrollableScrollPhysics(),
slivers: [
HttpError(
errMsg: data?['msg'],
fn: () => setState(() {}),
errMsg: data?['msg'] ?? '请求异常',
btnText: data?['code'] == -101 ? '去登录' : null,
fn: () {
if (data?['code'] == -101) {
RoutePush.loginRedirectPush();
} else {
setState(() {
_futureBuilderFuture =
_subController.querySubFolder();
});
}
},
),
],
);