diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index ae8c781..ae19d87 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
diff --git a/assets/image/videostart.png b/assets/image/videostart.png
new file mode 100644
index 0000000..cbdbfa2
Binary files /dev/null and b/assets/image/videostart.png differ
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 7b0ffc3..bff5938 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -55,6 +55,10 @@
app需要访问相册以上传图片
NSUserNotificationsUsageDescription
app需要发送通知提醒重要信息
+ NSLocationWhenInUseUsageDescription
+ 需要位置权限以提供定位服务
+ NSLocationAlwaysUsageDescription
+ 需要位置权限以提供定位服务
UIApplicationSupportsIndirectInputEvents
UILaunchStoryboardName
diff --git a/lib/customWidget/ItemWidgetFactory.dart b/lib/customWidget/ItemWidgetFactory.dart
index 0d1235b..727aac6 100644
--- a/lib/customWidget/ItemWidgetFactory.dart
+++ b/lib/customWidget/ItemWidgetFactory.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
+import '../http/ApiService.dart';
import '../tools/tools.dart';
/// 自定义组件
@@ -115,7 +116,7 @@ class ListItemFactory {
spacing: 8, // 水平间距
runSpacing: 8, // 垂直间距
children: List.generate(imageUrls.length, (i) {
- final url = imageUrls[i];
+ final url =ApiService.baseImgPath + imageUrls[i];
Widget img;
if (url.startsWith('http')) {
img = Image.network(
diff --git a/lib/customWidget/big_video_viewer.dart b/lib/customWidget/big_video_viewer.dart
new file mode 100644
index 0000000..9f12746
--- /dev/null
+++ b/lib/customWidget/big_video_viewer.dart
@@ -0,0 +1,63 @@
+import 'package:flutter/material.dart';
+import 'package:photo_view/photo_view.dart';
+import 'package:qhd_prevention/customWidget/video_player_widget.dart';
+import 'package:qhd_prevention/pages/my_appbar.dart';
+import 'package:video_player/video_player.dart';
+// 查看视频
+class BigVideoViewer extends StatefulWidget {
+ const BigVideoViewer({Key? key, required this.videoUrl}) : super(key: key);
+
+ final String videoUrl;
+
+ @override
+ State createState() => _BigVideoViewerState();
+}
+
+class _BigVideoViewerState extends State {
+
+ VideoPlayerController? _videoController;
+
+ @override
+ void initState() {
+ // TODO: implement initState
+ super.initState();
+
+ _videoController?.removeListener(_controllerListener);
+ _videoController?.dispose();
+ _videoController = VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl))
+ ..initialize().then((_) {
+ _videoController!
+ ..play()
+ ..addListener(_controllerListener);
+ });
+ }
+
+ void _controllerListener() {
+ if (mounted) setState(() {});
+ }
+
+ @override
+ void dispose() {
+ _videoController?.dispose();
+ super.dispose();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+
+ return Scaffold(
+ backgroundColor: Colors.black,
+ appBar: MyAppbar(
+ backgroundColor: Colors.transparent, title: '',
+ ),
+ body: Center(
+ child: VideoPlayerWidget(
+ allowSeek: false,
+ controller: _videoController,
+ coverUrl:"",
+ aspectRatio: _videoController?.value.aspectRatio ?? 16/9,
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/http/ApiService.dart b/lib/http/ApiService.dart
index 4c3916e..68ba1be 100644
--- a/lib/http/ApiService.dart
+++ b/lib/http/ApiService.dart
@@ -838,6 +838,161 @@ U6Hzm1ninpWeE+awIDAQAB
);
}
+ /// 获取隐患记录详情
+ static Future