1,部分图片更新

2,部分空界面添加
3,部分界面更新
4,修改部分暂未开放提示为二级界面
This commit is contained in:
Daisy 2023-10-17 15:48:32 +08:00
parent 04b7a0e9f5
commit 7ef7b7fcc4
56 changed files with 794 additions and 432 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -212,7 +212,7 @@
"pushNotification":"消息推送", "pushNotification":"消息推送",
"lockUserManagement":"锁用户管理", "lockUserManagement":"锁用户管理",
"ownedKey":"拥有的钥匙", "ownedKey":"拥有的钥匙",
"authorityManagement":"限管理", "authorityManagement":"批量授权",
"associatedDevice":"关联设备", "associatedDevice":"关联设备",
"associatedName":"关联姓名", "associatedName":"关联姓名",
"device":"设备", "device":"设备",

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -1,122 +1,121 @@
{ {
"images" : [ "images" : [
{ {
"size" : "20x20", "filename" : "icon-20@2x.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png", "scale" : "2x",
"scale" : "2x" "size" : "20x20"
}, },
{ {
"size" : "20x20", "filename" : "icon-20@3x.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png", "scale" : "3x",
"scale" : "3x" "size" : "20x20"
}, },
{ {
"size" : "29x29",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png", "scale" : "1x",
"scale" : "1x" "size" : "29x29"
}, },
{ {
"size" : "29x29", "filename" : "icon-29@2x.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png", "scale" : "2x",
"scale" : "2x" "size" : "29x29"
}, },
{ {
"size" : "29x29", "filename" : "icon-29@3x.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png", "scale" : "3x",
"scale" : "3x" "size" : "29x29"
}, },
{ {
"size" : "40x40", "filename" : "icon-40@2x.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png", "scale" : "2x",
"scale" : "2x" "size" : "40x40"
}, },
{ {
"size" : "40x40", "filename" : "icon-40@3x.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png", "scale" : "3x",
"scale" : "3x" "size" : "40x40"
}, },
{ {
"size" : "60x60", "filename" : "icon-60@2x.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png", "scale" : "2x",
"scale" : "2x" "size" : "60x60"
}, },
{ {
"size" : "60x60", "filename" : "icon-60@3x.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png", "scale" : "3x",
"scale" : "3x" "size" : "60x60"
}, },
{ {
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png", "filename" : "Icon-App-20x20@1x.png",
"scale" : "1x" "idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
}, },
{ {
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png", "filename" : "Icon-App-20x20@2x.png",
"scale" : "2x" "idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
}, },
{ {
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png", "filename" : "Icon-App-29x29@1x.png",
"scale" : "1x" "idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
}, },
{ {
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png", "filename" : "Icon-App-29x29@2x.png",
"scale" : "2x" "idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
}, },
{ {
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png", "filename" : "Icon-App-40x40@1x.png",
"scale" : "1x" "idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
}, },
{ {
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png", "filename" : "Icon-App-40x40@2x.png",
"scale" : "2x" "idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
}, },
{ {
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png", "filename" : "Icon-App-76x76@1x.png",
"scale" : "1x" "idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
}, },
{ {
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png", "filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad", "idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png", "scale" : "2x",
"scale" : "2x" "size" : "76x76"
},
{
"filename" : "Icon-App-83.5x83.5@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
}, },
{ {
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png", "filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x" "idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
} }
], ],
"info" : { "info" : {
"version" : 1, "author" : "xcode",
"author" : "xcode" "version" : 1
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -7,7 +7,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Star Lock</string> <string>星锁</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
@ -15,7 +15,7 @@
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>star_lock</string> <string>星锁</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>

View File

@ -12,7 +12,7 @@ import 'package:star_lock/mine/about/webviewShow_page.dart';
import 'package:star_lock/mine/mine/safeVerify/safeVerify_page.dart'; import 'package:star_lock/mine/mine/safeVerify/safeVerify_page.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_page.dart'; import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_page.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_page.dart'; import 'package:star_lock/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_page.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart'; import 'package:star_lock/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/adminDetailChangeDate_page.dart'; import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/adminDetailChangeDate_page.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/administratorDetails_page.dart'; import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/administratorDetails_page.dart';
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart'; import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart';
@ -318,7 +318,7 @@ abstract class Routers {
static const getDeviceListPage = '/getDeviceListPage'; // static const getDeviceListPage = '/getDeviceListPage'; //
static const getNameListPage = '/getNameListPage'; // static const getNameListPage = '/getNameListPage'; //
static const authorityManagementPage = '/authorityManagementPage'; // static const authorityManagementPage = '/authorityManagementPage'; //
static const massSendLockGroupPage = '/massSendLockGroupPage'; // static const massSendLockGroupPage = '/massSendLockGroupPage'; //
static const massSendReceiverPage = '/massSendReceiverPage'; // static const massSendReceiverPage = '/massSendReceiverPage'; //
static const lockUserListPage = '/lockUserListPage'; // static const lockUserListPage = '/lockUserListPage'; //

View File

@ -5,6 +5,7 @@ import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity
import 'package:star_lock/main/lockMian/entity/lockInfoEntity.dart'; import 'package:star_lock/main/lockMian/entity/lockInfoEntity.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';
import 'package:star_lock/tools/noData.dart';
import '../../../../appRouters.dart'; import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart'; import '../../../../app_settings/app_colors.dart';
@ -116,7 +117,9 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
Widget _buildMainUI(itemData) { Widget _buildMainUI(itemData) {
List<ElectronicKeyListItem> getItemData = itemData; List<ElectronicKeyListItem> getItemData = itemData;
return ListView.builder( return getItemData.isEmpty
? const NoData()
: ListView.builder(
itemCount: getItemData.length, itemCount: getItemData.length,
itemBuilder: (c, index) { itemBuilder: (c, index) {
ElectronicKeyListItem indexEntity = getItemData[index]; ElectronicKeyListItem indexEntity = getItemData[index];

View File

@ -26,6 +26,7 @@ class VolumeAuthorizationLockPage extends StatefulWidget {
_VolumeAuthorizationLockPageState(); _VolumeAuthorizationLockPageState();
} }
//
class _VolumeAuthorizationLockPageState class _VolumeAuthorizationLockPageState
extends State<VolumeAuthorizationLockPage> { extends State<VolumeAuthorizationLockPage> {
final FlutterContactPicker _contactPicker = FlutterContactPicker(); final FlutterContactPicker _contactPicker = FlutterContactPicker();

View File

@ -5,6 +5,7 @@ import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.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';
import 'package:star_lock/tools/noData.dart';
import 'package:star_lock/tools/submitBtn.dart'; import 'package:star_lock/tools/submitBtn.dart';
import 'package:star_lock/translations/trans_lib.dart'; import 'package:star_lock/translations/trans_lib.dart';
@ -56,14 +57,17 @@ class _LockUserListPageState extends State<LockUserListPage> {
height: 20.h, height: 20.h,
), ),
Expanded( Expanded(
child: ListView.separated( child: dataList.isEmpty
? const NoData()
: ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
LockUserData indexEntity = dataList[index]; LockUserData indexEntity = dataList[index];
return _electronicKeyItem(indexEntity); return _electronicKeyItem(indexEntity);
}, },
itemCount: dataList.length, itemCount: dataList.length,
separatorBuilder: (context, index) { separatorBuilder: (context, index) {
return const Divider(height: 1, color: AppColors.greyLineColor); return const Divider(
height: 1, color: AppColors.greyLineColor);
}, },
)), )),
Container( Container(

View File

@ -122,6 +122,11 @@ class _MassSendLockGroupListPageState extends State<MassSendLockGroupListPage> {
onTap: () { onTap: () {
selectGroupIdList.add(index); selectGroupIdList.add(index);
clickIndex = index; clickIndex = index;
//
if (itemData.isChecked) {
// lockItemList[selectIndex] =
}
print('选中了么0');
}, },
typeImgList: const [], typeImgList: const [],
groupItem: itemData, groupItem: itemData,

View File

@ -201,7 +201,9 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: SizedBox( rightWidget: SizedBox(
width: 60.w, height: 50.h, child: _remoteSwitch(false)), width: 60.w, height: 50.h, child: _remoteSwitch(false)),
action: () {}), action: () {
// Toast.show(msg: '此功能暂未开放');
}),
], ],
); );
} }

View File

@ -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:get/get.dart';
import 'package:star_lock/tools/noData.dart';
import '../../../../../app_settings/app_colors.dart'; import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/titleAppBar.dart'; import '../../../../../tools/titleAppBar.dart';
@ -14,6 +15,7 @@ class NearbyDoorMagneticPage extends StatefulWidget {
} }
class _NearbyDoorMagneticPageState extends State<NearbyDoorMagneticPage> { class _NearbyDoorMagneticPageState extends State<NearbyDoorMagneticPage> {
List dataList = [];
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -22,10 +24,13 @@ class _NearbyDoorMagneticPageState extends State<NearbyDoorMagneticPage> {
barTitle: TranslationLoader.lanKeys!.nearbyEquipment!.tr, barTitle: TranslationLoader.lanKeys!.nearbyEquipment!.tr,
haveBack: true, haveBack: true,
backgroundColor: AppColors.mainColor), backgroundColor: AppColors.mainColor),
body: ListView.builder( body: dataList.isEmpty
itemCount: 20, ? const NoData()
: ListView.builder(
itemCount: dataList.length,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240", () { return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240",
() {
// Navigator.pushNamed(context, Routers.saveLockPage); // Navigator.pushNamed(context, Routers.saveLockPage);
}); });
}), }),

