video_dao.dart
936 Bytes
import 'package:wow_english/common/request/request_client.dart';
import 'package:wow_english/pages/video/zone/video_zone_item.dart';
class VideoDao {
/// 获取已上架的视频列表。
static Future<List<VideoZoneItem>> list() async {
final data = await requestClient.get<List<dynamic>>(Apis.videoList);
return (data ?? const <dynamic>[])
.whereType<Map>()
.map((item) => VideoZoneItem.fromJson(Map<String, dynamic>.from(item)))
.toList();
}
/// 保存视频播放记录。
static Future<void> savePlayRecord({
required int videoId,
required int progressSeconds,
required int durationSeconds,
required bool completed,
}) async {
await requestClient.post(
Apis.videoPlayRecord,
data: {
'videoId': videoId,
'progressSeconds': progressSeconds,
'durationSeconds': durationSeconds,
'completed': completed,
},
);
}
}