mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-31 16:18:22 +08:00
@@ -10,7 +10,6 @@ import 'package:PiliPlus/models_new/later/data.dart';
|
|||||||
import 'package:PiliPlus/models_new/media_list/data.dart';
|
import 'package:PiliPlus/models_new/media_list/data.dart';
|
||||||
import 'package:PiliPlus/models_new/space_setting/data.dart';
|
import 'package:PiliPlus/models_new/space_setting/data.dart';
|
||||||
import 'package:PiliPlus/models_new/sub/sub/data.dart';
|
import 'package:PiliPlus/models_new/sub/sub/data.dart';
|
||||||
import 'package:PiliPlus/models_new/sub/sub/list.dart';
|
|
||||||
import 'package:PiliPlus/models_new/video/video_tag/data.dart';
|
import 'package:PiliPlus/models_new/video/video_tag/data.dart';
|
||||||
import 'package:PiliPlus/utils/global_data.dart';
|
import 'package:PiliPlus/utils/global_data.dart';
|
||||||
import 'package:PiliPlus/utils/storage.dart';
|
import 'package:PiliPlus/utils/storage.dart';
|
||||||
@@ -253,7 +252,7 @@ class UserHttp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 我的订阅
|
// 我的订阅
|
||||||
static Future<LoadingState<List<SubItemModel>?>> userSubFolder({
|
static Future<LoadingState<SubData>> userSubFolder({
|
||||||
required int mid,
|
required int mid,
|
||||||
required int pn,
|
required int pn,
|
||||||
required int ps,
|
required int ps,
|
||||||
@@ -268,7 +267,7 @@ class UserHttp {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
if (res.data['code'] == 0 && res.data['data'] is Map) {
|
if (res.data['code'] == 0 && res.data['data'] is Map) {
|
||||||
return Success(SubData.fromJson(res.data['data']).list);
|
return Success(SubData.fromJson(res.data['data']));
|
||||||
} else {
|
} else {
|
||||||
return Error(res.data['message']);
|
return Error(res.data['message']);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ class BlackListController
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<BlackListItem>? getDataList(BlackListData response) {
|
List<BlackListItem>? getDataList(BlackListData response) {
|
||||||
|
total.value = response.total ?? 0;
|
||||||
return response.list;
|
return response.list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,12 +33,6 @@ class BlackListController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
bool customHandleResponse(bool isRefresh, Success<BlackListData> response) {
|
|
||||||
total.value = response.response.total ?? 0;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void onRemove(BuildContext context, int index, name, mid) {
|
void onRemove(BuildContext context, int index, name, mid) {
|
||||||
showConfirmDialog(
|
showConfirmDialog(
|
||||||
context: context,
|
context: context,
|
||||||
|
|||||||
@@ -21,6 +21,9 @@ class SelectTopicController
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<TopicItem>? getDataList(TopicPubSearchData response) {
|
List<TopicItem>? getDataList(TopicPubSearchData response) {
|
||||||
|
if (response.pageInfo?.hasMore == false) {
|
||||||
|
isEnd = true;
|
||||||
|
}
|
||||||
return response.topicItems;
|
return response.topicItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,16 +41,10 @@ class DynamicsTabController
|
|||||||
response.items?.removeWhere((e) => dynamicsController.tempBannedList
|
response.items?.removeWhere((e) => dynamicsController.tempBannedList
|
||||||
.contains(e.modules.moduleAuthor?.mid));
|
.contains(e.modules.moduleAuthor?.mid));
|
||||||
}
|
}
|
||||||
|
offset = response.offset ?? '';
|
||||||
return response.items;
|
return response.items;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
bool customHandleResponse(
|
|
||||||
bool isRefresh, Success<DynamicsDataModel> response) {
|
|
||||||
offset = response.response.offset ?? '';
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<LoadingState<DynamicsDataModel>> customGetData() =>
|
Future<LoadingState<DynamicsDataModel>> customGetData() =>
|
||||||
DynamicsHttp.followDynamic(
|
DynamicsHttp.followDynamic(
|
||||||
|
|||||||
@@ -26,15 +26,10 @@ class FavController extends CommonListController<FavFolderData, FavFolderInfo> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<FavFolderInfo>? getDataList(FavFolderData response) {
|
List<FavFolderInfo>? getDataList(FavFolderData response) {
|
||||||
return response.list;
|
if (response.hasMore == false) {
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool customHandleResponse(bool isRefresh, Success<FavFolderData> response) {
|
|
||||||
if (response.response.hasMore == false) {
|
|
||||||
isEnd = true;
|
isEnd = true;
|
||||||
}
|
}
|
||||||
return false;
|
return response.list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ class FavDetailController
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<FavDetailItemModel>? getDataList(FavDetailData response) {
|
List<FavDetailItemModel>? getDataList(FavDetailData response) {
|
||||||
|
if (response.hasMore == false) {
|
||||||
|
isEnd = true;
|
||||||
|
}
|
||||||
return response.medias;
|
return response.medias;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,8 +52,8 @@ class FavDetailController
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
bool customHandleResponse(bool isRefresh, Success<FavDetailData> response) {
|
bool customHandleResponse(bool isRefresh, Success<FavDetailData> response) {
|
||||||
FavDetailData data = response.response;
|
|
||||||
if (isRefresh) {
|
if (isRefresh) {
|
||||||
|
FavDetailData data = response.response;
|
||||||
folderInfo.value = data.info!;
|
folderInfo.value = data.info!;
|
||||||
isOwner.value = data.info?.mid == accountService.mid;
|
isOwner.value = data.info?.mid == accountService.mid;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,15 +26,10 @@ class FavSearchController
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<FavDetailItemModel>? getDataList(FavDetailData response) {
|
List<FavDetailItemModel>? getDataList(FavDetailData response) {
|
||||||
return response.medias;
|
if (response.hasMore == false) {
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool customHandleResponse(bool isRefresh, Success<FavDetailData> response) {
|
|
||||||
if (response.response.hasMore == false) {
|
|
||||||
isEnd = true;
|
isEnd = true;
|
||||||
}
|
}
|
||||||
return false;
|
return response.medias;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> onCancelFav(int index, int id, int? type) async {
|
Future<void> onCancelFav(int index, int id, int? type) async {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ class MemberArticleCtr
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<SpaceArticleItem>? getDataList(SpaceArticleData response) {
|
List<SpaceArticleItem>? getDataList(SpaceArticleData response) {
|
||||||
|
count = response.count ?? -1;
|
||||||
return response.item;
|
return response.item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,13 +33,6 @@ class MemberArticleCtr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
bool customHandleResponse(
|
|
||||||
bool isRefresh, Success<SpaceArticleData> response) {
|
|
||||||
count = response.response.count ?? -1;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<LoadingState<SpaceArticleData>> customGetData() =>
|
Future<LoadingState<SpaceArticleData>> customGetData() =>
|
||||||
MemberHttp.spaceArticle(mid: mid, page: page);
|
MemberHttp.spaceArticle(mid: mid, page: page);
|
||||||
|
|||||||
@@ -34,18 +34,11 @@ class MemberDynamicsController
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<DynamicItemModel>? getDataList(DynamicsDataModel response) {
|
List<DynamicItemModel>? getDataList(DynamicsDataModel response) {
|
||||||
return response.items;
|
offset = response.offset?.isNotEmpty == true ? response.offset! : '-1';
|
||||||
}
|
if (response.hasMore == false) {
|
||||||
|
|
||||||
@override
|
|
||||||
bool customHandleResponse(
|
|
||||||
bool isRefresh, Success<DynamicsDataModel> response) {
|
|
||||||
DynamicsDataModel data = response.response;
|
|
||||||
offset = data.offset?.isNotEmpty == true ? data.offset! : '-1';
|
|
||||||
if (data.hasMore == false) {
|
|
||||||
isEnd = true;
|
isEnd = true;
|
||||||
}
|
}
|
||||||
return false;
|
return response.items;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -41,6 +41,9 @@ class MemberSearchChildController extends CommonListController {
|
|||||||
case MemberSearchType.dynamic:
|
case MemberSearchType.dynamic:
|
||||||
DynamicsDataModel data = response;
|
DynamicsDataModel data = response;
|
||||||
offset = data.offset;
|
offset = data.offset;
|
||||||
|
if (data.hasMore == false) {
|
||||||
|
isEnd = true;
|
||||||
|
}
|
||||||
controller.counts[searchType.index] = data.total ?? 0;
|
controller.counts[searchType.index] = data.total ?? 0;
|
||||||
return data.items;
|
return data.items;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,16 +46,10 @@ class SearchPanelController<R extends SearchNumData<T>, T>
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<T>? getDataList(R response) {
|
List<T>? getDataList(R response) {
|
||||||
|
searchResultController?.count[searchType.index] = response.numResults ?? 0;
|
||||||
return response.list;
|
return response.list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
bool customHandleResponse(bool isRefresh, Success<R> response) {
|
|
||||||
searchResultController?.count[searchType.index] =
|
|
||||||
response.response.numResults ?? 0;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<LoadingState<R>> customGetData() => SearchHttp.searchByType<R>(
|
Future<LoadingState<R>> customGetData() => SearchHttp.searchByType<R>(
|
||||||
searchType: searchType,
|
searchType: searchType,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:PiliPlus/http/fav.dart';
|
import 'package:PiliPlus/http/fav.dart';
|
||||||
import 'package:PiliPlus/http/loading_state.dart';
|
import 'package:PiliPlus/http/loading_state.dart';
|
||||||
import 'package:PiliPlus/http/user.dart';
|
import 'package:PiliPlus/http/user.dart';
|
||||||
|
import 'package:PiliPlus/models_new/sub/sub/data.dart';
|
||||||
import 'package:PiliPlus/models_new/sub/sub/list.dart';
|
import 'package:PiliPlus/models_new/sub/sub/list.dart';
|
||||||
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||||
import 'package:PiliPlus/services/account_service.dart';
|
import 'package:PiliPlus/services/account_service.dart';
|
||||||
@@ -8,8 +9,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
class SubController
|
class SubController extends CommonListController<SubData, SubItemModel> {
|
||||||
extends CommonListController<List<SubItemModel>?, SubItemModel> {
|
|
||||||
AccountService accountService = Get.find<AccountService>();
|
AccountService accountService = Get.find<AccountService>();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -64,8 +64,15 @@ class SubController
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<LoadingState<List<SubItemModel>?>> customGetData() =>
|
List<SubItemModel>? getDataList(SubData response) {
|
||||||
UserHttp.userSubFolder(
|
if (response.hasMore == false) {
|
||||||
|
isEnd = true;
|
||||||
|
}
|
||||||
|
return response.list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<LoadingState<SubData>> customGetData() => UserHttp.userSubFolder(
|
||||||
pn: page,
|
pn: page,
|
||||||
ps: 20,
|
ps: 20,
|
||||||
mid: accountService.mid,
|
mid: accountService.mid,
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ class SubDetailController
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
List<SubDetailItemModel>? getDataList(SubDetailData response) {
|
List<SubDetailItemModel>? getDataList(SubDetailData response) {
|
||||||
|
mediaCount.value = response.info!.mediaCount!;
|
||||||
|
if (subInfo.type == 11) {
|
||||||
|
playCount.value = response.info!.cntInfo!.play!;
|
||||||
|
}
|
||||||
return response.medias;
|
return response.medias;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,15 +43,6 @@ class SubDetailController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
bool customHandleResponse(bool isRefresh, Success<SubDetailData> response) {
|
|
||||||
mediaCount.value = response.response.info!.mediaCount!;
|
|
||||||
if (subInfo.type == 11) {
|
|
||||||
playCount.value = response.response.info!.cntInfo!.play!;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<LoadingState<SubDetailData>> customGetData() {
|
Future<LoadingState<SubDetailData>> customGetData() {
|
||||||
if (subInfo.type == 11) {
|
if (subInfo.type == 11) {
|
||||||
|
|||||||
Reference in New Issue
Block a user