View File

@ -65,20 +65,22 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
'keyInfo': state.getKeyInfosData.value 'keyInfo': state.getKeyInfosData.value
}); });
}), }),
SizedBox(height: 10.h,), SizedBox(
height: 10.h,
),
// //
Visibility( Visibility(
visible: true, visible: true,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.doorMagnetic!.tr, leftTitel:
TranslationLoader.lanKeys!.doorMagnetic!.tr,
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
// Get.toNamed(Routers.doorMagneticPage); Get.toNamed(Routers.doorMagneticPage);
Toast.show(msg: "功能暂未开放"); // Toast.show(msg: "功能暂未开放");
}) })),
),
// 线 // 线
Visibility( Visibility(
visible: true, visible: true,
@ -86,13 +88,32 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
leftTitel: leftTitel:
TranslationLoader.lanKeys!.wirelessKeyboard!.tr, TranslationLoader.lanKeys!.wirelessKeyboard!.tr,
rightTitle: "", rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Get.toNamed(Routers.wirelessKeyboardPage);
// Toast.show(msg: "功能暂未开放");
})),
Visibility(
visible: true,
child: CommonItem(
leftTitel: '照明',
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Toast.show(msg: "功能暂未开放");
})),
Visibility(
visible: true,
child: CommonItem(
leftTitel: '开门器',
rightTitle: "",
isHaveLine: false, isHaveLine: false,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
// Get.toNamed(Routers.wirelessKeyboardPage);
Toast.show(msg: "功能暂未开放"); Toast.show(msg: "功能暂未开放");
}) })),
),
SizedBox(height: 10.h), SizedBox(height: 10.h),
// //
Obx(() => Visibility( Obx(() => Visibility(
@ -100,7 +121,9 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
child: CommonItem( child: CommonItem(
leftTitel: leftTitel:
TranslationLoader.lanKeys!.automaticBlocking!.tr, TranslationLoader.lanKeys!.automaticBlocking!.tr,
rightTitle: state.getKeyInfosData.value.autoLockTime! > -1 rightTitle: state
.getKeyInfosData.value.autoLockTime! >
-1
? "${state.getKeyInfosData.value.autoLockTime!.toString()}s" ? "${state.getKeyInfosData.value.autoLockTime!.toString()}s"
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
@ -108,8 +131,7 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
action: () { action: () {
Get.toNamed(Routers.automaticBlockingPage, Get.toNamed(Routers.automaticBlockingPage,
arguments: state.getKeyInfosData.value); arguments: state.getKeyInfosData.value);
})) }))),
),
// //
Obx(() { Obx(() {
var titleStr = ""; var titleStr = "";
@ -144,15 +166,16 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
action: () { action: () {
Get.toNamed(Routers.lockSoundSetPage, Get.toNamed(Routers.lockSoundSetPage,
arguments: state.getKeyInfosData.value); arguments: state.getKeyInfosData.value);
}) }));
);
}), }),
// //
Obx(() => Visibility( Obx(() => Visibility(
visible: true, visible: true,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.burglarAlarm!.tr, leftTitel:
rightTitle: state.getKeyInfosData.value.tamperAlert == 1 TranslationLoader.lanKeys!.burglarAlarm!.tr,
rightTitle:
state.getKeyInfosData.value.tamperAlert == 1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
@ -168,7 +191,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
child: CommonItem( child: CommonItem(
leftTitel: leftTitel:
TranslationLoader.lanKeys!.normallyOpenMode!.tr, TranslationLoader.lanKeys!.normallyOpenMode!.tr,
rightTitle: state.getKeyInfosData.value.passageMode == 1 rightTitle:
state.getKeyInfosData.value.passageMode == 1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
@ -176,14 +200,15 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
action: () { action: () {
Get.toNamed(Routers.normallyOpenModePage, Get.toNamed(Routers.normallyOpenModePage,
arguments: state.getKeyInfosData.value); arguments: state.getKeyInfosData.value);
})) }))),
),
// //
Obx(() => Visibility( Obx(() => Visibility(
visible: true, visible: true,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.remoteUnlocking!.tr, leftTitel:
rightTitle: state.getKeyInfosData.value.remoteEnable == 1 TranslationLoader.lanKeys!.remoteUnlocking!.tr,
rightTitle:
state.getKeyInfosData.value.remoteEnable == 1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
@ -191,14 +216,14 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
action: () { action: () {
Get.toNamed(Routers.remoteUnlockingPage, Get.toNamed(Routers.remoteUnlockingPage,
arguments: state.getKeyInfosData.value); arguments: state.getKeyInfosData.value);
})) }))),
),
// //
Obx(() => Visibility( Obx(() => Visibility(
visible: true, visible: true,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.resetButton!.tr, leftTitel: TranslationLoader.lanKeys!.resetButton!.tr,
rightTitle: state.getKeyInfosData.value.resetButton == 1 rightTitle:
state.getKeyInfosData.value.resetButton == 1
? TranslationLoader.lanKeys!.opened!.tr ? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr, : TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true, isHaveLine: true,
@ -206,8 +231,7 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
action: () { action: () {
Get.toNamed(Routers.resetButtonPage, Get.toNamed(Routers.resetButtonPage,
arguments: state.getKeyInfosData.value); arguments: state.getKeyInfosData.value);
})) }))),
),
SizedBox(height: 10.h), SizedBox(height: 10.h),
//--- //---
// Obx(() => // Obx(() =>
@ -218,8 +242,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: rightWidget: SizedBox(
SizedBox(width: 60.w, child: _otherUnHaveDoneSwitch()))), width: 60.w, child: _otherUnHaveDoneSwitch()))),
// ), // ),
// Obx(() => // Obx(() =>
Visibility( Visibility(
@ -231,8 +255,7 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Toast.show(msg: "功能暂未开放"); Toast.show(msg: "功能暂未开放");
} })),
)),
// ), // ),
// Obx(() => // Obx(() =>
Visibility( Visibility(
@ -242,8 +265,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: rightWidget: SizedBox(
SizedBox(width: 60.w, child: _otherUnHaveDoneSwitch()))), width: 60.w, child: _otherUnHaveDoneSwitch()))),
// ), // ),
// Obx(() => // Obx(() =>
Visibility( Visibility(
@ -253,8 +276,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: rightWidget: SizedBox(
SizedBox(width: 60.w, child: _otherUnHaveDoneSwitch()))), width: 60.w, child: _otherUnHaveDoneSwitch()))),
// ), // ),
// Obx(() => // Obx(() =>
Visibility( Visibility(
@ -264,8 +287,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: rightWidget: SizedBox(
SizedBox(width: 60.w, child: _otherUnHaveDoneSwitch()))), width: 60.w, child: _otherUnHaveDoneSwitch()))),
// ), // ),
// Obx(() => // Obx(() =>
Visibility( Visibility(
@ -277,8 +300,7 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveLine: true, isHaveLine: true,
action: () { action: () {
Toast.show(msg: "功能暂未开放"); Toast.show(msg: "功能暂未开放");
} })),
)),
// ), // ),
// Obx(() => // Obx(() =>
Visibility( Visibility(
@ -290,8 +312,7 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Toast.show(msg: "功能暂未开放"); Toast.show(msg: "功能暂未开放");
} })),
)),
// ), // ),
SizedBox(height: 10.h), SizedBox(height: 10.h),
//----- //-----
@ -313,8 +334,7 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
action: () { action: () {
Get.toNamed(Routers.markedHouseStatePage, Get.toNamed(Routers.markedHouseStatePage,
arguments: state.getKeyInfosData.value); arguments: state.getKeyInfosData.value);
}) }));
);
}), }),
// Obx(() => // Obx(() =>
Visibility( Visibility(
@ -324,20 +344,20 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: rightWidget: SizedBox(
SizedBox(width: 60.w, child: _openCheckInSwitch()) width: 60.w, child: _openCheckInSwitch()))),
)),
// ), // ),
// Obx(() => // Obx(() =>
Visibility( Visibility(
visible: true, visible: true,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr, leftTitel:
TranslationLoader.lanKeys!.unlockReminder!.tr,
rightTitle: "", rightTitle: "",
isHaveLine: false, isHaveLine: false,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: rightWidget: SizedBox(
SizedBox(width: 60.w, child: _lockRemindSwitch()))), width: 60.w, child: _lockRemindSwitch()))),
// ), // ),
SizedBox(height: 10.h), SizedBox(height: 10.h),
// Obx(() => // Obx(() =>
@ -395,8 +415,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
Visibility( Visibility(
visible: true, visible: true,
child: CommonItem( child: CommonItem(
leftTitel: leftTitel: TranslationLoader
TranslationLoader.lanKeys!.importOtherLockData!.tr, .lanKeys!.importOtherLockData!.tr,
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
@ -408,7 +428,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
Visibility( Visibility(
visible: true, visible: true,
child: CommonItem( child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockEscalation!.tr, leftTitel:
TranslationLoader.lanKeys!.lockEscalation!.tr,
rightTitle: "", rightTitle: "",
isHaveLine: false, isHaveLine: false,
isHaveDirection: true, isHaveDirection: true,
@ -418,7 +439,8 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
// ), // ),
SizedBox(height: 30.h), SizedBox(height: 30.h),
Container( Container(
padding: EdgeInsets.only(left: 20.w, right: 20.w, bottom: 30.h), padding:
EdgeInsets.only(left: 20.w, right: 20.w, bottom: 30.h),
child: SubmitBtn( child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr, btnName: TranslationLoader.lanKeys!.delete!.tr,
isDelete: true, isDelete: true,

View File

@ -78,15 +78,15 @@ class _AddWirelessKeyboardPageState extends State<AddWirelessKeyboardPage> {
SizedBox( SizedBox(
height: 20.h, height: 20.h,
), ),
Container( // Container(
margin: EdgeInsets.only(left: 20.w, right: 20.w), // margin: EdgeInsets.only(left: 20.w, right: 20.w),
child: SubmitBtn( // child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.theScreenNeverFlickered!.tr, // btnName: TranslationLoader.lanKeys!.theScreenNeverFlickered!.tr,
onClick: () { // onClick: () {
Navigator.pushNamed( // Navigator.pushNamed(
context, Routers.addWirelessKeyboardScreenNotLightOnPage); // context, Routers.addWirelessKeyboardScreenNotLightOnPage);
}), // }),
), // ),
], ],
), ),
); );

View File

@ -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:get/get.dart';
import 'package:star_lock/tools/noData.dart';
import '../../../../../app_settings/app_colors.dart'; import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/titleAppBar.dart'; import '../../../../../tools/titleAppBar.dart';
@ -15,6 +16,7 @@ class SeletWirelessKeyboardPage extends StatefulWidget {
} }
class _SeletWirelessKeyboardPageState extends State<SeletWirelessKeyboardPage> { class _SeletWirelessKeyboardPageState extends State<SeletWirelessKeyboardPage> {
List dataList = [];
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -24,10 +26,13 @@ class _SeletWirelessKeyboardPageState extends State<SeletWirelessKeyboardPage> {
"${TranslationLoader.lanKeys!.selet!.tr}${TranslationLoader.lanKeys!.wirelessKeyboard!.tr}", "${TranslationLoader.lanKeys!.selet!.tr}${TranslationLoader.lanKeys!.wirelessKeyboard!.tr}",
haveBack: true, haveBack: true,
backgroundColor: AppColors.mainColor), backgroundColor: AppColors.mainColor),
body: ListView.builder( body: dataList.isEmpty
? const NoData()
: ListView.builder(
itemCount: 20, itemCount: 20,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240", () { return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240",
() {
// Navigator.pushNamed(context, Routers.saveLockPage); // Navigator.pushNamed(context, Routers.saveLockPage);
}); });
}), }),

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/tools/noData.dart';
import '../../../../../appRouters.dart'; import '../../../../../appRouters.dart';
import '../../../../../app_settings/app_colors.dart'; import '../../../../../app_settings/app_colors.dart';
@ -17,6 +18,7 @@ class WirelessKeyboardPage extends StatefulWidget {
} }
class _WirelessKeyboardPageState extends State<WirelessKeyboardPage> { class _WirelessKeyboardPageState extends State<WirelessKeyboardPage> {
List dataList = [];
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -55,7 +57,9 @@ class _WirelessKeyboardPageState extends State<WirelessKeyboardPage> {
} }
Widget _buildMainUI() { Widget _buildMainUI() {
return ListView.builder( return dataList.isEmpty
? const NoData()
: ListView.builder(
itemCount: 10, itemCount: 10,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_password.png', "张三", return _electronicKeyItem('images/icon_password.png', "张三",

View File

@ -86,7 +86,7 @@ class _LockDetailPageState extends State<LockDetailPage> with RouteAware {
// KeyInfos keyInfo = widget.lockMainEntity.data!.keyInfos![0]; // KeyInfos keyInfo = widget.lockMainEntity.data!.keyInfos![0];
return Column( return Column(
children: [ children: [
SizedBox(height: 30.h), SizedBox(height: 50.h),
Stack( Stack(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
children: [ children: [
@ -120,7 +120,7 @@ class _LockDetailPageState extends State<LockDetailPage> with RouteAware {
Container( Container(
// width: 1.sw, // width: 1.sw,
color: Colors.white, color: Colors.white,
height: 280.w, height: 330.w,
child: Stack( child: Stack(
children: [ children: [
Center( Center(
@ -131,8 +131,11 @@ class _LockDetailPageState extends State<LockDetailPage> with RouteAware {
// logic.editLockUserAction(); // logic.editLockUserAction();
// logic.factoryDataResetAction(); // logic.factoryDataResetAction();
}, },
child: Image.asset('images/main/icon_main_openLockBtn.png', child: Image.asset(
width: 268.w, height: 268.w), 'images/main/icon_main_openLockBtn.png',
width: 330.w,
height: 330.w,
),
)), )),
// Visibility( // Visibility(
// visible: // visible:
@ -150,21 +153,21 @@ class _LockDetailPageState extends State<LockDetailPage> with RouteAware {
SizedBox( SizedBox(
height: 30.h, height: 30.h,
), ),
Row( // Row(
mainAxisAlignment: MainAxisAlignment.center, // mainAxisAlignment: MainAxisAlignment.center,
children: [ // children: [
Text( // Text(
'门已上锁', // '门已上锁',
style: TextStyle( // style: TextStyle(
fontSize: 26.sp, // fontSize: 26.sp,
color: Colors.black, // color: Colors.black,
fontWeight: FontWeight.w500), // fontWeight: FontWeight.w500),
), // ),
], // ],
), // ),
SizedBox( // SizedBox(
height: 6.h, // height: 6.h,
), // ),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
@ -187,14 +190,15 @@ class _LockDetailPageState extends State<LockDetailPage> with RouteAware {
'images/icon_electronicKey_admin.png', 'images/icon_electronicKey_admin.png',
width: 24.w, width: 24.w,
height: 20.w, height: 20.w,
color: AppColors.mainColor, //
), ),
SizedBox( SizedBox(
width: 6.w, width: 6.w,
), ),
Text( Text(
'超级管理员', '超级管理员',
style: style: TextStyle(
TextStyle(fontSize: 20.sp, color: AppColors.btnDisableColor), fontSize: 20.sp, color: AppColors.darkGrayTextColor),
), ),
SizedBox( SizedBox(
width: 80.w, width: 80.w,
@ -280,28 +284,24 @@ class _LockDetailPageState extends State<LockDetailPage> with RouteAware {
}), }),
// ic卡 // ic卡
bottomItem('images/main/icon_main_icCard.png', TranslationLoader.lanKeys!.card!.tr, () { bottomItem('images/main/icon_main_icCard.png',
Get.toNamed(Routers.otherTypeKeyListPage, arguments: { TranslationLoader.lanKeys!.card!.tr, () {
"lockId": widget.keyInfo.lockId, Get.toNamed(Routers.otherTypeKeyListPage,
"fromType": 0 arguments: {"lockId": widget.keyInfo.lockId, "fromType": 0});
});
}), }),
// //
bottomItem('images/main/icon_main_fingerprint.png', TranslationLoader.lanKeys!.fingerprint!.tr, () { bottomItem('images/main/icon_main_fingerprint.png',
Get.toNamed(Routers.otherTypeKeyListPage, arguments: { TranslationLoader.lanKeys!.fingerprint!.tr, () {
"lockId": widget.keyInfo.lockId, Get.toNamed(Routers.otherTypeKeyListPage,
"fromType": 1 arguments: {"lockId": widget.keyInfo.lockId, "fromType": 1});
});
}), }),
// //
bottomItem('images/main/icon_main_remoteControl.png', TranslationLoader.lanKeys!.remoteControl!.tr, () { bottomItem('images/main/icon_main_remoteControl.png',
// Get.toNamed(Routers.otherTypeKeyListPage, arguments: { TranslationLoader.lanKeys!.remoteControl!.tr, () {
// "lockId": widget.keyInfo.lockId, Get.toNamed(Routers.otherTypeKeyListPage,
// "fromType": 2 arguments: {"lockId": widget.keyInfo.lockId, "fromType": 2});
// });
Toast.show(msg: "功能暂未开放");
}), }),
]; ];
showWidgetArr.addAll(defaultWidgetArr); showWidgetArr.addAll(defaultWidgetArr);

View File

@ -1,4 +1,3 @@
import 'dart:math'; import 'dart:math';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -35,8 +34,10 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
// return; // return;
// } // }
print("fasdfasdfasdf:${int.parse(state.beginTimeTimestamp.value)} == ${int.parse(state.endTimeTimestamp.value)}"); print(
if(int.parse(state.beginTimeTimestamp.value) >= int.parse(state.endTimeTimestamp.value)){ "fasdfasdfasdf:${int.parse(state.beginTimeTimestamp.value)} == ${int.parse(state.endTimeTimestamp.value)}");
if (int.parse(state.beginTimeTimestamp.value) >=
int.parse(state.endTimeTimestamp.value)) {
Toast.show(msg: "失效时间要大于生效时间"); Toast.show(msg: "失效时间要大于生效时间");
return; return;
} }
@ -81,7 +82,8 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
"endDate": endDate, "endDate": endDate,
"addType": "1", "addType": "1",
"cardName": state.nameController.text, "cardName": state.nameController.text,
"cardNumber": (Random().nextInt(100000000) + 10000000).floor().toString(), "cardNumber":
(Random().nextInt(100000000) + 10000000).floor().toString(),
"cardType": fingerprintType.toString(), "cardType": fingerprintType.toString(),
"isCoerced": state.isStressFingerprint.value ? "1" : "2", "isCoerced": state.isStressFingerprint.value ? "1" : "2",
"startDate": startDate, "startDate": startDate,
@ -108,6 +110,20 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
break; break;
case 1: case 1:
// //
Get.toNamed(Routers.addFingerprintPage, arguments: {
"lockId": state.lockId.value,
"endDate": endDate,
"addType": "1",
"fingerprintName": state.nameController.text,
"fingerprintNumber": "123456",
"fingerprintType": fingerprintType.toString(),
"isCoerced": state.isStressFingerprint.value ? "1" : "2",
"startDate": startDate,
"weekDay": state.weekdaysList.value,
"fromType": state.fromType.value,
});
/* tips页面
Get.toNamed(Routers.addFingerprintTipPage, arguments: { Get.toNamed(Routers.addFingerprintTipPage, arguments: {
"lockId": state.lockId.value, "lockId": state.lockId.value,
"endDate": endDate, "endDate": endDate,
@ -120,6 +136,7 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
"weekDay": state.weekdaysList.value, "weekDay": state.weekdaysList.value,
"fromType": state.fromType.value, "fromType": state.fromType.value,
}); });
*/
// var entity = await ApiRepository.to.addFingerprintsData( // var entity = await ApiRepository.to.addFingerprintsData(
// lockId: state.lockId.value.toString(), // lockId: state.lockId.value.toString(),
@ -144,28 +161,22 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
default: default:
break; break;
} }
} }
@override @override
void onReady() { void onReady() {
// TODO: implement onReady // TODO: implement onReady
super.onReady(); super.onReady();
} }
@override @override
void onInit() { void onInit() {
// TODO: implement onInit // TODO: implement onInit
super.onInit(); super.onInit();
} }
@override @override
void onClose() { void onClose() {
// TODO: implement onClose // TODO: implement onClose
} }
} }

View File

@ -5,6 +5,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:star_lock/app_settings/app_colors.dart'; import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/tools/submitBtn.dart';
import '../../../appRouters.dart'; import '../../../appRouters.dart';
import '../../../baseWidget.dart'; import '../../../baseWidget.dart';
@ -99,7 +100,7 @@ class _StarLockMainPageState extends State<StarLockMainPage> with BaseWidget {
Widget unHaveData() { Widget unHaveData() {
return Column( return Column(
mainAxisAlignment: MainAxisAlignment.center, // mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -107,6 +108,7 @@ class _StarLockMainPageState extends State<StarLockMainPage> with BaseWidget {
Container( Container(
width: 330.w, width: 330.w,
height: 330.w, height: 330.w,
margin: EdgeInsets.only(top: 180.h),
// decoration: BoxDecoration( // decoration: BoxDecoration(
// border: Border.all(width: 4.w, color: AppColors.mainColor), // border: Border.all(width: 4.w, color: AppColors.mainColor),
// borderRadius: BorderRadius.circular(110.w), // borderRadius: BorderRadius.circular(110.w),
@ -133,11 +135,8 @@ class _StarLockMainPageState extends State<StarLockMainPage> with BaseWidget {
)), )),
], ],
), ),
SizedBox(
height: h(50.h),
),
Container( Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.only(top: 10.h),
child: Text( child: Text(
TranslationLoader TranslationLoader
.lanKeys!.whenAddingLockThePhoneMustBeNextToTheLock!.tr, .lanKeys!.whenAddingLockThePhoneMustBeNextToTheLock!.tr,
@ -145,7 +144,11 @@ class _StarLockMainPageState extends State<StarLockMainPage> with BaseWidget {
fontSize: 26.sp, fontSize: 26.sp,
// fontWeight: FontWeight.w800, // fontWeight: FontWeight.w800,
color: Colors.black), color: Colors.black),
)) )),
SizedBox(
height: 200.h,
),
SubmitBtn(btnName: '演示模式')
], ],
); );
} }

