From b171f6d0354b418ed5f56fdf5e0d9d9b32fb4254 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 14 六月 2023 13:56:59 +0800
Subject: [PATCH] 2023年06月14日13:56:50
---
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java | 408 +++++++++++++++++++++++++++++++
app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java | 5
app/libs/uniMPSDK-V2-release.aar | 0
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java | 217 ++++++++++++++++
app/src/main/res/values/strings.xml | 3
app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java | 25 +
app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 59 ++++
app/build.gradle | 15 +
app/libs/uniapp-v8-release.aar | 0
app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java | 2
10 files changed, 733 insertions(+), 1 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 34b647a..c20652c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -33,6 +33,8 @@
dependencies {
+ implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
+
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
@@ -47,4 +49,17 @@
implementation 'com.hdl.hdlhttp:hxhttp:1.0.4'
+ //********UniSDK蹇呴』娣诲姞鐨勪緷璧� start********
+ implementation "androidx.recyclerview:recyclerview:1.0.0"
+ implementation 'com.alibaba:fastjson:1.2.66'
+ implementation 'com.facebook.fresco:fresco:2.5.0'
+ implementation 'com.facebook.fresco:animated-gif:2.5.0'
+ implementation 'com.facebook.fresco:webpsupport:2.5.0'
+ implementation 'com.facebook.fresco:animated-webp:2.5.0'
+ implementation 'com.github.bumptech.glide:glide:4.9.0'
+ implementation 'com.android.support:multidex:1.0.3'
+ implementation 'androidx.webkit:webkit:1.3.0'
+ //********UniSDK蹇呴』娣诲姞鐨勪緷璧� end********
+
+
}
\ No newline at end of file
diff --git a/app/libs/uniMPSDK-V2-release.aar b/app/libs/uniMPSDK-V2-release.aar
new file mode 100644
index 0000000..1fcc3cb
--- /dev/null
+++ b/app/libs/uniMPSDK-V2-release.aar
Binary files differ
diff --git a/app/libs/uniapp-v8-release.aar b/app/libs/uniapp-v8-release.aar
new file mode 100644
index 0000000..b4011a8
--- /dev/null
+++ b/app/libs/uniapp-v8-release.aar
Binary files differ
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 9a77268..774c06a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -3,10 +3,21 @@
import android.app.Application;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
+import com.hdl.photovoltaic.utils.SharedPreUtils;
+
import java.util.HashMap;
import java.util.Objects;
+import io.dcloud.common.util.RuningAcitvityUtil;
+import io.dcloud.feature.sdk.DCSDKInitConfig;
+import io.dcloud.feature.sdk.DCUniMPSDK;
+import io.dcloud.feature.sdk.Interface.IDCUniMPPreInitCallback;
+
public class HDLApp extends Application {
+ //涓夋柟sdk鍒濆鍖栨爣璇�
+ private Boolean isInitThirdSDK = false;
//澹版槑涓�涓綋鍓嶅簲鐢ㄧ殑瀹炰緥
private static HDLApp mHDLApp;
//澹版槑涓�涓叕鍏辩殑淇℃伅鏄犲皠,鍙綋浣滃叏灞�鍙橀噺浣跨敤;
@@ -45,4 +56,52 @@
return "";
}
+ /**
+ * 鍒濆鍖栦笁鏂圭浉鍏砈DK
+ */
+ public void initThirdSDK() {
+ // 灏忕▼搴忚繘绋�
+ if (RuningAcitvityUtil.getAppName(getBaseContext()).contains("unimp")) {
+ return;
+ }
+ if (isInitThirdSDK) {
+ return;
+ }
+ isInitThirdSDK = true;
+
+// //5.鍒濆鍖朆ugly
+// CrashReport.initCrashReport(this, Constant.BUGLY_APP_ID, true);
+ //6.鍒濆鍖朌CUniMPSDK
+ initDCUniMPSDK();
+// //7.鍒濆鍖栬嚜瀹氫箟IconToast
+// ToastUtils.getInstance().initIconToast(this);
+// //8.瀵筬astjson杩涜璁剧疆锛岃В鍐砯astjosn杞崲鎴愬瓧绗︿覆鏃堕瀛楁瘝澶у皬鍐欓棶棰�
+// TypeUtils.compatibleWithFieldName = true;
+// //9.鍒濆鍖栫綉缁滃伐鍏�
+// NetWorkUtil.init(this);
+// //10.鍒濆鍖栨瀬鍏夋帹閫�
+// initJPush();
+ }
+
+ /**
+ * 鍒濆鍖朥niMPSDK 灏忕▼搴廠DK
+ */
+ private void initDCUniMPSDK() {
+ DCSDKInitConfig config = new DCSDKInitConfig.Builder()
+ .setCapsule(false)//璁剧疆鏄惁浣跨敤鑳跺泭鎸夐挳
+ .setEnableBackground(false)//寮�鍚悗鍙拌繍琛�
+ .build();
+ DCUniMPSDK.getInstance().initialize(this, config, new IDCUniMPPreInitCallback() {
+ @Override
+ public void onInitFinished(boolean b) {
+
+ HdlLogLogic.print("unimp", "UniMPSDK 鍒濆鍖栧畬鎴�----" + b);
+ }
+ });
+
+ //鍒濆鍖朥niMPSDKManager
+ HDLUniMPSDKManager.getInstance().init(HDLApp.getInstance());
+
+ }
+
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java b/app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java
new file mode 100644
index 0000000..a24c543
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java
@@ -0,0 +1,5 @@
+package com.hdl.photovoltaic.internet;
+
+public class MqttClient {
+
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
index 73fe38b..5217157 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
@@ -61,6 +61,31 @@
/**
+ * 鍏ㄥ眬寮瑰嚭妗�,绯荤粺榛樿Toast
+ */
+ public static void toast(final Context context, final String text) {
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+
+ /**
+ * 鍏ㄥ眬寮瑰嚭妗�,绯荤粺榛樿Toast
+ */
+ public static void toast(final Context context, final int resId) {
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(context, resId, Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+
+
+ /**
* @param e 寮傚父淇℃伅绫�
* @param context 涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
* @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佸~null)
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
new file mode 100644
index 0000000..9090d4e
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -0,0 +1,217 @@
+package com.hdl.photovoltaic.uni;
+
+import androidx.annotation.NonNull;
+
+import java.io.Serializable;
+
+/**
+ * Created by jlchen on 12/15/21.
+ * UniMP 鍘熺敓鍜屽皬绋嬪簭浜や簰鐩稿叧閰嶇疆鍙傛暟
+ */
+public class HDLUniMP {
+
+ public final static String UNI_APP_ID = "__UNI__F86DFCD";//璋冭瘯瀹漺gt鍖呭皬绋嬪簭id
+ /*********UniMP wgt id*********/
+// public final static String UNI_APP_ID = "__UNI__A2E7300";//鍏変紡wgt鍖呭皬绋嬪簭id
+
+ /*********UniMP Event 鍘熺敓鍜屽皬绋嬪簭浜や簰 鑷畾涔夐�氱煡浜嬩欢*********/
+ public final static String UNI_EVENT_uniMPOnClose = "uni_MPOnClose";//鑷畾涔夊皬绋嬪簭鍏抽棴浜嬩欢
+ //get event 灏忕▼搴忓彂閫佸埌鍘熺敓 鍔犲墠缂�:uni_
+ public final static String UNI_EVENT_GetAppParams = "uni_GetAppParams";//鑾峰彇APP搴旂敤淇℃伅
+ public final static String UNI_EVENT_GetFloorDataEvent = "uni_GetFloorDataEvent";//鑾峰彇妤煎眰鎴栬�呮埧灞嬩俊鎭�
+ public final static String UNI_EVENT_SaveFloorDataEvent = "uni_SaveFloorDataEvent";//鏂板缓鎴栬�呯紪杈戞ゼ灞傛垨鑰呮埧闂翠簨浠�
+ public final static String UNI_EVENT_GetRoomDetailsEvent = "uni_GetRoomDetailsEvent";//鑾峰彇鎴块棿璇︽儏锛氱粦瀹氱殑璁惧鍒楄〃
+ public final static String UNI_EVENT_SendLinkBindUid = "uni_SendLinkBindUid";//鍙戦�丩ink鎸囦护缁戝畾鎴块棿
+ public final static String UNI_EVENT_SendLinkDeleteUid = "uni_SendLinkDeleteUid";//鍙戦�丩ink鎸囦护瑙g粦瀹氭埧闂�
+ public final static String UNI_EVENT_SendChangeGWName = "uni_SendChangeGWName";//鍙戦�佺綉鍏冲娉ㄥ悕鏇存敼鎸囦护锛坙ink锛�
+ public final static String UNI_EVENT_SendDisableToONPRO = "uni_SendDisableToONPRO";//onpro绂佺敤鎸囦护锛坙ink锛�
+ public final static String UNI_EVENT_SendIARCCFirmware = "uni_SendIARCCFirmware";//鍙戦�両ARCC涓夋柟鍥轰欢鍒嗙被
+ public final static String UNI_EVENT_SendReadACFirmwareVersion = "uni_SendReadACFirmwareVersion";//鍙戦�佽鍙朓RACC妯″潡鍥轰欢鐗堟湰
+ public final static String UNI_EVENT_SendUpgradeACNotification = "uni_SendUpgradeACNotification";//鍗囩骇IRACC妯″潡閫氱煡
+ public final static String UNI_EVENT_SendUpgrade = "uni_SendUpgrade";//鍙戦�佸崌绾ф寚浠�
+ public final static String UNI_EVENT_SendFinish = "uni_SendFinish";//鍒嗗寘缁撴潫
+ public final static String UNI_EVENT_SendOpenIRACC = "uni_SendOpenIRACC";//鎵撳紑IRACC閫忎紶鏁�
+ public final static String UNI_EVENT_SendControlTestIRACC = "uni_SendControlTestIRACC";//IRACC鎺у埗娴嬭瘯
+ public final static String UNI_EVENT_SendLinkBindRoom = "uni_SendLinkBindRoom";//鍙戦�丩ink鎸囦护缁戝畾鎴块棿
+ public final static String UNI_EVENT_SendLinkRename = "uni_SendLinkRename";//鍙戦�丩ink鎸囦护淇敼澶囨敞
+
+ /**
+ * 鍦烘櫙
+ */
+ public final static String UNI_EVENT_CreateScene = "uni_CreateScene";//鍙戦�丩ink鎸囦护鍒涘缓鍦烘櫙
+ public final static String UNI_EVENT_EditScene = "uni_EditScene";//鍙戦�丩ink鎸囦护缂栬緫鍦烘櫙
+ public final static String UNI_EVENT_GetSceneSid = "uni_GetSceneSid";//鍙戦�丩ink鎸囦护鑾峰彇鍦烘櫙sid
+ public final static String UNI_EVENT_GetSceneDetail = "uni_GetSceneDetail";//鍙戦�丩ink鎸囦护鑾峰彇鍦烘櫙璇︽儏
+ public final static String UNI_EVENT_GetRoomBindSidList = "uni_GetRoomBindSidList";//鍙戦�丩ink鎸囦护鑾峰彇鎴垮眿鍏宠仈鍦烘櫙璁惧琛ㄦ牸
+ public final static String UNI_EVENT_GetFunctionSidList = "uni_GetFunctionSidList";//鍙戦�丩ink鎸囦护鑾峰彇鍥炶矾sid
+ public final static String UNI_EVENT_CONTROLSCENE = "uni_ControlScene";//鎵ц鍦烘櫙
+ public final static String UNI_EVENT_DeleteScene = "uni_DeleteScene";//鍙戦�丩ink鎸囦护鍒犻櫎鍦烘櫙
+ public final static String UNI_EVENT_GatewayVersion = "uni_GatewayVersion";//鑾峰彇缃戝叧鐗堟湰 鐢ㄤ簬鎺у埗寤舵椂鏀寔0.1s
+
+ /**
+ * 鑷姩鍖�
+ */
+ public final static String UNI_EVENT_GetLogicSid = "uni_GetLogicSid";//鍙戦�丩ink鎸囦护鑾峰彇鑷姩鍖杝id
+ public final static String UNI_EVENT_GetSceneList = "uni_GetSceneList";//鍙戦�丩ink鎸囦护鑾峰彇鍦烘櫙鍒楄〃
+ public final static String UNI_EVENT_GetLogicList = "uni_GetLogicList";//鍙戦�丩ink鎸囦护鑾峰彇鑷姩鍖栧垪琛�
+ public final static String UNI_EVENT_CreateLogic = "uni_CreateLogic";//鍙戦�丩ink鎸囦护鍒涘缓鑷姩鍖� 鍒涘缓缂栬緫鍚屼竴涓�
+ public final static String UNI_EVENT_GetLogicDetail = "uni_GetLogicDetail";//鍙戦�丩ink鎸囦护鑾峰彇鑷姩鍖栬鎯�
+
+ /**
+ * 缃戝叧椹卞姩鍗囩骇锛岃澶囧浐浠跺崌绾�
+ */
+ public final static String UNI_EVENT_GetOidList = "uni_GetOidList";//鍙戦�丩ink鎸囦护鑾峰彇浜戠涓奜id鍒楄〃
+ public final static String UNI_EVENT_GetGatewayDrivers = "uni_GetGatewayDrivers";//鍙戦�丩ink缃戝叧椹卞姩鍒楄〃鑾峰彇
+ public final static String UNI_EVENT_GetCloudGatewayDrivers = "uni_GetCloudGatewayDrivers";//鍙戦�丩ink鎸囦护浜戠鐨勯┍鍔ㄥ垎椤靛垪琛�
+ public final static String UNI_EVENT_UpgradeGatewayDriver = "uni_UpgradeGatewayDriver";//鍙戦�丩ink鎸囦护缃戝叧椹卞姩鍗囩骇OTA鍛戒护涓嬪彂
+ public final static String UNI_EVENT_GetDeviceFirmwares = "uni_GetDeviceFirmwares";//鍙戦�丩ink鎸囦护鑾峰彇璁惧鍥轰欢鍒楄〃鑾峰彇
+ public final static String UNI_EVENT_GetCloudDeviceFirmwares = "uni_GetCloudDeviceFirmwares";//鍙戦�丩ink鎸囦护浜戠鐨勮澶囧浐浠跺垎椤靛垪琛�
+ public final static String UNI_EVENT_UpgradeDeviceFirmware = "uni_UpgradeDeviceFirmware";//鍙戦�丩ink璁惧鍥轰欢鍗囩骇OTA鍛戒护涓嬪彂
+ /**
+ * 瀹夐槻
+ */
+ public final static String UNI_EVENT_GetSecuritySid = "uni_GetSecuritySid";//鍙戦�丩ink鎸囦护鑾峰彇瀹夐槻sid
+ public final static String UNI_EVENT_GetSecurityList = "uni_GetSecurityList";//鍙戦�丩ink鎸囦护鑾峰彇瀹夐槻鍒楄〃
+ public final static String UNI_EVENT_CreateSecurity = "uni_CreateSecurity";//鍙戦�丩ink鎸囦护鍒涘缓瀹夐槻 鍒涘缓缂栬緫鍚屼竴涓�
+ public final static String UNI_EVENT_GetSecurityDetail = "uni_GetSecurityDetail";//鍙戦�丩ink鎸囦护鑾峰彇瀹夐槻璇︽儏
+ public final static String UNI_EVENT_DeleteSecurity = "uni_DeleteSecurity";//鍙戦�丩ink鎸囦护鍒犻櫎瀹夐槻
+
+ /**
+ * 妯℃澘
+ */
+ public final static String UNI_EVENT_UpdataTemplateData = "uni_UpdataTemplateData";//鏇存柊妯℃澘鍛戒护鏁版嵁
+
+ public final static String UNI_EVENT_GetLinkOidList = "uni_GetLinkOidList";//鑾峰彇LinkOid鍒楄〃
+ public final static String UNI_EVENT_GetRoomBindList = "uni_GetRoomBindList";//鑾峰彇RoomBind鍒楄〃
+ public final static String UNI_EVENT_GetDeviceLoopList = "uni_GetDeviceLoopList";//鑾峰彇DeviceLoop鍒楄〃
+ public final static String UNI_EVENT_GetLinkFunctionList = "uni_GetLinkFunctionList";//鑾峰彇LinkFunction鍒楄〃
+ public final static String UNI_EVENT_GetLinkSceneList = "uni_GetLinkSceneList";//鑾峰彇LinkScene鍒楄〃
+ public final static String UNI_EVENT_GetDeviceList = "uni_GetDeviceList";//鑾峰彇Device鍒楄〃
+ public final static String UNI_EVENT_GetRoomList = "uni_GetRoomList";//鍙戦�丩ink鎸囦护鑾峰彇鎴垮眿鍒楄〃
+
+
+ public final static String UNI_EVENT_GetZigBeeDeviceInfo = "uni_GetZigBeeDeviceInfo";//鑾峰彇ZigBee璁惧淇℃伅
+ public final static String UNI_EVENT_GetAllDataSize = "uni_GetAllDataSize";//鑾峰彇鏁版嵁闀垮害
+ public final static String UNI_EVENT_GetMillimeterDeviceInfo = "uni_GetMillimeterDeviceInfo";//鑾峰彇姣背娉㈣澶囦俊鎭�
+ public final static String UNI_EVENT_SetMillimeterConfiguration = "uni_SetMillimeterConfiguration";//閰嶇疆姣背娉㈡暟鎹�
+ public final static String UNI_EVENT_GetMillimeterConfiguration = "uni_GetMillimeterConfiguration";//鑾峰彇姣背娉㈤厤缃暟鎹�
+ public final static String UNI_EVENT_MillimeterPositioning = "uni_MillimeterPositioning";//姣背娉㈠畾浣�
+ public final static String UNI_EVENT_EditMillimeter = "uni_EditMillimeter";//缂栬緫姣背娉�
+ public final static String UNI_EVENT_DeleteMillimeterDevice = "uni_DeleteMillimeterDevice";//鍒犻櫎姣背娉㈣澶�
+ public final static String UNI_EVENT_GetFunctionInfo = "uni_GetFunctionInfo";//鑾峰彇link璁惧璇︽儏
+ public final static String UNI_EVENT_GetLinkRoom = "uni_GetLinkRoom";//鑾峰彇link鎴块棿鍒楄〃
+ public final static String UNI_EVENT_LinkPropertyToCloudControl = "uni_LinkPropertyToCloudControl";//link鎺у埗
+ public final static String UNI_EVENT_LinkPropertyToGatewayControl = "uni_LinkPropertyToGatewayControl";//link鎺у埗
+ public final static String UNI_EVENT_LinkDeviceNameEdit = "uni_LinkDeviceNameEdit";//鑾峰彇link鎺у埗
+ public final static String UNI_EVENT_ChangeDeviceImgVersion = "uni_ChangeDeviceImgVersion";//鏇存敼璁惧鐨勫浐浠剁増鏈�
+
+
+ /**
+ * 绾㈠瀹�
+ */
+ public final static String UNI_EVENT_GetIrTypeList = "uni_GetIrTypeList";//鑾峰彇绾㈠璁惧绫诲瀷
+ public final static String UNI_EVENT_GetIrBrandList = "uni_GetIrBrandList";//鑾峰彇绾㈠璁惧瀵瑰簲鍝佺墝
+ public final static String UNI_EVENT_GetIrCodeList = "uni_GetIrCodeList";//鑾峰彇绾㈠璁惧瀵瑰簲鍝佺墝鐨勫叿浣撶爜搴�
+ public final static String UNI_EVENT_IrLocation = "uni_IrLocation";//绾㈠瀹濆畾浣�
+ public final static String UNI_EVENT_IrControlDelete = "uni_IrControlDelete";//绾㈠瀹濋仴鎺у櫒鍒犻櫎
+ public final static String UNI_EVENT_GetIrInfo = "uni_GetIrInfo";//鑾峰彇绾㈠璁惧link灞傛暟鎹�
+ public final static String UNI_EVENT_IrCodeTest = "uni_IrCodeTest";//绾㈠瀹濊瘯鐮�
+ public final static String UNI_EVENT_IrDeviceAdd = "uni_IrDeviceAdd";//绾㈠瀹濋仴鎺у櫒娣诲姞
+ public final static String UNI_EVENT_IrDeviceAddGetSid = "uni_IrDeviceAddGetSid";//绾㈠瀹濋仴鎺у櫒sid
+ public final static String UNI_EVENT_IrCodeStudy = "uni_IrCodeStudy";//绾㈠瀹濊嚜瀛︾爜
+ public final static String UNI_EVENT_IrCodeRemove = "uni_IrCodeRemove";//绾㈠瀹濊嚜瀛︾爜鍒犻櫎
+ public final static String UNI_EVENT_LinkDeviceControl = "uni_LinkDeviceControl";//link璁惧鎺у埗
+ public final static String UNI_EVENT_LinkOtaDeviceUpgradeDown = "uni_LinkOtaDeviceUpgradeDown";//link妯℃嫙浜戠ota
+
+
+ public final static String UNI_EVENT_IrDeviceListGet = "uni_IrDeviceListGet";//绾㈠瀹濋仴鎺у櫒鍒楄〃鑾峰彇
+
+ public final static String UNI_EVENT_GetGateWayDeviceInfo = "uni_GetGateWayDeviceInfo";//鑾峰彇缃戝叧璁惧淇℃伅
+ public final static String UNI_EVENT_SendZigBeePassthrough = "uni_SendZigBeePassthrough";//鍙戦�乑igBee閫忎紶鎸囦护
+ /**
+ * Zigbee閫忎紶鏁版嵁鍏ㄥ眬鍥炲
+ */
+ public final static String UNI_EVENT_ZigBeePassthrough = "uni_ZigBeePassthrough";
+ /**
+ * Zigbee鐘舵�佹暟鎹�忎紶
+ */
+ public final static String EVENT_DeviceStatusReportPassthrough = "DeviceStatusReportPassthrough";
+
+ //send event 鍘熺敓鍙戦�佸埌灏忕▼搴� 鍔犲墠缂�:app_
+// public final static String UNI_APP_EVENT_UIDataEvent = "app_GetFloorDataEvent";//鍘熺敓閫氱煡灏忕▼搴� 鑾峰彇妤煎眰鎴栬�呮埧灞嬩俊鎭�
+
+ /*********UniMP PATH 鍚勪釜灏忕▼搴忛〉闈㈣矾寰�*********/
+ //鍚姩鐩磋揪椤甸潰鏍囪瘑鍙傛暟 锛堝簾寮冿級
+ public final static String UNI_ACTION = "?action=redirect";
+ //UniMP灏忕▼搴� 鎬昏矾鐢遍〉闈� 鍚庨潰閫氳繃pathKey鍐嶅垎鍙戣矾鐢辫烦杞�佸皬绋嬪簭甯垜浠嫾鎺�?action=redirect
+ public final static String UNI_PATH_MAIN = "pages/index/index?pathKey=";
+ //娣诲姞妤煎眰鎴栬�呮埧闂�
+ public final static String UNI_PATH_AddFloor = UNI_PATH_MAIN + "room";
+ //鏌ョ湅鎴块棿璇︽儏
+ public final static String UNI_PATH_RoomDetails = UNI_PATH_MAIN + "roomDetails";
+ //鏌ョ湅缃戝叧淇℃伅
+ public final static String UNI_PATH_GATEWAY = UNI_PATH_MAIN + "gateway";
+ //鏌ョ湅姣背娉俊鎭�
+ public final static String UNI_PATH_MILLIMETER = UNI_PATH_MAIN + "Millimeter";
+ //鏌ョ湅璁惧閫氱敤淇℃伅
+ public final static String UNI_PATH_DEVICE = UNI_PATH_MAIN + "device_info";
+
+ //Link鏁版嵁鍏ㄥ眬鍥炲
+ public final static String UNI_EVENT_LinkPassthrough = "LinkPassthrough";
+ //鍏抽棴杩涘害鏉$洃鍚簨浠�
+ public final static String UNI_EVENT_Progress = "uni_CloseProgress";
+ //鏌ョ湅鍚搁《寮忎紶鎰熷櫒璁惧淇℃伅
+ public final static String UNI_PATH_CEILINGLIGHTSENSOR = UNI_PATH_MAIN + "ceilingLightSensor";
+
+
+ public static class UniCallBackBaseBean implements Serializable {
+ private String code = "-1";
+ private String mes;
+ private Object data;
+ private String topic;
+
+ public UniCallBackBaseBean(String code, String mes) {
+ this.code = code;
+ this.mes = mes;
+ }
+
+ public UniCallBackBaseBean() {
+ this.code = "0";
+ this.mes = "鎴愬姛";
+ }
+
+ @NonNull
+ public String getCode() {
+ return code == null ? "" : code;
+ }
+
+ public void setCode(@NonNull String code) {
+ this.code = code;
+ }
+
+ @NonNull
+ public String getMes() {
+ return mes == null ? "" : mes;
+ }
+
+ public void setMes(@NonNull String mes) {
+ this.mes = mes;
+ }
+
+ public Object getData() {
+ return data;
+ }
+
+ public void setData(Object data) {
+ this.data = data;
+ }
+
+ public String getTopic() {
+ return topic;
+ }
+
+ public void setTopic(String topic) {
+ this.topic = topic;
+ }
+ }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
new file mode 100644
index 0000000..4f13a8a
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
@@ -0,0 +1,408 @@
+package com.hdl.photovoltaic.uni;
+
+import android.app.Application;
+import android.content.Context;
+import android.os.Environment;
+import android.text.TextUtils;
+
+
+import com.google.gson.Gson;
+import com.hdl.photovoltaic.HDLApp;
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.File;
+import java.util.HashMap;
+
+import io.dcloud.common.DHInterface.ICallBack;
+import io.dcloud.feature.sdk.DCSDKInitConfig;
+import io.dcloud.feature.sdk.DCUniMPSDK;
+import io.dcloud.feature.sdk.Interface.IDCUniMPPreInitCallback;
+import io.dcloud.feature.sdk.Interface.IOnUniMPEventCallBack;
+import io.dcloud.feature.sdk.Interface.IUniMP;
+import io.dcloud.feature.sdk.Interface.IUniMPOnCloseCallBack;
+import io.dcloud.feature.unimp.DCUniMPJSCallback;
+
+/**
+ * Created by jlchen on 12/15/21.
+ */
+public class HDLUniMPSDKManager {
+ private static final String TAG = "HDLUniMPSDKManager";
+ /**
+ * context
+ */
+ private Application mContext;
+ private IUniMP uniMP;
+ /**
+ * unimp灏忕▼搴忓疄渚嬬紦瀛�
+ **/
+ HashMap<String, IUniMP> mUniMPCaches = new HashMap<>();
+ /**
+ * 褰撳墠鎵撳紑鐨勫皬绋嬪簭APPId
+ */
+ private String mCurrentAppId;
+ /**
+ * instance
+ */
+ private volatile static HDLUniMPSDKManager instance;
+
+ /**
+ * 鑾峰彇褰撳墠瀵硅薄
+ *
+ * @return HDLUniMPSDKManager
+ */
+ public static synchronized HDLUniMPSDKManager getInstance() {
+ if (instance == null) {
+ synchronized (HDLUniMPSDKManager.class) {
+ if (instance == null) {
+ instance = new HDLUniMPSDKManager();
+ }
+ }
+ }
+ return instance;
+ }
+
+ /**
+ * 鍙嶅垵濮嬪寲
+ */
+ public void unInit() {
+ mUniMPCaches.clear();
+ this.mContext = null;
+ }
+
+ /**
+ * 鍒濆鍖�
+ *
+ * @param ctx -
+ */
+ public void init(Application ctx) {
+ this.mContext = ctx;
+ registerCallBack();
+ }
+
+ /**
+ * 绉婚櫎鐩稿叧鍥炶皟鐩戝惉
+ */
+ private void removeCallBack() {
+ DCUniMPSDK.getInstance().setUniMPOnCloseCallBack(null);
+ DCUniMPSDK.getInstance().setOnUniMPEventCallBack(null);
+ }
+
+ /**
+ * 鐩戝惉鐩稿叧鍥炶皟
+ */
+ private void registerCallBack() {
+ //1.璁剧疆灏忕▼搴忚鍏抽棴浜嬩欢鐩戝惉
+ DCUniMPSDK.getInstance().setUniMPOnCloseCallBack(new IUniMPOnCloseCallBack() {
+ @Override
+ public void onClose(String appid) {
+ if (AppConfigManage.isDebug()) {
+ HdlLogLogic.print(TAG, "鏀跺埌灏忕▼搴忛�氱煡 琚叧闂簡");
+ }
+ //灏忕▼搴忚鍏抽棴闇�瑕佸瀹炰緥缂撳瓨鍒犻櫎鎿嶄綔
+ if (mUniMPCaches.containsKey(appid)) {
+ mUniMPCaches.remove(appid);
+ }
+ //娓呯┖褰撳墠鎵撳紑灏忕▼搴忚褰�
+ if (appid.equals(mCurrentAppId)) {
+ mCurrentAppId = "";
+ }
+ }
+ });
+
+ //2.璁剧疆鐩戝惉灏忕▼搴忓彂閫佺粰瀹夸富鐨勪簨浠�
+ DCUniMPSDK.getInstance().setOnUniMPEventCallBack(new IOnUniMPEventCallBack() {
+ @Override
+ public void onUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
+// handelUniMPEventReceive(appid, event, data, callback);
+ HdlLogLogic.print(TAG, "鏀跺埌灏忕▼搴忛�氱煡 event=" + event);
+ //鏆傛椂閫氳繃杩欎釜澶勭悊灏忕▼搴忓悓鏃跺鏉$浉鍚岀殑璇锋眰
+ if (data == null) {
+ return;
+ }
+// String key= MD5Utils.getMd5(event+data.toString());
+// if(UniAppMessageCacheUtil.getInstance().isExist(key))
+// {
+// LogUtils.i("褰撳墠灏忕▼搴忔暟鎹煭鏃堕棿鍙戦�佷簡澶氭");
+// return;
+// }
+// UniAppMessageCacheUtil.getInstance().put(key,System.currentTimeMillis());
+
+ //鍙鐞嗕竴涓嬬粺涓�澶勭悊鐨勪簨浠�
+ if (HDLUniMP.UNI_EVENT_GetAppParams.equals(event)) {
+ //鍥炰紶鏁版嵁缁欏皬绋嬪簭
+ JSONObject params = getAppParams();
+ callback.invoke(params);
+ HdlLogLogic.print(TAG, "uni_GetAppParams callback:" + params.toString());
+ } else {
+ //闄や簡缁熶竴澶勭悊锛屽墿浣欏叾瀹冪壒瀹氬満鏅殑浜嬩欢閫氱煡
+ if (onOtherUniMPEventCallBack != null) {
+ onOtherUniMPEventCallBack.onOtherUniMPEventReceive(appid, event, data, callback);
+ }
+ }
+ }
+ });
+ }
+
+ /**
+ * 灏忕▼搴忓悜APP鑾峰彇鎵�闇�鐨勯厤缃弬鏁�
+ *
+ * @return -
+ */
+ private JSONObject getAppParams() {
+ JSONObject mParams = new JSONObject();
+ try {
+ //鍥炶皟鍛婅瘔灏忕▼搴忚浣跨敤鐨勮瑷�
+ mParams.put("language", "zh-Hans");
+// mParams.put("language", "en");//鍥炶皟鍛婅瘔灏忕▼搴忚浣跨敤鐨勮瑷�
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ return mParams;
+ }
+
+
+ /**
+ * 灏忕▼搴忔槸鍚﹀垵濮嬪寲瀹屾垚
+ * 鍚姩uni灏忕▼搴忥紝纭繚宸插垵濮嬪寲瀹屾瘯鍐嶈皟鐢�
+ *
+ * @return -
+ */
+ public Boolean isInitialize() {
+ return DCUniMPSDK.getInstance().isInitialize();
+ }
+
+
+ /**
+ * 妫�鏌ユ槸鍚﹀瓨鍦ㄥ簲鐢ㄨ祫婧愶紝涓嶅瓨鍦ㄥ垯閮ㄧ讲
+ *
+ * @param uniAppId -
+ */
+ public void checkUniMPResource(String uniAppId) {
+ //2.涓嶆槸绗竴娆″惎鍔ㄤ簡锛屽厛鍒ゆ柇wgt鍖呬箣鍓嶆湁涔堟湁閮ㄧ讲杩�
+ if (!DCUniMPSDK.getInstance().isExistsApp(uniAppId)) {
+ HdlLogLogic.print(TAG, "DCUni wgt涔嬪墠杩樻病閮ㄧ讲杩�");
+ //涔嬪墠娌¢儴缃茶繃閲嶆柊閮ㄧ讲
+ hdlReleaseAppResourceToRunPathWithAppid(uniAppId);
+// [self hdlReleaseAppResourceToRunPathWithAppid:uniAppId];
+ } else {
+ HdlLogLogic.print(TAG, "DCUni wgt宸茬粡閮ㄧ讲杩�");
+ }
+ }
+
+ /**
+ * 灏唚gt搴旂敤璧勬簮鍖呴儴缃插埌杩愯璺緞涓�
+ *
+ * @param uniAppId -
+ */
+ public void hdlReleaseAppResourceToRunPathWithAppid(String uniAppId) {
+ String wgtPath = mContext.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/" + uniAppId + ".wgt";
+ boolean b = fileIsExists(wgtPath);
+ if (b) {
+ HdlLogLogic.print(TAG, "wgt鍖呮湰鍦板瓨鍦�");
+ DCUniMPSDK.getInstance().releaseWgtToRunPathFromePath(uniAppId, wgtPath, new ICallBack() {
+ @Override
+ public Object onCallBack(int code, Object pArgs) {
+ if (code == 1) {
+ //閲婃斁wgt瀹屾垚
+
+ } else {
+ //閲婃斁wgt澶辫触
+ HdlLogLogic.print(TAG, "璧勬簮閲婃斁澶辫触");
+ }
+ return null;
+ }
+ });
+ } else {
+ HdlLogLogic.print(TAG, "wgt鍖呮湰鍦颁笉瀛樺湪");
+ }
+ }
+
+ /**
+ * 鍒ゆ柇鏂囦欢鏄惁瀛樺湪
+ *
+ * @param strFile -
+ * @return -
+ */
+ public static boolean fileIsExists(String strFile) {
+ try {
+ File f = new File(strFile);
+ if (!f.exists()) {
+ return false;
+ }
+
+ } catch (Exception e) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 鎵撳紑灏忕▼搴�
+ *
+ * @param uniAppId 灏忕▼搴廔D
+ * @param path 鎸囧畾璺緞
+ * 渚嬶細pages/component/scroll-view/scroll-view?a=1&b=2&c=3
+ * @param callBack 鐩戝惉灏忕▼搴廜therUniMPEvent浜嬩欢
+ */
+ public void openUniMP(String uniAppId, String path, IOnOtherUniMPEventCallBack callBack) {
+ if (TextUtils.isEmpty(uniAppId)) {
+ HdlThreadLogic.toast(mContext, "uni Id null");
+ HdlLogLogic.print(TAG, "灏忕▼搴廔D 涓嶈兘涓虹┖");
+ return;
+ }
+ try {
+ setOnOtherUniMPEventCallBack(callBack);
+ uniMP = null;
+ if (TextUtils.isEmpty(path)) {
+ uniMP = DCUniMPSDK.getInstance().openUniMP(mContext, uniAppId);
+ } else {
+// UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration();
+// uniMPOpenConfiguration.path = path;
+ uniMP = DCUniMPSDK.getInstance().openUniMP(mContext, uniAppId, path);
+ }
+ mCurrentAppId = uniAppId;//璁板綍褰撳墠灏忕▼搴�
+ mUniMPCaches.put(uniMP.getAppid(), uniMP);
+ } catch (Exception e) {
+ e.printStackTrace();
+ HdlThreadLogic.toast(HDLApp.getInstance(), R.string.uni_open_error);
+ initDCUniMPSDK(HDLApp.getInstance());
+ HdlLogLogic.print(TAG, "鎵撳紑澶辫触" + e.getMessage());
+ }
+ }
+
+ /**
+ * 鍒濆鍖朥niMPSDK 灏忕▼搴廠DK
+ */
+ public void initDCUniMPSDK(Context mContext) {
+ if (DCUniMPSDK.getInstance().isInitialize()) {
+ return;
+ }
+ DCSDKInitConfig config = new DCSDKInitConfig.Builder()
+ .setCapsule(false)//璁剧疆鏄惁浣跨敤鑳跺泭鎸夐挳
+ .setEnableBackground(false)//寮�鍚悗鍙拌繍琛�
+ .build();
+ DCUniMPSDK.getInstance().initialize(mContext, config, new IDCUniMPPreInitCallback() {
+ @Override
+ public void onInitFinished(boolean b) {
+
+ HdlLogLogic.print("unimp", "UniMPSDK 鍒濆鍖栧畬鎴�----" + b);
+ }
+ });
+
+ //鍒濆鍖朥niMPSDKManager
+ HDLUniMPSDKManager.getInstance().init(HDLApp.getInstance());
+
+ }
+
+ public IUniMP getUniMP() {
+ return uniMP;
+ }
+
+ /**
+ * 鎵撳紑灏忕▼搴忓苟浼犲叆鍙傛暟
+ *
+ * @param uniAppId 灏忕▼搴廔D
+ * @param arguments JSONObject arguments = new JSONObject();
+ * arguments.put("MSG","Hello HDL");
+ * @param callBack 鐩戝惉灏忕▼搴廜therUniMPEvent浜嬩欢
+ */
+ public void openUniMP(String uniAppId, JSONObject arguments, IOnOtherUniMPEventCallBack callBack) {
+ if (TextUtils.isEmpty(uniAppId)) {
+ HdlLogLogic.print(TAG, "灏忕▼搴廔D 涓嶈兘涓虹┖");
+ return;
+ }
+ try {
+ setOnOtherUniMPEventCallBack(callBack);
+// UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration();
+// uniMPOpenConfiguration.extraData = arguments;
+ uniMP = DCUniMPSDK.getInstance().openUniMP(mContext, uniAppId, arguments);
+ mCurrentAppId = uniAppId;//璁板綍褰撳墠灏忕▼搴�
+ mUniMPCaches.put(uniMP.getAppid(), uniMP);
+ } catch (Exception e) {
+ e.printStackTrace();
+ HdlLogLogic.print(TAG, "鎵撳紑澶辫触" + e.getMessage());
+ }
+ }
+
+ /**
+ * 鍘熺敓鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢
+ * 娉ㄦ剰锛氶渶瑕佹彁鍓嶅皬绋嬪簭鍦ㄨ繍琛屾墠鍙垚鍔�
+ *
+ * @param uniAppId 灏忕▼搴忔寚瀹�
+ * @param event 灏忕▼搴忔寚瀹氫富棰�
+ * @param data String鎴朖SON
+ */
+ public void sendUniMPEvent(String uniAppId, String event, Object data) {
+
+ if (mUniMPCaches.containsKey(uniAppId)) {
+ if (mUniMPCaches.get(uniAppId) != null) {
+ mUniMPCaches.get(uniAppId).sendUniMPEvent(event, data);
+ HdlLogLogic.print(TAG, "鍙戦�侀�氱煡鎴愬姛锛歟vent锛�" + event + " data锛�" + new Gson().toJson(data));
+ } else {
+ HdlLogLogic.print(TAG, "鍙戦�佸け璐ワ紝灏忕▼搴忓璞′负绌猴細" + uniAppId);
+ }
+ } else {
+ HdlLogLogic.print(TAG, "鍙戦�佸け璐ワ紝鎵句笉鍒板搴旂殑灏忕▼搴忥細" + uniAppId);
+ }
+
+ }
+
+ /**
+ * 鍘熺敓鍚戝綋鍓嶆墦寮�鐨勫皬绋嬪簭鍙戦�侀�氱煡浜嬩欢
+ * 娉ㄦ剰锛氶渶瑕佹彁鍓嶅皬绋嬪簭鍦ㄨ繍琛屾墠鍙垚鍔�
+ *
+ * @param event -
+ * @param data String鎴朖SON
+ */
+ public void sendUniMPEventToCurrentOpenAppId(String event, Object data) {
+ if (TextUtils.isEmpty(mCurrentAppId)) {
+ HdlLogLogic.print(TAG, "褰撳墠娌℃墦寮�鐨勫皬绋嬪簭");
+ return;
+ }
+ sendUniMPEvent(mCurrentAppId, event, data);
+ }
+
+ /**
+ * 闄や簡鍏叡澶勭悊鐨勫叾浠朎vent
+ */
+ private IOnOtherUniMPEventCallBack onOtherUniMPEventCallBack;
+
+ /**
+ * IOnOtherUniMPEventCallBack
+ */
+ public interface IOnOtherUniMPEventCallBack {
+ /**
+ * 闄や簡缁熶竴澶勭悊锛屽墿浣欏叾瀹冪壒瀹氬満鏅殑浜嬩欢閫氱煡
+ *
+ * @param appid -
+ * @param event -
+ * @param data JSONObject com.alibaba.fastjson瑙f瀽澶勭悊
+ * @param callback callback.invoke(JSONObject) 鐢╟om.alibaba.fastjson
+ */
+ void onOtherUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback);
+ }
+
+ public void setOnOtherUniMPEventCallBack(IOnOtherUniMPEventCallBack onOtherUniMPEventCallBack) {
+ this.onOtherUniMPEventCallBack = onOtherUniMPEventCallBack;
+ HdlLogLogic.print("onOtherUniMPEventCallBack", "set callback");
+ }
+
+ /**
+ * 妫�娴嬫槸鍚﹀綋鍓嶉〉闈㈡敞鍐岀殑callback,鏄殑璇濆垯绉婚櫎
+ *
+ * @param onOtherUniMPEventCallBack -
+ */
+ public void checkRemoveOtherUniMPEventCallBack(IOnOtherUniMPEventCallBack onOtherUniMPEventCallBack) {
+ if (this.onOtherUniMPEventCallBack == onOtherUniMPEventCallBack) {
+ this.onOtherUniMPEventCallBack = null;
+ HdlLogLogic.print("onOtherUniMPEventCallBack", "remove callback");
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java
index dcf31bc..64522b8 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java
@@ -33,7 +33,7 @@
* @param context 涓婁笅鏂�
* @return -value
*/
- public String getSharedPreferencesKey(String key, Context context) {
+ public static String getSharedPreferencesKey(String key, Context context) {
// 鑾峰彇SharedPreferences瀵硅薄锛屽悓鏃舵寚瀹氭枃浠跺悕绉板拰璁块棶鏉冮檺
SharedPreferences sp = context.getSharedPreferences("MyData", Context.MODE_PRIVATE);
return sp.getString(key, "");
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f78ebd0..d81d43a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -54,6 +54,9 @@
<string name="me_璁剧疆">璁剧疆</string>
<string name="me_鍏充簬">鍏充簬</string>
+ <!--uin-->
+ <string name="uni_open_error">椤甸潰鍒濆鍖栦腑 璇风瓑寰�5绉掑啀鐐瑰嚮</string>
+
<!--寮规-->
<string name="loading_鍙栨秷">鍙栨秷</string>
<string name="loading_纭">纭</string>
--
Gitblit v1.8.0