opt: login

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-01-05 15:40:49 +08:00
parent f47c500c5b
commit 78180a1dd1
4 changed files with 21 additions and 23 deletions

View File

@@ -6,7 +6,6 @@ import 'package:PiliPalaX/http/user.dart';
import 'package:PiliPalaX/utils/storage.dart';
class MediaController extends CommonController {
RxBool userLogin = false.obs;
List list = [
// {
// 'icon': Icons.file_download_outlined,
@@ -46,9 +45,8 @@ class MediaController extends CommonController {
@override
void onInit() {
super.onInit();
userLogin.value = GStorage.isLogin;
if (userLogin.value) {
mid = GStorage.userInfo.get('userInfoCache')?.mid;
if (mid != null) {
queryData();
}
}
@@ -64,6 +62,6 @@ class MediaController extends CommonController {
Future<LoadingState> customGetData() => UserHttp.userfavFolder(
pn: 1,
ps: 5,
mid: mid ?? GStorage.userInfo.get('userInfoCache')?.mid,
mid: mid,
);
}

View File

@@ -20,7 +20,6 @@ class MediaPage extends StatefulWidget {
class _MediaPageState extends State<MediaPage>
with AutomaticKeepAliveClientMixin {
late MediaController mediaController;
StreamSubscription? _listener;
@override
bool get wantKeepAlive => true;
@@ -32,9 +31,6 @@ class _MediaPageState extends State<MediaPage>
StreamController<bool> mainStream =
Get.find<MainController>().bottomBarStream;
_listener = mediaController.userLogin.listen((status) {
mediaController.onReload();
});
mediaController.scrollController.addListener(
() {
final ScrollDirection direction =
@@ -50,7 +46,6 @@ class _MediaPageState extends State<MediaPage>
@override
void dispose() {
_listener?.cancel();
mediaController.scrollController.removeListener(() {});
super.dispose();
}
@@ -112,16 +107,18 @@ class _MediaPageState extends State<MediaPage>
),
),
],
Obx(() => mediaController.userLogin.value
? favFolder(mediaController, context)
: const SizedBox(height: 0))
Obx(
() => mediaController.loadingState.value is Loading
? const SizedBox.shrink()
: favFolder(),
)
],
),
),
);
}
Widget favFolder(mediaController, context) {
Widget favFolder() {
return Column(
children: [
Divider(
@@ -172,7 +169,7 @@ class _MediaPageState extends State<MediaPage>
),
trailing: IconButton(
tooltip: '刷新',
onPressed: mediaController.onReload,
onPressed: mediaController.onRefresh,
icon: const Icon(
Icons.refresh,
size: 20,

View File

@@ -1,6 +1,7 @@
import 'dart:convert';
import 'dart:math';
import 'package:PiliPalaX/http/loading_state.dart';
import 'package:PiliPalaX/utils/extension.dart';
import 'package:crypto/crypto.dart';
import 'package:flutter/material.dart';
@@ -14,9 +15,11 @@ import 'package:uuid/uuid.dart';
class LoginUtils {
static Future refreshLoginStatus(bool status) async {
try {
// 更改我的页面登录状态
// logout
if (status.not) {
// 更改我的页面登录状态
await Get.find<MineController>().resetUserInfo();
Get.find<MediaController>().loadingState.value = LoadingState.loading();
}
// 更改主页登录状态
@@ -25,8 +28,6 @@ class LoginUtils {
Get.find<MineController>().userLogin.value = status;
Get.find<DynamicsController>().userLogin.value = status;
Get.find<MediaController>().userLogin.value = status;
} catch (err) {
// SmartDialog.showToast('refreshLoginStatus error: ${err.toString()}');
debugPrint('refreshLoginStatus error: $err');

View File

@@ -105,11 +105,13 @@ class Utils {
'端」推荐');
await GStorage.userInfo.put('userInfoCache', result['data']);
try {
final HomeController homeCtr = Get.find<HomeController>();
homeCtr.updateLoginStatus(true);
homeCtr.userFace.value = result['data'].face;
final MediaController mediaCtr = Get.find<MediaController>();
mediaCtr.mid = result['data'].mid;
Get.find<HomeController>()
..updateLoginStatus(true)
..userFace.value = result['data'].face;
Get.find<MediaController>()
..mid = result['data'].mid
..onRefresh();
} catch (_) {}
await LoginUtils.refreshLoginStatus(true);
} else {