mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
@@ -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,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user