first commit

This commit is contained in:
编码猿
2024-09-27 01:31:25 +08:00
commit 07c46ac300
558 changed files with 37414 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
import 'package:flutter/material.dart';
import 'package:peach/entity/_.dart';
import 'package:peach/views/Me/Video/player.dart';
import 'package:peach/config/_.dart';
import 'package:peach/entity/_.dart';
import 'package:peach/utils/_.dart';
import 'package:peach/service/_.dart';
import 'package:peach/widget/_.dart';
class Video extends StatefulWidget {
@override
State<StatefulWidget> createState() => _Video();
}
// 短视频模块
class _Video extends State<Video> with AutomaticKeepAliveClientMixin<Video> {
PageController pageController;
String pcursor = "";
@override
void initState() {
super.initState();
pageController = PageController(
initialPage: Config.currentIndex, //默认在第几个
viewportFraction: 1, // 占屏幕多少1为占满整个屏幕
keepPage: true
);
GetAllVideoList();
}
/// 获取视频列表数据
Future<VideoListEntity> GetAllVideoList({ String type = "swiper" }) async {
print("GetAllVideoList");
void getData () async {
VideoListEntity result = await VideoService.GetVideoList(params: {
"pcursor": pcursor
});
setState(() {
Config.feeds.addAll(result.feeds);
pcursor = result.pcursor;
});
print("feeds.length ${Config.feeds.length}");
}
if (type == "swiper") {
print("swiper");
if (Config.feeds.length == 0) {
getData();
}
} else {
print("more");
getData();
}
}
@override
Widget build(BuildContext context) {
super.build(context);
return Scaffold(
backgroundColor: Colors.black,
body: PageView(
controller: pageController,
scrollDirection: Axis.vertical,
physics: BouncingScrollPhysics(),
pageSnapping: true,
onPageChanged: (int index) {
setState(() {
print("你切换了页面! ============== ${index}");
setState(() {
Config.currentIndex = index;
if (Config.currentIndex >= Config.feeds.length -1) {
print("重新请企业数据.....");
GetAllVideoList(type: "more");
}
});
});
},
children: Config.feeds.map((e) {
// print("e.photo.photoUrl ============ ${e.photo.photoUrl}");
return Play(
url: e.photo.photoUrl,
);
}).toList(),
)
);
}
@override
bool get wantKeepAlive => true;
@override
void dispose() {
pageController.dispose();
}
}