opt model

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-10 15:11:40 +08:00
parent bdf3cfc750
commit 88288f4a7a
44 changed files with 266 additions and 549 deletions

View File

@@ -1,13 +1,12 @@
import 'package:PiliPlus/http/fav.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models_new/fav/fav_video/data.dart';
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
import 'package:PiliPlus/models_new/fav/fav_folder/data.dart';
import 'package:PiliPlus/models_new/fav/fav_folder/list.dart';
import 'package:PiliPlus/pages/common/common_list_controller.dart';
import 'package:PiliPlus/services/account_service.dart';
import 'package:get/get.dart';
class FavController
extends CommonListController<FavVideoData, FavVideoItemModel> {
class FavController extends CommonListController<FavFolderData, FavFolderInfo> {
AccountService accountService = Get.find<AccountService>();
@override
@@ -26,12 +25,12 @@ class FavController
}
@override
List<FavVideoItemModel>? getDataList(FavVideoData response) {
List<FavFolderInfo>? getDataList(FavFolderData response) {
return response.list;
}
@override
bool customHandleResponse(bool isRefresh, Success<FavVideoData> response) {
bool customHandleResponse(bool isRefresh, Success<FavFolderData> response) {
if (response.response.hasMore == false) {
isEnd = true;
}
@@ -39,7 +38,7 @@ class FavController
}
@override
Future<LoadingState<FavVideoData>> customGetData() => FavHttp.userfavFolder(
Future<LoadingState<FavFolderData>> customGetData() => FavHttp.userfavFolder(
pn: page,
ps: 20,
mid: accountService.mid,

View File

@@ -3,7 +3,7 @@ import 'package:PiliPlus/common/skeleton/video_card_h.dart';
import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart';
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
import 'package:PiliPlus/models_new/fav/fav_folder/list.dart';
import 'package:PiliPlus/pages/fav/video/controller.dart';
import 'package:PiliPlus/pages/fav/video/widgets/item.dart';
import 'package:PiliPlus/utils/grid.dart';
@@ -48,7 +48,7 @@ class _FavVideoPageState extends State<FavVideoPage>
);
}
Widget _buildBody(LoadingState<List<FavVideoItemModel>?> loadingState) {
Widget _buildBody(LoadingState<List<FavFolderInfo>?> loadingState) {
return switch (loadingState) {
Loading() => SliverGrid(
gridDelegate: Grid.videoCardHDelegate(context),

View File

@@ -1,13 +1,13 @@
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/widgets/image/image_save.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
import 'package:PiliPlus/models_new/fav/fav_folder/list.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:flutter/material.dart';
class FavVideoItem extends StatelessWidget {
final String heroTag;
final FavVideoItemModel item;
final FavFolderInfo item;
final VoidCallback? onTap;
final VoidCallback? onLongPress;
@@ -68,7 +68,7 @@ class FavVideoItem extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
item.title!,
item.title,
textAlign: TextAlign.start,
style: const TextStyle(
letterSpacing: 0.3,