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';
|
import 'package:PiliPalaX/utils/storage.dart';
|
||||||
|
|
||||||
class MediaController extends CommonController {
|
class MediaController extends CommonController {
|
||||||
RxBool userLogin = false.obs;
|
|
||||||
List list = [
|
List list = [
|
||||||
// {
|
// {
|
||||||
// 'icon': Icons.file_download_outlined,
|
// 'icon': Icons.file_download_outlined,
|
||||||
@@ -46,9 +45,8 @@ class MediaController extends CommonController {
|
|||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
userLogin.value = GStorage.isLogin;
|
mid = GStorage.userInfo.get('userInfoCache')?.mid;
|
||||||
|
if (mid != null) {
|
||||||
if (userLogin.value) {
|
|
||||||
queryData();
|
queryData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -64,6 +62,6 @@ class MediaController extends CommonController {
|
|||||||
Future<LoadingState> customGetData() => UserHttp.userfavFolder(
|
Future<LoadingState> customGetData() => UserHttp.userfavFolder(
|
||||||
pn: 1,
|
pn: 1,
|
||||||
ps: 5,
|
ps: 5,
|
||||||
mid: mid ?? GStorage.userInfo.get('userInfoCache')?.mid,
|
mid: mid,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ class MediaPage extends StatefulWidget {
|
|||||||
class _MediaPageState extends State<MediaPage>
|
class _MediaPageState extends State<MediaPage>
|
||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
late MediaController mediaController;
|
late MediaController mediaController;
|
||||||
StreamSubscription? _listener;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool get wantKeepAlive => true;
|
bool get wantKeepAlive => true;
|
||||||
@@ -32,9 +31,6 @@ class _MediaPageState extends State<MediaPage>
|
|||||||
StreamController<bool> mainStream =
|
StreamController<bool> mainStream =
|
||||||
Get.find<MainController>().bottomBarStream;
|
Get.find<MainController>().bottomBarStream;
|
||||||
|
|
||||||
_listener = mediaController.userLogin.listen((status) {
|
|
||||||
mediaController.onReload();
|
|
||||||
});
|
|
||||||
mediaController.scrollController.addListener(
|
mediaController.scrollController.addListener(
|
||||||
() {
|
() {
|
||||||
final ScrollDirection direction =
|
final ScrollDirection direction =
|
||||||
@@ -50,7 +46,6 @@ class _MediaPageState extends State<MediaPage>
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
_listener?.cancel();
|
|
||||||
mediaController.scrollController.removeListener(() {});
|
mediaController.scrollController.removeListener(() {});
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
@@ -112,16 +107,18 @@ class _MediaPageState extends State<MediaPage>
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
Obx(() => mediaController.userLogin.value
|
Obx(
|
||||||
? favFolder(mediaController, context)
|
() => mediaController.loadingState.value is Loading
|
||||||
: const SizedBox(height: 0))
|
? const SizedBox.shrink()
|
||||||
|
: favFolder(),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget favFolder(mediaController, context) {
|
Widget favFolder() {
|
||||||
return Column(
|
return Column(
|
||||||
children: [
|
children: [
|
||||||
Divider(
|
Divider(
|
||||||
@@ -172,7 +169,7 @@ class _MediaPageState extends State<MediaPage>
|
|||||||
),
|
),
|
||||||
trailing: IconButton(
|
trailing: IconButton(
|
||||||
tooltip: '刷新',
|
tooltip: '刷新',
|
||||||
onPressed: mediaController.onReload,
|
onPressed: mediaController.onRefresh,
|
||||||
icon: const Icon(
|
icon: const Icon(
|
||||||
Icons.refresh,
|
Icons.refresh,
|
||||||
size: 20,
|
size: 20,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
|
import 'package:PiliPalaX/http/loading_state.dart';
|
||||||
import 'package:PiliPalaX/utils/extension.dart';
|
import 'package:PiliPalaX/utils/extension.dart';
|
||||||
import 'package:crypto/crypto.dart';
|
import 'package:crypto/crypto.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -14,9 +15,11 @@ import 'package:uuid/uuid.dart';
|
|||||||
class LoginUtils {
|
class LoginUtils {
|
||||||
static Future refreshLoginStatus(bool status) async {
|
static Future refreshLoginStatus(bool status) async {
|
||||||
try {
|
try {
|
||||||
// 更改我的页面登录状态
|
// logout
|
||||||
if (status.not) {
|
if (status.not) {
|
||||||
|
// 更改我的页面登录状态
|
||||||
await Get.find<MineController>().resetUserInfo();
|
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<MineController>().userLogin.value = status;
|
||||||
|
|
||||||
Get.find<DynamicsController>().userLogin.value = status;
|
Get.find<DynamicsController>().userLogin.value = status;
|
||||||
|
|
||||||
Get.find<MediaController>().userLogin.value = status;
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// SmartDialog.showToast('refreshLoginStatus error: ${err.toString()}');
|
// SmartDialog.showToast('refreshLoginStatus error: ${err.toString()}');
|
||||||
debugPrint('refreshLoginStatus error: $err');
|
debugPrint('refreshLoginStatus error: $err');
|
||||||
|
|||||||
@@ -105,11 +105,13 @@ class Utils {
|
|||||||
'端」推荐');
|
'端」推荐');
|
||||||
await GStorage.userInfo.put('userInfoCache', result['data']);
|
await GStorage.userInfo.put('userInfoCache', result['data']);
|
||||||
try {
|
try {
|
||||||
final HomeController homeCtr = Get.find<HomeController>();
|
Get.find<HomeController>()
|
||||||
homeCtr.updateLoginStatus(true);
|
..updateLoginStatus(true)
|
||||||
homeCtr.userFace.value = result['data'].face;
|
..userFace.value = result['data'].face;
|
||||||
final MediaController mediaCtr = Get.find<MediaController>();
|
|
||||||
mediaCtr.mid = result['data'].mid;
|
Get.find<MediaController>()
|
||||||
|
..mid = result['data'].mid
|
||||||
|
..onRefresh();
|
||||||
} catch (_) {}
|
} catch (_) {}
|
||||||
await LoginUtils.refreshLoginStatus(true);
|
await LoginUtils.refreshLoginStatus(true);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user