更多设置提示音接口对接

触摸开锁接口对接逻辑未完善
This commit is contained in:
Daisy 2023-09-21 10:05:22 +08:00
parent 015a19a944
commit ec5e454cdd
6 changed files with 137 additions and 35 deletions

View File

@ -30,17 +30,17 @@ class UserSettingInfoEntity {
class UserSettingInfoData { class UserSettingInfoData {
UserSettings? userSettings; UserSettings? userSettings;
Null? hasXmeyeLock; int? hasXmeyeLock;
Null? hasMoreService; int? hasMoreService;
Null? isReply; int? isReply;
Null? paidUserStatus; int? paidUserStatus;
Null? hasAdvert; int? hasAdvert;
Null? hasAlexa; int? hasAlexa;
Null? isUserSettingCompleted; int? isUserSettingCompleted;
Null? hasPaidFeature; int? hasPaidFeature;
Null? hasCameraLock; int? hasCameraLock;
Null? hasGoogleHome; int? hasGoogleHome;
Null? alertMode; int? alertMode;
UserSettingInfoData( UserSettingInfoData(
{this.userSettings, {this.userSettings,
@ -94,19 +94,19 @@ class UserSettingInfoData {
} }
class UserSettings { class UserSettings {
Null? touchUnlockFlag; int? touchUnlockFlag;
Null? modifyManagePwdFlag; int? modifyManagePwdFlag;
Null? gesturePassword; String? gesturePassword;
Null? resetFlag; int? resetFlag;
Null? delManagerFlag; int? delManagerFlag;
Null? hideExpiredAccessFlag; int? hideExpiredAccessFlag;
Null? sendKeyFlag; int? sendKeyFlag;
Null? viberateFlag; int? viberateFlag;
Null? lockScreen; int? lockScreen;
Null? authorizeFlag; int? authorizeFlag;
Null? sendPwdFlag; int? sendPwdFlag;
Null? alertToneFlag; int? alertToneFlag;
Null? status; int? status;
UserSettings( UserSettings(
{this.touchUnlockFlag, {this.touchUnlockFlag,

View File

@ -1,6 +1,10 @@
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:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.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 '../../../app_settings/app_colors.dart';
import '../../../tools/submitBtn.dart'; import '../../../tools/submitBtn.dart';
@ -15,8 +19,30 @@ class LockScreenPage extends StatefulWidget {
} }
class _LockScreenPageState extends State<LockScreenPage> { class _LockScreenPageState extends State<LockScreenPage> {
bool _isOn = true;
bool _isFirst = false;
@override
void initState() {
super.initState();
_isFirst = true;
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (_isFirst) {
dynamic obj = ModalRoute.of(context)?.settings.arguments;
if (obj != null && (obj["isOn"] != null)) {
int getValue = obj["isOn"];
if (getValue == 1) {
_isOn = true;
} else {
_isOn = false;
}
}
}
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar( appBar: TitleAppBar(
@ -46,7 +72,7 @@ class _LockScreenPageState extends State<LockScreenPage> {
children: [ children: [
Expanded( Expanded(
child: Text( child: Text(
"${TranslationLoader.lanKeys!.currentMode!.tr} : ${TranslationLoader.lanKeys!.opened!.tr}", "${TranslationLoader.lanKeys!.currentMode!.tr} : ${_isOn == true ? TranslationLoader.lanKeys!.opened!.tr : TranslationLoader.lanKeys!.closed!.tr}",
style: style:
TextStyle(fontWeight: FontWeight.w600, fontSize: 22.sp), TextStyle(fontWeight: FontWeight.w600, fontSize: 22.sp),
)), )),
@ -56,10 +82,27 @@ class _LockScreenPageState extends State<LockScreenPage> {
height: 40.h, height: 40.h,
), ),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.closed!.tr, btnName: _isOn == true
onClick: () {}), ? TranslationLoader.lanKeys!.open!.tr
: TranslationLoader.lanKeys!.closed!.tr,
onClick: () {
_isFirst = false;
setState(() {
_isOn = !_isOn;
});
changeSettingsRequest();
}),
], ],
), ),
)); ));
} }
/// 1: 2:
Future<void> changeSettingsRequest() async {
ExpireLockListEntity entity =
await ApiRepository.to.changeSettings(_isOn == true ? '1' : '2', '1');
if (entity.errorCode!.codeIsSuccessful) {
Toast.show(msg: '操作成功');
}
}
} }

View File

@ -2,6 +2,7 @@ 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';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/mine/mineSet/entity/userSettingInfoEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart'; import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart'; import 'package:star_lock/tools/baseGetXController.dart';
@ -24,11 +25,13 @@ class _MineSetPageState extends State<MineSetPage> {
late bool _isPrompTone = false; // late bool _isPrompTone = false; //
late bool _isTouchUnlock = false; // late bool _isTouchUnlock = false; //
late bool _isPushNotification = false; // late bool _isPushNotification = false; //
late UserSettingInfoData _userInfoData;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_userInfoData = UserSettingInfoData();
userSettingsInfoRequest(); userSettingsInfoRequest();
} }
@ -143,7 +146,12 @@ class _MineSetPageState extends State<MineSetPage> {
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Navigator.pushNamed(context, Routers.lockScreenPage); Navigator.pushNamed(context, Routers.lockScreenPage,
arguments: {
'isOn': _userInfoData.userSettings!.lockScreen
}).then((value) {
userSettingsInfoRequest();
});
}), }),
CommonItem( CommonItem(
leftTitel: TranslationLoader leftTitel: TranslationLoader
@ -244,10 +252,25 @@ class _MineSetPageState extends State<MineSetPage> {
); );
} }
//
Future<void> userSettingsInfoRequest() async { Future<void> userSettingsInfoRequest() async {
ExpireLockListEntity entity = await ApiRepository.to.userSettingsInfo(); UserSettingInfoEntity entity = await ApiRepository.to.userSettingsInfo();
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
setState(() {}); setState(() {
_userInfoData = entity.data!;
//
if (_userInfoData.alertMode == 1) {
_isPrompTone = true;
} else {
_isPrompTone = false;
}
//
if (_userInfoData.userSettings!.touchUnlockFlag! == 1) {
_isTouchUnlock = true;
} else {
_isTouchUnlock = false;
}
});
} }
} }
@ -256,7 +279,20 @@ class _MineSetPageState extends State<MineSetPage> {
ExpireLockListEntity entity = await ApiRepository.to ExpireLockListEntity entity = await ApiRepository.to
.setAlertMode('1', _isPrompTone == true ? '1' : '2'); .setAlertMode('1', _isPrompTone == true ? '1' : '2');
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
setState(() {}); setState(() {
userSettingsInfoRequest();
});
}
}
//
Future<void> updateTouchUnlockRequest() async {
ExpireLockListEntity entity = await ApiRepository.to
.setTouchUnlockFlag(_isTouchUnlock == true ? '1' : '2');
if (entity.errorCode!.codeIsSuccessful) {
setState(() {
userSettingsInfoRequest();
});
} }
} }
@ -278,8 +314,10 @@ class _MineSetPageState extends State<MineSetPage> {
setState(() { setState(() {
if (switchIndex == 0) { if (switchIndex == 0) {
_isPrompTone = !_isPrompTone; _isPrompTone = !_isPrompTone;
updatePrompToneRequest();
} else if (switchIndex == 1) { } else if (switchIndex == 1) {
_isTouchUnlock = !_isTouchUnlock; _isTouchUnlock = !_isTouchUnlock;
updateTouchUnlockRequest();
} else if (switchIndex == 2) { } else if (switchIndex == 2) {
_isPushNotification = !_isPushNotification; _isPushNotification = !_isPushNotification;
} }

View File

@ -99,6 +99,8 @@ abstract class Api {
final String updateAdministratorURL = final String updateAdministratorURL =
'/authorizedAdmin/update'; //// '/authorizedAdmin/update'; ////
final String expireLockListURL = '/keyUser/listExpireUser'; // final String expireLockListURL = '/keyUser/listExpireUser'; //
final String setAlertModeURL = '/user/setAlertMode'; //
final String userSettingsInfoURL = '/user/userSettingsInfo'; // final String userSettingsInfoURL = '/user/userSettingsInfo'; //
final String setAlertModeURL = '/user/setAlertMode'; //
final String setTouchUnlockFlagURL = '/user/setTouchUnlockFlag'; //
final String changeSettingsURL = '/user/changeSettings'; ///
} }

View File

@ -955,6 +955,12 @@ class ApiProvider extends BaseProvider {
setAlertModeURL.toUrl, setAlertModeURL.toUrl,
jsonEncode({'alertMode': alertMode, 'isOn': isOn})); jsonEncode({'alertMode': alertMode, 'isOn': isOn}));
Future<Response> changeSettings(String isOn, String type) =>
post(changeSettingsURL.toUrl, jsonEncode({'isOn': isOn, 'type': type}));
Future<Response> setTouchUnlockFlag(String isOn) =>
post(setTouchUnlockFlagURL.toUrl, jsonEncode({'isOn': isOn}));
Future<Response> userSettingsInfo() => Future<Response> userSettingsInfo() =>
post(userSettingsInfoURL.toUrl, jsonEncode({})); post(userSettingsInfoURL.toUrl, jsonEncode({}));

View File

@ -9,6 +9,7 @@ import 'package:star_lock/main/lockDetail/lcokSet/basicInformation/lockSeletGrou
import 'package:star_lock/main/lockDetail/passwordKey/passwordKeyList/passwordKeyListEntity.dart'; import 'package:star_lock/main/lockDetail/passwordKey/passwordKeyList/passwordKeyListEntity.dart';
import 'package:star_lock/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKeyEntity.dart'; import 'package:star_lock/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKeyEntity.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.dart'; import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/mine/mineSet/entity/userSettingInfoEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart'; import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/keyListByUserEntity.dart'; import 'package:star_lock/mine/mineSet/lockUserManage/keyListByUserEntity.dart';
import '../common/safetyVerification/entity/CheckSafetyVerificationEntity.dart'; import '../common/safetyVerification/entity/CheckSafetyVerificationEntity.dart';
@ -656,12 +657,24 @@ class ApiRepository {
return ExpireLockListEntity.fromJson(res.body); return ExpireLockListEntity.fromJson(res.body);
} }
// //
Future<ExpireLockListEntity> userSettingsInfo() async { Future<ExpireLockListEntity> setTouchUnlockFlag(String isOn) async {
final res = await apiProvider.userSettingsInfo(); final res = await apiProvider.setTouchUnlockFlag(isOn);
return ExpireLockListEntity.fromJson(res.body); return ExpireLockListEntity.fromJson(res.body);
} }
//
Future<ExpireLockListEntity> changeSettings(String isOn, String type) async {
final res = await apiProvider.changeSettings(isOn, type);
return ExpireLockListEntity.fromJson(res.body);
}
//
Future<UserSettingInfoEntity> userSettingsInfo() async {
final res = await apiProvider.userSettingsInfo();
return UserSettingInfoEntity.fromJson(res.body);
}
// //
Future<CheckingInInfoDataEntity> openCheckingInData( Future<CheckingInInfoDataEntity> openCheckingInData(
{required String lockId}) async { {required String lockId}) async {