Merge branch 'develop_liyi' into 'canary_release'

发布测试版本

See merge request StarlockTeam/app-starlock!6
This commit is contained in:
李仪 2025-03-20 10:25:11 +00:00
commit 5ebfbe6e55
11 changed files with 115 additions and 66 deletions

View File

@ -1150,5 +1150,6 @@
"并用智能锁APP的账号和密码进行授权": "并用智能锁APP的账号和密码进行授权",
"暂无最新记录": "暂无最新记录",
"请将手机切换至2.4G WiFi进行手动连接": "请将手机切换至2.4G WiFi进行手动连接",
"请扫描可视门铃码二维码": "请扫描可视门铃码二维码",
"网关添加成功": "网关添加成功"
}

View File

@ -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 для ручного подключения"
}

View File

@ -1150,5 +1150,6 @@
"并用智能锁APP的账号和密码进行授权": "并用智能锁APP的账号和密码进行授权",
"暂无最新记录": "暂无最新记录",
"请将手机切换至2.4G WiFi进行手动连接": "请将手机切换至2.4G WiFi进行手动连接",
"请扫描可视门铃码二维码": "请扫描可视门铃码二维码",
"网关添加成功": "网关添加成功"
}

View File

@ -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: {

View File

@ -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(

View File

@ -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);

View File

@ -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, //
),
),
],
);
}

View File

@ -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: () {

View File

@ -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 =

View File

@ -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(

View File

@ -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;