1,修复实名认证完成后开锁动画不执行问题
2,更新检测是否认证完成后下次认证时间逻辑 3,电子钥匙模块新增部分国际化
This commit is contained in:
parent
1e8a1648eb
commit
6caeb5a5c2
@ -822,6 +822,7 @@
|
|||||||
"取消升级":"Cancel the upgrade",
|
"取消升级":"Cancel the upgrade",
|
||||||
"固件传输中":"Firmware in transit",
|
"固件传输中":"Firmware in transit",
|
||||||
"关闭":"Shut down",
|
"关闭":"Shut down",
|
||||||
"传输中'":"In transit"
|
"传输中'":"In transit",
|
||||||
|
"操作记录":"Operation record",
|
||||||
|
"修改姓名":"Modify name"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -850,5 +850,7 @@
|
|||||||
"取消升级":"取消升级",
|
"取消升级":"取消升级",
|
||||||
"固件传输中":"固件传输中",
|
"固件传输中":"固件传输中",
|
||||||
"关闭":"关闭",
|
"关闭":"关闭",
|
||||||
"传输中'":"传输中"
|
"传输中'":"传输中",
|
||||||
|
"操作记录":"操作记录",
|
||||||
|
"修改姓名":"修改姓名"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -853,6 +853,7 @@
|
|||||||
"取消升级":"取消升级",
|
"取消升级":"取消升级",
|
||||||
"固件传输中":"固件传输中",
|
"固件传输中":"固件传输中",
|
||||||
"关闭":"关闭",
|
"关闭":"关闭",
|
||||||
"传输中'":"传输中"
|
"传输中'":"传输中",
|
||||||
|
"操作记录":"操作记录",
|
||||||
|
"修改姓名":"修改姓名"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.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';
|
||||||
@ -20,7 +19,8 @@ class ElectronicKeyDetailPage extends StatefulWidget {
|
|||||||
const ElectronicKeyDetailPage({Key? key}) : super(key: key);
|
const ElectronicKeyDetailPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<ElectronicKeyDetailPage> createState() => _ElectronicKeyDetailPageState();
|
State<ElectronicKeyDetailPage> createState() =>
|
||||||
|
_ElectronicKeyDetailPageState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
||||||
@ -35,18 +35,20 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
appBar: TitleAppBar(
|
appBar: TitleAppBar(
|
||||||
barTitle: TranslationLoader.lanKeys!.keyDetail!.tr,
|
barTitle: TranslationLoader.lanKeys!.keyDetail!.tr,
|
||||||
haveBack: true,
|
haveBack: true,
|
||||||
actionsList: (state.keyType.value!=3) ? [
|
actionsList: (state.keyType.value != 3)
|
||||||
IconButton(
|
? [
|
||||||
icon: Image.asset(
|
IconButton(
|
||||||
'images/icon_bar_more.png',
|
icon: Image.asset(
|
||||||
height: 30.h,
|
'images/icon_bar_more.png',
|
||||||
width: 10.w,
|
height: 30.h,
|
||||||
),
|
width: 10.w,
|
||||||
onPressed: () {
|
),
|
||||||
logic.openModalBottomSheet(context);
|
onPressed: () {
|
||||||
},
|
logic.openModalBottomSheet(context);
|
||||||
),
|
},
|
||||||
]:null,
|
),
|
||||||
|
]
|
||||||
|
: null,
|
||||||
backgroundColor: AppColors.mainColor),
|
backgroundColor: AppColors.mainColor),
|
||||||
body: ListView(
|
body: ListView(
|
||||||
children: [
|
children: [
|
||||||
@ -63,39 +65,54 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
allHeight: 70.h,
|
allHeight: 70.h,
|
||||||
// rightTitle:"2023.09.19 11:27\n2023.09.25 11:27",
|
// rightTitle:"2023.09.19 11:27\n2023.09.25 11:27",
|
||||||
rightTitle: logic.getKeyTypeShowDateTime(),
|
rightTitle: logic.getKeyTypeShowDateTime(),
|
||||||
isHaveDirection: state.itemData.value.keyStatus! == XSConstantMacro.keyStatusExpired ? false : state.keyType.value == 3 ? false : true ,
|
isHaveDirection: state.itemData.value.keyStatus! ==
|
||||||
|
XSConstantMacro.keyStatusExpired
|
||||||
|
? false
|
||||||
|
: state.keyType.value == 3
|
||||||
|
? false
|
||||||
|
: true,
|
||||||
isHaveLine: true,
|
isHaveLine: true,
|
||||||
action: state.itemData.value.keyStatus! == XSConstantMacro.keyStatusExpired ? null :() async {
|
action: state.itemData.value.keyStatus! ==
|
||||||
if(state.keyType.value == 2 || state.keyType.value == 1){
|
XSConstantMacro.keyStatusExpired
|
||||||
// 限时/永久
|
? null
|
||||||
var data = await Get.toNamed(Routers.electronicKeyDetailChangeDate, arguments: {
|
: () async {
|
||||||
"pushType": 0,
|
if (state.keyType.value == 2 ||
|
||||||
"itemData": state.itemData.value,
|
state.keyType.value == 1) {
|
||||||
});
|
// 限时/永久
|
||||||
if(data != null) {
|
var data = await Get.toNamed(
|
||||||
setState(() {
|
Routers.electronicKeyDetailChangeDate,
|
||||||
state.starDate.value = data["beginTimeTimestamp"].toString();
|
arguments: {
|
||||||
state.endDate.value = data["endTimeTimestamp"].toString();
|
"pushType": 0,
|
||||||
state.keyType.value = 2;
|
"itemData": state.itemData.value,
|
||||||
});
|
});
|
||||||
}
|
if (data != null) {
|
||||||
}else if(state.keyType.value == 4){
|
setState(() {
|
||||||
// 循环
|
state.starDate.value =
|
||||||
var data = await Get.toNamed(Routers.electronicKeyPeriodValidityPage, arguments: {
|
data["beginTimeTimestamp"].toString();
|
||||||
"pushType": 0,
|
state.endDate.value =
|
||||||
"itemData": state.itemData.value,
|
data["endTimeTimestamp"].toString();
|
||||||
});
|
state.keyType.value = 2;
|
||||||
if(data != null) {
|
});
|
||||||
setState(() {
|
}
|
||||||
state.starDate.value = data["starDate"];
|
} else if (state.keyType.value == 4) {
|
||||||
state.endDate.value = data["endDate"];
|
// 循环
|
||||||
state.starTime.value = data["starTime"];
|
var data = await Get.toNamed(
|
||||||
state.endTime.value = data["endTime"];
|
Routers.electronicKeyPeriodValidityPage,
|
||||||
state.weekDay.value = data["validityValue"];
|
arguments: {
|
||||||
});
|
"pushType": 0,
|
||||||
}
|
"itemData": state.itemData.value,
|
||||||
}
|
});
|
||||||
})),
|
if (data != null) {
|
||||||
|
setState(() {
|
||||||
|
state.starDate.value = data["starDate"];
|
||||||
|
state.endDate.value = data["endDate"];
|
||||||
|
state.starTime.value = data["starTime"];
|
||||||
|
state.endTime.value = data["endTime"];
|
||||||
|
state.weekDay.value = data["validityValue"];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})),
|
||||||
Obx(() => Visibility(
|
Obx(() => Visibility(
|
||||||
visible: state.keyType.value == 4 ? true : false,
|
visible: state.keyType.value == 4 ? true : false,
|
||||||
child: Obx(() => CommonItem(
|
child: Obx(() => CommonItem(
|
||||||
@ -104,11 +121,13 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
isHaveLine: true,
|
isHaveLine: true,
|
||||||
action: () async {
|
action: () async {
|
||||||
var data = await Get.toNamed(Routers.electronicKeyPeriodValidityPage, arguments: {
|
var data = await Get.toNamed(
|
||||||
"pushType": 0,
|
Routers.electronicKeyPeriodValidityPage,
|
||||||
"itemData": state.itemData.value,
|
arguments: {
|
||||||
});
|
"pushType": 0,
|
||||||
if(data != null) {
|
"itemData": state.itemData.value,
|
||||||
|
});
|
||||||
|
if (data != null) {
|
||||||
setState(() {
|
setState(() {
|
||||||
state.starDate.value = data["starDate"];
|
state.starDate.value = data["starDate"];
|
||||||
state.endDate.value = data["endDate"];
|
state.endDate.value = data["endDate"];
|
||||||
@ -122,14 +141,17 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
visible: state.keyType.value == 4 ? true : false,
|
visible: state.keyType.value == 4 ? true : false,
|
||||||
child: Obx(() => CommonItem(
|
child: Obx(() => CommonItem(
|
||||||
leftTitel: "有效时间".tr,
|
leftTitel: "有效时间".tr,
|
||||||
rightTitle: "${DateTool().dateToHNString(state.starTime.value)}-${DateTool().dateToHNString(state.endTime.value)}",
|
rightTitle:
|
||||||
|
"${DateTool().dateToHNString(state.starTime.value)}-${DateTool().dateToHNString(state.endTime.value)}",
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () async {
|
action: () async {
|
||||||
var data = await Get.toNamed(Routers.electronicKeyPeriodValidityPage, arguments: {
|
var data = await Get.toNamed(
|
||||||
"pushType": 0,
|
Routers.electronicKeyPeriodValidityPage,
|
||||||
"itemData": state.itemData.value,
|
arguments: {
|
||||||
});
|
"pushType": 0,
|
||||||
if(data != null) {
|
"itemData": state.itemData.value,
|
||||||
|
});
|
||||||
|
if (data != null) {
|
||||||
setState(() {
|
setState(() {
|
||||||
state.starDate.value = data["starDate"];
|
state.starDate.value = data["starDate"];
|
||||||
state.endDate.value = data["endDate"];
|
state.endDate.value = data["endDate"];
|
||||||
@ -150,33 +172,37 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
const SizedBox(height: 1),
|
const SizedBox(height: 1),
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel: TranslationLoader.lanKeys!.senderTime!.tr,
|
leftTitel: TranslationLoader.lanKeys!.senderTime!.tr,
|
||||||
rightTitle: DateTool().dateToYMDHNString(
|
rightTitle: DateTool()
|
||||||
state.itemData.value.sendDate.toString())),
|
.dateToYMDHNString(state.itemData.value.sendDate.toString())),
|
||||||
Container(height: 10.h),
|
Container(height: 10.h),
|
||||||
Visibility(
|
Visibility(
|
||||||
visible: state.itemData.value.keyRight == 1 ? true:false,
|
visible: state.itemData.value.keyRight == 1 ? true : false,
|
||||||
child: CommonItem(
|
child: CommonItem(
|
||||||
leftTitel: "仅管理自己创建的用户".tr,
|
leftTitel: "仅管理自己创建的用户".tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveRightWidget: true,
|
isHaveRightWidget: true,
|
||||||
isHaveLine: true,
|
isHaveLine: true,
|
||||||
rightWidget: SizedBox(
|
rightWidget: SizedBox(
|
||||||
width: 60.w,
|
width: 60.w, child: _onlyManageYouCreatesUserSwitch())),
|
||||||
child: _onlyManageYouCreatesUserSwitch())),
|
|
||||||
),
|
),
|
||||||
Visibility(// (state.keyInfo.value.lockSetting!.remoteUnlock == 1 ? true : false
|
Visibility(
|
||||||
visible: CommonDataManage().currentKeyInfo.lockSetting!.remoteUnlock == 1 && state.itemData.value.keyRight != 1 ? true:false,
|
// (state.keyInfo.value.lockSetting!.remoteUnlock == 1 ? true : false
|
||||||
|
visible:
|
||||||
|
CommonDataManage().currentKeyInfo.lockSetting!.remoteUnlock ==
|
||||||
|
1 &&
|
||||||
|
state.itemData.value.keyRight != 1
|
||||||
|
? true
|
||||||
|
: false,
|
||||||
child: CommonItem(
|
child: CommonItem(
|
||||||
leftTitel: "远程开锁".tr,
|
leftTitel: "远程开锁".tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveRightWidget: true,
|
isHaveRightWidget: true,
|
||||||
isHaveLine: true,
|
isHaveLine: true,
|
||||||
rightWidget: SizedBox(
|
rightWidget:
|
||||||
width: 60.w,
|
SizedBox(width: 60.w, child: _remoteUnlockingSwitch())),
|
||||||
child: _remoteUnlockingSwitch())),
|
|
||||||
),
|
),
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr,
|
leftTitel: '实名认证'.tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveRightWidget: true,
|
isHaveRightWidget: true,
|
||||||
rightWidget: SizedBox(
|
rightWidget: SizedBox(
|
||||||
@ -186,7 +212,7 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
: false))),
|
: false))),
|
||||||
Container(height: 10.h),
|
Container(height: 10.h),
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
|
leftTitel: '操作记录'.tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () {
|
action: () {
|
||||||
@ -198,7 +224,7 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
}),
|
}),
|
||||||
Container(height: 40.h),
|
Container(height: 40.h),
|
||||||
SubmitBtn(
|
SubmitBtn(
|
||||||
btnName: TranslationLoader.lanKeys!.delete!.tr,
|
btnName: '删除'.tr,
|
||||||
borderRadius: 20.w,
|
borderRadius: 20.w,
|
||||||
isDelete: true,
|
isDelete: true,
|
||||||
margin: EdgeInsets.only(
|
margin: EdgeInsets.only(
|
||||||
@ -249,7 +275,8 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
value: state.onlyManageYouCreatesUser.value,
|
value: state.onlyManageYouCreatesUser.value,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
state.onlyManageYouCreatesUser.value = !state.onlyManageYouCreatesUser.value;
|
state.onlyManageYouCreatesUser.value =
|
||||||
|
!state.onlyManageYouCreatesUser.value;
|
||||||
logic.updateKeyDateRequest(1);
|
logic.updateKeyDateRequest(1);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -261,7 +288,7 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return ShowTFView(
|
return ShowTFView(
|
||||||
title: "${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.name!.tr}",
|
title: "修改姓名".tr,
|
||||||
tipTitle: "请输入".tr,
|
tipTitle: "请输入".tr,
|
||||||
controller: state.changeNameController,
|
controller: state.changeNameController,
|
||||||
sureClick: () {
|
sureClick: () {
|
||||||
@ -277,5 +304,4 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import 'dart:io';
|
|||||||
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:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:get_storage/get_storage.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:star_lock/app_settings/app_colors.dart';
|
import 'package:star_lock/app_settings/app_colors.dart';
|
||||||
import 'package:star_lock/flavors.dart';
|
import 'package:star_lock/flavors.dart';
|
||||||
@ -237,9 +238,7 @@ class _LockDetailPageState extends State<LockDetailPage>
|
|||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: state.openDoorBtnisUneable.value == true
|
onTap: state.openDoorBtnisUneable.value == true
|
||||||
? () {
|
? () {
|
||||||
setState(() {
|
isNeedRealNameAuthThenOpenLock();
|
||||||
isNeedRealNameAuthThenOpenLock();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
onLongPressStart: state.openDoorBtnisUneable.value == true
|
onLongPressStart: state.openDoorBtnisUneable.value == true
|
||||||
@ -580,9 +579,7 @@ class _LockDetailPageState extends State<LockDetailPage>
|
|||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: state.openDoorBtnisUneable.value == true
|
onTap: state.openDoorBtnisUneable.value == true
|
||||||
? () {
|
? () {
|
||||||
setState(() {
|
isNeedRealNameAuthThenOpenLock();
|
||||||
isNeedRealNameAuthThenOpenLock();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
onLongPressStart: state.openDoorBtnisUneable.value == true
|
onLongPressStart: state.openDoorBtnisUneable.value == true
|
||||||
@ -1268,22 +1265,26 @@ class _LockDetailPageState extends State<LockDetailPage>
|
|||||||
|
|
||||||
//如果需要实名认证,需认证完成,方可开锁
|
//如果需要实名认证,需认证完成,方可开锁
|
||||||
isNeedRealNameAuthThenOpenLock() {
|
isNeedRealNameAuthThenOpenLock() {
|
||||||
|
state.nextAuthTime.value = state.keyInfos.value.nextFaceValidateTime ?? 0;
|
||||||
if (state.keyInfos.value.faceAuthentication == 1 &&
|
if (state.keyInfos.value.faceAuthentication == 1 &&
|
||||||
state.keyInfos.value.nextFaceValidateTime! > 0 &&
|
state.nextAuthTime.value > 0 &&
|
||||||
DateTool().compareTimeIsOvertime(
|
DateTool().compareTimeIsOvertime(state.nextAuthTime.value) == true) {
|
||||||
state.keyInfos.value.nextFaceValidateTime!) ==
|
|
||||||
true) {
|
|
||||||
AliyunRealNameAuthProvider(
|
AliyunRealNameAuthProvider(
|
||||||
getLockInfo: state.keyInfos.value,
|
getLockInfo: state.keyInfos.value,
|
||||||
onCertifyResult: (bool isSuccess) {
|
onCertifyResultWithTime: ((bool isSuccess, int getNextAuthTime) {
|
||||||
|
state.nextAuthTime.value = getNextAuthTime;
|
||||||
if (isSuccess) {
|
if (isSuccess) {
|
||||||
// 认证成功,去开锁
|
// 认证成功,去开锁
|
||||||
startOpenLock();
|
setState(() {
|
||||||
|
startOpenLock();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}).initAliyunRealNameAuth();
|
})).initAliyunRealNameAuth();
|
||||||
} else {
|
} else {
|
||||||
//无需认证,直接开锁
|
//无需认证,直接开锁
|
||||||
startOpenLock();
|
setState(() {
|
||||||
|
startOpenLock();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -49,6 +49,7 @@ class LockDetailState {
|
|||||||
|
|
||||||
var operateDate = 0; // 按日期查询消息记录的时间戳
|
var operateDate = 0; // 按日期查询消息记录的时间戳
|
||||||
var logCountPage = 10; // 蓝牙记录一页多少个
|
var logCountPage = 10; // 蓝牙记录一页多少个
|
||||||
|
var nextAuthTime = 0.obs; // 下次认证时间
|
||||||
// LockDetailState() {
|
// LockDetailState() {
|
||||||
// Map map = Get.arguments;
|
// Map map = Get.arguments;
|
||||||
// lockCount = map["lockCount"];
|
// lockCount = map["lockCount"];
|
||||||
|
|||||||
@ -33,6 +33,7 @@ import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRealName/fac
|
|||||||
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/buy_record_list_entity.dart';
|
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/buy_record_list_entity.dart';
|
||||||
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_entity.dart';
|
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_entity.dart';
|
||||||
import 'package:star_lock/tools/aliyunRealNameAuth/realNameVertify_entity.dart';
|
import 'package:star_lock/tools/aliyunRealNameAuth/realNameVertify_entity.dart';
|
||||||
|
import 'package:star_lock/tools/aliyunRealNameAuth/serviceAuthResult_entity.dart';
|
||||||
import '../common/safetyVerification/entity/CheckSafetyVerificationEntity.dart';
|
import '../common/safetyVerification/entity/CheckSafetyVerificationEntity.dart';
|
||||||
import '../common/safetyVerification/entity/SafetyVerificationEntity.dart';
|
import '../common/safetyVerification/entity/SafetyVerificationEntity.dart';
|
||||||
import '../login/login/entity/LoginEntity.dart';
|
import '../login/login/entity/LoginEntity.dart';
|
||||||
@ -2067,11 +2068,11 @@ class ApiRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 检测certifyId是否完成认证
|
// 检测certifyId是否完成认证
|
||||||
Future<LockCertifyEntity> getServiceCheckCertify({
|
Future<ServiceAuthResultEntity> getServiceCheckCertify({
|
||||||
required String certifyId,
|
required String certifyId,
|
||||||
required int keyId,
|
required int keyId,
|
||||||
}) async {
|
}) async {
|
||||||
final res = await apiProvider.getServiceCheckCertify(certifyId, keyId);
|
final res = await apiProvider.getServiceCheckCertify(certifyId, keyId);
|
||||||
return LockCertifyEntity.fromJson(res.body);
|
return ServiceAuthResultEntity.fromJson(res.body);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import 'package:star_lock/app_settings/app_settings.dart';
|
|||||||
import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
|
import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
|
||||||
import 'package:star_lock/network/api_repository.dart';
|
import 'package:star_lock/network/api_repository.dart';
|
||||||
import 'package:star_lock/tools/aliyunRealNameAuth/realNameVertify_entity.dart';
|
import 'package:star_lock/tools/aliyunRealNameAuth/realNameVertify_entity.dart';
|
||||||
|
import 'package:star_lock/tools/aliyunRealNameAuth/serviceAuthResult_entity.dart';
|
||||||
import 'package:star_lock/tools/baseGetXController.dart';
|
import 'package:star_lock/tools/baseGetXController.dart';
|
||||||
|
|
||||||
class AliyunRealNameAuthProvider {
|
class AliyunRealNameAuthProvider {
|
||||||
@ -14,10 +15,10 @@ class AliyunRealNameAuthProvider {
|
|||||||
var metainfosMap = {}; //认证信息
|
var metainfosMap = {}; //认证信息
|
||||||
var certifyId = ''; //认证ID
|
var certifyId = ''; //认证ID
|
||||||
var getLockInfo = LockListInfoItemEntity(); //锁信息
|
var getLockInfo = LockListInfoItemEntity(); //锁信息
|
||||||
final Function(bool) onCertifyResult; //认证结果
|
final Function(bool, int) onCertifyResultWithTime; //认证结果及下次认证时间
|
||||||
|
|
||||||
AliyunRealNameAuthProvider(
|
AliyunRealNameAuthProvider(
|
||||||
{required this.getLockInfo, required this.onCertifyResult});
|
{required this.getLockInfo, required this.onCertifyResultWithTime});
|
||||||
|
|
||||||
//初始化
|
//初始化
|
||||||
initAliyunRealNameAuth() {
|
initAliyunRealNameAuth() {
|
||||||
@ -71,13 +72,14 @@ class AliyunRealNameAuthProvider {
|
|||||||
|
|
||||||
// 检测certifyId是否完成认证
|
// 检测certifyId是否完成认证
|
||||||
Future<void> getServiceCheckCertify() async {
|
Future<void> getServiceCheckCertify() async {
|
||||||
var entity = await ApiRepository.to.getServiceCheckCertify(
|
ServiceAuthResultEntity entity =
|
||||||
|
await ApiRepository.to.getServiceCheckCertify(
|
||||||
certifyId: certifyId,
|
certifyId: certifyId,
|
||||||
keyId: getLockInfo.keyId ?? 0,
|
keyId: getLockInfo.keyId ?? 0,
|
||||||
);
|
);
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
if (entity.errorCode!.codeIsSuccessful) {
|
||||||
// 如果认证成功,则调用回调函数,将结果传递给调用处
|
// 如果认证成功,则调用回调函数,将结果传递给调用处
|
||||||
onCertifyResult(true);
|
onCertifyResultWithTime(true, entity.data!.nextFaceValidateTime!);
|
||||||
} else {
|
} else {
|
||||||
// 如果认证失败
|
// 如果认证失败
|
||||||
// await startVerify();
|
// await startVerify();
|
||||||
|
|||||||
@ -0,0 +1,43 @@
|
|||||||
|
class ServiceAuthResultEntity {
|
||||||
|
int? errorCode;
|
||||||
|
String? description;
|
||||||
|
String? errorMsg;
|
||||||
|
Data? data;
|
||||||
|
|
||||||
|
ServiceAuthResultEntity(
|
||||||
|
{this.errorCode, this.description, this.errorMsg, this.data});
|
||||||
|
|
||||||
|
ServiceAuthResultEntity.fromJson(Map<String, dynamic> json) {
|
||||||
|
errorCode = json['errorCode'];
|
||||||
|
description = json['description'];
|
||||||
|
errorMsg = json['errorMsg'];
|
||||||
|
data = json['data'] != null ? Data.fromJson(json['data']) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
|
data['errorCode'] = errorCode;
|
||||||
|
data['description'] = description;
|
||||||
|
data['errorMsg'] = errorMsg;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.toJson();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
int? nextFaceValidateTime;
|
||||||
|
|
||||||
|
Data({this.nextFaceValidateTime});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
nextFaceValidateTime = json['nextFaceValidateTime'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
|
data['nextFaceValidateTime'] = nextFaceValidateTime;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user