View File

@ -12,10 +12,14 @@ import '../../translations/trans_lib.dart';
// //
class XSWebviewURLMacro { class XSWebviewURLMacro {
static const baseWebURL = 'https://pre.lock.star-lock.cn:8093'; //baseURL static const baseWebURL = 'https://pre.lock.star-lock.cn:8093'; //baseURL
static const userAgreementURL = static const userAgreementURL = '$baseWebURL/app/userAgreement'; //
'$baseWebURL/page/detail?pageId=1&lang=cn'; //1 static const privacyPolicyURL = '$baseWebURL/app/privacy'; //
static const privacyPolicyURL = static const collectionListURL =
'$baseWebURL/page/detail?pageId=2&lang=cn'; //2 '$baseWebURL/app/personalInformationCollectionList'; //
static const thirdPartyInfShareListURL =
'$baseWebURL/app/thirdPartyInformationSharingList'; //
static const appPermissionDescURL =
'$baseWebURL/app/applicationPermissionDescription'; //
} }
class AbountPage extends StatefulWidget { class AbountPage extends StatefulWidget {
@ -66,7 +70,11 @@ class _AbountPageState extends State<AbountPage> {
isHaveLine: false, isHaveLine: false,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.webviewShowPage,
arguments: {
"url": XSWebviewURLMacro.userAgreementURL,
"title": '介绍'
});
}), }),
Divider( Divider(
height: 1, height: 1,
@ -117,7 +125,11 @@ class _AbountPageState extends State<AbountPage> {
isHaveLine: false, isHaveLine: false,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.webviewShowPage,
arguments: {
"url": XSWebviewURLMacro.collectionListURL,
"title": '个人信息收集清单'
});
}), }),
Divider( Divider(
height: 1, height: 1,
@ -132,7 +144,11 @@ class _AbountPageState extends State<AbountPage> {
isHaveLine: false, isHaveLine: false,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.webviewShowPage,
arguments: {
"url": XSWebviewURLMacro.appPermissionDescURL,
"title": '应用权限说明'
});
}), }),
Divider( Divider(
height: 1, height: 1,
@ -147,7 +163,11 @@ class _AbountPageState extends State<AbountPage> {
isHaveLine: false, isHaveLine: false,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.webviewShowPage,
arguments: {
"url": XSWebviewURLMacro.thirdPartyInfShareListURL,
"title": '第三方信息共享清单'
});
}), }),
], ],
), ),

