From 761d904dbe7f6d4406136b7d6f56dbe002b782d2 Mon Sep 17 00:00:00 2001 From: guoqing <guoqingkuku@163.com> Date: Tue, 30 Jan 2024 10:32:28 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=A2=9E=E5=8A=A0=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=89=8D=E7=9A=84=E6=8F=90=E7=A4=BA=E3=80=82?= =?UTF-8?q?2.=20=E4=BD=BF=E7=94=A8=E6=9D=83=E9=99=90=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=9D=83=E9=99=90=E6=A3=80=E6=B5=8B=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/widget/complaint_web_view.dart | 32 +++++++++++++++++++++++++++++ lib/widget/select_image_dialog.dart | 3 +++ 2 files changed, 35 insertions(+) diff --git a/lib/widget/complaint_web_view.dart b/lib/widget/complaint_web_view.dart index ee66ba4..2fdce94 100644 --- a/lib/widget/complaint_web_view.dart +++ b/lib/widget/complaint_web_view.dart @@ -138,6 +138,28 @@ class _ComplaintWebPageState extends State<ComplaintWebPage> { /// 閫夋嫨鍥剧墖搴曢儴寮规 Future<List<String>> _showImagePicker(context) async { + if (!await _checkPermission()) { + //瀵硅瘽妗嗚鏄庝娇鐢ㄧ浉鏈虹殑鐩殑 + showDialog( + context: context, + builder: (context) => AlertDialog( + title: const Text("娓╅Θ鎻愮ず"), + content: const Text("闇€瑕佷娇鐢ㄧ浉鏈烘潈闄愶紝鐢ㄤ簬鎷嶆憚鍙嶉闂鍥剧墖"), + actions: <Widget>[ + TextButton( + child: const Text("鍙栨秷"), + onPressed: () => Navigator.pop(context), + ), + TextButton( + child: const Text("纭畾"), + onPressed: () async { + Navigator.pop(context); + }, + ), + ], + )); + } + ImageSource? source; await showModalBottomSheet( backgroundColor: Colors.transparent, @@ -189,6 +211,16 @@ class _ComplaintWebPageState extends State<ComplaintWebPage> { } } + /// 妫€娴嬫槸鍚︽湁鏉冮檺 + Future<bool> _checkPermission() async { + final permissions = await Permission.camera.status; + if (permissions.isGranted) { + return true; + } else { + return false; + } + } + /// 缃戦〉鍔犺浇瀹屾垚 void _onPageFinished(String url) async { _title = await _webViewController.getTitle(); diff --git a/lib/widget/select_image_dialog.dart b/lib/widget/select_image_dialog.dart index e6f0921..04c19ab 100644 --- a/lib/widget/select_image_dialog.dart +++ b/lib/widget/select_image_dialog.dart @@ -88,6 +88,9 @@ class SelectImageDialog extends StatelessWidget { break; } } else { + if (!await _requestPermissionCam()) { + return; + } await _callbackImage(source, onSuccess); } } -- 2.17.1