import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_samples/logics/entities/state/poetry_detail.dart'; import 'package:flutter_samples/logics/models/poetry.dart'; import 'package:flutter_samples/utils/index.dart'; class PoetryDetailService extends StateNotifier { final PoetryModel _poetryModel; PoetryDetailService(this._poetryModel) : super(const PoetryDetailState()); void setUp(int id) { state = state.copyWith(poetryId: id); queryPoetryDetail(); } tapPoetry() { showNoneMsg('用户点击了诗词'); } // 获取诗词列表 Future queryPoetryDetail() async { try { if (state.poetryId < 1) { return; } final poetry = await _poetryModel.getPoetryDetail({'id': state.poetryId}); state = state.copyWith(poetry: poetry); } catch (e) { // Handle error } } } final poetryDetailServiceProvider = StateNotifierProvider((ref) { final poetryModel = ref.read(poetryProvider); return PoetryDetailService(poetryModel); });