View File

@ -0,0 +1,23 @@
import 'package:star_lock/mine/addLock/addLock/addLock_state.dart';
import 'package:star_lock/tools/baseGetXController.dart';
class AddLockLogic extends BaseGetXController {
final AddLockState state = AddLockState();
@override
void onReady() {
// TODO: implement onReady
super.onReady();
}
@override
void onInit() {
// TODO: implement onInit
super.onInit();
}
@override
void onClose() {
// TODO: implement onClose
}
}

View File

@ -4,6 +4,7 @@ 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:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:star_lock/mine/addLock/addLock/addLock_logic.dart';
import '../../../appRouters.dart'; import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart'; import '../../../app_settings/app_colors.dart';
@ -20,6 +21,9 @@ class AddLockPage extends StatefulWidget {
} }
class _AddLockPageState extends State<AddLockPage> with BaseWidget { class _AddLockPageState extends State<AddLockPage> with BaseWidget {
final logic = Get.put(AddLockLogic());
final state = Get.find<AddLockLogic>().state;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -49,11 +53,11 @@ class _AddLockPageState extends State<AddLockPage> with BaseWidget {
SizedBox( SizedBox(
height: 120.h, height: 120.h,
), ),
Image.asset( Obx(() => Image.asset(
'images/lockType/addLock_touchScreen.png', state.lockTypeImg.value,
width: 278.w, width: 278.w,
height: 278.w, height: 278.w,
), )),
SizedBox( SizedBox(
height: 120.h, height: 120.h,
), ),
@ -76,8 +80,7 @@ class _AddLockPageState extends State<AddLockPage> with BaseWidget {
if (Platform.isIOS) { if (Platform.isIOS) {
Navigator.pushNamed(context, Routers.nearbyLockPage); Navigator.pushNamed(context, Routers.nearbyLockPage);
} else { } else {
getMicrophonePermission() getMicrophonePermission().then((value) {
.then((value) {
if (value) { if (value) {
// //
Navigator.pushNamed(context, Routers.nearbyLockPage); Navigator.pushNamed(context, Routers.nearbyLockPage);

View File

@ -0,0 +1,29 @@
import 'package:get/get.dart';
class AddLockState {
var getLockType = 1.obs; //0-1-2-NFC无源锁3-4-5-6-7-
var lockTypeImg = 'images/lockType/addLock_touchScreen.png'.obs; //
AddLockState() {
Map map = Get.arguments;
if (map.isNotEmpty) {
if (map["getLockType"] != null) {
getLockType.value = map["getLockType"];
//
if (getLockType.value == 4) {
lockTypeImg.value = "images/lockType/addLock_safeBg.png";
} else if (getLockType.value == 5) {
//
lockTypeImg.value = "images/lockType/addLock_parkingBg.png";
} else if (getLockType.value == 6) {
//
lockTypeImg.value = "images/lockType/addLock_entranceGuardBg.png";
}
} else {
lockTypeImg.value = 'images/lockType/addLock_touchScreen.png';
}
} else {
lockTypeImg.value = 'images/lockType/addLock_touchScreen.png';
}
}
}

View File

@ -1,6 +1,9 @@
import 'dart:io';
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:permission_handler/permission_handler.dart';
import '../../../appRouters.dart'; import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart'; import '../../../app_settings/app_colors.dart';
@ -40,33 +43,34 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
children: [ children: [
lockTypeItem('images/lockType/lockType_doorLock.png', lockTypeItem('images/lockType/lockType_doorLock.png',
TranslationLoader.lanKeys!.doorLock!.tr, () { TranslationLoader.lanKeys!.doorLock!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.addLockPage,
arguments: {'getLockType': 1});
}), }),
lockTypeItem('images/lockType/lockType_NFCLock.png', lockTypeItem('images/lockType/lockType_NFCLock.png',
TranslationLoader.lanKeys!.NFCPassiveLock!.tr, () { TranslationLoader.lanKeys!.NFCPassiveLock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage); // Navigator.pushNamed(context, Routers.addLockPage);
Toast.show(msg: "功能暂未开放"); getNearByLimits();
}), }),
lockTypeItem('images/lockType/lockType_padlock.png', lockTypeItem('images/lockType/lockType_padlock.png',
TranslationLoader.lanKeys!.padlock!.tr, () { TranslationLoader.lanKeys!.padlock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage); // Navigator.pushNamed(context, Routers.addLockPage);
Toast.show(msg: "功能暂未开放"); getNearByLimits();
}), }),
lockTypeItem('images/lockType/lockType_safeLock.png', lockTypeItem('images/lockType/lockType_safeLock.png',
TranslationLoader.lanKeys!.safeLock!.tr, () { TranslationLoader.lanKeys!.safeLock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.addLockPage,
Toast.show(msg: "功能暂未开放"); arguments: {'getLockType': 4});
}), }),
lockTypeItem('images/lockType/lockType_parkingLock.png', lockTypeItem('images/lockType/lockType_parkingLock.png',
TranslationLoader.lanKeys!.parkingLock!.tr, () { TranslationLoader.lanKeys!.parkingLock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.addLockPage,
Toast.show(msg: "功能暂未开放"); arguments: {'getLockType': 5});
}), }),
lockTypeItem('images/lockType/lockType_entranceGuardLock.png', lockTypeItem('images/lockType/lockType_entranceGuardLock.png',
TranslationLoader.lanKeys!.itelligentAccessControl!.tr, TranslationLoader.lanKeys!.itelligentAccessControl!.tr,
() { () {
// Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.addLockPage,
Toast.show(msg: "功能暂未开放"); arguments: {'getLockType': 6});
}), }),
// lockTypeItem('images/lockType/lockType_bicycleLock.png', // lockTypeItem('images/lockType/lockType_bicycleLock.png',
@ -76,7 +80,7 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
lockTypeItem('images/lockType/lockType_gatewayLock.png', lockTypeItem('images/lockType/lockType_gatewayLock.png',
TranslationLoader.lanKeys!.gateway!.tr, () { TranslationLoader.lanKeys!.gateway!.tr, () {
// Navigator.pushNamed(context, Routers.gatewayListPage); // Navigator.pushNamed(context, Routers.gatewayListPage);
Toast.show(msg: "功能暂未开放"); getNearByLimits();
}), }),
], ],
), ),
@ -90,7 +94,8 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
Widget allLock() { Widget allLock() {
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.addLockPage,
arguments: {'getLockType': 0});
}, },
child: Container( child: Container(
height: 150.h, height: 150.h,
@ -174,6 +179,41 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
); );
} }
//
void getNearByLimits() {
if (Platform.isIOS) {
Navigator.pushNamed(context, Routers.nearbyLockPage);
} else {
getMicrophonePermission().then((value) {
if (value) {
//
Navigator.pushNamed(context, Routers.nearbyLockPage);
} else {
//
openAppSettings(); //app系统设置
}
});
}
}
///
Future<bool> getMicrophonePermission() async {
// You can request multiple permissions at once.
Map<Permission, PermissionStatus> statuses = await [
Permission.bluetoothScan,
Permission.bluetoothConnect,
Permission.location,
].request();
//granted denied permanentlyDenied
if (statuses[Permission.bluetoothScan]!.isGranted &&
statuses[Permission.bluetoothConnect]!.isGranted &&
statuses[Permission.location]!.isGranted) {
return true;
}
return false;
}
void onShow() {} void onShow() {}
void onHide() {} void onHide() {}

