80 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Dart
		
	
	
		
		
			
		
	
	
			80 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Dart
		
	
	
|  | import 'package:flutter/cupertino.dart'; | ||
|  | import 'package:flutter/material.dart'; | ||
|  | import 'package:qhd_prevention/customWidget/ItemWidgetFactory.dart'; | ||
|  | import 'package:qhd_prevention/customWidget/single_image_viewer.dart'; | ||
|  | import 'package:qhd_prevention/customWidget/toast_util.dart'; | ||
|  | import 'package:qhd_prevention/http/ApiService.dart'; | ||
|  | import 'package:qhd_prevention/pages/my_appbar.dart'; | ||
|  | import 'package:qhd_prevention/tools/tools.dart'; | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | class DetailImagesPage extends StatefulWidget { | ||
|  |   const DetailImagesPage(this.recordItemId, {super.key}); | ||
|  | 
 | ||
|  |   final String recordItemId; | ||
|  |    | ||
|  |   @override | ||
|  |   State<DetailImagesPage> createState() => _DetailImagesPageState(); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | class _DetailImagesPageState extends State<DetailImagesPage> { | ||
|  | 
 | ||
|  | 
 | ||
|  |   List<String> detailImageList =[]; | ||
|  |    | ||
|  |   @override | ||
|  |   void initState() { | ||
|  |     // TODO: implement initState
 | ||
|  |     super.initState(); | ||
|  |     _getDetailImageList(); | ||
|  |   } | ||
|  | 
 | ||
|  |   Future<void> _getDetailImageList() async { | ||
|  |     try { | ||
|  | 
 | ||
|  |       final result = await ApiService.getDetailImageList(widget.recordItemId); | ||
|  |       if (result['result'] == 'success') { | ||
|  |         final List<dynamic> newList = result['imgs'] ?? []; | ||
|  |          | ||
|  |         for(int i=0;i<newList.length;i++){ | ||
|  |           detailImageList.add(newList[i]["FILEPATH"] as String); | ||
|  |         } | ||
|  |         setState(() { | ||
|  | 
 | ||
|  |         }); | ||
|  | 
 | ||
|  |       }else{ | ||
|  |         ToastUtil.showNormal(context, "加载数据失败"); | ||
|  |         // _showMessage('加载数据失败');
 | ||
|  |       } | ||
|  |     } catch (e) { | ||
|  |       // 出错时可以 Toast 或者在页面上显示错误状态
 | ||
|  |       print('加载数据失败:$e'); | ||
|  |     } | ||
|  |   } | ||
|  |    | ||
|  |   @override | ||
|  |   Widget build(BuildContext context) { | ||
|  |     return Scaffold( | ||
|  |       appBar: MyAppbar(title: "图片"), | ||
|  |       body:  Padding( | ||
|  |         padding: EdgeInsets.symmetric(horizontal: 15, vertical: 20), | ||
|  |         child: ListItemFactory.createTextImageItem( | ||
|  |           text: "图片", | ||
|  |           imageUrls: detailImageList, | ||
|  |           onImageTapped: (index) { | ||
|  |             presentOpaque( | ||
|  |               SingleImageViewer(imageUrl:ApiService.baseImgPath + detailImageList[index]), | ||
|  |               context, | ||
|  |             ); | ||
|  |           }, | ||
|  |         ), | ||
|  |       ), | ||
|  |     ); | ||
|  |   } | ||
|  | } |