mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: up panel (#861)
This commit is contained in:
committed by
GitHub
parent
f87957b170
commit
acb3784071
@@ -2,6 +2,7 @@ import 'dart:async';
|
||||
|
||||
import 'package:PiliPlus/http/dynamics.dart';
|
||||
import 'package:PiliPlus/http/follow.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/common/dynamic/dynamics_type.dart';
|
||||
import 'package:PiliPlus/models/dynamics/up.dart';
|
||||
import 'package:PiliPlus/models/follow/result.dart';
|
||||
@@ -23,15 +24,12 @@ class DynamicsController extends GetxController
|
||||
Rx<FollowUpModel> upData = FollowUpModel().obs;
|
||||
// 默认获取全部动态
|
||||
RxInt mid = (-1).obs;
|
||||
Rx<UpItem> upInfo = UpItem().obs;
|
||||
late TabController tabController;
|
||||
Set<int> tempBannedList = <int>{};
|
||||
late List<Widget> tabsPageList;
|
||||
RxInt initialValue = 0.obs;
|
||||
RxBool isLogin = false.obs;
|
||||
dynamic ownerMid;
|
||||
dynamic face;
|
||||
RxBool isLoadingDynamic = false.obs;
|
||||
List<UpItem> hasUpdatedUps = <UpItem>[];
|
||||
int allFollowedUpsPage = 1;
|
||||
int allFollowedUpsTotal = 0;
|
||||
@@ -72,10 +70,6 @@ class DynamicsController extends GetxController
|
||||
queryFollowUp();
|
||||
}
|
||||
|
||||
void onSelectType(value) {
|
||||
initialValue.value = value;
|
||||
}
|
||||
|
||||
Future<void> queryFollowing2() async {
|
||||
if (upData.value.upList != null &&
|
||||
upData.value.upList!.length >= allFollowedUpsTotal) {
|
||||
@@ -87,13 +81,12 @@ class DynamicsController extends GetxController
|
||||
ps: 50,
|
||||
orderType: 'attention',
|
||||
);
|
||||
if (res['status']) {
|
||||
if (res.isSuccess) {
|
||||
upData.value.upList ??= <UpItem>[];
|
||||
upData.value.upList!.addAll(
|
||||
res['data']
|
||||
.list
|
||||
res.data.list!
|
||||
.where((e) => hasUpdatedUps.every((e1) => e.mid != e1.mid))
|
||||
.map<UpItem>(
|
||||
.map(
|
||||
(FollowItemModel e) => UpItem(
|
||||
face: e.face,
|
||||
mid: e.mid,
|
||||
@@ -103,10 +96,10 @@ class DynamicsController extends GetxController
|
||||
),
|
||||
);
|
||||
allFollowedUpsPage += 1;
|
||||
allFollowedUpsTotal = res['data'].total;
|
||||
allFollowedUpsTotal = res.data.total!;
|
||||
upData.refresh();
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
res.toast();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,30 +115,31 @@ class DynamicsController extends GetxController
|
||||
if (GStorage.setting
|
||||
.get(SettingBoxKey.dynamicsShowAllFollowedUp, defaultValue: false)) {
|
||||
allFollowedUpsPage = 1;
|
||||
Future f1 = DynamicsHttp.followUp();
|
||||
Future f2 = FollowHttp.followings(
|
||||
final f1 = DynamicsHttp.followUp();
|
||||
final f2 = FollowHttp.followings(
|
||||
vmid: ownerMid,
|
||||
pn: allFollowedUpsPage,
|
||||
ps: 50,
|
||||
orderType: 'attention',
|
||||
);
|
||||
List<dynamic> ress = await Future.wait([f1, f2]);
|
||||
if (!ress[0]['status']) {
|
||||
SmartDialog.showToast("获取关注动态失败:${ress[0]['msg']}");
|
||||
upData.value.errMsg = ress[0]['msg'];
|
||||
final res0 = await f1;
|
||||
if (!res0.isSuccess) {
|
||||
SmartDialog.showToast("获取关注动态失败:$res0");
|
||||
upData.value.errMsg = (res0 as Error).errMsg;
|
||||
upData.refresh();
|
||||
} else {
|
||||
upData.value.liveUsers = ress[0]['data'].liveUsers;
|
||||
upData.value.liveUsers = res0.data.liveUsers;
|
||||
upData.refresh();
|
||||
hasUpdatedUps = ress[0]['data'].upList!;
|
||||
hasUpdatedUps = res0.data.upList!;
|
||||
}
|
||||
List<UpItem> allFollowedUps = <UpItem>[];
|
||||
if (!ress[1]['status']) {
|
||||
SmartDialog.showToast("获取关注列表失败:${ress[1]['msg']}");
|
||||
final res1 = await f2;
|
||||
if (!res1.isSuccess) {
|
||||
SmartDialog.showToast("获取关注列表失败:$res1");
|
||||
} else {
|
||||
allFollowedUps = (ress[1]['data'].list as List)
|
||||
allFollowedUps = res1.data.list!
|
||||
.where((e) => hasUpdatedUps.every((e1) => e.mid != e1.mid))
|
||||
.map<UpItem>(
|
||||
.map(
|
||||
(e) => UpItem(
|
||||
face: e.face,
|
||||
mid: e.mid,
|
||||
@@ -155,27 +149,27 @@ class DynamicsController extends GetxController
|
||||
)
|
||||
.toList();
|
||||
allFollowedUpsPage += 1;
|
||||
allFollowedUpsTotal = ress[1]['data'].total;
|
||||
allFollowedUpsTotal = res1.data.total!;
|
||||
}
|
||||
upData.value.upList = hasUpdatedUps + allFollowedUps;
|
||||
upData.refresh();
|
||||
} else {
|
||||
var res = await DynamicsHttp.followUp();
|
||||
if (res['status']) {
|
||||
upData.value = res['data'];
|
||||
if (res.isSuccess) {
|
||||
upData.value = res.data;
|
||||
if (upData.value.upList!.isEmpty) {
|
||||
mid.value = -1;
|
||||
}
|
||||
} else {
|
||||
upData.value.errMsg = res['msg'];
|
||||
upData.value.errMsg = (res as Error).errMsg;
|
||||
upData.refresh();
|
||||
}
|
||||
}
|
||||
isQuerying = false;
|
||||
}
|
||||
|
||||
void onSelectUp(mid) {
|
||||
if (this.mid == mid) {
|
||||
void onSelectUp(int mid) {
|
||||
if (this.mid.value == mid) {
|
||||
tabController.index = (mid == -1 ? 0 : 4);
|
||||
if (mid == -1) {
|
||||
queryFollowUp();
|
||||
|
||||
Reference in New Issue
Block a user