View File

@ -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:get/get.dart';
import 'package:star_lock/tools/noData.dart';
import '../../appRouters.dart'; import '../../appRouters.dart';
import '../../app_settings/app_colors.dart'; import '../../app_settings/app_colors.dart';
@ -15,6 +16,7 @@ class MessageListPage extends StatefulWidget {
} }
class _MessageListPageState extends State<MessageListPage> { class _MessageListPageState extends State<MessageListPage> {
List dataList = [];
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -23,11 +25,14 @@ class _MessageListPageState extends State<MessageListPage> {
barTitle: TranslationLoader.lanKeys!.message!.tr, barTitle: TranslationLoader.lanKeys!.message!.tr,
haveBack: true, haveBack: true,
backgroundColor: AppColors.mainColor), backgroundColor: AppColors.mainColor),
body: ListView.builder( body: dataList.isEmpty
? const NoData()
: ListView.builder(
itemCount: 10, itemCount: 10,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return _seletGatewayListListItem( return _seletGatewayListListItem(
'images/controls_user.png', "您的钥匙已发送成功", "2023.6.21 11.15", () { 'images/controls_user.png', "您的钥匙已发送成功", "2023.6.21 11.15",
() {
// Navigator.pushNamed(context, Routers.gatewayConfigurationWifiPage); // Navigator.pushNamed(context, Routers.gatewayConfigurationWifiPage);
}); });
}), }),

