diff --git a/ios/Runner/RunnerRelease-xhj.entitlements b/ios/Runner/RunnerRelease-xhj.entitlements
index d7b50f42..66cd751d 100755
--- a/ios/Runner/RunnerRelease-xhj.entitlements
+++ b/ios/Runner/RunnerRelease-xhj.entitlements
@@ -6,7 +6,7 @@
development
com.apple.developer.associated-domains
- applinks:lock.skychip.top
+ applinks:lock.xhjcn.ltd
com.apple.external-accessory.wireless-configuration
diff --git a/ios/Runner/info_xhj.plist b/ios/Runner/info_xhj.plist
index f6cc0fca..a21ee95c 100755
--- a/ios/Runner/info_xhj.plist
+++ b/ios/Runner/info_xhj.plist
@@ -30,10 +30,10 @@
CFBundleURLIconFile
CFBundleURLName
- com.sky.skysmartlock
+ com.xhj.xhjsmartlock
CFBundleURLSchemes
- skysmartlock
+ xhjsmartlock
@@ -45,7 +45,7 @@
weixin
CFBundleURLSchemes
- wxbe340095d2b8fd51
+ wx8e48112e22343817
diff --git a/lib/flavors.dart b/lib/flavors.dart
index 145d2bf5..0d4fbe8f 100755
--- a/lib/flavors.dart
+++ b/lib/flavors.dart
@@ -39,6 +39,13 @@ class UmengKey {
typedef dynamic fCallFunction();
+class WechatAppInfo {
+ WechatAppInfo({required this.wechatAppId, required this.universalLink});
+
+ String wechatAppId;
+ String universalLink;
+}
+
class F {
static Flavor? appFlavor;
@@ -281,6 +288,37 @@ class F {
}
}
+ static WechatAppInfo get wechatAppInfo {
+ switch (appFlavor) {
+ case Flavor.local:
+ return WechatAppInfo(
+ wechatAppId: 'wxbe340095d2b8fd51',
+ universalLink: 'https://apt.skychip.top/');
+ case Flavor.dev:
+ return WechatAppInfo(
+ wechatAppId: 'wxbe340095d2b8fd51',
+ universalLink: 'https://apt.skychip.top/');
+ case Flavor.pre:
+ case Flavor.sky_pre:
+ case Flavor.xhj_pre:
+ return WechatAppInfo(
+ wechatAppId: 'wxbe340095d2b8fd51',
+ universalLink: 'https://apt.skychip.top/');
+ case Flavor.sky:
+ return WechatAppInfo(
+ wechatAppId: 'wxbe340095d2b8fd51',
+ universalLink: 'https://lock.skychip.top/');
+ case Flavor.xhj:
+ case Flavor.xhj_bundle:
+ return WechatAppInfo(
+ wechatAppId: 'wx8e48112e22343817',
+ universalLink: 'https://lock.xhjcn.ltd/');
+ default:
+ return WechatAppInfo(
+ wechatAppId: 'wxbe340095d2b8fd51', universalLink: '');
+ }
+ }
+
// 是否是生产环境
static bool get isProductionEnv {
switch (appFlavor) {
diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart
index e4dc25a9..fc79f79e 100755
--- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart
+++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart
@@ -146,13 +146,48 @@ class CatEyeSetLogic extends BaseGetXController {
_getConfigAndGenerateBleData() async {
// 假设 state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode 是一个整数
- int originalCatEyeMode = state
- .lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode!;
- int recordMode = state.lockSetInfoData.value.lockSettingInfo!
- .catEyeConfig![0].catEyeModeConfig!.recordMode ==
- 0
- ? 1
- : 0;
+
+ int originalCatEyeMode = 0;
+ int recordMode = 0;
+ int recordStartTime = 0;
+ int recordEndTime = 0;
+ int recordTime = 0;
+ int detectionDistance = 0;
+ int realTimeMode = 0;
+ if (state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig != null &&
+ state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig!.length > 0) {
+ originalCatEyeMode = state
+ .lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode!;
+ recordMode = state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0]
+ .catEyeModeConfig!.recordMode ==
+ 0
+ ? 1
+ : 0;
+ recordStartTime = _handleTimeToM(state
+ .lockSetInfoData
+ .value
+ .lockSettingInfo!
+ .catEyeConfig![0]
+ .catEyeModeConfig!
+ .recordStartTime!);
+ recordEndTime = _handleTimeToM(state.lockSetInfoData.value
+ .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordEndTime!);
+ recordTime = _handleGetIntNumber(state.lockSetInfoData.value
+ .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordTime!);
+ if (state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0]!
+ .catEyeModeConfig!.detectionDistance !=
+ null) {
+ detectionDistance = _handleDetectionDistance(state
+ .lockSetInfoData
+ .value
+ .lockSettingInfo!
+ .catEyeConfig![0]
+ .catEyeModeConfig!
+ .detectionDistance!);
+ }
+ realTimeMode = state.lockSetInfoData.value.lockSettingInfo!
+ .catEyeConfig![0].catEyeModeConfig!.realTimeMode!;
+ }
int stayWarn = state.lockSetInfoData.value.lockSettingInfo!.stayWarn!;
int abnormalWarn =
@@ -160,30 +195,6 @@ class CatEyeSetLogic extends BaseGetXController {
int autoLightScreen =
state.lockSetInfoData.value.lockSettingInfo!.autoLightScreen!;
- int recordStartTime = _handleTimeToM(state.lockSetInfoData.value
- .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordStartTime!);
- int recordEndTime = _handleTimeToM(state.lockSetInfoData.value
- .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordEndTime!);
-
- int recordTime = _handleGetIntNumber(state.lockSetInfoData.value
- .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordTime!);
-
- int detectionDistance = 0;
- if (state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0]!
- .catEyeModeConfig!.detectionDistance !=
- null) {
- detectionDistance = _handleDetectionDistance(state
- .lockSetInfoData
- .value
- .lockSettingInfo!
- .catEyeConfig![0]
- .catEyeModeConfig!
- .detectionDistance!);
- }
-
- int realTimeMode = state.lockSetInfoData.value.lockSettingInfo!
- .catEyeConfig![0].catEyeModeConfig!.realTimeMode!;
-
// 根据需要调整 catEyeMode 的值
int adjustedCatEyeMode =
originalCatEyeMode > 0 ? originalCatEyeMode - 1 : originalCatEyeMode;
diff --git a/lib/mine/mine/starLockMine_page.dart b/lib/mine/mine/starLockMine_page.dart
index fad1ad1d..aae1828c 100755
--- a/lib/mine/mine/starLockMine_page.dart
+++ b/lib/mine/mine/starLockMine_page.dart
@@ -49,7 +49,7 @@ class StarLockMinePageState extends State with BaseWidget {
onTap: () {
WechatManageTool.getAppInfo(() {
WxPushWeChatMiniProgramTool.pushWeChatMiniProgram(
- 'wxbe340095d2b8fd51');
+ F.wechatAppInfo.wechatAppId, F.wechatAppInfo.universalLink);
});
},
child: Padding(
diff --git a/lib/mine/mineSet/mineSet/mineSet_page.dart b/lib/mine/mineSet/mineSet/mineSet_page.dart
index e0835c62..0f277f3a 100755
--- a/lib/mine/mineSet/mineSet/mineSet_page.dart
+++ b/lib/mine/mineSet/mineSet/mineSet_page.dart
@@ -86,7 +86,8 @@ class _MineSetPageState extends State
onTap: () {
WechatManageTool.getAppInfo(() {
WxPushWeChatMiniProgramTool.pushWeChatMiniProgram(
- 'wxbe340095d2b8fd51');
+ F.wechatAppInfo.wechatAppId,
+ F.wechatAppInfo.universalLink);
});
},
child: ClipRRect(
diff --git a/lib/talk/starChart/handle/impl/udp_rbcuInfo_handler.dart b/lib/talk/starChart/handle/impl/udp_rbcuInfo_handler.dart
index 7e3bc531..ede0e3b8 100644
--- a/lib/talk/starChart/handle/impl/udp_rbcuInfo_handler.dart
+++ b/lib/talk/starChart/handle/impl/udp_rbcuInfo_handler.dart
@@ -59,10 +59,15 @@ class UdpRbcuInfoHandler extends ScpMessageBaseHandle
@override
void handleResp(ScpMessage scpMessage) {
+ final RbcuInfo rbcuInfo = scpMessage.Payload;
final GenericResp genericResp = scpMessage.Payload;
if (checkGenericRespSuccess(genericResp)) {
// 收到回复之后停止重发
startChartManage.stopSendingRbcuInfoMessages();
+ if (rbcuInfo.isResp) {
+ // 如果是回复的消息
+ _handleResultRbcuInfo(rbcuInfo);
+ }
}
}
@@ -70,5 +75,6 @@ class UdpRbcuInfoHandler extends ScpMessageBaseHandle
void _handleResultRbcuInfo(RbcuInfo rbcuInfo) {
startChartManage.rbcuInfo = rbcuInfo;
startChartManage.stopSendingRbcuInfoMessages();
+ startChartManage.startSendingRbcuProbeTMessages();
}
}
diff --git a/lib/talk/starChart/handle/impl/udp_talk_accept_handler.dart b/lib/talk/starChart/handle/impl/udp_talk_accept_handler.dart
index 0f145cd4..39745372 100644
--- a/lib/talk/starChart/handle/impl/udp_talk_accept_handler.dart
+++ b/lib/talk/starChart/handle/impl/udp_talk_accept_handler.dart
@@ -40,6 +40,9 @@ class UdpTalkAcceptHandler extends ScpMessageBaseHandle
// 同意接听之后,停止对讲请求超时监听定时器
talkeRequestOverTimeTimerManager.renew();
talkeRequestOverTimeTimerManager.cancel();
+ // 启动发送rbcuInfo数据
+ startChartManage.startSendingRbcuInfoMessages(
+ ToPeerId: startChartManage.lockPeerId);
}
}
diff --git a/lib/talk/starChart/handle/impl/udp_talk_data_handler.dart b/lib/talk/starChart/handle/impl/udp_talk_data_handler.dart
index 4308fc3d..c5b6b7cd 100644
--- a/lib/talk/starChart/handle/impl/udp_talk_data_handler.dart
+++ b/lib/talk/starChart/handle/impl/udp_talk_data_handler.dart
@@ -15,7 +15,9 @@ class UdpTalkDataHandler extends ScpMessageBaseHandle
factory UdpTalkDataHandler() {
return _instance;
}
+
UdpTalkDataHandler._internal();
+
static final UdpTalkDataHandler _instance = UdpTalkDataHandler._internal();
int _recentRecvDataRate = 0;
@@ -157,7 +159,7 @@ class UdpTalkDataHandler extends ScpMessageBaseHandle
final TalkDataH264Frame talkDataH264Frame = TalkDataH264Frame();
talkDataH264Frame.mergeFromBuffer(talkData.content);
// AppLog.log('H264 TalkData :$talkDataH264Frame');
- talkDataRepository.addTalkData(talkData);
+ // talkDataRepository.addTalkData(talkData);
}
/// 处理图片数据
diff --git a/lib/talk/starChart/handle/impl/udp_talk_hangup_handler.dart b/lib/talk/starChart/handle/impl/udp_talk_hangup_handler.dart
index 89d984d4..686b8bc3 100644
--- a/lib/talk/starChart/handle/impl/udp_talk_hangup_handler.dart
+++ b/lib/talk/starChart/handle/impl/udp_talk_hangup_handler.dart
@@ -34,6 +34,8 @@ class UdpTalkHangUpHandler extends ScpMessageBaseHandle
talkDataOverTimeTimerManager.cancel();
EasyLoading.showToast('已挂断'.tr);
+ startChartManage.stopSendingRbcuInfoMessages();
+ startChartManage.stopSendingRbcuProBeMessages();
Get.back();
}
}
@@ -49,6 +51,8 @@ class UdpTalkHangUpHandler extends ScpMessageBaseHandle
talkeRequestOverTimeTimerManager.cancel();
talkePingOverTimeTimerManager.cancel();
talkDataOverTimeTimerManager.cancel();
+ startChartManage.stopSendingRbcuInfoMessages();
+ startChartManage.stopSendingRbcuProBeMessages();
}
@override
diff --git a/lib/talk/starChart/handle/impl/udp_talk_reject_handler.dart b/lib/talk/starChart/handle/impl/udp_talk_reject_handler.dart
index b12cf70a..b1fbcb15 100644
--- a/lib/talk/starChart/handle/impl/udp_talk_reject_handler.dart
+++ b/lib/talk/starChart/handle/impl/udp_talk_reject_handler.dart
@@ -31,6 +31,8 @@ class UdpTalkRejectHandler extends ScpMessageBaseHandle
talkeRequestOverTimeTimerManager.cancel();
talkePingOverTimeTimerManager.cancel();
talkDataOverTimeTimerManager.cancel();
+ startChartManage.stopSendingRbcuInfoMessages();
+ startChartManage.stopSendingRbcuProBeMessages();
}
@override
@@ -43,6 +45,8 @@ class UdpTalkRejectHandler extends ScpMessageBaseHandle
talkeRequestOverTimeTimerManager.cancel();
talkePingOverTimeTimerManager.cancel();
talkDataOverTimeTimerManager.cancel();
+ startChartManage.stopSendingRbcuInfoMessages();
+ startChartManage.stopSendingRbcuProBeMessages();
}
@override
diff --git a/lib/talk/starChart/handle/other/talke_data_over_time_timer_manager.dart b/lib/talk/starChart/handle/other/talke_data_over_time_timer_manager.dart
index 4223f441..3fe67456 100644
--- a/lib/talk/starChart/handle/other/talke_data_over_time_timer_manager.dart
+++ b/lib/talk/starChart/handle/other/talke_data_over_time_timer_manager.dart
@@ -33,6 +33,8 @@ class TalkDataOverTimeTimerManager {
StartChartManage().sendTalkHangupMessage();
StartChartManage().stopTalkPingMessageTimer();
StartChartManage().stopTalkExpectMessageTimer();
+ StartChartManage().stopSendingRbcuInfoMessages();
+ StartChartManage().stopSendingRbcuProBeMessages();
talkStatus.setNotTalkData();
talkStatus.setEnd();
AudioPlayerManager().stopRingtone();
diff --git a/lib/talk/starChart/handle/other/talke_ping_over_time_timer_manager.dart b/lib/talk/starChart/handle/other/talke_ping_over_time_timer_manager.dart
index ac86f94b..4fa9b85a 100644
--- a/lib/talk/starChart/handle/other/talke_ping_over_time_timer_manager.dart
+++ b/lib/talk/starChart/handle/other/talke_ping_over_time_timer_manager.dart
@@ -37,6 +37,8 @@ class TalkePingOverTimeTimerManager {
StartChartManage().stopTalkExpectMessageTimer();
// 如果通话异常,则发送通话中挂断
StartChartManage().sendTalkHangupMessage();
+ StartChartManage().stopSendingRbcuInfoMessages();
+ StartChartManage().stopSendingRbcuProBeMessages();
talkStatus.setNotTalkPing();
talkStatus.setEnd();
Get.back();
diff --git a/lib/talk/starChart/handle/other/talke_request_over_time_timer_manager.dart b/lib/talk/starChart/handle/other/talke_request_over_time_timer_manager.dart
index 035b098a..2ec529f6 100644
--- a/lib/talk/starChart/handle/other/talke_request_over_time_timer_manager.dart
+++ b/lib/talk/starChart/handle/other/talke_request_over_time_timer_manager.dart
@@ -32,6 +32,8 @@ class TalkeRequestOverTimeTimerManager {
EasyLoading.showToast('通话未接通,已挂断'.tr, duration: 2000.milliseconds);
// 超时未接听,发送挂断请求
StartChartManage().sendTalkRejectMessage();
+ StartChartManage().stopSendingRbcuInfoMessages();
+ StartChartManage().stopSendingRbcuProBeMessages();
talkStatus.setInitializationCompleted();
Get.back();
}
diff --git a/lib/talk/starChart/star_chart_manage.dart b/lib/talk/starChart/star_chart_manage.dart
index 10a94cb8..75e11da7 100644
--- a/lib/talk/starChart/star_chart_manage.dart
+++ b/lib/talk/starChart/star_chart_manage.dart
@@ -314,9 +314,10 @@ class StartChartManage {
);
}
- final info = rbcuInfo = RbcuInfo(address: ['119.137.55.161:62289']);
- if (info != null && info.address != null && info.address.length > 0) {
- info.address.forEach((element) {
+ if (rbcuInfo != null &&
+ rbcuInfo!.address != null &&
+ rbcuInfo!.address.length > 0) {
+ rbcuInfo!.address.forEach((element) {
// 拆分 element 字符串
final parts = element.split(':');
final host = parts[0]; // IP 地址
@@ -345,6 +346,7 @@ class StartChartManage {
rbcuInfoTimer ??=
Timer.periodic(Duration(seconds: _defaultIntervalTime), (timer) {
// 发送RbcuInfo 地址交换消息
+ _log(text: '发送RbcuInfo 地址交换消息');
_sendRbcuInfoMessage(ToPeerId: ToPeerId);
});
}
@@ -585,6 +587,8 @@ class StartChartManage {
stopTalkExpectMessageTimer();
stopTalkPingMessageTimer();
stopCallRequestMessageTimer();
+ stopSendingRbcuInfoMessages();
+ stopSendingRbcuProBeMessages();
// 取消定时器
talkePingOverTimeTimerManager.cancel();
@@ -665,6 +669,8 @@ class StartChartManage {
stopTalkExpectMessageTimer();
stopTalkPingMessageTimer();
stopCallRequestMessageTimer();
+ stopSendingRbcuInfoMessages();
+ stopSendingRbcuProBeMessages();
// 取消定时器
talkePingOverTimeTimerManager.cancel();
talkDataOverTimeTimerManager.cancel();
@@ -1101,7 +1107,7 @@ class StartChartManage {
bluetoothDeviceName: bluetoothDeviceName,
bleStructData: bleStructData,
);
- await _sendMessage(message: message);
+ await _sendMessage(message: message);
}
/// 销毁资源
diff --git a/lib/talk/starChart/views/talkView/talk_view_page.dart b/lib/talk/starChart/views/talkView/talk_view_page.dart
index f4c3bd23..2059d0ac 100644
--- a/lib/talk/starChart/views/talkView/talk_view_page.dart
+++ b/lib/talk/starChart/views/talkView/talk_view_page.dart
@@ -58,6 +58,7 @@ class _TalkViewPageState extends State
// _latencyStream = measureServerLatencyStream(F.apiPrefix); // 替换为你的服务器地址
}
+
//
// Stream measureServerLatencyStream(String url) async* {
// while (true) {
@@ -155,7 +156,7 @@ class _TalkViewPageState extends State
),
Obx(() => state.listData.value.isEmpty
? Positioned(
- bottom: 300.h,
+ bottom: 310.h,
child: Text(
'正在创建安全连接...'.tr,
style: TextStyle(color: Colors.black, fontSize: 26.sp),
@@ -509,13 +510,17 @@ class _TalkViewPageState extends State
onLongPress: longPress,
onLongPressUp: longPressUp,
child: SizedBox(
- height: 140.h,
+ height: 160.w,
+ width: 140.w,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
width: wh,
height: wh,
+ constraints: BoxConstraints(
+ minWidth: wh,
+ ),
decoration: BoxDecoration(
color: backgroundColor,
borderRadius: BorderRadius.circular((wh + 10.w * 2) / 2),
@@ -524,10 +529,11 @@ class _TalkViewPageState extends State
child: Image.asset(iconUrl, fit: BoxFit.fitWidth),
),
SizedBox(height: 20.w),
- Expanded(
- child: Text(name,
- style: TextStyle(fontSize: 20.sp, color: Colors.white),
- textAlign: TextAlign.center),
+ Text(
+ name,
+ style: TextStyle(fontSize: 20.sp, color: Colors.white),
+ textAlign: TextAlign.center, // 当文本超出指定行数时,使用省略号表示
+ maxLines: 2, // 设置最大行数为1
)
],
),
diff --git a/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart b/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart
index e877bae0..43a16561 100644
--- a/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart
+++ b/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart
@@ -23,10 +23,9 @@ class WxPushWeChatMiniProgramTool {
doOnIOS: true);
}
- static Future pushWeChatMiniProgram(String appId) async {
+ static Future pushWeChatMiniProgram(String appId,String _associationUrl) async {
if (!isInit) {
isInit = true;
- final String _associationUrl = await Storage.getAssociationUrl();
await initWeChatMiniProgram(appId, _associationUrl);
final MiniProgram miniProgram = MiniProgram(
diff --git a/pubspec.yaml b/pubspec.yaml
index 6b4ab3c9..048f8ae5 100755
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -109,12 +109,12 @@ version: 1.0.85+2025010802
environment:
sdk: '>=2.12.0 <3.0.0'
-fluwx:
- app_id: 'wxbe340095d2b8fd51'
- debug_logging: true
- android:
- ios:
- universal_link: https://lock.skychip.top/apple-app-site-association.json
+#fluwx:
+# app_id: 'wxbe340095d2b8fd51'
+# debug_logging: true
+# android:
+# ios:
+# universal_link: https://lock.skychip.top/apple-app-site-association.json
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions