Merge branch 'develop_liyi' into 'canary_release'
发布测试版本 See merge request StarlockTeam/app-starlock!6
This commit is contained in:
commit
5ebfbe6e55
@ -1150,5 +1150,6 @@
|
||||
",并用智能锁APP的账号和密码进行授权": ",并用智能锁APP的账号和密码进行授权",
|
||||
"暂无最新记录": "暂无最新记录",
|
||||
"请将手机切换至2.4G WiFi进行手动连接": "请将手机切换至2.4G WiFi进行手动连接",
|
||||
"请扫描可视门铃码二维码": "请扫描可视门铃码二维码",
|
||||
"网关添加成功": "网关添加成功"
|
||||
}
|
||||
|
||||
@ -504,7 +504,7 @@
|
||||
"您的钥匙已过期": "Срок действия вашего ключа истек",
|
||||
"常开模式开启": "Замок находится в режиме прохода",
|
||||
"超级管理员": "Супер админ",
|
||||
"授权管理员": "Авторизованный администратор",
|
||||
"授权管理员": "Автор. администратор",
|
||||
"普通用户": "Обычный пользователь",
|
||||
"余": "Баланс",
|
||||
"天": "День",
|
||||
@ -1147,5 +1147,6 @@
|
||||
"2.在APP里开启锁的远程开锁功能(这个功能默认是关闭的)。如果没有这个选项,则锁不支持Google Home": "2. Включите функцию удаленного разблокирования замка в приложении (эта функция выключается по умолчанию). Если эта опция не доступна, блокировка не будет поддерживать Google Home",
|
||||
"3.安装Google Home APP,点击左上角的加号按钮": "3. Установите приложение Google Home и нажмите кнопку plus в левом верхнем углу",
|
||||
"暂无最新记录": "В настоящее время последние данные отсутствуют",
|
||||
"请扫描可视门铃码二维码": "Сканируйте код вызова",
|
||||
"请将手机切换至2.4G WiFi进行手动连接": "Пожалуйста, переключите телефон на 2.4G WiFi для ручного подключения"
|
||||
}
|
||||
@ -1150,5 +1150,6 @@
|
||||
",并用智能锁APP的账号和密码进行授权": ",并用智能锁APP的账号和密码进行授权",
|
||||
"暂无最新记录": "暂无最新记录",
|
||||
"请将手机切换至2.4G WiFi进行手动连接": "请将手机切换至2.4G WiFi进行手动连接",
|
||||
"请扫描可视门铃码二维码": "请扫描可视门铃码二维码",
|
||||
"网关添加成功": "网关添加成功"
|
||||
}
|
||||
|
||||
@ -48,9 +48,18 @@ class _CatEyeCustomModePageState extends State<CatEyeCustomModePage> {
|
||||
isHaveLine: false,
|
||||
isHaveDirection: true,
|
||||
isHaveRightWidget: true,
|
||||
rightWidget: Text(state.selectVideoSlot.value,
|
||||
rightWidget: Container(
|
||||
constraints: BoxConstraints(maxWidth: 150.w), // 限制最大宽度
|
||||
child: Text(
|
||||
state.selectVideoSlot.value,
|
||||
style: TextStyle(
|
||||
fontSize: 22.sp, color: AppColors.darkGrayTextColor)),
|
||||
fontSize: 22.sp, color: AppColors.darkGrayTextColor),
|
||||
textAlign: TextAlign.right, // 右对齐
|
||||
softWrap: true, // 允许换行
|
||||
maxLines: 2,
|
||||
overflow: TextOverflow.ellipsis, // 文本溢出时显示
|
||||
),
|
||||
),
|
||||
action: () {
|
||||
Navigator.pushNamed(context, Routers.videoSlotPage,
|
||||
arguments: {
|
||||
|
||||
@ -37,48 +37,50 @@ class _CatEyeWorkModePageState extends State<CatEyeWorkModePage> {
|
||||
Navigator.pop(context, true);
|
||||
},
|
||||
backgroundColor: AppColors.mainColor),
|
||||
body: Obx(
|
||||
() => Column(
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
_buildTipsView(
|
||||
'省电模式'.tr + ':\n',
|
||||
'适合门口较为安全的环境。'.tr +
|
||||
'\n' +
|
||||
'仅发生特定事件才录像,并可查看实时画面。'.tr +
|
||||
'\n' +
|
||||
'一般情况下,满电可使用7-8个月'.tr,
|
||||
0),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
_buildTipsView(
|
||||
'逗留抓拍模式'.tr + ':\n',
|
||||
'有人逗留或发生特定事件才录像,可随时查看'.tr +
|
||||
'\n' +
|
||||
'实时画面。'.tr +
|
||||
'\n' +
|
||||
'一般情况下,满电可使用5~6个月。'.tr,
|
||||
1),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
_buildTipsView(
|
||||
'实时监控模式'.tr + ':\n',
|
||||
'适合门口人员复杂、较不安全的环境。'.tr +
|
||||
'\n' +
|
||||
'有人出现就录像,可随时查看实时画面。'.tr +
|
||||
'\n' +
|
||||
'一般情况下,满电可使用2~4个月。'.tr,
|
||||
2),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
_buildTipsView('自定义模式'.tr + ':\n',
|
||||
'根据您家门口实际情况设置录像和实时画面功能。'.tr + '\n' + '可使用时长由具体设置决定。'.tr, 3)
|
||||
],
|
||||
body: SingleChildScrollView(
|
||||
child: Obx(
|
||||
() => Column(
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
_buildTipsView(
|
||||
'省电模式'.tr + ':\n',
|
||||
'适合门口较为安全的环境。'.tr +
|
||||
'\n' +
|
||||
'仅发生特定事件才录像,并可查看实时画面。'.tr +
|
||||
'\n' +
|
||||
'一般情况下,满电可使用7-8个月'.tr,
|
||||
0),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
_buildTipsView(
|
||||
'逗留抓拍模式'.tr + ':\n',
|
||||
'有人逗留或发生特定事件才录像,可随时查看'.tr +
|
||||
'\n' +
|
||||
'实时画面。'.tr +
|
||||
'\n' +
|
||||
'一般情况下,满电可使用5~6个月。'.tr,
|
||||
1),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
_buildTipsView(
|
||||
'实时监控模式'.tr + ':\n',
|
||||
'适合门口人员复杂、较不安全的环境。'.tr +
|
||||
'\n' +
|
||||
'有人出现就录像,可随时查看实时画面。'.tr +
|
||||
'\n' +
|
||||
'一般情况下,满电可使用2~4个月。'.tr,
|
||||
2),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
_buildTipsView('自定义模式'.tr + ':\n',
|
||||
'根据您家门口实际情况设置录像和实时画面功能。'.tr + '\n' + '可使用时长由具体设置决定。'.tr, 3)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
@ -121,13 +123,14 @@ class _CatEyeWorkModePageState extends State<CatEyeWorkModePage> {
|
||||
),
|
||||
GestureDetector(
|
||||
child: Container(
|
||||
width: 90.w,
|
||||
height: 40.h,
|
||||
padding: EdgeInsets.all(8.w),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.transparent,
|
||||
borderRadius: BorderRadius.circular(15.0),
|
||||
border: Border.all(
|
||||
color: AppColors.placeholderTextColor, width: 1.w),
|
||||
color: AppColors.placeholderTextColor,
|
||||
width: 1.w,
|
||||
),
|
||||
),
|
||||
child: Center(
|
||||
child: Text(
|
||||
|
||||
@ -28,7 +28,7 @@ class _LiveVideoPageState extends State<LiveVideoPage> {
|
||||
return Scaffold(
|
||||
backgroundColor: AppColors.mainBackgroundColor,
|
||||
appBar: TitleAppBar(
|
||||
barTitle: '实时画面',
|
||||
barTitle: '实时画面'.tr,
|
||||
haveBack: true,
|
||||
backAction: () {
|
||||
Navigator.pop(context, true);
|
||||
|
||||
@ -155,10 +155,16 @@ class _MsgNotificationPageState extends State<MsgNotificationPage> {
|
||||
SizedBox(
|
||||
height: 60.h,
|
||||
),
|
||||
Text(
|
||||
'此模块功能需要锁联网后设置方可生效'.tr,
|
||||
style: TextStyle(fontSize: 20.sp),
|
||||
)
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 30.w),
|
||||
child: Text(
|
||||
'此模块功能需要锁联网后设置方可生效'.tr,
|
||||
style: TextStyle(fontSize: 20.sp),
|
||||
textAlign: TextAlign.center, // 文本居中对齐
|
||||
softWrap: true, // 允许文本换行
|
||||
overflow: TextOverflow.visible, // 文本溢出时显示
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
@ -109,8 +109,10 @@ class _AuthorizedAdministratorListPageState
|
||||
64.h),
|
||||
Align(
|
||||
alignment: const Alignment(0.0, 0.2),
|
||||
child: SizedBox(
|
||||
width: 360.w,
|
||||
child: Container(
|
||||
constraints: BoxConstraints(
|
||||
maxWidth: 0.9.sw,
|
||||
),
|
||||
child: SubmitBtn(
|
||||
btnName: '添加授权管理员'.tr,
|
||||
onClick: () {
|
||||
|
||||
@ -17,9 +17,13 @@ import 'package:star_lock/talk/starChart/proto/talk_expect.pb.dart';
|
||||
import 'package:star_lock/talk/starChart/proto/talk_request.pb.dart';
|
||||
import 'package:star_lock/tools/push/xs_jPhush.dart';
|
||||
import 'package:star_lock/tools/storage.dart';
|
||||
import 'package:star_lock/translations/current_locale_tool.dart';
|
||||
|
||||
class UdpTalkRequestHandler extends ScpMessageBaseHandle
|
||||
implements ScpMessageHandler {
|
||||
RxString currentLanguage =
|
||||
CurrentLocaleTool.getCurrentLocaleString().obs; // 当前选择语言
|
||||
|
||||
@override
|
||||
void handleReq(ScpMessage scpMessage) async {
|
||||
// 回复成功
|
||||
@ -107,7 +111,9 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle
|
||||
}
|
||||
};
|
||||
|
||||
XSJPushProvider().showCustomNotification(message);
|
||||
if (currentLanguage.value == 'zh_CN') {
|
||||
XSJPushProvider().showCustomNotification(message);
|
||||
}
|
||||
}
|
||||
/*
|
||||
const AndroidNotificationDetails androidPlatformChannelSpecifics =
|
||||
|
||||
@ -20,6 +20,7 @@ class CommonItem extends StatelessWidget {
|
||||
this.rightWidget,
|
||||
this.isTipsImg,
|
||||
this.action,
|
||||
this.leftTitleMaxWidth, // 新增属性
|
||||
this.tipsImgAction})
|
||||
: super(key: key);
|
||||
String? leftTitel;
|
||||
@ -34,6 +35,7 @@ class CommonItem extends StatelessWidget {
|
||||
bool? setHeight;
|
||||
bool? isTipsImg;
|
||||
bool? isPadding;
|
||||
final double? leftTitleMaxWidth; // 新增属性声明
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@ -57,7 +59,17 @@ class CommonItem extends StatelessWidget {
|
||||
),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Text(leftTitel!, style: TextStyle(fontSize: 22.sp)),
|
||||
ConstrainedBox(
|
||||
constraints: BoxConstraints(
|
||||
maxWidth: leftTitleMaxWidth ?? 0.6.sw, // 默认最大宽度为屏幕宽度的40%
|
||||
),
|
||||
child: Text(
|
||||
leftTitel!,
|
||||
style: TextStyle(fontSize: 22.sp),
|
||||
overflow: TextOverflow.ellipsis, // 超出部分显示省略号
|
||||
maxLines: 3, // 最多显示2行
|
||||
),
|
||||
),
|
||||
SizedBox(width: 6.w),
|
||||
if (isTipsImg == true)
|
||||
GestureDetector(
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
|
||||
@ -9,9 +8,9 @@ import '../app_settings/app_colors.dart';
|
||||
* */
|
||||
|
||||
class SubmitBtn extends StatelessWidget {
|
||||
|
||||
SubmitBtn({
|
||||
required this.btnName, Key? key,
|
||||
required this.btnName,
|
||||
Key? key,
|
||||
this.borderRadius,
|
||||
this.color,
|
||||
this.padding,
|
||||
@ -49,7 +48,9 @@ class SubmitBtn extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
width: ScreenUtil().screenWidth - 40.w,
|
||||
height: 60.h,
|
||||
constraints: BoxConstraints(
|
||||
minHeight: 60.h, // 设置最小高度
|
||||
),
|
||||
child: ElevatedButton(
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: isDisabled == false
|
||||
@ -63,7 +64,14 @@ class SubmitBtn extends StatelessWidget {
|
||||
},
|
||||
child: Text(
|
||||
btnName!,
|
||||
style: TextStyle(color: Colors.white, fontSize: 24.sp),
|
||||
textAlign: TextAlign.center, // 文本居中对齐
|
||||
softWrap: true, // 允许换行
|
||||
overflow: TextOverflow.visible, // 文本溢出时显示
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 24.sp,
|
||||
height: 1.2, // 行高
|
||||
),
|
||||
)),
|
||||
);
|
||||
/*
|
||||
@ -111,9 +119,9 @@ class SubmitBtn extends StatelessWidget {
|
||||
* */
|
||||
|
||||
class AddBottomWhiteBtn extends StatelessWidget {
|
||||
|
||||
AddBottomWhiteBtn({
|
||||
required this.btnName, Key? key,
|
||||
required this.btnName,
|
||||
Key? key,
|
||||
this.onClick,
|
||||
}) : super(key: key);
|
||||
String? btnName;
|
||||
@ -164,9 +172,9 @@ class AddBottomWhiteBtn extends StatelessWidget {
|
||||
* */
|
||||
|
||||
class OutLineBtn extends StatelessWidget {
|
||||
|
||||
OutLineBtn({
|
||||
required this.btnName, Key? key,
|
||||
required this.btnName,
|
||||
Key? key,
|
||||
this.onClick,
|
||||
}) : super(key: key);
|
||||
String? btnName;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user