Merge branch 'develop_liuyf' into develop
This commit is contained in:
commit
4dcbd4d447
@ -119,9 +119,9 @@ android {
|
|||||||
resValue "string", "app_name", "TTLock Pro"
|
resValue "string", "app_name", "TTLock Pro"
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
JPUSH_PKGNAME : "com.skychip.lock",
|
JPUSH_PKGNAME : "com.skychip.lock",
|
||||||
JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",//--skyAppKey
|
JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",//--skyAppKey
|
||||||
JPUSH_CHANNEL : "flutter_channel",
|
JPUSH_CHANNEL : "flutter_channel",
|
||||||
XIAOMI_APPID : "MI-2882303761520287291",
|
XIAOMI_APPID : "MI-2882303761520287291",
|
||||||
XIAOMI_APPKEY : "MI-5352028744291",
|
XIAOMI_APPKEY : "MI-5352028744291",
|
||||||
OPPO_APPKEY : "OP-ccae67a4a8c1470a8350b0d6a89f8105",
|
OPPO_APPKEY : "OP-ccae67a4a8c1470a8350b0d6a89f8105",
|
||||||
OPPO_APPID : "OP-31586713",
|
OPPO_APPID : "OP-31586713",
|
||||||
@ -174,9 +174,9 @@ android {
|
|||||||
signingConfig signingConfigs.xhj_bundle
|
signingConfig signingConfigs.xhj_bundle
|
||||||
resValue "string", "app_name", "Star Lock"
|
resValue "string", "app_name", "Star Lock"
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
JPUSH_PKGNAME : "ltd.xhjcn.lock",
|
JPUSH_PKGNAME: "ltd.xhjcn.lock",
|
||||||
JPUSH_APPKEY : "5ccdb9b8d3faaae66ba5d02e",
|
JPUSH_APPKEY : "5ccdb9b8d3faaae66ba5d02e",
|
||||||
JPUSH_CHANNEL : "flutter_channel",
|
JPUSH_CHANNEL: "flutter_channel",
|
||||||
]
|
]
|
||||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-xhj.pro'
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-xhj.pro'
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
android/app/src/main/res/drawable/sky_login_btn_normal.png
Normal file
BIN
android/app/src/main/res/drawable/sky_login_btn_normal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.4 KiB |
BIN
android/app/src/main/res/drawable/xhj_login_btn_normal.png
Normal file
BIN
android/app/src/main/res/drawable/xhj_login_btn_normal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
3
android/app/src/main/res/raw/shrink_keep.xml
Normal file
3
android/app/src/main/res/raw/shrink_keep.xml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<resources xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
tools:keep="@drawable/sky_login_btn_normal,@drawable/xhj_login_btn_normal,@drawable/icon_left_grey,@drawable/check,@drawable/uncheck"/>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4todo",
|
"mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4todo",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "com.xhjcn.lock"
|
"package_name": "com.xhjcn.lock.pre"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [],
|
"oauth_client": [],
|
||||||
@ -28,7 +28,7 @@
|
|||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4todo",
|
"mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4todo",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "com.xhjcn.lock.local"
|
"package_name": "com.xhjcn.lock.pre"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [],
|
"oauth_client": [],
|
||||||
|
|||||||
BIN
images/sky_login_btn_normal.png
Normal file
BIN
images/sky_login_btn_normal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
BIN
images/xhj_login_btn_normal.png
Normal file
BIN
images/xhj_login_btn_normal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
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:flutter_slidable/flutter_slidable.dart';
|
import 'package:flutter_slidable/flutter_slidable.dart';
|
||||||
@ -31,7 +30,9 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
|
|||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
logic = Get.put(LockListLogic(widget.lockListInfoGroupEntity));
|
logic = Get.put(LockListLogic(widget.lockListInfoGroupEntity));
|
||||||
state = Get.find<LockListLogic>().state;
|
state = Get
|
||||||
|
.find<LockListLogic>()
|
||||||
|
.state;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -57,15 +58,14 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//设备多层级列表
|
//设备多层级列表
|
||||||
Widget _buildLockExpandedList(
|
Widget _buildLockExpandedList(BuildContext context, int index,
|
||||||
BuildContext context, int index, GroupList itemData) {
|
GroupList itemData) {
|
||||||
final List<LockListInfoItemEntity> lockItemList =
|
final List<LockListInfoItemEntity> lockItemList =
|
||||||
itemData.lockList ?? <LockListInfoItemEntity>[];
|
itemData.lockList ?? <LockListInfoItemEntity>[];
|
||||||
return LockListGroupView(
|
return LockListGroupView(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
//是否选中组
|
//是否选中组
|
||||||
if (itemData.isChecked) {
|
if (itemData.isChecked) {} else {}
|
||||||
} else {}
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
typeImgList: const <dynamic>[],
|
typeImgList: const <dynamic>[],
|
||||||
@ -104,21 +104,21 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
|
|||||||
),
|
),
|
||||||
child: lockInfoListItem(keyInfo, isLast, () {
|
child: lockInfoListItem(keyInfo, isLast, () {
|
||||||
if ((keyInfo.keyType == XSConstantMacro.keyTypeTime ||
|
if ((keyInfo.keyType == XSConstantMacro.keyTypeTime ||
|
||||||
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
|
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
|
||||||
(keyInfo.keyStatus ==
|
(keyInfo.keyStatus ==
|
||||||
XSConstantMacro.keyStatusWaitIneffective)) {
|
XSConstantMacro.keyStatusWaitIneffective)) {
|
||||||
logic.showToast('您的钥匙未生效'.tr);
|
logic.showToast('您的钥匙未生效'.tr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((keyInfo.keyType == XSConstantMacro.keyTypeTime ||
|
if ((keyInfo.keyType == XSConstantMacro.keyTypeTime ||
|
||||||
keyInfo.keyType == XSConstantMacro.keyTypeLong ||
|
keyInfo.keyType == XSConstantMacro.keyTypeLong ||
|
||||||
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
|
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
|
||||||
(keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) {
|
(keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) {
|
||||||
logic.showToast('您的钥匙已冻结'.tr);
|
logic.showToast('您的钥匙已冻结'.tr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((keyInfo.keyType == XSConstantMacro.keyTypeTime ||
|
if ((keyInfo.keyType == XSConstantMacro.keyTypeTime ||
|
||||||
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
|
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
|
||||||
(keyInfo.keyStatus == XSConstantMacro.keyStatusExpired)) {
|
(keyInfo.keyStatus == XSConstantMacro.keyStatusExpired)) {
|
||||||
logic.showToast('您的钥匙已过期'.tr);
|
logic.showToast('您的钥匙已过期'.tr);
|
||||||
return;
|
return;
|
||||||
@ -135,8 +135,8 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget lockInfoListItem(
|
Widget lockInfoListItem(LockListInfoItemEntity keyInfo, bool isLast,
|
||||||
LockListInfoItemEntity keyInfo, bool isLast, Function() action) {
|
Function() action) {
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: action,
|
onTap: action,
|
||||||
child: Container(
|
child: Container(
|
||||||
@ -146,15 +146,15 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
|
|||||||
: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
|
: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: (((keyInfo.keyType == XSConstantMacro.keyTypeTime ||
|
color: (((keyInfo.keyType == XSConstantMacro.keyTypeTime ||
|
||||||
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
|
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
|
||||||
(keyInfo.keyStatus ==
|
(keyInfo.keyStatus ==
|
||||||
XSConstantMacro.keyStatusWaitIneffective ||
|
XSConstantMacro.keyStatusWaitIneffective ||
|
||||||
keyInfo.keyStatus ==
|
keyInfo.keyStatus ==
|
||||||
XSConstantMacro.keyStatusFrozen ||
|
XSConstantMacro.keyStatusFrozen ||
|
||||||
keyInfo.keyStatus ==
|
keyInfo.keyStatus ==
|
||||||
XSConstantMacro.keyStatusExpired)) ||
|
XSConstantMacro.keyStatusExpired)) ||
|
||||||
(keyInfo.keyType == XSConstantMacro.keyTypeLong &&
|
(keyInfo.keyType == XSConstantMacro.keyTypeLong &&
|
||||||
keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen))
|
keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen))
|
||||||
? AppColors.greyBackgroundColor
|
? AppColors.greyBackgroundColor
|
||||||
: Colors.white,
|
: Colors.white,
|
||||||
borderRadius: BorderRadius.circular(20.w),
|
borderRadius: BorderRadius.circular(20.w),
|
||||||
@ -243,14 +243,14 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
|
|||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(5.w),
|
borderRadius: BorderRadius.circular(5.w),
|
||||||
color:
|
color:
|
||||||
DateTool().compareTimeIsOvertime(keyInfo.endDate!)
|
DateTool().compareTimeIsOvertime(keyInfo.endDate!)
|
||||||
? AppColors.listTimeYellowColor
|
? AppColors.listTimeYellowColor
|
||||||
: AppColors.mainColor,
|
: AppColors.mainColor,
|
||||||
),
|
),
|
||||||
child: Text(logic.getKeyEffective(keyInfo),
|
child: Text(logic.getKeyEffective(keyInfo),
|
||||||
style: TextStyle(fontSize: 18.sp, color: Colors.white)
|
style: TextStyle(fontSize: 18.sp, color: Colors.white)
|
||||||
// child: Text(logic.compareTimeIsOvertime(keyInfo.endDate!) ? "已过期" : "余${logic.compareTimeGetDaysFromNow(keyInfo.endDate!)}天", style: TextStyle(fontSize: 18.sp, color: Colors.white)
|
// child: Text(logic.compareTimeIsOvertime(keyInfo.endDate!) ? "已过期" : "余${logic.compareTimeGetDaysFromNow(keyInfo.endDate!)}天", style: TextStyle(fontSize: 18.sp, color: Colors.white)
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
@ -259,7 +259,11 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
SizedBox(width: 30.w),
|
SizedBox(width: 30.w),
|
||||||
Text(
|
Text(
|
||||||
"${logic.getUseKeyTypeStr(keyInfo.startDate, keyInfo.endDate, keyInfo.keyType)}/${keyInfo.isLockOwner == 1 ? '超级管理员'.tr : (keyInfo.keyRight == 1 ? "授权管理员".tr : "普通用户".tr)}",
|
"${logic.getUseKeyTypeStr(keyInfo.startDate, keyInfo.endDate,
|
||||||
|
keyInfo.keyType)}/${keyInfo.isLockOwner == 1
|
||||||
|
? '超级管理员'.tr
|
||||||
|
: (keyInfo.keyRight == 1 ? "授权管理员".tr : "普通用户"
|
||||||
|
.tr)}",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 18.sp, color: AppColors.darkGrayTextColor),
|
fontSize: 18.sp, color: AppColors.darkGrayTextColor),
|
||||||
),
|
),
|
||||||
@ -282,9 +286,14 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
|
Get.delete<LockListLogic>();
|
||||||
/// 取消路由订阅
|
/// 取消路由订阅
|
||||||
AppRouteObserver().routeObserver.unsubscribe(this);
|
AppRouteObserver().routeObserver.unsubscribe(this);
|
||||||
super.dispose();
|
super
|
||||||
|
.
|
||||||
|
dispose
|
||||||
|
(
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 从上级界面进入 当前界面即将出现
|
/// 从上级界面进入 当前界面即将出现
|
||||||
|
|||||||
@ -344,6 +344,7 @@ class _StarLockMainPageState extends State<StarLockMainPage>
|
|||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
|
Get.delete<LockMainLogic>();
|
||||||
_teamEvent.cancel();
|
_teamEvent.cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -190,7 +190,7 @@ class JverifyOneClickLoginManage {
|
|||||||
uiConfig.numberColor = AppColors.mainColor.value;
|
uiConfig.numberColor = AppColors.mainColor.value;
|
||||||
uiConfig.numberSize = 18;
|
uiConfig.numberSize = 18;
|
||||||
|
|
||||||
uiConfig.sloganOffsetY = isiOS ? 10 : 300;
|
uiConfig.sloganOffsetY = isiOS ? 10 : 280;
|
||||||
uiConfig.sloganVerticalLayoutItem = JVIOSLayoutItem.ItemNumber;
|
uiConfig.sloganVerticalLayoutItem = JVIOSLayoutItem.ItemNumber;
|
||||||
uiConfig.sloganTextColor = Colors.black.value;
|
uiConfig.sloganTextColor = Colors.black.value;
|
||||||
uiConfig.sloganTextSize = 15;
|
uiConfig.sloganTextSize = 15;
|
||||||
@ -204,18 +204,18 @@ class JverifyOneClickLoginManage {
|
|||||||
uiConfig.logBtnOffsetY = isiOS ? 30 : 330;
|
uiConfig.logBtnOffsetY = isiOS ? 30 : 330;
|
||||||
uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemSlogan;
|
uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemSlogan;
|
||||||
uiConfig.logBtnText = '一键登录'.tr;
|
uiConfig.logBtnText = '一键登录'.tr;
|
||||||
uiConfig.logBtnTextColor = AppColors.mainColor.value;
|
uiConfig.logBtnTextColor = Colors.white.value;
|
||||||
uiConfig.logBtnTextSize = 16;
|
uiConfig.logBtnTextSize = 16;
|
||||||
|
print('----${F.loginBtnImagePrefix}_login_btn_normal-----');
|
||||||
|
uiConfig.logBtnBackgroundPath =
|
||||||
|
'${F.loginBtnImagePrefix}_login_btn_normal';
|
||||||
if (isiOS) {
|
if (isiOS) {
|
||||||
uiConfig.logBtnTextColor = Colors.white.value;
|
|
||||||
uiConfig.loginBtnNormalImage =
|
uiConfig.loginBtnNormalImage =
|
||||||
'${F.loginBtnImagePrefix}_login_btn_normal'; //图片必须存在
|
'${F.loginBtnImagePrefix}_login_btn_normal'; //图片必须存在
|
||||||
uiConfig.loginBtnPressedImage =
|
uiConfig.loginBtnPressedImage =
|
||||||
'${F.loginBtnImagePrefix}_login_btn_press'; //图片必须存在
|
'${F.loginBtnImagePrefix}_login_btn_press'; //图片必须存在
|
||||||
uiConfig.loginBtnUnableImage =
|
uiConfig.loginBtnUnableImage =
|
||||||
'${F.loginBtnImagePrefix}_login_btn_normal'; //图片必须存在
|
'${F.loginBtnImagePrefix}_login_btn_normal'; //图片必须存在
|
||||||
uiConfig.logBtnBackgroundPath =
|
|
||||||
'${F.loginBtnImagePrefix}_login_btn_normal';
|
|
||||||
}
|
}
|
||||||
// uiConfig.logBtnTextBold = true;
|
// uiConfig.logBtnTextBold = true;
|
||||||
|
|
||||||
@ -224,10 +224,8 @@ class JverifyOneClickLoginManage {
|
|||||||
|
|
||||||
uiConfig.privacyState = false; //设置默认勾选
|
uiConfig.privacyState = false; //设置默认勾选
|
||||||
uiConfig.privacyCheckboxSize = 22;
|
uiConfig.privacyCheckboxSize = 22;
|
||||||
if (isiOS) {
|
uiConfig.checkedImgPath = 'check'; //图片必须存在
|
||||||
uiConfig.checkedImgPath = 'check'; //图片必须存在
|
uiConfig.uncheckedImgPath = 'uncheck'; //图片必须存在
|
||||||
uiConfig.uncheckedImgPath = 'uncheck'; //图片必须存在
|
|
||||||
}
|
|
||||||
|
|
||||||
uiConfig.privacyCheckboxInCenter = true;
|
uiConfig.privacyCheckboxInCenter = true;
|
||||||
uiConfig.privacyCheckboxHidden = false;
|
uiConfig.privacyCheckboxHidden = false;
|
||||||
|
|||||||
@ -154,6 +154,7 @@ class Storage {
|
|||||||
static Future<void> clearAll() async {
|
static Future<void> clearAll() async {
|
||||||
final SharedPreferences sp = await SharedPreferences.getInstance();
|
final SharedPreferences sp = await SharedPreferences.getInstance();
|
||||||
// sp.clear();
|
// sp.clear();
|
||||||
|
sp.remove(saveLockMainListData);
|
||||||
sp.remove(saveUserLoginData);
|
sp.remove(saveUserLoginData);
|
||||||
// 重新设置需要保留的数据
|
// 重新设置需要保留的数据
|
||||||
//退出登录不清除隐私协议同意状态
|
//退出登录不清除隐私协议同意状态
|
||||||
|
|||||||
@ -1017,10 +1017,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: jverify
|
name: jverify
|
||||||
sha256: "26d1667d8c71403b77a2620a8c618625f8b4bfc950dac285b8f35ebc5e60fa5a"
|
sha256: "720384c7dedeb48a64bad9d403cbd76a90c298bbdab91c738913912c81bfa21f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.0"
|
version: "3.0.5"
|
||||||
leak_tracker:
|
leak_tracker:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@ -253,7 +253,7 @@ dependencies:
|
|||||||
flutter_bugly: ^1.0.2
|
flutter_bugly: ^1.0.2
|
||||||
open_filex: ^4.4.0
|
open_filex: ^4.4.0
|
||||||
|
|
||||||
jverify: 3.0.0
|
jverify: 3.0.5
|
||||||
#<cn>
|
#<cn>
|
||||||
umeng_common_sdk: 1.2.8
|
umeng_common_sdk: 1.2.8
|
||||||
#</cn>
|
#</cn>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user