user_read_history_provider.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'package:flutter_riverpod/flutter_riverpod.dart';
  2. import 'package:news_app/provider/user_favorite_provider.dart';
  3. import '../constant/api_const.dart';
  4. import '../http/http_util.dart';
  5. import '../http/model_parser.dart';
  6. /// @author: bo.zeng
  7. /// @email: cnhbwds@gmail.com
  8. /// @date: 2025 2025/4/22 16:03
  9. /// @description:
  10. class UserReadHistoryProvider extends Notifier<UserNews> {
  11. @override
  12. UserNews build() {
  13. return UserNews();
  14. }
  15. Future<void> fetchUserReadHistory(int pageNum) async {
  16. final jsonData = await HttpUtil().get(
  17. apiMemberReadHistory,
  18. queryParameters: {"pageSize": 10, "pageNum": pageNum.toString()},
  19. );
  20. final response = ModelParser.parseObject<UserNews>(
  21. jsonData,
  22. UserNews.fromJson,
  23. );
  24. state.total = response.total;
  25. if (pageNum == 0) {
  26. state = response;
  27. } else {
  28. //把新的列表添加到旧的列表中
  29. state = UserNews(
  30. total: response.total,
  31. rows: [...state.rows ?? [], ...response.rows ?? []],
  32. );
  33. }
  34. }
  35. }