From 38ce51614847f5166ff0a16f112d85bfac03e767 Mon Sep 17 00:00:00 2001 From: WinUser01 Date: Sat, 9 Apr 2022 21:50:15 +0800 Subject: [PATCH 1/6] =?UTF-8?q?hyzp=5Fybqx-Commit119=EF=BC=9A=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E6=9B=B4=E6=96=B0=E4=B8=BA1.4.24+20220409?= =?UTF-8?q?=E3=80=82=E6=8C=89=E5=85=AC=E5=8F=B8=E8=A6=81=E6=B1=82=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AE=A1=E6=A0=B8=E9=80=BB=E8=BE=91=EF=BC=8C=E5=8D=B3?= =?UTF-8?q?=E4=BD=BF=20=E5=BD=93=E5=89=8D=E6=97=B6=E9=97=B4=20>=20?= =?UTF-8?q?=E6=8A=93=E6=8B=8D=E6=97=B6=E9=97=B4=20+=20=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=97=B4=E9=9A=94=EF=BC=8C=E4=B9=9F=E5=85=81=E8=AE=B8=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=BF=9B=E8=A1=8C=E5=88=9D=E5=AE=A1=E5=92=8C=E5=A4=8D?= =?UTF-8?q?=E5=AE=A1=E5=AE=A1=E6=A0=B8=EF=BC=8C=E5=8F=AA=E6=98=AF=E7=A6=81?= =?UTF-8?q?=E6=AD=A2=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/components/UserInfo.dart | 8 +- lib/pages/Works/HYSH/hysh_group.dart | 184 +++++++++++++-------------- 2 files changed, 95 insertions(+), 97 deletions(-) diff --git a/lib/components/UserInfo.dart b/lib/components/UserInfo.dart index 07f9b64..d39a785 100644 --- a/lib/components/UserInfo.dart +++ b/lib/components/UserInfo.dart @@ -99,10 +99,10 @@ class UserInfo { copyright_info = '© ' + qx_name_long + '城乡融合发展局 四川省踏石科技\n版权所有,' + service_tel.substring(1); copyright_info_PinYin = 'YIBIN SANJIANG NEW AREA BLACK SMOKE CAR CAPTURE SYSTEM'; // 中心地址: - // mapPoi = {text: 四川轻化工大学宜宾校区, pt: {latitude: 28.811272454489966, longitude: 104.67718748580859}, uid: f79d3a036020ce5fa3d23041} - center_latitude = 28.811272454489966; // 区县中心纬度 - center_longitude = 104.69745647939359; // 区县中心经度 - g_zoomLevel = g_zoomLevel_default = 12; //地图默认缩放倍数 + // 点击底图空白处响应:coordinate = {latitude: 28.822633806922394, longitude: 104.75964294854222} + center_latitude = 28.822633806922394; // 区县中心纬度 + center_longitude = 104.75964294854222; // 区县中心经度 + g_zoomLevel = g_zoomLevel_default = 13; //地图默认缩放倍数 break; case 511523: // 江安县 service_tel = ''; diff --git a/lib/pages/Works/HYSH/hysh_group.dart b/lib/pages/Works/HYSH/hysh_group.dart index bd0d1d0..95a5245 100644 --- a/lib/pages/Works/HYSH/hysh_group.dart +++ b/lib/pages/Works/HYSH/hysh_group.dart @@ -176,72 +176,70 @@ class _HyshGroupState extends State { getBtnSizeX( text: '复审提交', fontColor: 0 == _selectedRadio ? Colors.red : Colors.green, - onPressedFun: 1 == sfyc - ? null - : () async { - int ret = -1; - print('等待复审提交确认'); - await Navigator.of(context) - .push( - PageRouteBuilder( - opaque: false, - pageBuilder: (context, animation, secondaryAnimation) => - CustomDialogHysh( - shjg: 0 == _selectedRadio ? hyc_text : fhyc_text, - title: '复审', - content: - '是否进行复审提交${tsjj && 0 == sfyc ? '、同时推送交警' : ''}?\n${1 == sfyc ? _sfcyTextTrue : ''}'), - ), - ) - .then((value) async { - print('value = $value'); - if (value) { - print('用户已确认,开始处理复审提交!'); + // onPressedFun: 1 == sfyc + // ? null + // : () async { + onPressedFun: () async { + int ret = -1; + print('等待复审提交确认'); + await Navigator.of(context) + .push( + PageRouteBuilder( + opaque: false, + pageBuilder: (context, animation, secondaryAnimation) => CustomDialogHysh( + shjg: 0 == _selectedRadio ? hyc_text : fhyc_text, + title: '复审', + content: + '是否进行复审提交${tsjj && 0 == sfyc ? '、同时推送交警' : ''}?\n${1 == sfyc ? _sfcyTextTrue : ''}'), + ), + ) + .then((value) async { + print('value = $value'); + if (value) { + print('用户已确认,开始处理复审提交!'); //复审接口增加是否延迟字段 sfyc (是否延迟)整型 必须 是否延误,0-正常 1-延误。延误状态的不推送 // 初审不用判断,sfyc 直接提交0即可。只有复审的时候才判断时间 // A、若在规定时间内,则 int sfyc = 0,审核完毕后正常推送交警。 // B、若超出规定时间,即当前时间>抓拍时间+间隔时间,则 sfyc = 1,不推送交警。 - //设置 sfyc 和 tsjj - set_sfyc_tsjj(int.parse(listGetZpjl[widget.index]['zpsj'])) - .then((value) async { - hyshContentFirstAudit( - widget.id, - widget.index, - mapHyshlx[hyshlx]['audit_workflow'], - topTabs_map['auditShuoming_Controller_List'][widget.index] - .text, - topTabs_map['auditTitle'][widget.index], - sfyc: sfyc, - ).then((value) { - eventBus.fire(HycsDataUpdateEvent( - '${mapHyshlx[hyshlx]['text']}数据已更新')); - //必须等待审核过程完成后,再处理同时推送交警,否则推送交警总是失败 - print('tsjj = $tsjj'); - if (tsjj) { - print('before tsjjFun(widget.id, _plateAndID)'); + //设置 sfyc 和 tsjj + set_sfyc_tsjj(int.parse(listGetZpjl[widget.index]['zpsj'])) + .then((value) async { + hyshContentFirstAudit( + widget.id, + widget.index, + mapHyshlx[hyshlx]['audit_workflow'], + topTabs_map['auditShuoming_Controller_List'][widget.index].text, + topTabs_map['auditTitle'][widget.index], + sfyc: sfyc, + ).then((value) { + eventBus.fire( + HycsDataUpdateEvent('${mapHyshlx[hyshlx]['text']}数据已更新')); + //必须等待审核过程完成后,再处理同时推送交警,否则推送交警总是失败 + print('tsjj = $tsjj'); + if (tsjj) { + print('before tsjjFun(widget.id, _plateAndID)'); - String _plateAndID = - topTabs_map['car_number_List'].toString() + - '(ID:${widget.id.toString()})'; + String _plateAndID = topTabs_map['car_number_List'].toString() + + '(ID:${widget.id.toString()})'; - tsjjFun(widget.id, _plateAndID); + tsjjFun(widget.id, _plateAndID); - print('after tsjjFun(widget.id, _plateAndID)'); + print('after tsjjFun(widget.id, _plateAndID)'); - Fluttertoast.showToast( - msg: '$_plateAndID 已推送交警,请等待返回结果。', - gravity: ToastGravity.CENTER); - } - }); - }); - } else { - print('用户取消了复审提交'); + Fluttertoast.showToast( + msg: '$_plateAndID 已推送交警,请等待返回结果。', + gravity: ToastGravity.CENTER); } }); - Navigator.pop(context, ret); - }, + }); + } else { + print('用户取消了复审提交'); + } + }); + Navigator.pop(context, ret); + }, width: 90.0, height: 34.0), //'复审提交' getBtnSizeX( @@ -271,46 +269,46 @@ class _HyshGroupState extends State { getBtnSizeX( text: '初审提交', fontColor: 0 == _selectedRadio ? Colors.red : Colors.green, - onPressedFun: 1 == sfyc - ? null - : () async { - int ret = -1; - print('等待初审提交确认'); - await Navigator.of(context) - .push( - PageRouteBuilder( - opaque: false, - pageBuilder: (context, animation, secondaryAnimation) => - CustomDialogHysh( - shjg: 0 == _selectedRadio ? hyc_text : fhyc_text, - title: '初审', - content: '是否进行初审提交?'), - ), - ) - .then((value) async { - print('value = $value'); - if (value) { - print('用户已确认,开始处理初审提交!'); - //return; + // onPressedFun: 1 == sfyc + // ? null + // : () async { + onPressedFun: () async { + int ret = -1; + print('等待初审提交确认'); + await Navigator.of(context) + .push( + PageRouteBuilder( + opaque: false, + pageBuilder: (context, animation, secondaryAnimation) => + CustomDialogHysh( + shjg: 0 == _selectedRadio ? hyc_text : fhyc_text, + title: '初审', + content: '是否进行初审提交?'), + ), + ) + .then((value) async { + print('value = $value'); + if (value) { + print('用户已确认,开始处理初审提交!'); + //return; - hyshContentFirstAudit( - widget.id, - widget.index, - mapHyshlx[hyshlx]['audit_workflow'], - topTabs_map['auditShuoming_Controller_List'][widget.index] - .text, - topTabs_map['auditTitle'][widget.index], - sfyc: 0, - ).then((value) { - eventBus.fire( - HycsDataUpdateEvent('${mapHyshlx[hyshlx]['text']}数据已更新')); - }); - } else { - print('用户取消了初审提交'); - } - }); - Navigator.pop(context, ret); - }, + hyshContentFirstAudit( + widget.id, + widget.index, + mapHyshlx[hyshlx]['audit_workflow'], + topTabs_map['auditShuoming_Controller_List'][widget.index].text, + topTabs_map['auditTitle'][widget.index], + sfyc: 0, + ).then((value) { + eventBus + .fire(HycsDataUpdateEvent('${mapHyshlx[hyshlx]['text']}数据已更新')); + }); + } else { + print('用户取消了初审提交'); + } + }); + Navigator.pop(context, ret); + }, width: 90.0), //'初审提交' getBtnSizeX( text: "取消", From 0e3e9e4fdfe4a7f119dff38fa06c9db44c7c4094 Mon Sep 17 00:00:00 2001 From: WinUser01 Date: Sun, 10 Apr 2022 10:37:51 +0800 Subject: [PATCH 2/6] =?UTF-8?q?hyzp=5Fybqx-Commit120=EF=BC=9A=E5=B7=B2?= =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=9E=E7=8E=B0=E5=AE=9A=E6=97=B6=E6=8F=90?= =?UTF-8?q?=E9=86=92=EF=BC=8C=E9=BB=98=E8=AE=A4=E6=8F=90=E9=86=92=E9=97=B4?= =?UTF-8?q?=E9=9A=94=E4=B8=BA60S=EF=BC=8C=E5=87=86=E5=A4=87=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E7=94=A8=E6=88=B7=E8=AE=BE=E7=BD=AE=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E9=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/components/commonFun.dart | 46 +++++++++++++++++++++++++- lib/components/hyxx_data_handle.dart | 3 -- lib/main.dart | 3 ++ lib/pages/tabs/Tabs.dart | 48 +++++++++++++++++++++------- lib/services/Storage.dart | 10 ++++++ 5 files changed, 95 insertions(+), 15 deletions(-) diff --git a/lib/components/commonFun.dart b/lib/components/commonFun.dart index 4a92ebc..780322b 100644 --- a/lib/components/commonFun.dart +++ b/lib/components/commonFun.dart @@ -1,9 +1,11 @@ +import 'dart:async'; import 'dart:convert'; import 'dart:developer' as developer; import 'dart:io'; import 'dart:math'; import 'package:ai_save_account/ai_save_account.dart'; +import 'package:audioplayers/audio_cache.dart'; import 'package:camera/camera.dart'; import 'package:convert/convert.dart'; import 'package:crypto/crypto.dart' as crypto; @@ -17,6 +19,7 @@ import 'package:fluttertoast/fluttertoast.dart'; import 'package:hyzp_ybqx/provider/player_region.dart'; import 'UserInfo.dart'; +import 'dioFun.dart'; //////////////////////////////////////////// // begin hyzp_ybqx-Commit022-区县切换新方法-OK @@ -71,7 +74,48 @@ const serviceUrl_ybqx_media = 'http://125.64.218.67:9906/'; // 2、新增sip参数,0表示市级平台,1表示区县平台。之前是通过不同端口来分别访问市级和区县的,因缩减了我们的端口数,现在统一使用1个端口,通过sip参数来区分市级和区县 const String setSphericalCameraUrl = 'http://125.64.218.67:9903/'; //新版的 const int g_sip = 1; // 新增sip参数,0表示市级平台,1表示区县平台。 -bool g_bVoiceRemind = false; // 用户设置是否开启语音提醒 + +///用于定时提醒的变量和函数 +//获取待审核黑烟车记录 +List listReviewed = []; +bool g_bVoiceRemind = false; // 用户设置是否开启语音提醒 +int g_remindGap = 60; // 提醒间隔默认为60S,0表示取消定时提醒 +Timer g_remindTimer; //定时提醒变量 + +// 设置定时提醒 +setRemindTimer() { + // 先取消旧的定时任务 + if (null != g_remindTimer) { + g_remindTimer.cancel(); //取消计时器 + } + + // 设置新的定时任务 + if (g_remindGap > 0) { + ///循环执行定时任务,间隔 g_remindGap 秒 + g_remindTimer = Timer.periodic(Duration(seconds: g_remindGap), (timer) { + ///定时任务 + doRemind(); + }); + } +} + +// 执行语音提醒 +Future doRemind() async { + // 获取待审核黑烟车记录 + listReviewed.clear(); + print("listReviewed = $listReviewed"); + await getReviewedList(); //注意:访问区县后台接口,需要统一添加区县代码参数 + print("listReviewed = $listReviewed"); + if (g_bVoiceRemind && listReviewed.length > 0) { + // if (g_bVoiceRemind) { + // import 'dart:io'; + // import 'package:audioplayers/audio_cache.dart'; + // print("播放:语音提醒.mp3"); + AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + } +} + +///用于定时提醒的变量和函数 // { // "ret": 200, diff --git a/lib/components/hyxx_data_handle.dart b/lib/components/hyxx_data_handle.dart index 9c36ac3..439944f 100644 --- a/lib/components/hyxx_data_handle.dart +++ b/lib/components/hyxx_data_handle.dart @@ -447,9 +447,6 @@ List listGetTsjj = []; //获取指定id的抓拍记录列表存入listGetZpjl List listGetZpjl = []; -//获取待审核黑烟车记录 -List listReviewed = []; - //workflow 整型 审核状态: 1=>待审 | 2=>已初审 | 999=>已复审 | 1000=>非黑烟车 Map mapAuditStatus = { 1: "待审", diff --git a/lib/main.dart b/lib/main.dart index 7f79f2b..9864b49 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -119,6 +119,9 @@ class _MyAppState extends State { // g_bVoiceRemind = (null == g_bVoiceRemind) ? false : g_bVoiceRemind; // 默认关闭 g_bVoiceRemind = (null == g_bVoiceRemind) ? true : g_bVoiceRemind; // 默认开启 // print('g_bVoiceRemind = $g_bVoiceRemind'); + g_remindGap = await Storage.getInt('nRemindGap'); + g_remindGap = (null == g_remindGap) ? 60 : g_remindGap; // 提醒间隔默认为60S + eventBus.fire(VoiceRemindUpdate('g_bVoiceRemind 数据已更新')); } diff --git a/lib/pages/tabs/Tabs.dart b/lib/pages/tabs/Tabs.dart index 3503d4c..ead7e70 100644 --- a/lib/pages/tabs/Tabs.dart +++ b/lib/pages/tabs/Tabs.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'dart:io'; import 'package:badges/badges.dart'; @@ -58,6 +59,9 @@ class _TabsState extends State { String sAppBar = 'Flutter Demo'; PageController _pageController; + ///定时提醒变量 + // Timer g_remindTimer; + @override void initState() { super.initState(); @@ -87,17 +91,39 @@ class _TabsState extends State { // // print('g_bVoiceRemind = $g_bVoiceRemind'); // eventBus.fire(VoiceRemindUpdate('g_bVoiceRemind 数据已更新')); - // 获取待审核黑烟车记录 - print("listReviewed = $listReviewed"); - await getReviewedList(); //注意:访问区县后台接口,需要统一添加区县代码参数 - print("listReviewed = $listReviewed"); - if (g_bVoiceRemind && listReviewed.length > 0) { - // if (g_bVoiceRemind) { - // import 'dart:io'; - // import 'package:audioplayers/audio_cache.dart'; - // print("播放:语音提醒.mp3"); - AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 - } + // 执行语音提醒 + doRemind(); + + //设置定时提醒,循环执行定时任务,间隔 g_remindGap 秒 + setRemindTimer(); + + // g_remindTimer = Timer.periodic(Duration(seconds: g_remindGap), (timer) { + // ///定时任务 + // doRemind(); + // }); + } + + // // 执行语音提醒 + // Future doRemind() async { + // // 获取待审核黑烟车记录 + // listReviewed.clear(); + // print("listReviewed = $listReviewed"); + // await getReviewedList(); //注意:访问区县后台接口,需要统一添加区县代码参数 + // print("listReviewed = $listReviewed"); + // if (g_bVoiceRemind && listReviewed.length > 0) { + // // if (g_bVoiceRemind) { + // // import 'dart:io'; + // // import 'package:audioplayers/audio_cache.dart'; + // // print("播放:语音提醒.mp3"); + // AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + // } + // } + + @override + void dispose() { + // ///取消计时器 + // g_remindTimer.cancel(); + super.dispose(); } double _activeIconWidth = 68; diff --git a/lib/services/Storage.dart b/lib/services/Storage.dart index 70d6acf..38ca376 100644 --- a/lib/services/Storage.dart +++ b/lib/services/Storage.dart @@ -11,6 +11,16 @@ class Storage { return sp.getString(key); } + static Future setInt(String key, int value) async { + SharedPreferences sp = await SharedPreferences.getInstance(); + sp.setInt(key, value); + } + + static Future getInt(String key) async { + SharedPreferences sp = await SharedPreferences.getInstance(); + return sp.getInt(key); + } + static Future setBool(String key, bool value) async { SharedPreferences sp = await SharedPreferences.getInstance(); sp.setBool(key, value); From 35eac9b0a230c6777e2d6185d8912b13288951c4 Mon Sep 17 00:00:00 2001 From: WinUser01 Date: Sun, 10 Apr 2022 16:59:29 +0800 Subject: [PATCH 3/6] =?UTF-8?q?hyzp=5Fybqx-Commit121=EF=BC=9A=E5=B7=B2?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=AE=9A=E6=97=B6=E6=8F=90=E9=86=92=EF=BC=8C?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=8F=90=E9=86=92=E9=97=B4=E9=9A=94=E4=B8=BA?= =?UTF-8?q?60S=EF=BC=8C=E5=B7=B2=E7=BB=8F=E5=AE=9E=E7=8E=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=AE=BE=E7=BD=AE=E5=AE=9A=E6=97=B6=E9=97=B4=E9=9A=94?= =?UTF-8?q?=E3=80=82=E7=8E=B0=E5=9C=A8=E5=8F=AA=E8=83=BD=E5=89=8D=E5=8F=B0?= =?UTF-8?q?=E6=8F=90=E9=86=92=EF=BC=8C=E5=90=8E=E5=8F=B0=E6=8F=90=E9=86=92?= =?UTF-8?q?=E5=90=8E=E7=BB=AD=E5=B0=BD=E9=87=8F=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/时间间隔.png | Bin 0 -> 2926 bytes lib/pages/tabs/Tabs.dart | 7 +- lib/pages/tabs/page4_myMsics_new.dart | 19 +- lib/pages/tabs/page7_setRemind.dart | 278 ++++++++++++++++++++++++++ 4 files changed, 287 insertions(+), 17 deletions(-) create mode 100644 assets/images/时间间隔.png create mode 100644 lib/pages/tabs/page7_setRemind.dart diff --git a/assets/images/时间间隔.png b/assets/images/时间间隔.png new file mode 100644 index 0000000000000000000000000000000000000000..eceb8f19c91837aac46dcd19c62feb9764557c2e GIT binary patch literal 2926 zcmeHJ`#;nBAK&Iv8yyQ3Oah$_&mMmZHh|w6h2(5K0)-t5bmj z<(=uy@|tm=ylj4uyH*@H{Me{M6JW~K4u!UsX{Uy$buNBt;Dwl7G44Yp;KCWpW6o_y z=kI=D1`6ij27K-LEe+L1i>L4JiYMb2*C&3w+&pH7*z<7rnU5(_BIN(_5!iuWD0b1O z4g)cpiTfPfmEs^wAg-4^gT!S<)&}l{O1VMqJLV}sfq%>Y4_lIJPtBZKyQMX&x?=Ns z@rSpi$q`yx`bSfZG#(8|LD%?{kv+Mp7v41PH6>o9ibWmd#0~7jhfycd-Lw&#OvKP( z?6@SlFl2yUIeZ^2$Zm^0a!@>uZqULIkv69?=~Qu)Y9e}V`acw_pD&)7M@7ljtTs`y zlM1%;n@pEH+ZA`rrw5R+it%cF>{%co9hP?3?JTuqk1P{`U{#=W z2u#pr2RaJte*?gmY7<;U$zDo89t(8J)^aBz1Lc^9+%k6U#b@Sk3T;Hy5SgHf920dt zNv$m@1wqONyCV$GL=llCoAH?ehXR9$NOU#W{T}Y=rUZQLt0HZuvfE0vWtr^0!6p@K zv$G}tgj8C2?o_vPw~@N*Ug?Bpy&^*uEJnuFRyx>Sg_~djqI?)~QM9k`lZ>;Gk4Z=gsV_V^AOF^OIqhxuYH%I=1# z0J>5W)$y81@DfjZdwV9Baav>T2FE|8$cm0&X9D#(dirg(ffKtr4&b z?iTA+bG+H`CpXE_4^lw`>*(erv^slITSu$wcU#0{9%VPtqO7Dc7#1{*%Va^94*#({ zuxsb>D0$T<{gWHyo%dp|dt}Mrbpz{%^32JB9r7=3+b(lB=?vOTmY7wS%d`i?^6YTI z)05-`Zf`tjP@9B$boz;3lFtOnCvcn|$!}fnellbB*D4IHXfo551Q4iodi)pp5B>Cj< z=I(&h1>ex68%0m@Ek8Ru^dMkSz0VvfWy3mhj;(Q{@e=>HuFHqN!wUp&7E_kQ3w-Yk z4aeg1SY)8JdCj9iNovcvC8d?f4omX{-u%$2IDFn)mya=&mwsSgtTr2$)Y8)=q!o6@ z)@vNze9abt@8|94 z4EAtzQ7FX2#FlG@U#~42z3=0=?ChWy%<-lR)ce(=-bbC zPIcB!3P5>i5wCxMQQH0OZOpCtkOFh#J~Q%T>eyY=awS_VvZPZ#m~}~rzQCJhN87QB z!Wa4@ulqJrU$_D?UW=U*)4)cZus89d??%AwQ_m@W_?HmsU5$ zas1`jOfw=^voU8K#LdhEyagu@fwJ<)BwAavu#T9{&yHi7#D9@9t8 z`sQ4&vomj1wXcm~d}G`3T#0E^FnMrCt^8k#l#lu^a#O`CiA1XS&kr&$yt9~|(>P?7 zeEr+2=SsGYjE{c~+dm)~9H^UC=57?$MfYwp`l)Kn0?rv@Oi47G#$pP%CfwDj=)$P$ zRZGVk&z415L`&Dp+q^5nCtH+&c{)O#^LoCKpf_v4TlpcX;H|~TNq1tjskD97eTPt^ zy6RSQz-wgF^x%fRvgkJ>yko}uQH3O$WuzrWqDp-$+o%4~Y$hmW*fX5waG`Znf0_g5 zklZr3{IXN5?!ITng!F=z&*ftMi50=grwfg-&5bB^mW?Ky={owrVY)UFi zx6M#w*=WI;ubW?XVL3!clh9BgD=o3q6#*vOEB&QOgy7Kuw{^C|5O-JrouGt6_IRGLPlPbz` bvVcV9dxBPh0~Mz!4bTvx?J*m^^=almiWKV( literal 0 HcmV?d00001 diff --git a/lib/pages/tabs/Tabs.dart b/lib/pages/tabs/Tabs.dart index ead7e70..1e421ee 100644 --- a/lib/pages/tabs/Tabs.dart +++ b/lib/pages/tabs/Tabs.dart @@ -121,8 +121,11 @@ class _TabsState extends State { @override void dispose() { - // ///取消计时器 - // g_remindTimer.cancel(); + // 取消定时任务 + if (null != g_remindTimer) { + g_remindTimer.cancel(); //取消计时器 + } + super.dispose(); } diff --git a/lib/pages/tabs/page4_myMsics_new.dart b/lib/pages/tabs/page4_myMsics_new.dart index 757616a..9a7d6e5 100644 --- a/lib/pages/tabs/page4_myMsics_new.dart +++ b/lib/pages/tabs/page4_myMsics_new.dart @@ -15,6 +15,7 @@ import 'package:hyzp_ybqx/pages/Works/DWDT/dwInfo_data.dart'; import 'package:hyzp_ybqx/pages/Works/TJXX/tj_data.dart'; import 'package:hyzp_ybqx/pages/tabs/page5_userManager.dart'; import 'package:hyzp_ybqx/pages/tabs/page6_download.dart'; +import 'package:hyzp_ybqx/pages/tabs/page7_setRemind.dart'; import 'package:hyzp_ybqx/services/EventBus.dart'; import 'package:hyzp_ybqx/widget/JdButton.dart'; import 'package:package_info/package_info.dart'; @@ -211,14 +212,10 @@ class _Page4_MyMsicsNewState extends State leadPath: 'assets/images/download.png', leadColor: _deepBlueColor, onTapFun: OnTap_download), - _getListTile('待审提醒', + _getListTile('提醒设置', leadPath: 'assets/images/语音提醒.png', leadColor: _deepGreyColor, - textColor: g_bVoiceRemind ? Colors.blue : null, - onTapFun: OnTap_Remind, - trailWidget: g_bVoiceRemind - ? Icon(Icons.check_box, color: Colors.blue) - : Icon(Icons.check_box_outline_blank, color: Colors.blueAccent)), + onTapFun: OnTap_Remind), _getListTile('关于', leadPath: 'assets/images/关于.png', leadColor: _deepBlueColor, onTapFun: OnTap_MyAbout) @@ -437,15 +434,7 @@ class _Page4_MyMsicsNewState extends State } OnTap_Remind() { - setState(() { - g_bVoiceRemind = !g_bVoiceRemind; - print("bVoiceRemind = $g_bVoiceRemind"); - Storage.setBool('bVoiceRemind', g_bVoiceRemind); - if (g_bVoiceRemind) { - AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 - } - getListView(); - }); + Navigator.of(context).push(MaterialPageRoute(builder: (context) => page7_setRemind())); } OnTap_MyAbout() { diff --git a/lib/pages/tabs/page7_setRemind.dart b/lib/pages/tabs/page7_setRemind.dart new file mode 100644 index 0000000..3552d9b --- /dev/null +++ b/lib/pages/tabs/page7_setRemind.dart @@ -0,0 +1,278 @@ +import 'dart:io'; + +import 'package:audioplayers/audio_cache.dart'; +import 'package:badges/badges.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:hyzp_ybqx/pages/Login/FaceReg.dart'; +import 'package:hyzp_ybqx/pages/Login/ModifyPassword.dart'; +import 'package:hyzp_ybqx/services/EventBus.dart'; +import 'package:hyzp_ybqx/services/Storage.dart'; + +import '../../components/commonFun.dart'; +import '../../widget/JdButton.dart'; + +class page7_setRemind extends StatefulWidget { + page7_setRemind({Key key}) : super(key: key); + + _LoginPageState createState() => _LoginPageState(); +} + +class _LoginPageState extends State { + dispose() { + super.dispose(); + } + + @override + void initState() { + super.initState(); + + getListView(); + + //监听 g_bVoiceRemind 更新事件 + eventBus.on().listen((event) async { + print(event.str + ", g_bVoiceRemind = $g_bVoiceRemind"); + setState(() { + getListView(); + }); + }); + } + + //////// + static onNullFun() {} + + Widget _getListTile( + title, { + String leadPath = '', + Color leadColor, + Color textColor, + onTapFun = onNullFun, + onLongPressFun = onNullFun, + size = 16.0, + bool bBadge = false, + Widget trailWidget = const Icon(Icons.arrow_forward_ios), + }) { + // print("_getListTile bVoiceRemind = $bVoiceRemind"); // _getListTile bVoiceRemind = false + return Column( + children: [ + ListTile( + leading: bBadge + ? Badge( + position: BadgePosition.topEnd(top: -7, end: -12), + badgeContent: null, + child: Image.asset( + leadPath, + height: ScreenUtil().setHeight(78), + fit: BoxFit.fitHeight, + // color: leadColor, // 无效 + ), + ) + : Image.asset( + leadPath, + height: ScreenUtil().setHeight(78), + fit: BoxFit.fitHeight, + ), + title: Text(title, style: TextStyle(fontSize: size, color: textColor)), + trailing: trailWidget, + contentPadding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 0), + enabled: true, + onTap: onTapFun, + onLongPress: onLongPressFun, + ), + Divider( + height: 1.0, + ), + ], + ); + } + + List _listViewUser = []; + + Color _greenColor = Color.fromRGBO(36, 206, 192, 1); //绿色 + Color _deepBlueColor = Color.fromRGBO(79, 118, 230, 1); //深蓝 + Color _deepGreyColor = Color.fromRGBO(116, 139, 161, 1); //深灰 + Color _ligthBlueColor = Color.fromRGBO(80, 159, 245, 1); //亮蓝 + + OnTap_FaceReg() async { + Navigator.of(context).push(MaterialPageRoute(builder: (context) => FaceReg())); + } + + OnTap_modify_password() { + Navigator.of(context).push(MaterialPageRoute(builder: (context) => ModifyPassword())); + } + + OnTap_Remind() { + setState(() { + g_bVoiceRemind = !g_bVoiceRemind; + print("bVoiceRemind = $g_bVoiceRemind"); + Storage.setBool('bVoiceRemind', g_bVoiceRemind); + if (g_bVoiceRemind) { + print("播放语音提醒"); + AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + } + getListView(); + }); + } + + getListView() { + _listViewUser.clear(); + _listViewUser = [ + Center( + child: Container( + margin: EdgeInsets.only(top: 30), + height: ScreenUtil().setWidth(160), + width: ScreenUtil().setWidth(160), + //child: Image.asset('assets/images/user.png', fit: BoxFit.cover), + child: Image.asset('assets/images/ybsthbj.png', fit: BoxFit.fitHeight), + ), + ), + SizedBox(height: 50), + _getListTile('待审提醒', + leadPath: 'assets/images/语音提醒.png', + leadColor: _deepGreyColor, + textColor: g_bVoiceRemind ? Colors.blue : null, + onTapFun: OnTap_Remind, + trailWidget: g_bVoiceRemind + ? Icon(Icons.check_box, color: Colors.blue) + : Icon(Icons.check_box_outline_blank, color: Colors.blueAccent)), + _getListTile('提醒间隔(秒)', + leadPath: 'assets/images/时间间隔.png', + leadColor: _deepBlueColor, + trailWidget: getTextField()), + SizedBox(height: 60), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + JdButton( + height: 128, + width: 282, + //height: 126, + text: "确认", + color: Colors.blueAccent, + onTop: () { + if (g_bVoiceRemind) { + g_remindGap = _gap; + print("g_remindGap = $g_remindGap"); + Storage.setInt('nRemindGap', g_remindGap); + setRemindTimer(); + } + Navigator.pop(context); + }, + ), + JdButton( + height: 128, + width: 282, + //height: 126, + text: "取消", + color: Colors.blueAccent, + onTop: () { + Navigator.pop(context); + }, + ) + ], + ), + ]; + } + + int _gap = g_remindGap; + + Widget getTextField() { + return Container( + width: ScreenUtil().setWidth(150), + child: TextField( + readOnly: !g_bVoiceRemind, + focusNode: FocusNode(), + textAlignVertical: TextAlignVertical(y: 1.0), + controller: TextEditingController.fromValue(TextEditingValue( + text: _gap.toString(), + // 保持光标在最后 + selection: TextSelection.fromPosition( + TextPosition(affinity: TextAffinity.downstream, offset: _gap.toString().length)))), + maxLines: 1, + keyboardType: TextInputType.number, + decoration: InputDecoration( + //contentPadding: EdgeInsets.only(bottom: 16), + // hintText: widget.text, + // border: OutlineInputBorder( + // borderRadius: BorderRadius.circular(30), borderSide: BorderSide.none), + border: UnderlineInputBorder(borderSide: BorderSide(color: Colors.lightBlue)), + focusedBorder: UnderlineInputBorder(borderSide: BorderSide(color: Colors.lightBlue)), + enabledBorder: UnderlineInputBorder(borderSide: BorderSide(color: Colors.lightBlue)), + ), + onChanged: (v) { + _gap = int.parse(v); + }, + ), + ); + } + + //////// + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(ScreenUtil().setHeight(173)), // 设置appBar高度 + // 设置appBar高度 + child: AppBar( + automaticallyImplyLeading: false, + centerTitle: true, + titleSpacing: 0.0, + //设置title的左边距 + flexibleSpace: Container( + //SizedBox(height: ScreenUtil().statusBarHeight), //显示顶部状态栏 + // SizedBox(height: ScreenUtil().setHeight(10)), //显示顶部状态栏 + padding: EdgeInsets.only(top: ScreenUtil().statusBarHeight), //留出顶部状态栏高度 + child: Container( + //height: ScreenUtil().setHeight(173), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [ + Color.fromRGBO(12, 186, 156, 1), + Color.fromRGBO(39, 127, 235, 1), + ], + ), + ), + // decoration: BoxDecoration( + // gradient: LinearGradient(colors: [ + // Color(0xFF0018EB), + // Color(0xFF01C1D9), + // ], begin: Alignment.bottomCenter, end: Alignment.topCenter), + // ), + ), + ), + title: Padding( + padding: EdgeInsets.only(left: 0, right: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + getIconAndTextButton( + iconColor: Colors.white, + iconData: Icons.chevron_left_outlined, + onPress: () { + Navigator.pop(context); + }, + ), + Expanded( + child: Text("语音提醒设置", + style: TextStyle(color: Colors.white, fontSize: 20), + textAlign: TextAlign.center, + overflow: TextOverflow.ellipsis), + ), + SizedBox(width: 50), + ], + ), + ), + ), + ), + body: Container( + padding: EdgeInsets.only(top: 30, bottom: 20, left: 20, right: 20), + child: ListView( + children: _listViewUser, + ), + ), + ); + } +} From 5b9f9aae150c56a45c2624c5f8c3061c14121555 Mon Sep 17 00:00:00 2001 From: WinUser01 Date: Mon, 11 Apr 2022 10:08:02 +0800 Subject: [PATCH 4/6] =?UTF-8?q?hyzp=5Fybqx-Commit122=EF=BC=9A=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E8=AF=AD=E9=9F=B3=E6=8F=90=E9=86=92=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E3=80=82=E7=89=88=E6=9C=AC=E5=8F=B7=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=B8=BAversion:=201.4.26+20220412?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + lib/components/commonFun.dart | 18 ++++++----- lib/pages/tabs/page7_setRemind.dart | 47 +++++++++++++++++------------ pubspec.yaml | 2 +- 4 files changed, 39 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index 3fe1f73..1c2136a 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ .pub/ /build/ android/app/release/app-release.apk +android/app/release/output.json # Web related lib/generated_plugin_registrant.dart diff --git a/lib/components/commonFun.dart b/lib/components/commonFun.dart index 780322b..97263c2 100644 --- a/lib/components/commonFun.dart +++ b/lib/components/commonFun.dart @@ -83,14 +83,14 @@ int g_remindGap = 60; // 提醒间隔默认为60S,0表示取消定时提醒 Timer g_remindTimer; //定时提醒变量 // 设置定时提醒 -setRemindTimer() { +setRemindTimer({bool enable = true}) { // 先取消旧的定时任务 if (null != g_remindTimer) { g_remindTimer.cancel(); //取消计时器 } // 设置新的定时任务 - if (g_remindGap > 0) { + if (enable && g_remindGap > 0) { ///循环执行定时任务,间隔 g_remindGap 秒 g_remindTimer = Timer.periodic(Duration(seconds: g_remindGap), (timer) { ///定时任务 @@ -102,16 +102,18 @@ setRemindTimer() { // 执行语音提醒 Future doRemind() async { // 获取待审核黑烟车记录 - listReviewed.clear(); - print("listReviewed = $listReviewed"); - await getReviewedList(); //注意:访问区县后台接口,需要统一添加区县代码参数 - print("listReviewed = $listReviewed"); - if (g_bVoiceRemind && listReviewed.length > 0) { + if (g_bVoiceRemind) { + listReviewed.clear(); + print("listReviewed = $listReviewed"); + await getReviewedList(); //注意:访问区县后台接口,需要统一添加区县代码参数 + print("listReviewed = $listReviewed"); // if (g_bVoiceRemind) { // import 'dart:io'; // import 'package:audioplayers/audio_cache.dart'; // print("播放:语音提醒.mp3"); - AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + if (listReviewed.length > 0) { + AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + } } } diff --git a/lib/pages/tabs/page7_setRemind.dart b/lib/pages/tabs/page7_setRemind.dart index 3552d9b..8833f16 100644 --- a/lib/pages/tabs/page7_setRemind.dart +++ b/lib/pages/tabs/page7_setRemind.dart @@ -26,16 +26,17 @@ class _LoginPageState extends State { @override void initState() { super.initState(); + bVoiceRemind = g_bVoiceRemind; getListView(); - //监听 g_bVoiceRemind 更新事件 - eventBus.on().listen((event) async { - print(event.str + ", g_bVoiceRemind = $g_bVoiceRemind"); - setState(() { - getListView(); - }); - }); + // //监听 g_bVoiceRemind 更新事件 + // eventBus.on().listen((event) async { + // print(event.str + ", g_bVoiceRemind = $g_bVoiceRemind"); + // setState(() { + // getListView(); + // }); + // }); } //////// @@ -103,10 +104,10 @@ class _LoginPageState extends State { OnTap_Remind() { setState(() { - g_bVoiceRemind = !g_bVoiceRemind; - print("bVoiceRemind = $g_bVoiceRemind"); - Storage.setBool('bVoiceRemind', g_bVoiceRemind); - if (g_bVoiceRemind) { + bVoiceRemind = !bVoiceRemind; + print("bVoiceRemind = $bVoiceRemind"); + // Storage.setBool('bVoiceRemind', bVoiceRemind); + if (bVoiceRemind) { print("播放语音提醒"); AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 } @@ -114,6 +115,8 @@ class _LoginPageState extends State { }); } + bool bVoiceRemind; + getListView() { _listViewUser.clear(); _listViewUser = [ @@ -130,9 +133,9 @@ class _LoginPageState extends State { _getListTile('待审提醒', leadPath: 'assets/images/语音提醒.png', leadColor: _deepGreyColor, - textColor: g_bVoiceRemind ? Colors.blue : null, + textColor: bVoiceRemind ? Colors.blue : null, onTapFun: OnTap_Remind, - trailWidget: g_bVoiceRemind + trailWidget: bVoiceRemind ? Icon(Icons.check_box, color: Colors.blue) : Icon(Icons.check_box_outline_blank, color: Colors.blueAccent)), _getListTile('提醒间隔(秒)', @@ -150,12 +153,16 @@ class _LoginPageState extends State { text: "确认", color: Colors.blueAccent, onTop: () { - if (g_bVoiceRemind) { - g_remindGap = _gap; - print("g_remindGap = $g_remindGap"); - Storage.setInt('nRemindGap', g_remindGap); - setRemindTimer(); - } + g_bVoiceRemind = bVoiceRemind; + print("g_bVoiceRemind = $g_bVoiceRemind"); + Storage.setBool('bVoiceRemind', g_bVoiceRemind); + + g_remindGap = _gap; + print("g_remindGap = $g_remindGap"); + Storage.setInt('nRemindGap', g_remindGap); + setRemindTimer(enable: g_bVoiceRemind); + + AudioCache().play(File('audio/yinxiao1064.mp3').path); //音效提醒 Navigator.pop(context); }, ), @@ -180,7 +187,7 @@ class _LoginPageState extends State { return Container( width: ScreenUtil().setWidth(150), child: TextField( - readOnly: !g_bVoiceRemind, + readOnly: !bVoiceRemind, focusNode: FocusNode(), textAlignVertical: TextAlignVertical(y: 1.0), controller: TextEditingController.fromValue(TextEditingValue( diff --git a/pubspec.yaml b/pubspec.yaml index c6fc336..664dc21 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -64,7 +64,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev #version: 1.4.21+20220319 #version: 1.4.22+20220320 #version: 1.4.23+20220408 -version: 1.4.24+20220409 +version: 1.4.26+20220412 environment: sdk: ">=2.7.0 <3.0.0" From fc7b28f460f519e93b82f1aa0bf4a5425c2e67a3 Mon Sep 17 00:00:00 2001 From: WinUser01 Date: Sat, 23 Apr 2022 10:17:23 +0800 Subject: [PATCH 5/6] =?UTF-8?q?hyzp=5Fybqx-Commit123=EF=BC=9A=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E6=9B=B4=E6=96=B0=E4=B8=BAversion:=201.4.26+?= =?UTF-8?q?20220426=E3=80=82=E4=BD=BF=E7=94=A8=E5=8D=95=E4=BE=8B=20final?= =?UTF-8?q?=20myPlayer=20=3D=20AudioCache()=E4=BC=98=E5=8C=96mp3=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E3=80=82=E5=87=86=E5=A4=87=E4=BD=BF=E7=94=A8flutter?= =?UTF-8?q?=5Fbackground=5Fservice=200.0.1+21=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=AE=9A=E6=97=B6=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + lib/components/commonFun.dart | 23 ++++++++++++++++++++++- lib/pages/Login/TakePictuer.dart | 5 +++-- lib/pages/tabs/Tabs.dart | 2 +- lib/pages/tabs/page4_myMsics_new.dart | 2 +- lib/pages/tabs/page7_setRemind.dart | 8 +++++--- pubspec.lock | 7 +++++++ pubspec.yaml | 13 ++++++++++++- 8 files changed, 52 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 1c2136a..fbef244 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ /build/ android/app/release/app-release.apk android/app/release/output.json +pubspec.lock # Web related lib/generated_plugin_registrant.dart diff --git a/lib/components/commonFun.dart b/lib/components/commonFun.dart index 97263c2..ea22bc3 100644 --- a/lib/components/commonFun.dart +++ b/lib/components/commonFun.dart @@ -6,6 +6,8 @@ import 'dart:math'; import 'package:ai_save_account/ai_save_account.dart'; import 'package:audioplayers/audio_cache.dart'; + +// import 'package:audioplayers/audio_cache.dart'; import 'package:camera/camera.dart'; import 'package:convert/convert.dart'; import 'package:crypto/crypto.dart' as crypto; @@ -17,10 +19,28 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; //import '../my_wechat_assets_picker_fix/my_asset_picker_1.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:hyzp_ybqx/provider/player_region.dart'; +// import 'package:just_audio/just_audio.dart'; import 'UserInfo.dart'; import 'dioFun.dart'; +// final myPlayer = AudioPlayer(); +final myPlayer = AudioCache(); + +// myPlayMp3({String asset = 'assets/audio/yinxiao1064.mp3'}) { +// // myPlayer.setAsset(asset, preload: true).then((value) { +// // myPlayer.play(); +// // }); +// // myPlayer.setAsset(asset).then((value) { +// // myPlayer.play(); +// // }); +// } + +myPlayMp3({String asset = 'audio/语音提醒.mp3'}) { + myPlayer.play(asset); +} + + //////////////////////////////////////////// // begin hyzp_ybqx-Commit022-区县切换新方法-OK @@ -112,7 +132,8 @@ Future doRemind() async { // import 'package:audioplayers/audio_cache.dart'; // print("播放:语音提醒.mp3"); if (listReviewed.length > 0) { - AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + // AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + myPlayMp3(asset: 'audio/语音提醒.mp3'); } } } diff --git a/lib/pages/Login/TakePictuer.dart b/lib/pages/Login/TakePictuer.dart index 9fd7351..132dd2d 100644 --- a/lib/pages/Login/TakePictuer.dart +++ b/lib/pages/Login/TakePictuer.dart @@ -8,7 +8,7 @@ import 'package:flutter_screenutil/screen_util.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:image_picker/image_picker.dart'; import 'package:path_provider/path_provider.dart'; -import 'package:audioplayers/audio_cache.dart'; +// import 'package:audioplayers/audio_cache.dart'; import '../../components/commonFun.dart'; import '../../components/dioFun.dart'; @@ -56,7 +56,8 @@ class _TakePictuerState extends State { Future _onCamera() async { await Future.delayed(Duration(milliseconds: 1000), () { print('开始拍照...'); - AudioCache().play(File('audio/yinxiao1064.mp3').path); //播放咔嚓声 + // AudioCache().play(File('audio/yinxiao1064.mp3').path); //播放咔嚓声 + myPlayMp3(asset: 'assets/audio/yinxiao1064.mp3'); //播放咔嚓声 onTakePictureButtonPressed(); }); } diff --git a/lib/pages/tabs/Tabs.dart b/lib/pages/tabs/Tabs.dart index 1e421ee..4df8e72 100644 --- a/lib/pages/tabs/Tabs.dart +++ b/lib/pages/tabs/Tabs.dart @@ -16,7 +16,7 @@ import '../../components/commonFun.dart'; import '../../services/ServiceLocator.dart'; import '../../services/Storage.dart'; import 'page1_work.dart'; -import 'package:audioplayers/audio_cache.dart'; +// import 'package:audioplayers/audio_cache.dart'; class Tabs extends StatefulWidget { Tabs({Key key, this.arguments = 0}) : super(key: key); diff --git a/lib/pages/tabs/page4_myMsics_new.dart b/lib/pages/tabs/page4_myMsics_new.dart index 9a7d6e5..fcfc8bb 100644 --- a/lib/pages/tabs/page4_myMsics_new.dart +++ b/lib/pages/tabs/page4_myMsics_new.dart @@ -1,6 +1,6 @@ import 'dart:io'; -import 'package:audioplayers/audio_cache.dart'; +// import 'package:audioplayers/audio_cache.dart'; import 'package:badges/badges.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; diff --git a/lib/pages/tabs/page7_setRemind.dart b/lib/pages/tabs/page7_setRemind.dart index 8833f16..048241e 100644 --- a/lib/pages/tabs/page7_setRemind.dart +++ b/lib/pages/tabs/page7_setRemind.dart @@ -1,6 +1,6 @@ import 'dart:io'; -import 'package:audioplayers/audio_cache.dart'; +// import 'package:audioplayers/audio_cache.dart'; import 'package:badges/badges.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -109,7 +109,8 @@ class _LoginPageState extends State { // Storage.setBool('bVoiceRemind', bVoiceRemind); if (bVoiceRemind) { print("播放语音提醒"); - AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + // AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 + myPlayMp3(asset: 'audio/语音提醒.mp3'); } getListView(); }); @@ -162,7 +163,8 @@ class _LoginPageState extends State { Storage.setInt('nRemindGap', g_remindGap); setRemindTimer(enable: g_bVoiceRemind); - AudioCache().play(File('audio/yinxiao1064.mp3').path); //音效提醒 + // AudioCache().play(File('audio/yinxiao1064.mp3').path); //音效提醒 + myPlayMp3(asset: 'assets/audio/yinxiao1064.mp3'); //音效提醒 Navigator.pop(context); }, ), diff --git a/pubspec.lock b/pubspec.lock index 09920b6..950c571 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -251,6 +251,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_background_service: + dependency: "direct main" + description: + name: flutter_background_service + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.0.1+21" flutter_blurhash: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 664dc21..9fe459a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -64,7 +64,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev #version: 1.4.21+20220319 #version: 1.4.22+20220320 #version: 1.4.23+20220408 -version: 1.4.26+20220412 +version: 1.4.26+20220426 environment: sdk: ">=2.7.0 <3.0.0" @@ -98,6 +98,17 @@ dependencies: camera: ^0.5.8+11 audioplayers: ^0.16.2 + flutter_background_service: ^0.0.1+21 + + # just_audio: ^0.4.0 # 报错 +# just_audio: ^0.3.4 # OK,不支持中文路径 + # just_audio: ^0.3.0 # OK + # just_audio: ^0.1.0 # OK + + # just_audio: ^0.6.15+1 # 引入该插件编译时报错如下 + # Could not determine the dependencies of task ':app:processDebugResources'. + # > Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'. + # > Could not resolve androidx.media2:media2-common:[1.1.0-alpha01]. encrypt: ^4.1.0 device_info: ^1.0.0 From 740d79d412b16d7a03f46435a66442fa49d2fc20 Mon Sep 17 00:00:00 2001 From: WinUser01 Date: Sat, 23 Apr 2022 13:58:18 +0800 Subject: [PATCH 6/6] =?UTF-8?q?hyzp=5Fybqx-Commit124=EF=BC=9A=E4=BD=BF?= =?UTF-8?q?=E7=94=A8AudioPlayer=20cache=E4=BC=98=E5=8C=96=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E9=80=BB=E8=BE=91=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=A4=9A?= =?UTF-8?q?=E6=AC=A1=E6=92=AD=E6=94=BE=E5=90=8E=E6=8A=A5=E9=94=99=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=92=AD=E6=94=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/audio/{yinxiao1064.mp3 => clacks.mp3} | Bin assets/audio/click.mp3 | Bin 0 -> 22208 bytes lib/components/commonFun.dart | 53 +++++++++++++------ lib/pages/Login/TakePictuer.dart | 2 +- lib/pages/tabs/page7_setRemind.dart | 4 +- pubspec.yaml | 10 ---- 6 files changed, 39 insertions(+), 30 deletions(-) rename assets/audio/{yinxiao1064.mp3 => clacks.mp3} (100%) create mode 100644 assets/audio/click.mp3 diff --git a/assets/audio/yinxiao1064.mp3 b/assets/audio/clacks.mp3 similarity index 100% rename from assets/audio/yinxiao1064.mp3 rename to assets/audio/clacks.mp3 diff --git a/assets/audio/click.mp3 b/assets/audio/click.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cc6480815f95fbee3d27a079b43d3fb66aee4687 GIT binary patch literal 22208 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≪o2yyRxeW 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 0) { // AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 - myPlayMp3(asset: 'audio/语音提醒.mp3'); + myPlayVoiceRemind(); } } } diff --git a/lib/pages/Login/TakePictuer.dart b/lib/pages/Login/TakePictuer.dart index 132dd2d..e4941dd 100644 --- a/lib/pages/Login/TakePictuer.dart +++ b/lib/pages/Login/TakePictuer.dart @@ -57,7 +57,7 @@ class _TakePictuerState extends State { await Future.delayed(Duration(milliseconds: 1000), () { print('开始拍照...'); // AudioCache().play(File('audio/yinxiao1064.mp3').path); //播放咔嚓声 - myPlayMp3(asset: 'assets/audio/yinxiao1064.mp3'); //播放咔嚓声 + myPlayClacks(); //播放咔嚓声 onTakePictureButtonPressed(); }); } diff --git a/lib/pages/tabs/page7_setRemind.dart b/lib/pages/tabs/page7_setRemind.dart index 048241e..830fcf6 100644 --- a/lib/pages/tabs/page7_setRemind.dart +++ b/lib/pages/tabs/page7_setRemind.dart @@ -110,7 +110,7 @@ class _LoginPageState extends State { if (bVoiceRemind) { print("播放语音提醒"); // AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒 - myPlayMp3(asset: 'audio/语音提醒.mp3'); + myPlayVoiceRemind(); } getListView(); }); @@ -164,7 +164,7 @@ class _LoginPageState extends State { setRemindTimer(enable: g_bVoiceRemind); // AudioCache().play(File('audio/yinxiao1064.mp3').path); //音效提醒 - myPlayMp3(asset: 'assets/audio/yinxiao1064.mp3'); //音效提醒 + myPlayClacks(); //音效提醒 Navigator.pop(context); }, ), diff --git a/pubspec.yaml b/pubspec.yaml index 9fe459a..4066b53 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -100,16 +100,6 @@ dependencies: audioplayers: ^0.16.2 flutter_background_service: ^0.0.1+21 - # just_audio: ^0.4.0 # 报错 -# just_audio: ^0.3.4 # OK,不支持中文路径 - # just_audio: ^0.3.0 # OK - # just_audio: ^0.1.0 # OK - - # just_audio: ^0.6.15+1 # 引入该插件编译时报错如下 - # Could not determine the dependencies of task ':app:processDebugResources'. - # > Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'. - # > Could not resolve androidx.media2:media2-common:[1.1.0-alpha01]. - encrypt: ^4.1.0 device_info: ^1.0.0