diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart index ff504eec..5f4ea104 100644 --- a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart +++ b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart @@ -1,6 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart'; +import 'package:star_lock/network/api_repository.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; import '../../../../appRouters.dart'; import '../../../../app_settings/app_colors.dart'; @@ -55,6 +58,21 @@ class _AuthorizedAdminListPageState extends State { ); } + //请求电子钥匙列表 + Future> mockNetworkDataRequest() async { + ElectronicKeyListEntity entity = await ApiRepository.to + .electronicKeyList('0', '63', '0', '28', '1', '1', '20', '0'); + if (entity.errorCode!.codeIsSuccessful) { + print("电子钥匙列表成功:${entity.data?.itemList}"); + } + if (entity.data != null) { + return entity.data!.itemList; + } else { + List dataList = []; + return dataList; + } + } + Widget _buildMainUI() { return ListView.builder( itemCount: 5, diff --git a/star_lock/lib/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_page.dart b/star_lock/lib/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_page.dart index 09a70b82..9ad70cc0 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_page.dart @@ -140,11 +140,11 @@ class _ElectronicKeyDetailPageState extends State { } else if (indexEntity.keyType == 2) { //永久 DateTime dateStr = DateTime.fromMillisecondsSinceEpoch(indexEntity.date!); - useDateStr = '${dateStr.toLocal().toString()} 永久'; + useDateStr = '${dateStr.toLocal().toString().substring(0, 16)} 永久'; } else if (indexEntity.keyType == 3) { //单次 DateTime dateStr = DateTime.fromMillisecondsSinceEpoch(indexEntity.date!); - useDateStr = '${dateStr.toLocal().toString()} 单次'; + useDateStr = '${dateStr.toLocal().toString().substring(0, 16)} 单次'; } else if (indexEntity.keyType == 4) { //循环 useDateStr = '循环'; diff --git a/star_lock/lib/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecord_page.dart b/star_lock/lib/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecord_page.dart index a337ca93..47684585 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecord_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecord_page.dart @@ -30,53 +30,59 @@ class _KeyOperationRecordPageState extends State { backgroundColor: AppColors.mainColor, ), body: FutureBuilder>( - // future: mockNetworkDataRequest(), + future: mockNetworkDataRequest(), builder: (BuildContext context, AsyncSnapshot> snapshot) { - //请求结束 - if (snapshot.connectionState == ConnectionState.done) { - if (snapshot.hasError) { - //请求失败 - return const Text('请求失败'); - } else { - //请求成功 - final List itemData = snapshot.data!; + //请求结束 + if (snapshot.connectionState == ConnectionState.done) { + if (snapshot.hasError) { + //请求失败 + return const Text('请求失败'); + } else { + //请求成功 + final List itemDataList = snapshot.data!; - return Column( - children: [ - Expanded(child: _buildMainUI()), - ], - ); - } - } else { - //请求未结束 显示loading - return Container(); - } - }), + return Column( + children: [ + Expanded(child: _buildMainUI(itemDataList)), + ], + ); + } + } else { + //请求未结束 显示loading + return Container(); + } + }), ); } //请求操作记录列表 - Future?> mockNetworkDataRequest() async { - KeyOperationRecordEntity entity = (await ApiRepository.to - .lockRecordList('0', '63', '0', '28', '1', '1', '20', '0', '', '', '')); + Future> mockNetworkDataRequest() async { + KeyOperationRecordEntity entity = await ApiRepository.to + .lockRecordList('0', '63', '0', '28', '1', '1', '20', '0', '', '', ''); if (entity.errorCode!.codeIsSuccessful) { print("操作记录列表成功:${entity.data?.itemList}"); } - if (entity.data != null) { - return entity.data!.itemList; + final data = entity.data; + if (data != null) { + return data.itemList!; } else { List dataList = []; return dataList; } } - Widget _buildMainUI() { + Widget _buildMainUI(List itemDataList) { return ListView.separated( itemCount: 5, itemBuilder: (c, index) { - return _electronicKeyItem('images/icon_recordDate.png', "张三", - "2023.6.21 11.15", "2023.6.21 11.15", () {}); + KeyRecordDataItem dataItem = itemDataList[index]; + int? operateDate = dataItem.operateDate; + DateTime dateStr = DateTime.fromMillisecondsSinceEpoch(operateDate!); + String operateDateStr = + '${dateStr.toLocal().toString().substring(0, 16)} 开锁'; + + return _electronicKeyItem(operateDateStr, () {}); }, separatorBuilder: (BuildContext context, int index) { return const Divider( @@ -87,8 +93,7 @@ class _KeyOperationRecordPageState extends State { ); } - Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, - String beginTime, String endTime, Function() action) { + Widget _electronicKeyItem(String operateDate, Function() action) { return GestureDetector( onTap: action, child: Container( @@ -100,7 +105,7 @@ class _KeyOperationRecordPageState extends State { width: 30.w, ), Image.asset( - lockTypeIcon, + 'images/icon_recordDate.png', width: 24.w, height: 24.w, color: AppColors.darkGrayTextColor, @@ -109,7 +114,7 @@ class _KeyOperationRecordPageState extends State { width: 20.w, ), Text( - '2023-07-29 14:50:33 开锁', + operateDate, style: TextStyle(color: AppColors.blackColor, fontSize: 20.sp), ), SizedBox(width: 20.h), diff --git a/star_lock/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart b/star_lock/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart index 38f3f2f1..965d8d51 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart @@ -198,11 +198,11 @@ class _ElectronicKeyListPageState extends State { } else if (indexEntity.keyType == 2) { //永久 DateTime dateStr = DateTime.fromMillisecondsSinceEpoch(indexEntity.date!); - useDateStr = '${dateStr.toLocal().toString()} 永久'; + useDateStr = '${dateStr.toLocal().toString().substring(0, 16)} 永久'; } else if (indexEntity.keyType == 3) { //单次 DateTime dateStr = DateTime.fromMillisecondsSinceEpoch(indexEntity.date!); - useDateStr = '${dateStr.toLocal().toString()} 单次'; + useDateStr = '${dateStr.toLocal().toString().substring(0, 16)} 单次'; } else if (indexEntity.keyType == 4) { //循环 useDateStr = '循环'; diff --git a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart index f7c6f3ee..5a47b2d4 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart @@ -269,6 +269,7 @@ class _SendElectronicKeyPageState extends State { ); } +//发送钥匙请求 Future sendElectronicKeyRequest() async { String getFailureDateTime = '0'; String getEffectiveDateTime = '0'; @@ -301,7 +302,7 @@ class _SendElectronicKeyPageState extends State { '0', getEffectiveDateTime, []); if (entity.errorCode!.codeIsSuccessful) { - // print('发送电子钥匙成功'); + print('发送电子钥匙成功'); _isSendSuccess = true; setState(() {}); } diff --git a/star_lock/lib/main/lockDetail/lcokSet/basicInformation/basicInformation/basicInformation_page.dart b/star_lock/lib/main/lockDetail/lcokSet/basicInformation/basicInformation/basicInformation_page.dart index 4b021d62..e99d1d6f 100644 --- a/star_lock/lib/main/lockDetail/lcokSet/basicInformation/basicInformation/basicInformation_page.dart +++ b/star_lock/lib/main/lockDetail/lcokSet/basicInformation/basicInformation/basicInformation_page.dart @@ -34,7 +34,7 @@ class _BasicInformationPageState extends State { leftTitel: TranslationLoader.lanKeys!.lockNumber!.tr, rightTitle: "MCBN0c_8f3106", allHeight: 70.h, - isHaveLine: false), + isHaveLine: true), CommonItem( leftTitel: "MAC/ID", rightTitle: "53:66:9F:06:31:8F/9418481", diff --git a/star_lock/lib/main/lockDetail/lcokSet/basicInformation/editLockName/editLockName_page.dart b/star_lock/lib/main/lockDetail/lcokSet/basicInformation/editLockName/editLockName_page.dart index 39e7961b..91dd74b7 100644 --- a/star_lock/lib/main/lockDetail/lcokSet/basicInformation/editLockName/editLockName_page.dart +++ b/star_lock/lib/main/lockDetail/lcokSet/basicInformation/editLockName/editLockName_page.dart @@ -2,6 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecordEntity.dart'; +import 'package:star_lock/network/api_repository.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; +import 'package:star_lock/tools/toast.dart'; import '../../../../../app_settings/app_colors.dart'; import '../../../../../tools/tf_loginInput.dart'; @@ -25,6 +29,16 @@ class _EditLockNamePageState extends State { _changeLockNameController.text = "MCBN0c_8f3106"; } + //修改锁名称请求 + Future modifyKeyNameRequest() async { + KeyOperationRecordEntity entity = await ApiRepository.to + .modifyKeyName('63', '28', _changeLockNameController.text, '0'); + if (entity.errorCode!.codeIsSuccessful) { + print("修改锁名称成功啦啦啦啦啦"); + Toast.show(msg: "修改成功"); + } + } + @override Widget build(BuildContext context) { return Scaffold( @@ -39,7 +53,9 @@ class _EditLockNamePageState extends State { TranslationLoader.lanKeys!.sure!.tr, style: TextStyle(color: Colors.white, fontSize: 24.sp), ), - onPressed: () {}, + onPressed: () { + modifyKeyNameRequest(); + }, ), ], ), diff --git a/star_lock/lib/main/lockDetail/lcokSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart b/star_lock/lib/main/lockDetail/lcokSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart index 4290c8a9..dbfdb61f 100644 --- a/star_lock/lib/main/lockDetail/lcokSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart +++ b/star_lock/lib/main/lockDetail/lcokSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart @@ -1,6 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecordEntity.dart'; +import 'package:star_lock/network/api_repository.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; +import 'package:star_lock/tools/toast.dart'; import '../../../../../app_settings/app_colors.dart'; import '../../../../../tools/submitBtn.dart'; @@ -17,6 +21,16 @@ class UploadElectricQuantityPage extends StatefulWidget { class _UploadElectricQuantityPageState extends State { + //电量更新请求 + Future uploadElectricQuantityRequest() async { + KeyOperationRecordEntity entity = + await ApiRepository.to.uploadElectricQuantity('100', '28'); + if (entity.errorCode!.codeIsSuccessful) { + print("锁电量更新成功啦啦啦啦啦"); + Toast.show(msg: "锁电量更新成功"); + } + } + @override Widget build(BuildContext context) { return Scaffold( @@ -61,7 +75,9 @@ class _UploadElectricQuantityPageState fontSize: 32.sp, // margin: EdgeInsets.only(left: 03.w, right: 30.w, top: 20.w), padding: EdgeInsets.only(top: 20.w, bottom: 20.w), - onClick: () {}), + onClick: () { + uploadElectricQuantityRequest(); + }), ], ), )); diff --git a/star_lock/lib/network/api.dart b/star_lock/lib/network/api.dart index 26223310..32f71758 100644 --- a/star_lock/lib/network/api.dart +++ b/star_lock/lib/network/api.dart @@ -17,4 +17,5 @@ abstract class Api { final String keyOperationRecordURL = '/lockRecords/list'; //电子钥匙操作记录 final String uploadElectricQuantityURL = '/room/uploadElectricQuantity'; //锁电量更新 + final String modifyKeyNameURL = '/key/modifyKeyName'; //修改锁名称 } diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index 1fa0f21b..d247f3fd 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -164,6 +164,21 @@ class ApiProvider extends BaseProvider { 'lockId': lockId, })); + Future modifyKeyName( + String keyId, + String lockId, + String keyName, + String operatorUid, + ) => + post( + modifyKeyNameURL.toUrl, + jsonEncode({ + 'keyId': keyId, + 'lockId': lockId, + 'keyName': keyName, + 'operatorUid': operatorUid, + })); + Future resetElectronicKey(String lockId, String operatorUid) => post(resetElectronicKeyURL.toUrl, jsonEncode({'lockId': lockId, 'operatorUid': operatorUid})); diff --git a/star_lock/lib/network/api_provider_base.dart b/star_lock/lib/network/api_provider_base.dart index 38e7d5f1..577670b8 100644 --- a/star_lock/lib/network/api_provider_base.dart +++ b/star_lock/lib/network/api_provider_base.dart @@ -53,7 +53,7 @@ class BaseProvider extends GetConnect with Api { statusText: res.statusText, ); } - print('得到的数据======>$res'); + print('得到的数据======>${res.bodyString}'); return res; } } diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index a84a6b92..1aa47825 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -168,4 +168,24 @@ class ApiRepository { timezoneRawOffSet); return KeyOperationRecordEntity.fromJson(res.body); } + + //锁电量更新 + Future uploadElectricQuantity( + String electricQuantity, String lockId) async { + final res = + await apiProvider.uploadElectricQuantity(electricQuantity, lockId); + return KeyOperationRecordEntity.fromJson(res.body); + } + + //锁名称修改 + Future modifyKeyName( + String keyId, + String lockId, + String keyName, + String operatorUid, + ) async { + final res = + await apiProvider.modifyKeyName(keyId, lockId, keyName, operatorUid); + return KeyOperationRecordEntity.fromJson(res.body); + } }