View File

@ -136,8 +136,8 @@ class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget {
// }), // }),
mineItem('images/mine/icon_mine_main_message.png', mineItem('images/mine/icon_mine_main_message.png',
TranslationLoader.lanKeys!.message!.tr, () { TranslationLoader.lanKeys!.message!.tr, () {
// Navigator.pushNamed(context, Routers.messageListPage); Navigator.pushNamed(context, Routers.messageListPage);
Toast.show(msg: "功能暂未开放"); // Toast.show(msg: "功能暂未开放");
}), }),
// //
// mineItem('images/mine/icon_mine_main_supportStaff.png', // mineItem('images/mine/icon_mine_main_supportStaff.png',

View File

@ -0,0 +1,124 @@
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/mine/mineSet/addAuthorizedAdministrator/AddAuthorizedAdministrator_state.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/tools/toast.dart';
import 'package:star_lock/translations/trans_lib.dart';
class AddAuthorizedAdministratorLogic extends BaseGetXController {
final AddAuthorizedAdministratorState state =
AddAuthorizedAdministratorState();
//
Future<void> addAuthorizedAdminRequest() async {
String getFailureDateTime = '0';
String getEffectiveDateTime = '0';
if (state.tabController!.index == 1) {
getFailureDateTime =
state.failureDateTime.value.millisecondsSinceEpoch.toString();
getEffectiveDateTime =
state.effectiveDateTime.value.millisecondsSinceEpoch.toString();
}
var entity = await ApiRepository.to.addAuthorizedAdmin(
state.isCreateUser.value ? "1" : "0",
getFailureDateTime,
state.isRemoteUnlock.value == true ? '1' : '2',
[],
state.lockIdList,
state.keyNameController.text,
getEffectiveDateTime,
state.emailOrPhoneController.text,
state.countryCode.value,
'1',
);
if (entity.errorCode!.codeIsSuccessful) {
print('发送电子钥匙成功');
state.isSendSuccess.value = true;
} else {
Toast.show(msg: '${entity.errorMsg}');
if (entity.errorCode == 425) {
//
state.isCreateUser.value = true;
addAuthorizedAdminRequest();
}
}
}
//
Future<void> sendElectronicKeyRequest(BuildContext widgetContext) async {
String getFailureDateTime = '0';
String getEffectiveDateTime = '0';
String lockID = state.keyInfo.value.lockId.toString();
String getKeyType = (int.parse(state.type.value) + 1).toString();
if (state.type.value == '0') {
getFailureDateTime =
state.failureDateTime.value.millisecondsSinceEpoch.toString();
getEffectiveDateTime =
state.effectiveDateTime.value.millisecondsSinceEpoch.toString();
}
var entity = await ApiRepository.to.sendElectronicKey(
createUser: state.isCreateUser.value ? "1" : "0",
countryCode: state.countryCode.value,
usernameType: '1',
endDate: getFailureDateTime,
faceAuthentication: state.isAuthentication.value == true ? '1' : '2',
isCameraEnable: '2',
isRemoteUnlock: state.isRemoteUnlock.value == true ? '1' : '2',
keyNameForAdmin: state.keyNameController.text,
keyRight: '0',
keyType: getKeyType,
lockId: lockID,
operatorUid: '',
receiverUsername: state.emailOrPhoneController.text,
remarks: '',
startDate: getEffectiveDateTime,
weekDays: state.weekdaysList);
if (entity.errorCode!.codeIsSuccessful) {
print('发送电子钥匙成功');
state.isSendSuccess.value = true;
} else {
if (entity.errorCode == 425) {
//
_showDialog(widgetContext, '${entity.errorMsg}');
}
}
}
//
void _showDialog(widgetContext, String errMsg) {
showCupertinoDialog(
context: widgetContext,
builder: (context) {
return CupertinoAlertDialog(
title: const Text('接收者号码未注册,请选择号码所在的国家并重新发送'),
actions: [
CupertinoDialogAction(
child: Text(TranslationLoader.lanKeys!.cancel!.tr),
onPressed: () {
Navigator.of(context).pop();
},
),
CupertinoDialogAction(
child: Text(TranslationLoader.lanKeys!.selet!.tr),
onPressed: () async {
//
state.isCreateUser.value = true;
Navigator.of(context).pop();
var result = await Get.toNamed(Routers.seletCountryRegionPage);
if (result != null) {
result as Map<String, dynamic>;
state.countryCode.value = result['code'];
state.countryName.value = result['countryName'];
}
},
),
],
);
},
);
}
}

View File

@ -0,0 +1,39 @@
import 'package:flutter/material.dart';
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockMian/entity/lockInfoEntity.dart';
class AddAuthorizedAdministratorState {
late TabController? tabController;
TextEditingController emailOrPhoneController =
TextEditingController(); ///
TextEditingController keyNameController = TextEditingController(); //
final FlutterContactPicker contactPicker = FlutterContactPicker();
late Contact contact;
var type = ''.obs;
var lockIdList = [].obs;
var weekdaysList = [].obs;
var isCreateUser = false.obs; //1 0
var selectEffectiveDate =
'${DateTime.now().year}-${DateTime.now().month}-${DateTime.now().day} ${DateTime.now().hour}:${DateTime.now().minute}'
.obs; //
var selectFailureDate =
'${DateTime.now().year}-${DateTime.now().month}-${DateTime.now().day} ${DateTime.now().hour}:${DateTime.now().minute}'
.obs; //
final effectiveDateTime = DateTime.now().obs;
final failureDateTime = DateTime.now().obs;
var countryName = '中国'.obs;
var countryCode = '86'.obs;
var isSendSuccess = false.obs;
final isRemoteUnlock = false.obs; //
final isAuthentication = false.obs; //
final keyInfo = KeyInfos().obs;
final lockMainEntity = LockMainEntity().obs;
AddAuthorizedAdministratorState() {
Map map = Get.arguments;
lockMainEntity.value = map["lockMainEntity"];
keyInfo.value = map["keyInfo"];
}
}

View File

@ -6,6 +6,7 @@ import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_colors.dart'; import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart';
import 'package:star_lock/tools/ExpandedListView.dart'; import 'package:star_lock/tools/ExpandedListView.dart';
import 'package:star_lock/tools/noData.dart';
import 'package:star_lock/tools/submitBtn.dart'; import 'package:star_lock/tools/submitBtn.dart';
import 'package:star_lock/translations/trans_lib.dart'; import 'package:star_lock/translations/trans_lib.dart';
@ -28,6 +29,7 @@ class _AuthorityManagementPageState extends State<AuthorityManagementPage>
bool isDeviceSelect = false; bool isDeviceSelect = false;
int selectDeviceIndex = 0; int selectDeviceIndex = 0;
int selectNameIndex = 0; int selectNameIndex = 0;
List dataList = [];
List tabs = [ List tabs = [
TranslationLoader.lanKeys!.name!.tr, TranslationLoader.lanKeys!.name!.tr,
@ -83,9 +85,10 @@ class _AuthorityManagementPageState extends State<AuthorityManagementPage>
)), )),
), ),
), ),
body: TabBarView( body: TabBarView(controller: _tabController, children: [
controller: _tabController, dataList.isEmpty ? const NoData() : _permissionNameList(),
children: [_permissionNameList(), _permissionDeviceList()]))); dataList.isEmpty ? const NoData() : _permissionDeviceList()
])));
} }
// //

