hyzp_ybqx-Commit113:版本号更新为1.4.23+20220405。已实现启动App时查询是否存在待审核黑烟车记录,有便播放语言提醒,安装App后默认开启,启用时播放一次语音提醒。用户可以启用或关闭该功能。保证从后台唤醒时,能够及时正确更新“待审提醒”选择状态。
This commit is contained in:
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
@@ -71,6 +71,7 @@ const serviceUrl_ybqx_media = 'http://125.64.218.67:9906/';
|
|||||||
// 2、新增sip参数,0表示市级平台,1表示区县平台。之前是通过不同端口来分别访问市级和区县的,因缩减了我们的端口数,现在统一使用1个端口,通过sip参数来区分市级和区县
|
// 2、新增sip参数,0表示市级平台,1表示区县平台。之前是通过不同端口来分别访问市级和区县的,因缩减了我们的端口数,现在统一使用1个端口,通过sip参数来区分市级和区县
|
||||||
const String setSphericalCameraUrl = 'http://125.64.218.67:9903/'; //新版的
|
const String setSphericalCameraUrl = 'http://125.64.218.67:9903/'; //新版的
|
||||||
const int g_sip = 1; // 新增sip参数,0表示市级平台,1表示区县平台。
|
const int g_sip = 1; // 新增sip参数,0表示市级平台,1表示区县平台。
|
||||||
|
bool g_bVoiceRemind = false; // 用户设置是否开启语音提醒
|
||||||
|
|
||||||
// {
|
// {
|
||||||
// "ret": 200,
|
// "ret": 200,
|
||||||
|
|||||||
@@ -955,6 +955,45 @@ Future getZpjlData(int id) async {
|
|||||||
return _mapZpjlGetData;
|
return _mapZpjlGetData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取待审核黑烟车记录
|
||||||
|
Future getReviewedList() async {
|
||||||
|
// 获取违章信息分页列表数据
|
||||||
|
// static const String getWzxxGetListUrl = serviceUrl_ybqx + '?s=App.Car_Hyc.GetList';
|
||||||
|
var api = ServicePath.getWzxxGetListUrl;
|
||||||
|
print(api);
|
||||||
|
//http://125.64.218.67:9904/docs.php?service=App.Car_Yjxx.Get&detail=1&type=fold
|
||||||
|
|
||||||
|
try {
|
||||||
|
print('开始处理网络请求...');
|
||||||
|
Response response;
|
||||||
|
Dio dio = Dio();
|
||||||
|
|
||||||
|
String random = RandomBit(6); //flutter (dart)生成N位随机数
|
||||||
|
response = await dio.post(api, data: {
|
||||||
|
"sign": GenerateMd5(APPkey + random),
|
||||||
|
"random": random,
|
||||||
|
"workflow": 1, // workflow 整型 可选 最小:1 审核状态:1=>待审 | 2=>已初审 | 999=>已复审
|
||||||
|
"perpage": 100, // perpage 整型 可选 10 最小:1;最大:100 分页数量
|
||||||
|
});
|
||||||
|
print('response = ${response.toString()}');
|
||||||
|
//I/flutter ( 5232): {"ret":200,"data":{"items":[],"total":0,"page":1,"perpage":10},"msg":""}
|
||||||
|
if (response.statusCode == 200) {
|
||||||
|
Map _mapRet = await getMapFromJson(response.data);
|
||||||
|
listReviewed = _mapRet['data']["items"];
|
||||||
|
print('获取待审核黑烟车记录的网络请求过程正常完成');
|
||||||
|
} else {
|
||||||
|
throw Exception('后端接口出现异常,请检测代码和服务器情况.........');
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
print('网络请求过程异常e:${e}');
|
||||||
|
Fluttertoast.showToast(
|
||||||
|
msg: 'ERROR:======>${e}',
|
||||||
|
toastLength: Toast.LENGTH_SHORT,
|
||||||
|
gravity: ToastGravity.CENTER,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
//处理审核信息数据
|
//处理审核信息数据
|
||||||
|
|
||||||
|
|||||||
@@ -447,6 +447,9 @@ List listGetTsjj = [];
|
|||||||
//获取指定id的抓拍记录列表存入listGetZpjl
|
//获取指定id的抓拍记录列表存入listGetZpjl
|
||||||
List listGetZpjl = [];
|
List listGetZpjl = [];
|
||||||
|
|
||||||
|
//获取待审核黑烟车记录
|
||||||
|
List listReviewed = [];
|
||||||
|
|
||||||
//workflow 整型 审核状态: 1=>待审 | 2=>已初审 | 999=>已复审 | 1000=>非黑烟车
|
//workflow 整型 审核状态: 1=>待审 | 2=>已初审 | 999=>已复审 | 1000=>非黑烟车
|
||||||
Map<int, String> mapAuditStatus = {
|
Map<int, String> mapAuditStatus = {
|
||||||
1: "待审",
|
1: "待审",
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import 'package:flutter_bmfbase/BaiduMap/bmfmap_base.dart' show BMFMapSDK, BMF_C
|
|||||||
import 'package:flutter_screenutil/screenutil_init.dart';
|
import 'package:flutter_screenutil/screenutil_init.dart';
|
||||||
import 'package:hyzp_ybqx/pages/Login/LoginTabs2.dart';
|
import 'package:hyzp_ybqx/pages/Login/LoginTabs2.dart';
|
||||||
import 'package:hyzp_ybqx/pages/MyMsics/05_updated/MyUpdatedNew.dart';
|
import 'package:hyzp_ybqx/pages/MyMsics/05_updated/MyUpdatedNew.dart';
|
||||||
|
import 'package:hyzp_ybqx/services/EventBus.dart';
|
||||||
|
import 'package:hyzp_ybqx/services/Storage.dart';
|
||||||
import 'package:package_info/package_info.dart';
|
import 'package:package_info/package_info.dart';
|
||||||
// 引入provider
|
// 引入provider
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -111,6 +113,13 @@ class _MyAppState extends State<MyApp> {
|
|||||||
BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL);
|
BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 从磁盘读取变量
|
||||||
|
g_bVoiceRemind = await Storage.getBool('bVoiceRemind');
|
||||||
|
// g_bVoiceRemind = (null == g_bVoiceRemind) ? false : g_bVoiceRemind; // 默认关闭
|
||||||
|
g_bVoiceRemind = (null == g_bVoiceRemind) ? true : g_bVoiceRemind; // 默认开启
|
||||||
|
// print('g_bVoiceRemind = $g_bVoiceRemind');
|
||||||
|
eventBus.fire(VoiceRemindUpdate('g_bVoiceRemind 数据已更新'));
|
||||||
}
|
}
|
||||||
|
|
||||||
//@override
|
//@override
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:badges/badges.dart';
|
import 'package:badges/badges.dart';
|
||||||
import 'package:disable_screenshots/disable_screenshots.dart';
|
import 'package:disable_screenshots/disable_screenshots.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:hyzp_ybqx/components/dioFun.dart';
|
||||||
|
import 'package:hyzp_ybqx/components/hyxx_data_handle.dart';
|
||||||
import 'package:hyzp_ybqx/pages/tabs/page4_myMsics_new.dart';
|
import 'package:hyzp_ybqx/pages/tabs/page4_myMsics_new.dart';
|
||||||
|
|
||||||
//import '../../widget/player_pro.dart';
|
//import '../../widget/player_pro.dart';
|
||||||
@@ -10,6 +14,7 @@ import '../../components/commonFun.dart';
|
|||||||
import '../../services/ServiceLocator.dart';
|
import '../../services/ServiceLocator.dart';
|
||||||
import '../../services/Storage.dart';
|
import '../../services/Storage.dart';
|
||||||
import 'page1_work.dart';
|
import 'page1_work.dart';
|
||||||
|
import 'package:audioplayers/audio_cache.dart';
|
||||||
|
|
||||||
class Tabs extends StatefulWidget {
|
class Tabs extends StatefulWidget {
|
||||||
Tabs({Key key, this.arguments = 0}) : super(key: key);
|
Tabs({Key key, this.arguments = 0}) : super(key: key);
|
||||||
@@ -70,6 +75,28 @@ class _TabsState extends State<Tabs> {
|
|||||||
bPreLoading = false;
|
bPreLoading = false;
|
||||||
bLoginVerify = false; //处理延时登录,判断用户名登录是否验证通过
|
bLoginVerify = false; //处理延时登录,判断用户名登录是否验证通过
|
||||||
});
|
});
|
||||||
|
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
init() async {
|
||||||
|
// // 从磁盘读取变量
|
||||||
|
// g_bVoiceRemind = await Storage.getBool('bVoiceRemind');
|
||||||
|
// g_bVoiceRemind = (null == g_bVoiceRemind) ? false : g_bVoiceRemind;
|
||||||
|
// // print('g_bVoiceRemind = $g_bVoiceRemind');
|
||||||
|
// eventBus.fire(VoiceRemindUpdate('g_bVoiceRemind 数据已更新'));
|
||||||
|
|
||||||
|
// 获取待审核黑烟车记录
|
||||||
|
listReviewed.clear();
|
||||||
|
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); //语音提醒
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double _activeIconWidth = 68;
|
double _activeIconWidth = 68;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:audioplayers/audio_cache.dart';
|
||||||
import 'package:badges/badges.dart';
|
import 'package:badges/badges.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -14,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/Works/TJXX/tj_data.dart';
|
||||||
import 'package:hyzp_ybqx/pages/tabs/page5_userManager.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/page6_download.dart';
|
||||||
|
import 'package:hyzp_ybqx/services/EventBus.dart';
|
||||||
import 'package:hyzp_ybqx/widget/JdButton.dart';
|
import 'package:hyzp_ybqx/widget/JdButton.dart';
|
||||||
import 'package:package_info/package_info.dart';
|
import 'package:package_info/package_info.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
@@ -82,6 +84,14 @@ class _Page4_MyMsicsNewState extends State<Page4_MyMsicsNew>
|
|||||||
|
|
||||||
getListView();
|
getListView();
|
||||||
|
|
||||||
|
//监听 g_bVoiceRemind 更新事件
|
||||||
|
eventBus.on<VoiceRemindUpdate>().listen((event) async {
|
||||||
|
print(event.str + ", g_bVoiceRemind = $g_bVoiceRemind");
|
||||||
|
setState(() {
|
||||||
|
getListView();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,33 +109,38 @@ class _Page4_MyMsicsNewState extends State<Page4_MyMsicsNew>
|
|||||||
//自定义方法
|
//自定义方法
|
||||||
static onNullFun() {}
|
static onNullFun() {}
|
||||||
|
|
||||||
Widget _getListTile(title,
|
Widget _getListTile(
|
||||||
{String leadPath = '',
|
title, {
|
||||||
Color leadColor,
|
String leadPath = '',
|
||||||
onTapFun = onNullFun,
|
Color leadColor,
|
||||||
onLongPressFun = onNullFun,
|
Color textColor,
|
||||||
size = 16.0,
|
onTapFun = onNullFun,
|
||||||
bool bBadge = false}) {
|
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(
|
return Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
ListTile(
|
ListTile(
|
||||||
leading: bBadge
|
leading: bBadge
|
||||||
? Badge(
|
? Badge(
|
||||||
position: BadgePosition.topEnd(top: -7, end: -12),
|
position: BadgePosition.topEnd(top: -7, end: -12),
|
||||||
badgeContent: null,
|
badgeContent: null,
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
leadPath,
|
leadPath,
|
||||||
height: ScreenUtil().setHeight(78),
|
height: ScreenUtil().setHeight(78),
|
||||||
fit: BoxFit.fitHeight,
|
fit: BoxFit.fitHeight,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: Image.asset(
|
: Image.asset(
|
||||||
leadPath,
|
leadPath,
|
||||||
height: ScreenUtil().setHeight(78),
|
height: ScreenUtil().setHeight(78),
|
||||||
fit: BoxFit.fitHeight,
|
fit: BoxFit.fitHeight,
|
||||||
),
|
),
|
||||||
title: new Text(title, style: TextStyle(fontSize: size)),
|
title: Text(title, style: TextStyle(fontSize: size, color: textColor)),
|
||||||
trailing: new Icon(Icons.arrow_forward_ios),
|
trailing: trailWidget,
|
||||||
contentPadding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 0),
|
contentPadding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 0),
|
||||||
enabled: true,
|
enabled: true,
|
||||||
onTap: onTapFun,
|
onTap: onTapFun,
|
||||||
@@ -197,6 +212,14 @@ class _Page4_MyMsicsNewState extends State<Page4_MyMsicsNew>
|
|||||||
leadColor: _deepBlueColor,
|
leadColor: _deepBlueColor,
|
||||||
onTapFun: OnTap_download,
|
onTapFun: OnTap_download,
|
||||||
bBadge: bNewVer),
|
bBadge: bNewVer),
|
||||||
|
_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('关于',
|
_getListTile('关于',
|
||||||
leadPath: 'assets/images/关于.png', leadColor: _deepBlueColor, onTapFun: OnTap_MyAbout)
|
leadPath: 'assets/images/关于.png', leadColor: _deepBlueColor, onTapFun: OnTap_MyAbout)
|
||||||
|
|
||||||
@@ -414,6 +437,18 @@ class _Page4_MyMsicsNewState extends State<Page4_MyMsicsNew>
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
OnTap_MyAbout() {
|
OnTap_MyAbout() {
|
||||||
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
|
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
|
||||||
String appName = packageInfo.appName;
|
String appName = packageInfo.appName;
|
||||||
|
|||||||
@@ -4,6 +4,15 @@ import 'package:event_bus/event_bus.dart';
|
|||||||
|
|
||||||
EventBus eventBus = EventBus();
|
EventBus eventBus = EventBus();
|
||||||
|
|
||||||
|
//监听 g_bVoiceRemind 更新事件
|
||||||
|
class VoiceRemindUpdate {
|
||||||
|
String str;
|
||||||
|
|
||||||
|
VoiceRemindUpdate(String _str) {
|
||||||
|
this.str = _str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//监听统计数据改变事件
|
//监听统计数据改变事件
|
||||||
class StatisDataUpdate {
|
class StatisDataUpdate {
|
||||||
String str;
|
String str;
|
||||||
|
|||||||
+2
-1
@@ -62,7 +62,8 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
#version: 1.4.19+20220303
|
#version: 1.4.19+20220303
|
||||||
#version: 1.4.20+20220306
|
#version: 1.4.20+20220306
|
||||||
#version: 1.4.21+20220319
|
#version: 1.4.21+20220319
|
||||||
version: 1.4.22+20220320
|
#version: 1.4.22+20220320
|
||||||
|
version: 1.4.23+20220405
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.7.0 <3.0.0"
|
sdk: ">=2.7.0 <3.0.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user