import 'package:get/get.dart'; import 'package:star_lock/login/seletCountryRegion/common/countryRegionEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecordEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart'; import 'package:star_lock/main/lockDetail/lcokSet/basicInformation/basicInformation/KeyDetailEntity.dart'; import 'package:star_lock/main/lockDetail/lcokSet/basicInformation/lockSeletGrouping/LockGroupListEntity.dart'; import 'package:star_lock/main/lockDetail/passwordKey/passwordKeyList/passwordKeyListEntity.dart'; import 'package:star_lock/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKeyEntity.dart'; import '../common/safetyVerification/entity/CheckSafetyVerificationEntity.dart'; import '../common/safetyVerification/entity/SafetyVerificationEntity.dart'; import '../login/login/entity/LoginEntity.dart'; import '../login/register/entity/SendValidationCodeEntity.dart'; import '../main/lockDetail/lcokSet/configuringWifi/configuringWifiEntity.dart'; import '../main/lockDetail/lcokSet/lockTime/GetServerDatetimeEntity.dart'; import '../main/lockDetail/lcokSet/normallyOpenMode/GetPassageModeConfigEntity.dart'; import '../main/lockMian/entity/lockInfoEntity.dart'; import '../mine/addLock/saveLock/entity/SaveLockEntity.dart'; import 'api_provider.dart'; class ApiRepository { final ApiProvider apiProvider; static ApiRepository get to => Get.find(); ApiRepository(this.apiProvider); // 发送验证码 1注册,2找回密码,3绑定手机号,4解绑(换绑),5删除账号 Future sendValidationCode( String countryCode, String account, String channel, String codeType, String uniqueid, String xWidth) async { final res = await apiProvider.getVerificationCode( countryCode, account, channel, codeType, uniqueid, xWidth); return SendValidationCodeEntity.fromJson(res.body); } // 注册 Future register( String countryCode, String countryId, String mobile, String password, String uniqueid, String verificationCode) async { final res = await apiProvider.register( countryCode, countryId, mobile, password, uniqueid, verificationCode); return LoginEntity.fromJson(res.body); } // 获取图片验证码 Future getSliderVerifyImg( String countryCode, String account) async { final res = await apiProvider.getSliderVerifyImg(countryCode, account); return SafetyVerificationEntity.fromJson(res.body); } // 检验图片验证码 Future checkSliderVerifyImg( String countryCode, String account, String xWidth) async { final res = await apiProvider.checkSliderVerifyImg(countryCode, account, xWidth); return CheckSafetyVerificationEntity.fromJson(res.body); } //登录 Future login(String loginType, String password, String countryCode, String username) async { final res = await apiProvider.login(loginType, password, countryCode, username); return LoginEntity.fromJson(res.body); } //重置密码 Future resetPassword( String countryCode, String account, String date, String newPassword, String uniqueid, String verificationCode) async { final res = await apiProvider.resetPassword( countryCode, account, date, newPassword, uniqueid, verificationCode); return LoginEntity.fromJson(res.body); } //获取国家或地区 json文件 Future getCountryRegion(String type) async { final res = await apiProvider.getCountryRegion(type); return CountryRegionEntity.fromJson(res.body); } //电子钥匙列表 Future electronicKeyList( String endDate, String keyId, String keyStatus, String lockId, String operatorUid, String pageNo, String pageSize, String startDate, String keyRight) async { final res = await apiProvider.electronicKeyList(endDate, keyId, keyStatus, lockId, operatorUid, pageNo, pageSize, startDate, keyRight); return ElectronicKeyListEntity.fromJson(res.body); } //发送电子钥匙 Future sendElectronicKey( String createUser, String countryCode, String usernameType, String endDate, String faceAuthentication, String isCameraEnable, String isRemoteUnlock, String keyNameForAdmin, String keyRight, String keyType, String lockId, String operatorUid, String receiverUsername, String remarks, String startDate, List weekDays) async { final res = await apiProvider.sendElectronicKey( createUser, countryCode, usernameType, endDate, faceAuthentication, isCameraEnable, isRemoteUnlock, keyNameForAdmin, keyRight, keyType, lockId, operatorUid, receiverUsername, remarks, startDate, weekDays); return ElectronicKeyListEntity.fromJson(res.body); } //重置电子钥匙 Future resetElectronicKey( String lockId, String operatorUid) async { final res = await apiProvider.resetElectronicKey(lockId, operatorUid); return ElectronicKeyListEntity.fromJson(res.body); } //钥匙详情-操作记录 Future lockRecordList( String endDate, String keyId, String keyStatus, String lockId, String operatorUid, String pageNo, String pageSize, String startDate, String recordType, String searchStr, String timezoneRawOffSet, String keyboardPwdId, String cardId, String fingerprintId) async { final res = await apiProvider.lockRecordList( endDate, keyId, keyStatus, lockId, operatorUid, pageNo, pageSize, startDate, recordType, searchStr, timezoneRawOffSet, keyboardPwdId, cardId, fingerprintId); return KeyOperationRecordEntity.fromJson(res.body); } // 绑定蓝牙管理员 Future bindingBlueAdmin( {required String bindingDate, required String hotelMode, required String lockAlias, required Map lockData, required String nbInitSuccess, required Map position, required Map bluetooth, required String deviceNo, required String lockUserNo, required String pwdTimestamp}) async { final res = await apiProvider.bindingBlueAdmin( bindingDate, hotelMode, lockAlias, lockData, nbInitSuccess, position, bluetooth, deviceNo, lockUserNo, pwdTimestamp); return SaveLockEntity.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); } //编辑电子钥匙名字 Future modifyKeyNameForAdmin( String keyId, String keyNameForAdmin, String operatorUid, ) async { final res = await apiProvider.modifyKeyNameForAdmin( keyId, keyNameForAdmin, operatorUid); return KeyOperationRecordEntity.fromJson(res.body); } //编辑电子钥匙有效期 Future updateKeyDate( String keyId, String lockId, String endDate, String endDay, String operatorUid, String startDate, String startDay, List weekDays) async { final res = await apiProvider.updateKeyDate(keyId, lockId, endDate, endDay, operatorUid, startDate, startDay, weekDays); return KeyOperationRecordEntity.fromJson(res.body); } //密码列表 Future passwordKeyList( String keyStatus, String lockId, String operatorUid, String pageNo, String pageSize, ) async { final res = await apiProvider.passwordKeyList( keyStatus, lockId, operatorUid, pageNo, pageSize); return PasswordKeyListEntity.fromJson(res.body); } //重置密码钥匙 Future resetPasswordKey( String lockId, String operatorUid) async { final res = await apiProvider.resetPasswordKey(lockId, operatorUid); return PasswordKeyListEntity.fromJson(res.body); } // 获取锁信息 Future getLockInfo( {required String lastUpdateDate, required String pageNo}) async { final res = await apiProvider.getLockInfo(lastUpdateDate, pageNo); return LockMainEntity.fromJson(res.body); } // 删除锁 Future deletLockData({required String lockId}) async { final res = await apiProvider.deletLockInfo(lockId); return LockMainEntity.fromJson(res.body); } //获取密码 Future getPasswordKey( String endDate, String isExclusive, String keyboardPwdName, String keyboardPwdType, String keyboardPwdVersion, String lockId, String operatorUid, String startDate, String timezoneRawOffSet, ) async { final res = await apiProvider.getKeyboardPwd( endDate, isExclusive, keyboardPwdName, keyboardPwdType, keyboardPwdVersion, lockId, operatorUid, startDate, timezoneRawOffSet); return PasswordKeyEntity.fromJson(res.body); } //自定义密码 Future addPasswordKey( String lockId, String keyboardPwdName, String keyboardPwd, String keyboardPwdType, String startDate, String endDate, String addType, ) async { final res = await apiProvider.addKeyboardPwd(lockId, keyboardPwdName, keyboardPwd, keyboardPwdType, startDate, endDate, addType); return PasswordKeyEntity.fromJson(res.body); } //修改密码 Future updatePasswordKey( String lockId, String keyboardPwdId, String keyboardPwdName, String newKeyboardPwd, String startDate, String endDate, String changeType, ) async { final res = await apiProvider.updateKeyboardPwd(lockId, keyboardPwdId, keyboardPwdName, newKeyboardPwd, startDate, endDate, changeType); return PasswordKeyEntity.fromJson(res.body); } //清空操作记录 Future clearOperationRecord(String lockId) async { final res = await apiProvider.clearOperationRecord(lockId); return KeyOperationRecordEntity.fromJson(res.body); } //创建锁分组 Future addLockGroup( String groupName, String operatorUid) async { final res = await apiProvider.addLockGroup(groupName, operatorUid); return LockGroupListEntity.fromJson(res.body); } //设置锁分组 Future setLockGroup( String lockId, String groupId) async { final res = await apiProvider.setLockGroup(lockId, groupId); return LockGroupListEntity.fromJson(res.body); } //锁分组列表 Future lockGroupList(String type) async { final res = await apiProvider.lockGroupList(type); return LockGroupListEntity.fromJson(res.body); } //删除电子钥匙 Future deleteElectronicKey(String keyId) async { final res = await apiProvider.deleteElectronicKey(keyId); return ElectronicKeyListEntity.fromJson(res.body); } //删除密码 Future deleteKeyboardPwd( String lockId, String keyboardPwdId, String deleteType) async { final res = await apiProvider.deleteKeyboardPwd(lockId, keyboardPwdId, deleteType); return PasswordKeyEntity.fromJson(res.body); } //标记房态 Future updateSetting( String lockId, String isOn, String type) async { final res = await apiProvider.deleteKeyboardPwd(lockId, isOn, type); return PasswordKeyEntity.fromJson(res.body); } //分组列表 Future keyGroupList(String type) async { final res = await apiProvider.keyGroupList(type); return PasswordKeyEntity.fromJson(res.body); } //分组下的锁 Future lockListByGroup( String type, String keyGroupId) async { final res = await apiProvider.lockListByGroup(type, keyGroupId); return PasswordKeyEntity.fromJson(res.body); } // 获取Wifi锁服务器 Future getWifiLockServiceIpAndPort() async { final res = await apiProvider.getWifiLockServiceIpAndPort(); return ConfiguringWifiEntity.fromJson(res.body); } /// 锁设置模块 // 远程开锁开/关 Future remoteUnlockingOpenOrClose({ required String lockId, required String featureValue, }) async { final res = await apiProvider.remoteUnlockingOpenOrCloseLoadData( lockId, featureValue); return LoginEntity.fromJson(res.body); } // 自动闭锁 Future setAutoUnlock({ required String lockId, required String autoLockTime, required String type, }) async { final res = await apiProvider.setAutoUnlockLoadData(lockId, autoLockTime, type); return LoginEntity.fromJson(res.body); } // 获取锁的常开模式设置 configPassageMode Future getPassageModeConfig({ required String lockId, }) async { final res = await apiProvider.getPassageModeConfigLoadData(lockId); return GetPassageModeConfigEntity.fromJson(res.body); } // 配置锁的常开模式 Future configPassageModeLoadData({ required String lockId, required String passageMode, required String autoUnlock, required String type, required String startDate, required String endDate, required String isAllDay, required List weekDays, }) async { final res = await apiProvider.configPassageMode(lockId, passageMode, autoUnlock, type, startDate, endDate, isAllDay, weekDays); return GetPassageModeConfigEntity.fromJson(res.body); } // 配置锁的常规设置 Future setLockSetGeneralSettingData({ required String lockId, required String changeType, required String isOn, required String type, }) async { final res = await apiProvider.setLockSetGeneralSetting( lockId, changeType, isOn, type); return LoginEntity.fromJson(res.body); } // 获取锁时间 通过网关 Future getLockTimeFromGateway({ required String lockId, }) async { final res = await apiProvider.getLockTimeFromGatewayLoadData(lockId); return GetPassageModeConfigEntity.fromJson(res.body); } // 获取服务器当前时间 Future getServerDatetimeData({ required String lockId, }) async { final res = await apiProvider.getServerDatetimeLoadData(lockId); return GetServerDatetimeEntity.fromJson(res.body); } // 获取锁版本信息 Future getLockVersionInfoData({ required String lockId, }) async { final res = await apiProvider.getLockVersionInfoLoadData(lockId); return GetServerDatetimeEntity.fromJson(res.body); } //分组下的锁列表 Future listLockByGroup( String type, String keyGroupId) async { final res = await apiProvider.listLockByGroup(type, keyGroupId); return MassSendLockGroupListEntity.fromJson(res.body); } //获取单把钥匙详情信息 Future getKeyDetail(String lockId) async { final res = await apiProvider.getKeyDetail(lockId); return KeyDetailEntity.fromJson(res.body); } //锁用户列表 Future lockUserList( String pageNo, String pageSize, String searchStr) async { final res = await apiProvider.lockUserList(pageNo, pageSize, searchStr); return LockUserListEntity.fromJson(res.body); } //群发钥匙检查 Future canSendKey( String endDate, String keyGroupIdList, String lockIdList) async { final res = await apiProvider.canSendKey(endDate, keyGroupIdList, lockIdList); return KeyDetailEntity.fromJson(res.body); } //群发钥匙检查 Future batchSendKey( String endDate, String keyGroupIdList, String lockIdList, String createUser, String isRemoteUnlock, String keyNameForAdmin, String receiverUsername, String startDate, String countryCode, String usernameType) async { final res = await apiProvider.batchSendKey( endDate, keyGroupIdList, lockIdList, createUser, isRemoteUnlock, keyNameForAdmin, receiverUsername, startDate, countryCode, usernameType); return KeyDetailEntity.fromJson(res.body); } }