Files
pilipala/lib/pages/video/detail/introduction/controller.dart

53 lines
1.4 KiB
Dart

import 'package:get/get.dart';
import 'package:pilipala/http/api.dart';
import 'package:pilipala/http/init.dart';
import 'package:pilipala/models/video_detail_res.dart';
import 'package:pilipala/pages/video/detail/controller.dart';
class VideoIntroController extends GetxController {
// 视频aid
String aid = Get.parameters['aid']!;
// 是否预渲染 骨架屏
bool preRender = false;
// 视频详情 上个页面传入
Map? videoItem = {};
// 请求状态
RxBool isLoading = false.obs;
// 视频详情 请求返回
Rx<VideoDetailData> videoDetail = VideoDetailData().obs;
@override
void onInit() {
super.onInit();
if (Get.arguments.isNotEmpty) {
if (Get.arguments.containsKey('videoItem')) {
preRender = true;
var args = Get.arguments['videoItem'];
videoItem!['pic'] = args.pic;
videoItem!['title'] = args.title;
videoItem!['stat'] = args.stat;
videoItem!['pubdate'] = args.pubdate;
videoItem!['owner'] = args.owner;
}
}
}
Future queryVideoDetail() async {
var res = await Request().get(Api.videoDetail, data: {
'aid': aid,
});
VideoDetailResponse result = VideoDetailResponse.fromJson(res.data);
videoDetail.value = result.data!;
Get.find<VideoDetailController>().tabs.value = [
'简介',
'评论 ${result.data!.stat!.reply}'
];
// await Future.delayed(const Duration(seconds: 3));
return true;
}
}