View File

@ -4,6 +4,7 @@ import 'package:get/get.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.dart'; import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.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';
import 'package:star_lock/tools/noData.dart';
import '../../../../appRouters.dart'; import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart'; import '../../../../app_settings/app_colors.dart';
@ -131,7 +132,9 @@ class _AuthorizedAdministratorListPageState
} }
Widget _buildMainUI(List itemList) { Widget _buildMainUI(List itemList) {
return ListView.builder( return itemList.isEmpty
? const NoData()
: ListView.builder(
itemCount: itemList.length, itemCount: itemList.length,
itemBuilder: (c, index) { itemBuilder: (c, index) {
AuthorizedAdminListItem itemData = itemList[index]; AuthorizedAdminListItem itemData = itemList[index];

View File

@ -2,6 +2,7 @@ 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/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart';
import 'package:star_lock/tools/noData.dart';
import '../../../../../app_settings/app_colors.dart'; import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/titleAppBar.dart'; import '../../../../../tools/titleAppBar.dart';
@ -55,7 +56,7 @@ class _LockItemListPageState extends State<LockItemListPage> {
); );
}, },
) )
: Container(), : const NoData(),
); );
} }

View File

@ -4,6 +4,7 @@ import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.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';
import 'package:star_lock/tools/noData.dart';
import '../../../../appRouters.dart'; import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart'; import '../../../../app_settings/app_colors.dart';
@ -119,7 +120,9 @@ class _LockUserManageListPageState extends State<LockUserManageListPage> {
} }
Widget _buildMainUI() { Widget _buildMainUI() {
return ListView.separated( return dataList.isEmpty
? const NoData()
: ListView.separated(
itemCount: dataList.length, itemCount: dataList.length,
itemBuilder: (c, index) { itemBuilder: (c, index) {
LockUserData indexEntity = dataList[index]; LockUserData indexEntity = dataList[index];

View File

@ -93,15 +93,15 @@ class _MineSetPageState extends State<MineSetPage> {
Navigator.pushNamed( Navigator.pushNamed(
context, Routers.authorizedAdministratorListPage); context, Routers.authorizedAdministratorListPage);
}), }),
//by DaisyWu -- //by DaisyWu --
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.authorityManagement!.tr, leftTitel: TranslationLoader.lanKeys!.authorityManagement!.tr,
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
// Navigator.pushNamed(context, Routers.authorityManagementPage); Navigator.pushNamed(context, Routers.authorityManagementPage);
Toast.show(msg: "功能暂未开放"); // Toast.show(msg: "功能暂未开放");
}), }),
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr, leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr,

