import 'package:dio/dio.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_samples/helpers/constants/api.dart'; import 'package:flutter_samples/helpers/dio.dart'; import 'package:flutter_samples/logics/adapters/poetry.dart'; import 'package:flutter_samples/logics/entities/api/api_list.dart'; import 'package:flutter_samples/logics/entities/api/api_poetry.dart'; import 'package:flutter_samples/logics/entities/page/poetry.dart'; class PoetryModel { // 获取诗词列表 Future> getPoetryList(Map params) async { final Response resp = await DioRequest.post( ReqUrl.getPoetryList, params, ); final ApiList data = ApiList.fromJson( resp.data, (json) => ApiPoetry.fromJson(json as Map), ); return ApiList( list: data.list.map((e) => PoetryAdapter.fromAPIPoetryToPoetry(e)).toList(), cursor: data.cursor, page: data.page, size: data.size, total: data.total, ); } // 获取诗词详情 Future getPoetryDetail(Map params) async { final Response resp = await DioRequest.post( ReqUrl.getPoetryDetail, params, ); final ApiPoetryData data = ApiPoetryData.fromJson(resp.data); return PoetryAdapter.fromAPIPoetryToPoetry(data.poetry); } } final poetryProvider = Provider((ref) { return PoetryModel(); });