From 63b5e3f79e34a9761a37cea70fbba9a1b9fbafa9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”>
Date: Mon, 10 Feb 2025 14:05:09 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20sky=E5=92=8C=E9=91=AB=E6=B3=93=E4=BD=B3?=
=?UTF-8?q?=E7=8E=AF=E5=A2=83=E4=B8=8B=E6=8E=A8=E9=80=81=E6=B8=A0=E9=81=93?=
=?UTF-8?q?=E7=9A=84=E5=8C=BA=E5=88=86=E4=BB=A5=E5=8F=8A=E5=90=84=E4=B8=AA?=
=?UTF-8?q?=E5=8E=82=E5=95=86=E9=80=9A=E9=81=93ID=E7=9A=84=E8=A7=84?=
=?UTF-8?q?=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
android/app/build.gradle | 48 ++++++++++++-----
android/app/src/main/AndroidManifest.xml | 30 +++++------
lib/main.dart | 4 +-
.../lockMian/lockMain/lockMain_logic.dart | 53 +++++++++++++++++++
lib/tools/push/xs_jPhush.dart | 9 ++++
5 files changed, 115 insertions(+), 29 deletions(-)
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 549a0230..ce046057 100755
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -117,7 +117,19 @@ android {
applicationId "com.skychip.lock"
signingConfig signingConfigs.sky
resValue "string", "app_name", "TTLock Pro"
- manifestPlaceholders.JPUSH_PKGNAME = "com.skychip.lock"
+ manifestPlaceholders = [
+ JPUSH_PKGNAME : "com.skychip.lock",
+ JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",//--skyAppKey
+ JPUSH_CHANNEL : "flutter_channel",
+ XIAOMI_APPID : "MI-2882303761520287291",
+ XIAOMI_APPKEY : "MI-5352028744291",
+ OPPO_APPKEY : "OP-ccae67a4a8c1470a8350b0d6a89f8105",
+ OPPO_APPID : "OP-31586713",
+ OPPO_APPSECRET: "OP-2339389233094ca297de7b10213f7bd8",
+ VIVO_APPKEY : "6a18657357d176364a91f50e4c9cd7c4",
+ VIVO_APPID : "105724810",
+ HONOR_APPID : "104437184",
+ ]
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-sky.pro'
}
sky_pre {
@@ -139,7 +151,19 @@ android {
applicationId "com.xhjcn.lock"
signingConfig signingConfigs.xhj
resValue "string", "app_name", "Star Lock"
- manifestPlaceholders.JPUSH_PKGNAME = "com.xhjcn.lock"
+ manifestPlaceholders = [
+ JPUSH_PKGNAME : "com.xhjcn.lock",
+ JPUSH_APPKEY : "251fc8074820d122b6de58d2",//--鑫泓佳AppKey
+ JPUSH_CHANNEL : "flutter_channel",
+ XIAOMI_APPID : "MI-2882303761520314939",
+ XIAOMI_APPKEY : "MI-5312031456939",
+ OPPO_APPKEY : "OP-47f668c9943248118502aa58d066393b",
+ OPPO_APPID : "OP-31726001",
+ OPPO_APPSECRET: "OP-05723986bba64183a71530b496922450",
+ VIVO_APPKEY : "75fe8e570425b714e08d0390b14797cb",
+ VIVO_APPID : "105752244",
+ HONOR_APPID : "104458196",
+ ]
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-xhj.pro'
}
@@ -224,22 +248,22 @@ android {
JPUSH_PKGNAME : "这里不重要,在口味配置",
//JPush 上注册的包名对应的 Appkey.
// JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",//--skyAppKey
- JPUSH_APPKEY : "251fc8074820d122b6de58d2",//--鑫泓佳AppKey
- JPUSH_CHANNEL : "flutter_channel",
+// JPUSH_APPKEY : "251fc8074820d122b6de58d2",//--鑫泓佳AppKey
+// JPUSH_CHANNEL : "flutter_channel",
//若不集成厂商通道,可直接跳过以下配置
//以下为sky的配置
// XIAOMI_APPID : "MI-2882303761520287291",
// XIAOMI_APPKEY : "MI-5352028744291",
//以下均为鑫泓佳的配置
- XIAOMI_APPID : "MI-2882303761520314939",
- XIAOMI_APPKEY : "MI-5312031456939",
- OPPO_APPKEY : "OP-47f668c9943248118502aa58d066393b",
- OPPO_APPID : "OP-31726001",
- OPPO_APPSECRET: "OP-05723986bba64183a71530b496922450",
- VIVO_APPKEY : "75fe8e570425b714e08d0390b14797cb",
- VIVO_APPID : "105752244",
- HONOR_APPID : "104458196",
+// XIAOMI_APPID : "MI-2882303761520314939",
+// XIAOMI_APPKEY : "MI-5312031456939",
+// OPPO_APPKEY : "OP-47f668c9943248118502aa58d066393b",
+// OPPO_APPID : "OP-31726001",
+// OPPO_APPSECRET: "OP-05723986bba64183a71530b496922450",
+// VIVO_APPKEY : "75fe8e570425b714e08d0390b14797cb",
+// VIVO_APPID : "105752244",
+// HONOR_APPID : "104458196",
]
splits {
abi {
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 5bc305cb..03314074 100755
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -79,23 +79,23 @@
-
-
-
+
+
+
+
+
+
+
+
+
-
+
+
+
-
+
+
+
main() async {
}
});
- NotificationService().init(); // 初始化通知服务
-
//ToDo: 增加对讲调试、正式可删除
runApp(MultiProvider(providers: [
ChangeNotifierProvider(create: (_) => DebugInfoModel()),
@@ -98,4 +96,6 @@ Future privacySDKInitialization() async {
// 初始化JPush服务
final XSJPushProvider jpushProvider = XSJPushProvider();
await jpushProvider.initJPushService();
+ await jpushProvider.initLocalNotification(isCancelLocalPush: false);
+ NotificationService().init(); // 初始化通知服务
}
diff --git a/lib/main/lockMian/lockMain/lockMain_logic.dart b/lib/main/lockMian/lockMain/lockMain_logic.dart
index 75a0701f..b283a6f0 100755
--- a/lib/main/lockMian/lockMain/lockMain_logic.dart
+++ b/lib/main/lockMian/lockMain/lockMain_logic.dart
@@ -11,10 +11,12 @@ import 'package:star_lock/flavors.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_logic.dart';
import 'package:star_lock/main/lockMian/lockList/lockList_logic.dart';
+import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart';
import 'package:star_lock/talk/starChart/star_chart_manage.dart';
import 'package:star_lock/tools/eventBusEventManage.dart';
import 'package:star_lock/tools/push/xs_jPhush.dart';
import 'package:star_lock/tools/showTipView.dart';
+import 'package:star_lock/tools/store_service.dart';
import '../../../app_settings/app_settings.dart';
import '../../../blue/blue_manage.dart';
@@ -46,6 +48,56 @@ class LockMainLogic extends BaseGetXController {
return entity;
}
+ //用户信息
+ Future getUserInfoRequest() async {
+ final MinePersonInfoEntity entity = await ApiRepository.to.getUserInfo();
+ if (entity.errorCode!.codeIsSuccessful) {
+ final String languageCodeAndCountryCode = entity.data!.lang!;
+ if (languageCodeAndCountryCode.isEmpty) {
+ await StoreService.to.saveLanguageCode('');
+ await Get.updateLocale(Get.deviceLocale!);
+ } else if (languageCodeAndCountryCode.contains('-')) {
+ final List parts = languageCodeAndCountryCode.split('-');
+ final Locale locale = Locale(parts[0], parts[1]);
+ await Get.updateLocale(locale);
+ await StoreService.to.saveLanguageCode(locale.toString());
+ } else if (languageCodeAndCountryCode.contains('_')) {
+ final List parts = languageCodeAndCountryCode.split('_');
+ final Locale locale = Locale(parts[0], parts[1]);
+ await Get.updateLocale(locale);
+ AppLog.log('用户信息请求成功 更新locale: $locale');
+ await StoreService.to.saveLanguageCode(locale.toString());
+ }
+
+ Storage.setBool(saveIsVip, entity.data!.isVip == 1);
+ if (entity.data!.deviceId != null) {
+ if (entity.data!.deviceId!.isEmpty) {
+ bindPushDevice();
+ }
+ }
+ if (entity.data!.starchart != null) {
+ if (entity.data!.starchart!.starchartId == null) {
+ bindStarChart();
+ }
+ } else {
+ StartChartManage().init();
+ }
+ }
+ }
+
+ Future bindPushDevice() async {
+ // 初始化JPush服务并绑定设备ID
+ final XSJPushProvider jpushProvider = XSJPushProvider();
+ await jpushProvider.initJPushService();
+ await jpushProvider.initLocalNotification(isCancelLocalPush: false);
+ }
+
+//绑定星图
+ Future bindStarChart() async {
+ //初始化星图服务并绑定配置
+ await StartChartManage().init();
+ }
+
Future updateZoneOffsetsAndLanguages() async {
final LoginEntity entity =
await ApiRepository.to.updateZoneOffsetsAndLanguages(
@@ -322,6 +374,7 @@ class LockMainLogic extends BaseGetXController {
super.onInit();
checkWhetherPushIsEnabled();
_initSubscription();
+ getUserInfoRequest();
// connectListener();
// AppLog.log('onInit() updateZoneOffsetsAndLanguages');
diff --git a/lib/tools/push/xs_jPhush.dart b/lib/tools/push/xs_jPhush.dart
index 254773bb..4e25400d 100755
--- a/lib/tools/push/xs_jPhush.dart
+++ b/lib/tools/push/xs_jPhush.dart
@@ -88,6 +88,15 @@ class XSJPushProvider {
Future pushBindDeviceID(String deviceID, int deviceType) async {
try {
+ if (deviceID.isEmpty) {
+ AppLog.log('Device ID is empty.');
+ //绑定设备id
+ final String rid = await jpush.getRegistrationID();
+ AppLog.log('onConnected registration id : $rid');
+ await Storage.setString(pushDeviceID, rid);
+ deviceID = rid;
+ deviceType = Platform.isAndroid ? 10 : 20;
+ }
final MineUnbindPhoneOrEmailEntity entity =
await ApiRepository.to.pushBindAppId(deviceID, deviceType);
if (entity.errorCode!.codeIsSuccessful) {