hyzp_ybqx-Commit066:一套APP适应多个区县,已经实现登录验证通过后,先等待预加载数据完成后,再跳转
This commit is contained in:
@@ -1,16 +1,19 @@
|
||||
import 'package:hyzp_ybqx/components/commonFun.dart';
|
||||
|
||||
import 'EncryptUtil.dart';
|
||||
import 'dart:convert';
|
||||
import 'commonFun.dart';
|
||||
|
||||
class UserInfo {
|
||||
UserInfo({this.mapUserInfoRet}) {
|
||||
setUserInfo(theMapUserInfoRet: mapUserInfoRet);
|
||||
}
|
||||
|
||||
setUserInfo({Map theMapUserInfoRet}) {
|
||||
Future setUserInfo({Map theMapUserInfoRet}) async {
|
||||
if (200 == theMapUserInfoRet["ret"]) {
|
||||
mapUserInfoRet = theMapUserInfoRet;
|
||||
mapUserInfo = theMapUserInfoRet["data"];
|
||||
print('mapUserInfo = ${mapUserInfo.toString()}');
|
||||
setQxInfo(mapUserInfo["qx_code"], mapUserInfo["qx_name"]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,23 +21,107 @@ class UserInfo {
|
||||
setUserInfoFaceLogin(Map _mapGetData) {
|
||||
mapUserInfo['user_id'] = _mapGetData['user_id'];
|
||||
mapUserInfo['token'] = _mapGetData['token'];
|
||||
setQxInfo(mapUserInfo["qx_code"], mapUserInfo["qx_name"]);
|
||||
}
|
||||
|
||||
setQxInfo(String _qx_code, String _qx_name) {
|
||||
qx_code = int.parse(_qx_code.trim());
|
||||
qx_name = _qx_name;
|
||||
|
||||
// 511528、兴文县
|
||||
// int qx_code = 511528;
|
||||
// String qx_name = '宜宾市兴文';
|
||||
// String service_tel = '\n服务热线:187-8467-8300';
|
||||
// String copyright_info = '© ' + qx_name + '生态环境局 四川省踏石科技 版权所有' + service_tel;
|
||||
// String copyright_info_PinYin = 'YIBIN XINGWEN BLACK SMOKE CAR CAPTURE SYSTEM';
|
||||
// // 兴文县中心地址:天泉商城
|
||||
// double center_latitude = 28.29678023715008; // 区县中心纬度
|
||||
// double center_longitude = 105.24189826141459; // 区县中心经度
|
||||
|
||||
// 511501 市辖区
|
||||
// 511502 翠屏区
|
||||
// 511503 南溪区
|
||||
// 511504 叙州区
|
||||
// 511523 江安县
|
||||
// 511524 长宁县
|
||||
// 511525 高县
|
||||
// 511526 珙县
|
||||
// 511527 筠连县
|
||||
// 511528 兴文县
|
||||
// 511529 屏山县
|
||||
|
||||
// 511501、宜宾市生态环境局、四川省踏石科技,保留客服电话
|
||||
// 511502、宜宾市翠屏生态环境局,去掉客服电话
|
||||
// 511505、宜宾三江新区城乡融合发展局、四川省踏石科技,保留客服电话
|
||||
// 511524、宜宾市长宁生态环境局,去掉客服电话
|
||||
// 511528、宜宾市兴文生态环境局、四川省踏石科技,保留客服电话
|
||||
// 511527、宜宾市筠连生态环境局、四川省踏石科技,保留客服电话
|
||||
|
||||
qx_name_long = '宜宾市' + trim_county(qx_name);
|
||||
service_tel = '\n服务热线:187-8467-8300';
|
||||
copyright_info = '© ' + qx_name_long + '生态环境局 四川省踏石科技 版权所有' + service_tel;
|
||||
// 中心地址:宜宾市白塔山
|
||||
center_latitude = 28.77914; // 区县中心纬度
|
||||
center_longitude = 104.644079; // 区县中心经度
|
||||
|
||||
// App开发登录用户:
|
||||
// 翠屏区:mancpq
|
||||
// 三江新区:mansjxq
|
||||
// 长宁县:mancnx
|
||||
// 高县:mangx
|
||||
// 筠连县:manjlx
|
||||
// 兴文县:manxwx
|
||||
switch (qx_code) {
|
||||
case 511502: // 翠屏区
|
||||
service_tel = '';
|
||||
copyright_info = '© ' + qx_name_long + '生态环境局 版权所有' + service_tel;
|
||||
copyright_info_PinYin = 'YIBIN CUIPING BLACK SMOKE CAR CAPTURE SYSTEM';
|
||||
break;
|
||||
case 511505: // 三江新区
|
||||
qx_name_long = '宜宾' + qx_name;
|
||||
copyright_info = '© ' + qx_name_long + '城乡融合发展局 四川省踏石科技\n版权所有, ' + service_tel;
|
||||
copyright_info_PinYin = 'YIBIN SANJIANG NEW AREA BLACK SMOKE CAR CAPTURE SYSTEM';
|
||||
break;
|
||||
case 511524: // 长宁县
|
||||
service_tel = '';
|
||||
copyright_info = '© ' + qx_name_long + '生态环境局 版权所有' + service_tel;
|
||||
copyright_info_PinYin = 'YIBIN CHANGNING BLACK SMOKE CAR CAPTURE SYSTEM';
|
||||
break;
|
||||
case 511525: // 高县
|
||||
copyright_info_PinYin = 'YIBIN GAOXIAN BLACK SMOKE CAR CAPTURE SYSTEM';
|
||||
break;
|
||||
case 511527: // 筠连县
|
||||
copyright_info_PinYin = 'YIBIN JUNLIAN BLACK SMOKE CAR CAPTURE SYSTEM';
|
||||
break;
|
||||
case 511528: // 兴文县
|
||||
copyright_info_PinYin = 'YIBIN XINGWEN BLACK SMOKE CAR CAPTURE SYSTEM';
|
||||
// 中心地址:天泉商城
|
||||
center_latitude = 28.29678023715008; // 区县中心纬度
|
||||
center_longitude = 105.24189826141459; // 区县中心经度
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 去除末尾的区县
|
||||
String trim_county(String _name) {
|
||||
return _name.substring(0, _name.length - 1);
|
||||
}
|
||||
|
||||
Map mapUserInfoRet = {
|
||||
"ret": 200,
|
||||
"data": {
|
||||
"is_login": true,
|
||||
"user_id": 1,
|
||||
"token": "B93EC91FA2FE293B7077162D4527FC4BB228CD6C0A4F24A882B9A8BBE6C3FB47"
|
||||
"user_id": 152,
|
||||
"token": "959091E2A5E362E22F22F8DBE05737A95545A43AF28B19AB3DAD5F8557EE2E29",
|
||||
"qx_code": "511528",
|
||||
"qx_name": "兴文县"
|
||||
},
|
||||
"msg": ""
|
||||
};
|
||||
|
||||
Map mapUserInfo = {
|
||||
"is_login": false,
|
||||
"user_id": -1,
|
||||
"token": ""
|
||||
};
|
||||
Map mapUserInfo = {"is_login": false, "user_id": -1, "token": "", "qx_code": "", "qx_name": ""};
|
||||
|
||||
//若list[i]为'',解密时会报错:aes decode error:RangeError: Value not in range: -16
|
||||
String thisAndroidId = ''; //每个手机唯一的设备号
|
||||
|
||||
@@ -43,8 +43,8 @@ import 'UserInfo.dart';
|
||||
// 511501、宜宾市
|
||||
// String APPkey = 'ijddvzgEGaxbzsbmCtpdohxHyrAArwJB'; // 宜宾市APPkey
|
||||
// String service_tel = '\n服务热线:187-8467-8300';
|
||||
// String qx_name = '宜宾';
|
||||
// String copyright_info = '© ' + qx_name + '市生态环境局 四川省踏石科技有限公司 版权所有' + service_tel;
|
||||
// String yibin_QuXian = '宜宾';
|
||||
// String copyright_info = '© ' + yibin_QuXian + '市生态环境局 四川省踏石科技有限公司 版权所有' + service_tel;
|
||||
// String copyright_info_PinYin = 'YIBIN BLACK SMOKE CAR CAPTURE SYSTEM';
|
||||
|
||||
// const serviceUrl_ybqx = 'http://125.64.218.67:9904'; // 宜宾市
|
||||
@@ -74,6 +74,7 @@ const String setSphericalCameraUrl = 'http://125.64.218.67:9914/';
|
||||
// 一套APP适应多个区县,等用户登录后,会返回 qx_code、qx_name
|
||||
int qx_code = -1;
|
||||
String qx_name = '';
|
||||
String qx_name_long = '';
|
||||
String service_tel = '';
|
||||
String copyright_info = '';
|
||||
String copyright_info_PinYin = '';
|
||||
@@ -81,6 +82,18 @@ String copyright_info_PinYin = '';
|
||||
double center_latitude = -1; // 区县中心纬度
|
||||
double center_longitude = -1; // 区县中心经度
|
||||
|
||||
clear_user_info() {
|
||||
qx_code = -1;
|
||||
qx_name = '';
|
||||
qx_name_long = '';
|
||||
service_tel = '';
|
||||
copyright_info = '';
|
||||
copyright_info_PinYin = '';
|
||||
// 区县中心地址
|
||||
center_latitude = -1; // 区县中心纬度
|
||||
center_longitude = -1; // 区县中心经度
|
||||
}
|
||||
|
||||
// 511528、兴文县
|
||||
// int qx_code = 511528;
|
||||
// String qx_name = '宜宾市兴文';
|
||||
@@ -220,6 +233,11 @@ UserInfo g_userInfo = UserInfo(mapUserInfoRet: {
|
||||
"msg": ""
|
||||
});
|
||||
|
||||
// 去除末尾的区县
|
||||
String trim_county(String _name) {
|
||||
return _name.substring(0, _name.length - 1);
|
||||
}
|
||||
|
||||
Future<Map> getMapFromJson(var response) async {
|
||||
String _str = json.encode(response);
|
||||
Map _map = json.decode(_str);
|
||||
@@ -747,6 +765,13 @@ Widget getImageWidget() {
|
||||
color: Color.fromRGBO(49, 216, 123, 1),
|
||||
fontWeight: FontWeight.bold)),
|
||||
),
|
||||
SizedBox(height: ScreenUtil().setHeight(copyright_info.contains('\n') ? 50 : 90)),
|
||||
Container(
|
||||
alignment: Alignment.center,
|
||||
child: Text(copyright_info,
|
||||
style: TextStyle(fontSize: 13, color: Color.fromRGBO(192, 192, 192, 1)),
|
||||
textAlign: TextAlign.center),
|
||||
),
|
||||
],
|
||||
),
|
||||
// child: Image.asset(
|
||||
|
||||
@@ -475,7 +475,7 @@ Future getAllStatisData({String ip = '', String date = ''}) async {
|
||||
}
|
||||
|
||||
//访问区县后台接口,需要统一添加区县代码参数
|
||||
map['qx_code'] = qx_code;
|
||||
map['qxdm'] = qx_code;
|
||||
|
||||
Dio dio = Dio();
|
||||
String api = ServicePath.getStaAllUrl;
|
||||
@@ -735,7 +735,7 @@ Future getStatisData({@required String statisType, String ip = '', String date =
|
||||
}
|
||||
|
||||
//访问区县后台接口,需要统一添加区县代码参数
|
||||
map['qx_code'] = qx_code;
|
||||
map['qxdm'] = qx_code;
|
||||
|
||||
Dio dio = Dio();
|
||||
String api = mapStatisType[statisType]['api'];
|
||||
@@ -1963,7 +1963,7 @@ Future getThePageList(
|
||||
}
|
||||
|
||||
//访问区县后台接口,需要统一添加区县代码参数
|
||||
map['qx_code'] = qx_code;
|
||||
map['qxdm'] = qx_code;
|
||||
|
||||
print('mapHyshlx[theHyshlx][api] = ${mapHyshlx[theHyshlx]['api']}');
|
||||
// mapHyshlx[theHyshlx][api] = http://125.64.218.67:9904/?s=App.Car_Hyc.GetList
|
||||
|
||||
+2
-4
@@ -8,7 +8,6 @@ import 'package:flutter_bmfbase/BaiduMap/bmfmap_base.dart' show BMFMapSDK, BMF_C
|
||||
import 'package:flutter_screenutil/screenutil_init.dart';
|
||||
import 'package:hyzp_ybqx/pages/Login/LoginTabs2.dart';
|
||||
import 'package:hyzp_ybqx/pages/MyMsics/05_updated/MyUpdatedNew.dart';
|
||||
import 'package:hyzp_ybqx/pages/Works/TJXX/tj_data.dart';
|
||||
import 'package:package_info/package_info.dart';
|
||||
// 引入provider
|
||||
import 'package:provider/provider.dart';
|
||||
@@ -65,7 +64,7 @@ class _MyAppState extends State<MyApp> {
|
||||
@override
|
||||
void initState() {
|
||||
initApp(); // 1、处理百度地图sdk初始化鉴权
|
||||
startGetStatisDataNew(); // 2、登录前提前获取统计数据,改善用户登录体验
|
||||
// startGetStatisDataNew(); // 2、登录前提前获取统计数据,改善用户登录体验
|
||||
// 3、处理版本更新
|
||||
PackageInfo.fromPlatform().then((PackageInfo packageInfo) async {
|
||||
String appName = packageInfo.appName;
|
||||
@@ -250,8 +249,7 @@ class _SplashScreenState extends State<SplashScreen> {
|
||||
// 屏幕高度
|
||||
// child: Image.asset('assets/images/hyzp_ybqx00_yibin_launche.png', fit: BoxFit.cover),
|
||||
// child: Image.asset('assets/images/hyzp_ybqx01_cuiping_launche.png', fit: BoxFit.cover),
|
||||
child: Image.asset('assets/images/hyzp_ybqx_launche.png',
|
||||
fit: BoxFit.cover)),
|
||||
child: Image.asset('assets/images/hyzp_ybqx_launche.png', fit: BoxFit.cover)),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
@@ -55,7 +55,7 @@ class _LoginPageState extends State<LoginByName2> {
|
||||
});
|
||||
}
|
||||
|
||||
//处理延迟登录
|
||||
// 一套APP适应多个区县登录过程05、处理延迟登录。等待预加载数据成功后,进行页面跳转
|
||||
updateMayLogin() {
|
||||
//判断从网络获取三种统计数据是否完成
|
||||
// if (listZptjStatisAlone.length >= dwSum &&
|
||||
@@ -99,11 +99,16 @@ class _LoginPageState extends State<LoginByName2> {
|
||||
// Navigator.pushNamed(context, '/tabs', arguments: g_iIndex);
|
||||
// return;
|
||||
|
||||
if (!bMayLogin) {
|
||||
// if (!bMayLogin) {
|
||||
// bPreLoading = true;
|
||||
// try_setState();
|
||||
// }
|
||||
|
||||
// 一套APP适应多个区县登录过程01、显示“加载中 ...”
|
||||
bPreLoading = true;
|
||||
try_setState();
|
||||
}
|
||||
|
||||
// 一套APP适应多个区县登录过程02、进行登录验证,保存登录信息
|
||||
if (bRemmberPW) {
|
||||
Storage.setBool('bRemmberPW', bRemmberPW);
|
||||
//加密保存
|
||||
@@ -158,9 +163,17 @@ class _LoginPageState extends State<LoginByName2> {
|
||||
if (true == response.data["data"]["is_login"]) {
|
||||
print('登录成功');
|
||||
print('response.data = ${response.data}');
|
||||
//保存用户信息
|
||||
|
||||
// 一套APP适应多个区县登录过程03、登录成功,保存登录信息
|
||||
Storage.setString('userInfo', json.encode(response.data["data"]));
|
||||
g_userInfo.setUserInfo(theMapUserInfoRet: await getMapFromJson(response.data));
|
||||
g_userInfo
|
||||
.setUserInfo(theMapUserInfoRet: await getMapFromJson(response.data))
|
||||
.then((value) {
|
||||
// 一套APP适应多个区县登录过程04、登录成功,开始使用保存的登录信息预加载数据,并设置bLoginVerify = true
|
||||
bLoginVerify = true; //处理延时登录,判断用户名登录是否验证通过
|
||||
startGetStatisDataNew(); // 2、登录前提前获取统计数据,改善用户登录体验
|
||||
// Navigator.pushNamed(context, '/tabs', arguments: g_iIndex);
|
||||
});
|
||||
//获取用户所属分组和相应权限
|
||||
// getUserGroupAll().then((value) {
|
||||
// bLoginVerify = true; //处理延时登录,判断用户名登录是否验证通过
|
||||
@@ -171,8 +184,9 @@ class _LoginPageState extends State<LoginByName2> {
|
||||
// Navigator.pushNamed(context, '/tabs', arguments: g_iIndex);
|
||||
// }
|
||||
// });
|
||||
bLoginVerify = true; //处理延时登录,判断用户名登录是否验证通过
|
||||
Navigator.pushNamed(context, '/tabs', arguments: g_iIndex);
|
||||
|
||||
// bLoginVerify = true; //处理延时登录,判断用户名登录是否验证通过
|
||||
// Navigator.pushNamed(context, '/tabs', arguments: g_iIndex);
|
||||
} else {
|
||||
print('登录失败:${response.data["data"]}');
|
||||
bLoginVerify = false; //处理延时登录,判断用户名登录是否验证通过
|
||||
|
||||
Reference in New Issue
Block a user