Merge branch 'master' of https://gitee.com/weishaoyang/star_lock
This commit is contained in:
commit
ab40596dca
@ -58,7 +58,7 @@
|
|||||||
"pleaseNameYourPassword":"请给密码命名",
|
"pleaseNameYourPassword":"请给密码命名",
|
||||||
"pleaseEnterDigitsNumber":"请输入6-9位数字",
|
"pleaseEnterDigitsNumber":"请输入6-9位数字",
|
||||||
"getPasswordTip1":"密码在24小时内至少要使用过一次,否则将无效",
|
"getPasswordTip1":"密码在24小时内至少要使用过一次,否则将无效",
|
||||||
"getPasswordTip2":"限时密码可以再有下期内不限次数使用 \\n密码在生效后的24小时内至少要使用过一次,否则将失效",
|
"getPasswordTip2":"限时密码可以再有下期内不限次数使用 \n密码在生效后的24小时内至少要使用过一次,否则将失效",
|
||||||
"getPasswordTip3":"密码有限期为6个小时,只能使用一次",
|
"getPasswordTip3":"密码有限期为6个小时,只能使用一次",
|
||||||
"getPasswordTip4":"可在锁旁边通过手机蓝牙添加,也可以通过网关远程添加",
|
"getPasswordTip4":"可在锁旁边通过手机蓝牙添加,也可以通过网关远程添加",
|
||||||
"getPasswordTip5":"密码在生效后的24小时内至少要使用过一次,否则将失效",
|
"getPasswordTip5":"密码在生效后的24小时内至少要使用过一次,否则将失效",
|
||||||
|
|||||||
@ -22,6 +22,8 @@ PODS:
|
|||||||
- fluttertoast (0.0.2):
|
- fluttertoast (0.0.2):
|
||||||
- Flutter
|
- Flutter
|
||||||
- Toast
|
- Toast
|
||||||
|
- fluwx_no_pay_rz (0.0.1):
|
||||||
|
- Flutter
|
||||||
- FMDB (2.7.5):
|
- FMDB (2.7.5):
|
||||||
- FMDB/standard (= 2.7.5)
|
- FMDB/standard (= 2.7.5)
|
||||||
- FMDB/standard (2.7.5)
|
- FMDB/standard (2.7.5)
|
||||||
@ -71,6 +73,7 @@ DEPENDENCIES:
|
|||||||
- Flutter (from `Flutter`)
|
- Flutter (from `Flutter`)
|
||||||
- flutter_native_contact_picker (from `.symlinks/plugins/flutter_native_contact_picker/ios`)
|
- flutter_native_contact_picker (from `.symlinks/plugins/flutter_native_contact_picker/ios`)
|
||||||
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
|
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
|
||||||
|
- fluwx_no_pay_rz (from `.symlinks/plugins/fluwx_no_pay_rz/ios`)
|
||||||
- google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
|
- google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
|
||||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||||
- network_info_plus (from `.symlinks/plugins/network_info_plus/ios`)
|
- network_info_plus (from `.symlinks/plugins/network_info_plus/ios`)
|
||||||
@ -111,6 +114,8 @@ EXTERNAL SOURCES:
|
|||||||
:path: ".symlinks/plugins/flutter_native_contact_picker/ios"
|
:path: ".symlinks/plugins/flutter_native_contact_picker/ios"
|
||||||
fluttertoast:
|
fluttertoast:
|
||||||
:path: ".symlinks/plugins/fluttertoast/ios"
|
:path: ".symlinks/plugins/fluttertoast/ios"
|
||||||
|
fluwx_no_pay_rz:
|
||||||
|
:path: ".symlinks/plugins/fluwx_no_pay_rz/ios"
|
||||||
google_maps_flutter_ios:
|
google_maps_flutter_ios:
|
||||||
:path: ".symlinks/plugins/google_maps_flutter_ios/ios"
|
:path: ".symlinks/plugins/google_maps_flutter_ios/ios"
|
||||||
image_picker_ios:
|
image_picker_ios:
|
||||||
@ -146,6 +151,7 @@ SPEC CHECKSUMS:
|
|||||||
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
||||||
flutter_native_contact_picker: bd430ba0fbf82768bb50c2c52a69a65759a8f907
|
flutter_native_contact_picker: bd430ba0fbf82768bb50c2c52a69a65759a8f907
|
||||||
fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c
|
fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c
|
||||||
|
fluwx_no_pay_rz: afc11aac65505182bd887798fcdc4bbc9e35cd36
|
||||||
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
||||||
google_maps_flutter_ios: abdac20d6ce8931f6ebc5f46616df241bfaa2cfd
|
google_maps_flutter_ios: abdac20d6ce8931f6ebc5f46616df241bfaa2cfd
|
||||||
GoogleMaps: 025272d5876d3b32604e5c080dc25eaf68764693
|
GoogleMaps: 025272d5876d3b32604e5c080dc25eaf68764693
|
||||||
|
|||||||
@ -163,7 +163,9 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
|||||||
state.getKeyInfosData.value.lockId.toString(),
|
state.getKeyInfosData.value.lockId.toString(),
|
||||||
'0',
|
'0',
|
||||||
"0",
|
"0",
|
||||||
'0');
|
'0',
|
||||||
|
0,
|
||||||
|
0);
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
if (entity.errorCode!.codeIsSuccessful) {
|
||||||
print('获取密码成功');
|
print('获取密码成功');
|
||||||
if (entity.data != null) {
|
if (entity.data != null) {
|
||||||
|
|||||||
@ -361,6 +361,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
|
|||||||
CupertinoDialogAction(
|
CupertinoDialogAction(
|
||||||
child: Text(TranslationLoader.lanKeys!.reset!.tr),
|
child: Text(TranslationLoader.lanKeys!.reset!.tr),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
logic.resetElectronicKeyListRequest();
|
logic.resetElectronicKeyListRequest();
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
|
|||||||
@ -147,7 +147,9 @@ class _WirelessKeyboardPageState extends State<WirelessKeyboardPage> {
|
|||||||
),
|
),
|
||||||
CupertinoDialogAction(
|
CupertinoDialogAction(
|
||||||
child: Text(TranslationLoader.lanKeys!.reset!.tr),
|
child: Text(TranslationLoader.lanKeys!.reset!.tr),
|
||||||
onPressed: () {},
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
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';
|
||||||
@ -8,6 +7,7 @@ import 'package:star_lock/network/api_repository.dart';
|
|||||||
import 'package:star_lock/tools/baseGetXController.dart';
|
import 'package:star_lock/tools/baseGetXController.dart';
|
||||||
import 'package:star_lock/tools/showTFView.dart';
|
import 'package:star_lock/tools/showTFView.dart';
|
||||||
import 'package:star_lock/tools/toast.dart';
|
import 'package:star_lock/tools/toast.dart';
|
||||||
|
import 'package:fluwx_no_pay_rz/fluwx_no_pay_rz.dart';
|
||||||
|
|
||||||
import '../../../../appRouters.dart';
|
import '../../../../appRouters.dart';
|
||||||
import '../../../../app_settings/app_colors.dart';
|
import '../../../../app_settings/app_colors.dart';
|
||||||
@ -34,6 +34,13 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
|
|||||||
|
|
||||||
_inputPwdController = TextEditingController();
|
_inputPwdController = TextEditingController();
|
||||||
_inputNameController = TextEditingController();
|
_inputNameController = TextEditingController();
|
||||||
|
|
||||||
|
// _initFluwx();
|
||||||
|
}
|
||||||
|
|
||||||
|
_initFluwx() async {
|
||||||
|
await registerWxApi(
|
||||||
|
appId: "", doOnAndroid: true, doOnIOS: true, universalLink: "");
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -42,6 +49,26 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
|
|||||||
if (obj != null && (obj["itemData"] != null)) {
|
if (obj != null && (obj["itemData"] != null)) {
|
||||||
itemData = obj["itemData"];
|
itemData = obj["itemData"];
|
||||||
}
|
}
|
||||||
|
List<String> nameItems = <String>[
|
||||||
|
'微信',
|
||||||
|
'朋友圈',
|
||||||
|
'QQ',
|
||||||
|
'QQ空间',
|
||||||
|
'微博',
|
||||||
|
'FaceBook',
|
||||||
|
'邮件',
|
||||||
|
'链接'
|
||||||
|
];
|
||||||
|
List<String> urlItems = <String>[
|
||||||
|
'icon_wechat.png',
|
||||||
|
'icon_wechat_moments.png',
|
||||||
|
'icon_qq.png',
|
||||||
|
'icon_qzone.png',
|
||||||
|
'icon_sina.png',
|
||||||
|
'icon_facebook.png',
|
||||||
|
'icon_email.png',
|
||||||
|
'icon_copylink.png'
|
||||||
|
];
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: AppColors.mainBackgroundColor,
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
@ -56,18 +83,33 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
|
|||||||
height: 30.h,
|
height: 30.h,
|
||||||
width: 30.w,
|
width: 30.w,
|
||||||
),
|
),
|
||||||
onPressed: () {},
|
onPressed: () {
|
||||||
|
/*
|
||||||
|
showModalBottomSheet(
|
||||||
|
context: context,
|
||||||
|
isScrollControlled: true,
|
||||||
|
builder: (context) {
|
||||||
|
return Container(
|
||||||
|
decoration: const BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
constraints: const BoxConstraints(maxHeight: 700),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Image.asset(
|
||||||
|
'images/icon_wechat.png',
|
||||||
|
width: 50.0,
|
||||||
|
height: 50.0,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
); //设置maxHeight为你想要的数字就行
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
// actionsList: [
|
|
||||||
// TextButton(
|
|
||||||
// child: Text(
|
|
||||||
// "分享",
|
|
||||||
// style: TextStyle(color: Colors.white, fontSize: 24.sp),
|
|
||||||
// ),
|
|
||||||
// onPressed: () {},
|
|
||||||
// ),
|
|
||||||
// ],
|
|
||||||
),
|
),
|
||||||
body: SingleChildScrollView(
|
body: SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
@ -329,4 +371,92 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget _shareWidget(BuildContext context) {
|
||||||
|
List<String> nameItems = <String>[
|
||||||
|
'微信',
|
||||||
|
'朋友圈',
|
||||||
|
'QQ',
|
||||||
|
'QQ空间',
|
||||||
|
'微博',
|
||||||
|
'FaceBook',
|
||||||
|
'邮件',
|
||||||
|
'链接'
|
||||||
|
];
|
||||||
|
List<String> urlItems = <String>[
|
||||||
|
'icon_wechat.png',
|
||||||
|
'icon_wechat_moments.png',
|
||||||
|
'icon_qq.png',
|
||||||
|
'icon_qzone.png',
|
||||||
|
'icon_sina.png',
|
||||||
|
'icon_facebook.png',
|
||||||
|
'icon_email.png',
|
||||||
|
'icon_copylink.png'
|
||||||
|
];
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
color: Colors.red,
|
||||||
|
height: 250.0,
|
||||||
|
child: GridView.builder(
|
||||||
|
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
|
||||||
|
crossAxisCount: 4, mainAxisSpacing: 5.0, childAspectRatio: 1.0),
|
||||||
|
itemBuilder: (BuildContext context, int index) {
|
||||||
|
return Image.asset(
|
||||||
|
'images/${urlItems[index]}',
|
||||||
|
width: 50.0,
|
||||||
|
height: 50.0,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: nameItems.length,
|
||||||
|
),
|
||||||
|
/*
|
||||||
|
child: Column(
|
||||||
|
children: <Widget>[
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.fromLTRB(0.0, 10.0, 0.0, 0.0),
|
||||||
|
child: SizedBox(
|
||||||
|
height: 190.0,
|
||||||
|
child: GridView.builder(
|
||||||
|
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
|
||||||
|
crossAxisCount: 4,
|
||||||
|
mainAxisSpacing: 5.0,
|
||||||
|
childAspectRatio: 1.0),
|
||||||
|
itemBuilder: (BuildContext context, int index) {
|
||||||
|
return Column(
|
||||||
|
children: <Widget>[
|
||||||
|
Padding(
|
||||||
|
padding:
|
||||||
|
const EdgeInsets.fromLTRB(0.0, 6.0, 0.0, 6.0),
|
||||||
|
child: Image.asset(
|
||||||
|
'images/${urlItems[index]}',
|
||||||
|
width: 50.0,
|
||||||
|
height: 50.0,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
)),
|
||||||
|
Text(nameItems[index])
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: nameItems.length,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
height: 0.5,
|
||||||
|
color: Colors.blueGrey,
|
||||||
|
),
|
||||||
|
const Center(
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.fromLTRB(0.0, 8.0, 0.0, 8.0),
|
||||||
|
child: Text(
|
||||||
|
'取 消',
|
||||||
|
style: TextStyle(fontSize: 18.0, color: Colors.blueGrey),
|
||||||
|
)),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
*/
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -334,6 +334,7 @@ class _PasswordKeyListPageState extends State<PasswordKeyListPage> {
|
|||||||
CupertinoDialogAction(
|
CupertinoDialogAction(
|
||||||
child: Text(TranslationLoader.lanKeys!.reset!.tr),
|
child: Text(TranslationLoader.lanKeys!.reset!.tr),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
logic.resetPasswordKeyListRequest();
|
logic.resetPasswordKeyListRequest();
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
|
|||||||
@ -48,6 +48,8 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
late String cyclicModeStr; //循环模式
|
late String cyclicModeStr; //循环模式
|
||||||
late String effectiveHourStr;
|
late String effectiveHourStr;
|
||||||
late String failureHourStr;
|
late String failureHourStr;
|
||||||
|
int startHours = 0;
|
||||||
|
int endHours = 0;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -70,6 +72,8 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
|
|
||||||
_selectEffectiveDate = formatDate(dateTime, [HH, ':', nn]); //默认为当前时间
|
_selectEffectiveDate = formatDate(dateTime, [HH, ':', nn]); //默认为当前时间
|
||||||
_selectFailureDate = formatDate(dateTime, [HH, ':', nn]); //默认为当前时间
|
_selectFailureDate = formatDate(dateTime, [HH, ':', nn]); //默认为当前时间
|
||||||
|
startHours = _effectiveDateTime.hour;
|
||||||
|
endHours = _failureDateTime.hour;
|
||||||
} else {
|
} else {
|
||||||
_selectEffectiveDate = formatDate(
|
_selectEffectiveDate = formatDate(
|
||||||
dateTime, [yyyy, '-', mm, '-', dd, ' ', HH, ':', nn]); //默认为当前时间
|
dateTime, [yyyy, '-', mm, '-', dd, ' ', HH, ':', nn]); //默认为当前时间
|
||||||
@ -264,7 +268,7 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
children: [
|
children: [
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel: TranslationLoader.lanKeys!.recursiveDevice!.tr,
|
leftTitel: TranslationLoader.lanKeys!.recursiveDevice!.tr,
|
||||||
rightTitle: "周末",
|
rightTitle: cyclicModeStr,
|
||||||
isHaveLine: true,
|
isHaveLine: true,
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () {
|
action: () {
|
||||||
@ -292,9 +296,10 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
onConfirm: (p) {
|
onConfirm: (p) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_effectiveDateTime = DateTime.parse(
|
_effectiveDateTime = DateTime.parse(
|
||||||
'${intToStr(p.hour!)}:${intToStr(p.minute!)}');
|
'${_effectiveDateTime.year}-${intToStr(_effectiveDateTime.month)}-${intToStr(_effectiveDateTime.day)} ${intToStr(p.hour!)}:${intToStr(p.minute!)}');
|
||||||
_selectEffectiveDate =
|
_selectEffectiveDate =
|
||||||
formatDate(_effectiveDateTime, [HH, ':', nn]);
|
formatDate(_effectiveDateTime, [HH, ':', nn]);
|
||||||
|
startHours = p.hour!;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}),
|
}),
|
||||||
@ -307,9 +312,10 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
onConfirm: (p) {
|
onConfirm: (p) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_failureDateTime = DateTime.parse(
|
_failureDateTime = DateTime.parse(
|
||||||
'${intToStr(p.hour!)}:${intToStr(p.minute!)}');
|
'${_failureDateTime.year}-${intToStr(_failureDateTime.month)}-${intToStr(_failureDateTime.day)} ${intToStr(p.hour!)}:${intToStr(p.minute!)}');
|
||||||
_selectFailureDate =
|
_selectFailureDate =
|
||||||
formatDate(_effectiveDateTime, [HH, ':', nn]);
|
formatDate(_failureDateTime, [HH, ':', nn]);
|
||||||
|
endHours = p.hour!;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}),
|
}),
|
||||||
@ -323,7 +329,9 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
Pickers.showSinglePicker(context,
|
Pickers.showSinglePicker(context,
|
||||||
data: dataList,
|
data: dataList,
|
||||||
pickerStyle: DefaultPickerStyle(), onConfirm: (p, position) {
|
pickerStyle: DefaultPickerStyle(), onConfirm: (p, position) {
|
||||||
setState(() {});
|
setState(() {
|
||||||
|
cyclicModeStr = p;
|
||||||
|
});
|
||||||
}, onChanged: (p, position) {
|
}, onChanged: (p, position) {
|
||||||
setState(() {});
|
setState(() {});
|
||||||
});
|
});
|
||||||
@ -374,14 +382,21 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
if (_nameController.text.isNotEmpty) {
|
||||||
logic.getStartDate(_effectiveDateTime);
|
logic.getStartDate(_effectiveDateTime);
|
||||||
int passwordType = int.parse(widget.type);
|
int passwordType = int.parse(widget.type);
|
||||||
if (passwordType == 3) {
|
if (passwordType == 3) {
|
||||||
//自定义密码
|
if (_pwdController.text.isNotEmpty) {
|
||||||
addKeyboardPwdRequest();
|
//自定义密码
|
||||||
|
addKeyboardPwdRequest();
|
||||||
|
} else {
|
||||||
|
Toast.show(msg: '请输入密码');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
getKeyboardPwdRequest();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
getKeyboardPwdRequest();
|
Toast.show(msg: '请给密码命名');
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
@ -424,17 +439,33 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
//自定义
|
//自定义
|
||||||
} else if (passwordType == 4) {
|
} else if (passwordType == 4) {
|
||||||
//循环
|
//循环
|
||||||
getKeyType = '6';
|
if (cyclicModeStr == '每日') {
|
||||||
|
getKeyType = '6';
|
||||||
|
} else if (cyclicModeStr == '工作日') {
|
||||||
|
getKeyType = '7';
|
||||||
|
} else if (cyclicModeStr == '星期一') {
|
||||||
|
getKeyType = '8';
|
||||||
|
} else if (cyclicModeStr == '星期二') {
|
||||||
|
getKeyType = '9';
|
||||||
|
} else if (cyclicModeStr == '星期三') {
|
||||||
|
getKeyType = '10';
|
||||||
|
} else if (cyclicModeStr == '星期四') {
|
||||||
|
getKeyType = '11';
|
||||||
|
} else if (cyclicModeStr == '星期五') {
|
||||||
|
getKeyType = '12';
|
||||||
|
} else if (cyclicModeStr == '星期六') {
|
||||||
|
getKeyType = '13';
|
||||||
|
} else if (cyclicModeStr == '星期日') {
|
||||||
|
getKeyType = '14';
|
||||||
|
}
|
||||||
} else if (passwordType == 5) {
|
} else if (passwordType == 5) {
|
||||||
//清空码
|
//清空码
|
||||||
getKeyType = '4';
|
getKeyType = '4';
|
||||||
}
|
}
|
||||||
if (widget.type != '0' && widget.type != '2' && widget.type != '5') {
|
if (widget.type != '0' && widget.type != '2' && widget.type != '5') {
|
||||||
getFailureDateTime =
|
getFailureDateTime = _failureDateTime.millisecondsSinceEpoch.toString();
|
||||||
DateTime.parse(_selectFailureDate).millisecondsSinceEpoch.toString();
|
getEffectiveDateTime =
|
||||||
getEffectiveDateTime = DateTime.parse(_selectEffectiveDate)
|
_effectiveDateTime.millisecondsSinceEpoch.toString();
|
||||||
.millisecondsSinceEpoch
|
|
||||||
.toString();
|
|
||||||
}
|
}
|
||||||
var entity = await ApiRepository.to.getPasswordKey(
|
var entity = await ApiRepository.to.getPasswordKey(
|
||||||
getFailureDateTime,
|
getFailureDateTime,
|
||||||
@ -445,7 +476,9 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
|
|||||||
lockId,
|
lockId,
|
||||||
'0',
|
'0',
|
||||||
getEffectiveDateTime,
|
getEffectiveDateTime,
|
||||||
'0');
|
'0',
|
||||||
|
startHours,
|
||||||
|
endHours);
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
if (entity.errorCode!.codeIsSuccessful) {
|
||||||
print('获取密码成功');
|
print('获取密码成功');
|
||||||
_isSendSuccess = true;
|
_isSendSuccess = true;
|
||||||
|
|||||||
@ -34,8 +34,8 @@ class SafeVerifyLogic extends BaseGetXController {
|
|||||||
//获取验证码请求
|
//获取验证码请求
|
||||||
void sendValidationCode() async {
|
void sendValidationCode() async {
|
||||||
var entity = await ApiRepository.to.getValidationCodeAuth(
|
var entity = await ApiRepository.to.getValidationCodeAuth(
|
||||||
"+86",
|
"",
|
||||||
state.loginData.value.mobile!,
|
'',
|
||||||
'1',
|
'1',
|
||||||
state.codeType.value,
|
state.codeType.value,
|
||||||
"B748F838-94EE-4BDB-A0E6-7B2D16849792",
|
"B748F838-94EE-4BDB-A0E6-7B2D16849792",
|
||||||
|
|||||||
@ -92,13 +92,13 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
|
|||||||
arguments: {
|
arguments: {
|
||||||
'mobile': state.mobileStr.value,
|
'mobile': state.mobileStr.value,
|
||||||
'isFrom': '1'
|
'isFrom': '1'
|
||||||
});
|
}).then((value) => logic.getUserInfoRequest());
|
||||||
} else {
|
} else {
|
||||||
Navigator.pushNamed(
|
Navigator.pushNamed(
|
||||||
context, Routers.mineBindPhoneOrEmailPage, arguments: {
|
context, Routers.mineBindPhoneOrEmailPage, arguments: {
|
||||||
'mobile': state.mobileStr.value,
|
'mobile': state.mobileStr.value,
|
||||||
'isFrom': '1'
|
'isFrom': '1'
|
||||||
});
|
}).then((value) => logic.getUserInfoRequest());
|
||||||
}
|
}
|
||||||
})),
|
})),
|
||||||
Obx(() => CommonItem(
|
Obx(() => CommonItem(
|
||||||
@ -116,13 +116,13 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
|
|||||||
arguments: {
|
arguments: {
|
||||||
'isFrom': '2',
|
'isFrom': '2',
|
||||||
'email': state.emailStr.value
|
'email': state.emailStr.value
|
||||||
});
|
}).then((value) => logic.getUserInfoRequest());
|
||||||
} else {
|
} else {
|
||||||
Navigator.pushNamed(
|
Navigator.pushNamed(
|
||||||
context, Routers.mineBindPhoneOrEmailPage, arguments: {
|
context, Routers.mineBindPhoneOrEmailPage, arguments: {
|
||||||
'isFrom': '2',
|
'isFrom': '2',
|
||||||
'email': state.emailStr.value
|
'email': state.emailStr.value
|
||||||
});
|
}).then((value) => logic.getUserInfoRequest());
|
||||||
}
|
}
|
||||||
})),
|
})),
|
||||||
CommonItem(
|
CommonItem(
|
||||||
@ -134,7 +134,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
|
|||||||
Navigator.pushNamed(
|
Navigator.pushNamed(
|
||||||
context, Routers.minePersonInfoResetPasswordPage);
|
context, Routers.minePersonInfoResetPasswordPage);
|
||||||
}),
|
}),
|
||||||
CommonItem(
|
Obx(() => CommonItem(
|
||||||
leftTitel: TranslationLoader.lanKeys!.safetyProblem!.tr,
|
leftTitel: TranslationLoader.lanKeys!.safetyProblem!.tr,
|
||||||
rightTitle: state.haveSafeAnswer.value == 0 ? "去设置" : "",
|
rightTitle: state.haveSafeAnswer.value == 0 ? "去设置" : "",
|
||||||
isHaveLine: true,
|
isHaveLine: true,
|
||||||
@ -148,7 +148,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
|
|||||||
Navigator.pushNamed(
|
Navigator.pushNamed(
|
||||||
context, Routers.minePersonInfoViewSafetyProblemPage);
|
context, Routers.minePersonInfoViewSafetyProblemPage);
|
||||||
}
|
}
|
||||||
}),
|
})),
|
||||||
Obx(() => CommonItem(
|
Obx(() => CommonItem(
|
||||||
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
|
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
|
||||||
rightTitle: state.countryStr.value,
|
rightTitle: state.countryStr.value,
|
||||||
|
|||||||
@ -248,7 +248,7 @@ class _MineSetPageState extends State<MineSetPage> {
|
|||||||
color: AppColors.darkGrayTextColor, fontSize: 18.sp),
|
color: AppColors.darkGrayTextColor, fontSize: 18.sp),
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
showCupertinoAlertDialog(context);
|
_showDialog(context);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -261,25 +261,54 @@ class _MineSetPageState extends State<MineSetPage> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void showCupertinoAlertDialog(BuildContext context) {
|
//确认弹窗
|
||||||
showDialog(
|
void _showDialog(widgetContext) {
|
||||||
context: context,
|
showCupertinoDialog(
|
||||||
builder: (BuildContext context) {
|
context: widgetContext,
|
||||||
return ShowIosTipView(
|
builder: (context) {
|
||||||
title: "",
|
return CupertinoAlertDialog(
|
||||||
tipTitle: TranslationLoader.lanKeys!.deleteAccountTips!.tr,
|
title: Text(TranslationLoader.lanKeys!.deleteAccountTips!.tr),
|
||||||
sureClick: () {
|
actions: [
|
||||||
//安全验证
|
CupertinoDialogAction(
|
||||||
Navigator.pushNamed(context, Routers.safeVerifyPage);
|
child: Text(TranslationLoader.lanKeys!.cancel!.tr),
|
||||||
},
|
onPressed: () {
|
||||||
cancelClick: () {
|
Navigator.of(context).pop();
|
||||||
Navigator.pop(context);
|
},
|
||||||
},
|
),
|
||||||
|
CupertinoDialogAction(
|
||||||
|
child: Text(TranslationLoader.lanKeys!.sure!.tr),
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
//安全验证
|
||||||
|
Navigator.pushNamed(context, Routers.safeVerifyPage);
|
||||||
|
setState(() {});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// void showCupertinoAlertDialog(BuildContext context) {
|
||||||
|
// showDialog(
|
||||||
|
// context: context,
|
||||||
|
// builder: (BuildContext context) {
|
||||||
|
// return ShowIosTipView(
|
||||||
|
// title: "",
|
||||||
|
// tipTitle: TranslationLoader.lanKeys!.deleteAccountTips!.tr,
|
||||||
|
// sureClick: () {
|
||||||
|
// //安全验证
|
||||||
|
// Navigator.pushNamed(context, Routers.safeVerifyPage);
|
||||||
|
// },
|
||||||
|
// cancelClick: () {
|
||||||
|
// Navigator.pop(context);
|
||||||
|
// },
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
CupertinoSwitch _isPrompToneSwitch() {
|
CupertinoSwitch _isPrompToneSwitch() {
|
||||||
return CupertinoSwitch(
|
return CupertinoSwitch(
|
||||||
activeColor: CupertinoColors.activeBlue,
|
activeColor: CupertinoColors.activeBlue,
|
||||||
|
|||||||
@ -337,16 +337,17 @@ class ApiProvider extends BaseProvider {
|
|||||||
jsonEncode({'lockId': lockId, 'operatorUid': operatorUid}));
|
jsonEncode({'lockId': lockId, 'operatorUid': operatorUid}));
|
||||||
|
|
||||||
Future<Response> getKeyboardPwd(
|
Future<Response> getKeyboardPwd(
|
||||||
String endDate,
|
String endDate,
|
||||||
String isExclusive,
|
String isExclusive,
|
||||||
String keyboardPwdName,
|
String keyboardPwdName,
|
||||||
String keyboardPwdType,
|
String keyboardPwdType,
|
||||||
String keyboardPwdVersion,
|
String keyboardPwdVersion,
|
||||||
String lockId,
|
String lockId,
|
||||||
String operatorUid,
|
String operatorUid,
|
||||||
String startDate,
|
String startDate,
|
||||||
String timezoneRawOffSet,
|
String timezoneRawOffSet,
|
||||||
) =>
|
int startHours,
|
||||||
|
int endHours) =>
|
||||||
post(
|
post(
|
||||||
passwordKeyGetURL.toUrl,
|
passwordKeyGetURL.toUrl,
|
||||||
jsonEncode({
|
jsonEncode({
|
||||||
@ -358,7 +359,9 @@ class ApiProvider extends BaseProvider {
|
|||||||
'lockId': lockId,
|
'lockId': lockId,
|
||||||
'operatorUid': operatorUid,
|
'operatorUid': operatorUid,
|
||||||
'startDate': startDate,
|
'startDate': startDate,
|
||||||
'timezoneRawOffSet': timezoneRawOffSet
|
'timezoneRawOffSet': timezoneRawOffSet,
|
||||||
|
'hoursStart': startHours,
|
||||||
|
'hoursEnd': endHours
|
||||||
}));
|
}));
|
||||||
|
|
||||||
Future<Response> addKeyboardPwd(
|
Future<Response> addKeyboardPwd(
|
||||||
|
|||||||
@ -334,16 +334,17 @@ class ApiRepository {
|
|||||||
|
|
||||||
//获取密码
|
//获取密码
|
||||||
Future<PasswordKeyEntity> getPasswordKey(
|
Future<PasswordKeyEntity> getPasswordKey(
|
||||||
String endDate,
|
String endDate,
|
||||||
String isExclusive,
|
String isExclusive,
|
||||||
String keyboardPwdName,
|
String keyboardPwdName,
|
||||||
String keyboardPwdType,
|
String keyboardPwdType,
|
||||||
String keyboardPwdVersion,
|
String keyboardPwdVersion,
|
||||||
String lockId,
|
String lockId,
|
||||||
String operatorUid,
|
String operatorUid,
|
||||||
String startDate,
|
String startDate,
|
||||||
String timezoneRawOffSet,
|
String timezoneRawOffSet,
|
||||||
) async {
|
int startHours,
|
||||||
|
int endHours) async {
|
||||||
final res = await apiProvider.getKeyboardPwd(
|
final res = await apiProvider.getKeyboardPwd(
|
||||||
endDate,
|
endDate,
|
||||||
isExclusive,
|
isExclusive,
|
||||||
@ -353,7 +354,9 @@ class ApiRepository {
|
|||||||
lockId,
|
lockId,
|
||||||
operatorUid,
|
operatorUid,
|
||||||
startDate,
|
startDate,
|
||||||
timezoneRawOffSet);
|
timezoneRawOffSet,
|
||||||
|
startHours,
|
||||||
|
endHours);
|
||||||
return PasswordKeyEntity.fromJson(res.body);
|
return PasswordKeyEntity.fromJson(res.body);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -111,6 +111,7 @@ dependencies:
|
|||||||
#网络图片缓存
|
#网络图片缓存
|
||||||
cached_network_image: ^3.2.0
|
cached_network_image: ^3.2.0
|
||||||
webview_flutter: ^4.2.3
|
webview_flutter: ^4.2.3
|
||||||
|
fluwx_no_pay_rz: ^3.4.4+1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user