修复首页多条数据显示bug
This commit is contained in:
parent
f95eebc74e
commit
f26bb166c2
@ -3,6 +3,7 @@ import 'package:star_lock/common/safetyVerification/safetyVerification_binding.d
|
|||||||
import 'package:star_lock/login/register/starLock_register_binding.dart';
|
import 'package:star_lock/login/register/starLock_register_binding.dart';
|
||||||
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
|
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
|
||||||
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_main_page.dart';
|
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_main_page.dart';
|
||||||
|
import 'package:star_lock/main/lockMian/entity/lockInfoEntity.dart';
|
||||||
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/minePersonInfoEmail_page.dart';
|
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/minePersonInfoEmail_page.dart';
|
||||||
import 'package:star_lock/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart';
|
import 'package:star_lock/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart';
|
||||||
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart';
|
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart';
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import '../../../blue/io_tool/manager_event_bus.dart';
|
|||||||
import '../../../blue/sender_manage.dart';
|
import '../../../blue/sender_manage.dart';
|
||||||
import '../../../login/login/entity/LoginData.dart';
|
import '../../../login/login/entity/LoginData.dart';
|
||||||
import '../../../login/login/entity/LoginEntity.dart';
|
import '../../../login/login/entity/LoginEntity.dart';
|
||||||
|
import '../../../network/api_repository.dart';
|
||||||
import '../../../tools/baseGetXController.dart';
|
import '../../../tools/baseGetXController.dart';
|
||||||
import '../../../tools/storage.dart';
|
import '../../../tools/storage.dart';
|
||||||
import 'lockDetail_state.dart';
|
import 'lockDetail_state.dart';
|
||||||
@ -351,7 +352,7 @@ class LockDetailLogic extends BaseGetXController{
|
|||||||
List<int> getTokenList = changeStringListToIntList(token!);
|
List<int> getTokenList = changeStringListToIntList(token!);
|
||||||
print("openDoorTokenPubToken:$getTokenList");
|
print("openDoorTokenPubToken:$getTokenList");
|
||||||
|
|
||||||
print("privateKey:$privateKey token:$token");
|
print("publicKey:$publicKey publicKeyDataList:$publicKeyDataList privateKey:$privateKey getPrivateKeyList:$getPrivateKeyList token:$token getTokenList:$getTokenList");
|
||||||
IoSenderManage.senderEditUser(
|
IoSenderManage.senderEditUser(
|
||||||
lockID:BlueManage().connectDeviceName,
|
lockID:BlueManage().connectDeviceName,
|
||||||
authUserID:await Storage.getUserId(),
|
authUserID:await Storage.getUserId(),
|
||||||
@ -430,7 +431,7 @@ class LockDetailLogic extends BaseGetXController{
|
|||||||
// 备用逻辑,进入管理钥匙界面获取锁状态
|
// 备用逻辑,进入管理钥匙界面获取锁状态
|
||||||
Future<void> connectBlue() async {
|
Future<void> connectBlue() async {
|
||||||
// 进来之后首先连接
|
// 进来之后首先连接
|
||||||
BlueManage().connect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, connectStateCallBack: (DeviceConnectionState state) async {
|
BlueManage().connect(state.keyInfos.value.bluetooth!.bluetoothDeviceId!, state.keyInfos.value.bluetooth!.bluetoothDeviceName!, connectStateCallBack: (DeviceConnectionState state) async {
|
||||||
if (state == DeviceConnectionState.connected){
|
if (state == DeviceConnectionState.connected){
|
||||||
var privateKey = await Storage.getStringList(saveBluePrivateKey);
|
var privateKey = await Storage.getStringList(saveBluePrivateKey);
|
||||||
List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
||||||
|
|||||||
@ -1,8 +1,10 @@
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:star_lock/tools/baseGetXController.dart';
|
||||||
|
|
||||||
import '../../../app_settings/app_colors.dart';
|
import '../../../app_settings/app_colors.dart';
|
||||||
|
import '../../../network/api_repository.dart';
|
||||||
import '../../../tools/titleAppBar.dart';
|
import '../../../tools/titleAppBar.dart';
|
||||||
import '../../../translations/trans_lib.dart';
|
import '../../../translations/trans_lib.dart';
|
||||||
import '../../lockMian/entity/lockInfoEntity.dart';
|
import '../../lockMian/entity/lockInfoEntity.dart';
|
||||||
@ -17,16 +19,47 @@ class LockDetailMainPage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _LockDetailMainPageState extends State<LockDetailMainPage> {
|
class _LockDetailMainPageState extends State<LockDetailMainPage> {
|
||||||
|
|
||||||
|
void getLockInfo() async{
|
||||||
|
var entity = await ApiRepository.to.getLockInfo(
|
||||||
|
lastUpdateDate:DateTime.now().millisecondsSinceEpoch.toString(),
|
||||||
|
pageNo:"1",
|
||||||
|
);
|
||||||
|
if(entity.errorCode!.codeIsSuccessful){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
// TODO: implement initState
|
||||||
|
super.initState();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final isFrist;
|
||||||
|
KeyInfos keyInfos = KeyInfos();
|
||||||
|
LockMainEntity lockEntity = LockMainEntity();
|
||||||
|
|
||||||
|
dynamic obj = ModalRoute.of(context)?.settings.arguments;
|
||||||
|
if (obj != null && (obj["lockMainEntity"] != null)) {
|
||||||
|
lockEntity = obj["lockMainEntity"];
|
||||||
|
}
|
||||||
|
if (obj != null && (obj["keyInfo"] != null)) {
|
||||||
|
keyInfos = obj["keyInfo"];
|
||||||
|
}
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
appBar: TitleAppBar(
|
appBar: TitleAppBar(
|
||||||
barTitle: TranslationLoader.lanKeys!.starLock!.tr,
|
barTitle: TranslationLoader.lanKeys!.starLock!.tr,
|
||||||
haveBack: true,
|
haveBack: true,
|
||||||
backgroundColor: AppColors.mainColor),
|
backgroundColor: AppColors.mainColor),
|
||||||
// body: LockDetailPage(lockMainEntity: widget.lockMainEntity),
|
body: LockDetailPage(isFrist:true ,lockMainEntity:lockEntity, keyInfo: keyInfos),
|
||||||
body: Container(),
|
// body: Container(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,9 @@ import 'package:get/get.dart';
|
|||||||
import '../../../appRouters.dart';
|
import '../../../appRouters.dart';
|
||||||
import '../../../app_settings/app_colors.dart';
|
import '../../../app_settings/app_colors.dart';
|
||||||
import '../../../blue/blue_manage.dart';
|
import '../../../blue/blue_manage.dart';
|
||||||
|
import '../../../blue/io_tool/io_manager.dart';
|
||||||
|
import '../../../blue/io_tool/io_tool.dart';
|
||||||
|
import '../../../tools/storage.dart';
|
||||||
import '../../../translations/trans_lib.dart';
|
import '../../../translations/trans_lib.dart';
|
||||||
import '../../lockMian/entity/lockInfoEntity.dart';
|
import '../../lockMian/entity/lockInfoEntity.dart';
|
||||||
import 'lockDetail_logic.dart';
|
import 'lockDetail_logic.dart';
|
||||||
@ -33,6 +36,18 @@ class _LockDetailPageState extends State<LockDetailPage> {
|
|||||||
state.keyInfos.value = widget.keyInfo;
|
state.keyInfos.value = widget.keyInfo;
|
||||||
BlueManage().connectDeviceName = state.keyInfos.value.bluetooth!.bluetoothDeviceName!;
|
BlueManage().connectDeviceName = state.keyInfos.value.bluetooth!.bluetoothDeviceName!;
|
||||||
BlueManage().connectDeviceMacAddress = state.keyInfos.value.bluetooth!.bluetoothDeviceId!;
|
BlueManage().connectDeviceMacAddress = state.keyInfos.value.bluetooth!.bluetoothDeviceId!;
|
||||||
|
|
||||||
|
List<int> publicKeyData = state.keyInfos.value.bluetooth!.publicKey!.cast<int>();
|
||||||
|
var saveStrList = changeIntListToStringList(publicKeyData);
|
||||||
|
Storage.setStringList(saveBluePublicKey, saveStrList);
|
||||||
|
|
||||||
|
// 私钥
|
||||||
|
List<int> privateKeyData = state.keyInfos.value.bluetooth!.privateKey!.cast<int>();
|
||||||
|
var savePrivateKeyList = changeIntListToStringList(privateKeyData);
|
||||||
|
Storage.setStringList(saveBluePrivateKey, savePrivateKeyList);
|
||||||
|
// print("publicKeyData:$publicKeyData saveStrList:$saveStrList privateKeyData:$privateKeyData savePrivateKeyList:$savePrivateKeyList");
|
||||||
|
|
||||||
|
// logic.connectBlue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -62,7 +77,7 @@ class _LockDetailPageState extends State<LockDetailPage> {
|
|||||||
Align(
|
Align(
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
child: Text(
|
child: Text(
|
||||||
widget.keyInfo.lockAlias!,
|
widget.keyInfo!.lockAlias!,
|
||||||
style:
|
style:
|
||||||
TextStyle(fontSize: 22.sp, fontWeight: FontWeight.w400),
|
TextStyle(fontSize: 22.sp, fontWeight: FontWeight.w400),
|
||||||
)),
|
)),
|
||||||
|
|||||||
@ -490,18 +490,21 @@ class Bluetooth {
|
|||||||
String? bluetoothDeviceName;
|
String? bluetoothDeviceName;
|
||||||
List<dynamic>? publicKey;
|
List<dynamic>? publicKey;
|
||||||
List<dynamic>? privateKey;
|
List<dynamic>? privateKey;
|
||||||
|
List<dynamic>? signKey;
|
||||||
|
|
||||||
Bluetooth(
|
Bluetooth(
|
||||||
{this.bluetoothDeviceId,
|
{this.bluetoothDeviceId,
|
||||||
this.bluetoothDeviceName,
|
this.bluetoothDeviceName,
|
||||||
this.publicKey,
|
this.publicKey,
|
||||||
this.privateKey});
|
this.privateKey,
|
||||||
|
this.signKey});
|
||||||
|
|
||||||
Bluetooth.fromJson(Map<String, dynamic> json) {
|
Bluetooth.fromJson(Map<String, dynamic> json) {
|
||||||
bluetoothDeviceId = json['bluetoothDeviceId'];
|
bluetoothDeviceId = json['bluetoothDeviceId'];
|
||||||
bluetoothDeviceName = json['bluetoothDeviceName'];
|
bluetoothDeviceName = json['bluetoothDeviceName'];
|
||||||
publicKey = json['publicKey'];
|
publicKey = json['publicKey'];
|
||||||
privateKey = json['publicKey'];
|
privateKey = json['privateKey'];
|
||||||
|
signKey = json['signKey'];
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
@ -510,6 +513,7 @@ class Bluetooth {
|
|||||||
data['bluetoothDeviceName'] = bluetoothDeviceName;
|
data['bluetoothDeviceName'] = bluetoothDeviceName;
|
||||||
data['publicKey'] = publicKey;
|
data['publicKey'] = publicKey;
|
||||||
data['privateKey'] = privateKey;
|
data['privateKey'] = privateKey;
|
||||||
|
data['signKey'] = signKey;
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
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:star_lock/mine/mine/starLockMine_page.dart';
|
import 'package:star_lock/mine/mine/starLockMine_page.dart';
|
||||||
|
|
||||||
import '../../../appRouters.dart';
|
import '../../../appRouters.dart';
|
||||||
@ -31,7 +32,10 @@ class _LockListPageState extends State<LockListPage> {
|
|||||||
itemBuilder: (c, index) {
|
itemBuilder: (c, index) {
|
||||||
KeyInfos keyInfo = dataList[index];
|
KeyInfos keyInfo = dataList[index];
|
||||||
return lockInfoListItem('images/icon_lock.png', keyInfo.lockAlias, () {
|
return lockInfoListItem('images/icon_lock.png', keyInfo.lockAlias, () {
|
||||||
Navigator.pushNamed(context, Routers.lockDetailMainPage);
|
Get.toNamed(Routers.lockDetailMainPage, arguments: {
|
||||||
|
"lockMainEntity": widget.lockMainEntity,
|
||||||
|
"keyInfo": keyInfo
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,7 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
|
|||||||
// Navigator.pushNamed(context, Routers.lockAddressPage);
|
// Navigator.pushNamed(context, Routers.lockAddressPage);
|
||||||
// logic.getPublicKey(state.devices[index].serviceUuids[0].toString());
|
// logic.getPublicKey(state.devices[index].serviceUuids[0].toString());
|
||||||
state.seletLockName.value = state.devices[index].name;
|
state.seletLockName.value = state.devices[index].name;
|
||||||
print("connect-lockId:${state.devices[index].id} deviceName:${state.devices[index].name}");
|
// print("connect-lockId:${state.devices[index].id} deviceName:${state.devices[index].name}");
|
||||||
logic.connect(state.devices[index].id, state.devices[index].name);
|
logic.connect(state.devices[index].id, state.devices[index].name);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -64,7 +64,7 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
|
|||||||
|
|
||||||
Widget nearbyLockItem(String lockTypeIcon, DiscoveredDevice discoveredDevice, Function() action ) {
|
Widget nearbyLockItem(String lockTypeIcon, DiscoveredDevice discoveredDevice, Function() action ) {
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: action,
|
onTap: ((discoveredDevice.serviceUuids.isNotEmpty ? discoveredDevice.serviceUuids[0] : "").toString()[33] == "1") ? action : null,
|
||||||
child: Column(
|
child: Column(
|
||||||
// mainAxisAlignment: MainAxisAlignment.center,
|
// mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
|
|||||||
@ -204,7 +204,7 @@ class SaveLockLogic extends BaseGetXController {
|
|||||||
userID:await Storage.getUserId(),
|
userID:await Storage.getUserId(),
|
||||||
openMode:1,
|
openMode:1,
|
||||||
keyType:1,
|
keyType:1,
|
||||||
startDate:0x11223344,
|
startDate:DateTime.now().millisecondsSinceEpoch,
|
||||||
expireDate:0x11223344,
|
expireDate:0x11223344,
|
||||||
role:255,
|
role:255,
|
||||||
password:"123456",
|
password:"123456",
|
||||||
@ -244,6 +244,12 @@ class SaveLockLogic extends BaseGetXController {
|
|||||||
List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
||||||
bluetooth['privateKey'] = getPrivateKeyList;
|
bluetooth['privateKey'] = getPrivateKeyList;
|
||||||
|
|
||||||
|
var signKey = await Storage.getStringList(saveBlueSignKey);
|
||||||
|
List<int> signKeyDataList = changeStringListToIntList(signKey!);
|
||||||
|
bluetooth['signKey'] = signKeyDataList;
|
||||||
|
|
||||||
|
print("addUser:publicKeyDataList$publicKeyDataList getPrivateKeyList:$getPrivateKeyList signKeyDataList:$signKeyDataList");
|
||||||
|
|
||||||
var entity = await ApiRepository.to.bindingBlueAdmin(
|
var entity = await ApiRepository.to.bindingBlueAdmin(
|
||||||
bindingDate:DateTime.now().millisecondsSinceEpoch.toString(),
|
bindingDate:DateTime.now().millisecondsSinceEpoch.toString(),
|
||||||
hotelMode:"2",
|
hotelMode:"2",
|
||||||
|
|||||||
@ -124,6 +124,7 @@ class Storage {
|
|||||||
if (data != null && data.isNotEmpty) {
|
if (data != null && data.isNotEmpty) {
|
||||||
userId = LoginEntity.fromJson(jsonDecode(data)).data!.userid.toString();
|
userId = LoginEntity.fromJson(jsonDecode(data)).data!.userid.toString();
|
||||||
}
|
}
|
||||||
|
print("pubUserId:$userId");
|
||||||
return userId;
|
return userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user