View File

@ -31,59 +31,51 @@ class _ValueAddedServicesPageListState
_valueAddedServicesItem( _valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_note.png'), Image.asset('images/mine/icon_mine_valueAddedServices_note.png'),
TranslationLoader.lanKeys!.note!.tr, () { TranslationLoader.lanKeys!.note!.tr, () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(
// Navigator.pushNamed( context, Routers.valueAddedServicesNoteAndEmailDetailPage,
// context, Routers.valueAddedServicesNoteAndEmailDetailPage, arguments: 1);
// arguments: 1);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_email.png'), Image.asset('images/mine/icon_mine_valueAddedServices_email.png'),
TranslationLoader.lanKeys!.mail!.tr, () { TranslationLoader.lanKeys!.mail!.tr, () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(
// Navigator.pushNamed( context, Routers.valueAddedServicesNoteAndEmailDetailPage,
// context, Routers.valueAddedServicesNoteAndEmailDetailPage, arguments: 2);
// arguments: 2);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Image.asset( Image.asset(
'images/mine/icon_mine_valueAddedServices_realName.png'), 'images/mine/icon_mine_valueAddedServices_realName.png'),
TranslationLoader.lanKeys!.realNameAuthentication!.tr, () { TranslationLoader.lanKeys!.realNameAuthentication!.tr, () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(
// Navigator.pushNamed( context, Routers.valueAddedServicesRealNamePage);
// context, Routers.valueAddedServicesRealNamePage);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'), Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
TranslationLoader.lanKeys!.advancedFunction!.tr, () { TranslationLoader.lanKeys!.advancedFunction!.tr, () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(
// Navigator.pushNamed( context, Routers.valueAddedServicesHighFunctionPage);
// context, Routers.valueAddedServicesHighFunctionPage);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_push.png'), Image.asset('images/mine/icon_mine_valueAddedServices_push.png'),
TranslationLoader.lanKeys!.pushMessage!.tr, () { TranslationLoader.lanKeys!.pushMessage!.tr, () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.gatewayDetailPage);
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Image.asset( Image.asset(
'images/mine/icon_mine_valueAddedServices_checkIn.png'), 'images/mine/icon_mine_valueAddedServices_checkIn.png'),
TranslationLoader.lanKeys!.checkingIn!.tr, () { TranslationLoader.lanKeys!.checkingIn!.tr, () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.gatewayDetailPage);
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Image.asset( Image.asset(
'images/mine/icon_mine_valueAddedServices_storage.png'), 'images/mine/icon_mine_valueAddedServices_storage.png'),
TranslationLoader.lanKeys!.recordsRetention!.tr, () { TranslationLoader.lanKeys!.recordsRetention!.tr, () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.gatewayDetailPage);
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'), Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
'可视对讲', () { '可视对讲', () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.gatewayDetailPage);
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Text( Text(
@ -94,8 +86,7 @@ class _ValueAddedServicesPageListState
fontWeight: FontWeight.w600), fontWeight: FontWeight.w600),
), ),
"Amazon Alexa", () { "Amazon Alexa", () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.gatewayDetailPage);
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
}), }),
_valueAddedServicesItem( _valueAddedServicesItem(
Text( Text(
@ -106,8 +97,7 @@ class _ValueAddedServicesPageListState
fontWeight: FontWeight.w600), fontWeight: FontWeight.w600),
), ),
"Google Home", () { "Google Home", () {
Toast.show(msg: "功能暂未开放"); Navigator.pushNamed(context, Routers.gatewayDetailPage);
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
}), }),
], ],
), ),

View File

@ -107,7 +107,7 @@ class _ExpandedListTileState extends State<ExpandedListTile> {
width: 10.w, width: 10.w,
)), )),
AnimatedRotation( AnimatedRotation(
turns: _isExpanded ? 0 : -0.5, turns: _isExpanded ? -0.5 : 0,
duration: _animationDuration, duration: _animationDuration,
child: const Icon(Icons.keyboard_arrow_down), child: const Icon(Icons.keyboard_arrow_down),
), ),

View File

@ -1,5 +1,6 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:star_lock/app_settings/app_colors.dart';
class NoData extends StatelessWidget { class NoData extends StatelessWidget {
const NoData({Key? key}) : super(key: key); const NoData({Key? key}) : super(key: key);
@ -10,8 +11,22 @@ class NoData extends StatelessWidget {
width: 1.sw, width: 1.sw,
height: 1.sh - ScreenUtil().statusBarHeight, height: 1.sh - ScreenUtil().statusBarHeight,
child: Center( child: Center(
child: Image.asset('images/icon_unHaveData.png',width: 300.w,height: 240.w), child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
'images/icon_noData.png',
width: 160.w,
height: 180.h,
), ),
Text(
'暂无数据',
style:
TextStyle(color: AppColors.darkGrayTextColor, fontSize: 22.sp),
)
],
)),
); );
} }
} }