wjc
2023-06-30 073e5d5103870246fe33029e5f6d36536a1bb76c
2023年06月30日10:33:03
5个文件已修改
149 ■■■■ 已修改文件
app/build.gradle 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
local.properties 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle
@@ -4,14 +4,14 @@
//必须配置uni
def mfph = [
        //宿主包名
        "apk.applicationId": "com.hdl.photovoltaic1",
        "apk.applicationId": "com.hdl.photovoltaic",
]
android {
    compileSdk 32
    defaultConfig {
        applicationId "com.hdl.photovoltaic1"
        applicationId "com.hdl.photovoltaic"
        minSdk 23
        targetSdk 32
        versionCode 1
app/src/main/AndroidManifest.xml
@@ -7,19 +7,72 @@
    <uses-permission
        android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
        tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CAMERA" />
<!--    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!--    <uses-permission android:name="android.permission.CAMERA" />-->
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--    <uses-permission android:name="android.permission.INTERNET" />-->
<!--    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
<!--    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!--    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />-->
<!--    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
<!--    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
<!--    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />-->
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<!--    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
    <!-- wifi状态权限 -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.INTERNET" /> <!-- 位置信息 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 如果是安卓10.0,需要后台获取连接的wifi名称则添加进程获取位置信息权限 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- android 10.0使用wifi api新添加的权限 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- bugly所需权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
    <!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- bugly所需权限 start -->
    <uses-permission android:name="android.permission.CAMERA" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
    <!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- bugly所需权限 -->
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
    <!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- bugly所需权限 start -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
    <!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- bugly所需权限 end -->
    <!-- UNI SDK 基座删除的部分权限 start -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" /> <!-- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> -->
    <!-- <uses-feature android:name="android.hardware.camera.autofocus" /> -->
    <!-- <uses-permission android:name="android.permission.CAMERA" /> -->
    <!-- <uses-permission android:name="android.permission.RECORD_AUDIO" /> -->
    <!-- <uses-permission android:name="android.permission.READ_PHONE_STATE" /> -->
    <!-- 访问闪光灯 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.hdl.debugtreasure.permission.JPUSH_MESSAGE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.BLUETOOTH" /> <!-- 基座删除的部分权限 -->
    <application
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -20,6 +20,7 @@
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.sdk.link.common.exception.HDLLinkCode;
import com.hdl.sdk.link.common.exception.HDLLinkException;
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
import com.hdl.sdk.link.core.callback.GatewayCallBack;
@@ -58,18 +59,23 @@
    /**
     * 添加逆变器
     *
     * @param inverterDeviceBean 逆变器对象
     * @param cloudCallBeak      回调
     * @param mac           -
     * @param spk           -
     * @param sid           -
     * @param oid           -
     * @param name          -
     * @param cloudCallBeak
     */
    public void addInverterDevice(InverterDeviceBean inverterDeviceBean, CloudCallBeak<Boolean> cloudCallBeak) {
    public void addInverterDevice(String mac, String spk, String sid, String oid, String name, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_Device_Add;
        JsonObject json = new JsonObject();
        json.addProperty("homeId", UserConfigManage.getInstance().getHomeId());
        json.addProperty("mac", inverterDeviceBean.getDevice_mac());
        json.addProperty("spk", inverterDeviceBean.getGateway_type());
        json.addProperty("sid", inverterDeviceBean.getSid());
        json.addProperty("oid", inverterDeviceBean.getOid());
        json.addProperty("name", inverterDeviceBean.getDevice_name());
        json.addProperty("mac", mac);
        json.addProperty("spk", spk);
        json.addProperty("sid", sid);
        json.addProperty("oid", oid);
        json.addProperty("name", name);
        // json.addProperty("zoneType", "password");//区域
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
@@ -271,7 +277,7 @@
     * @param mac           设备mac
     * @param cloudCallBeak 回调update
     */
    public void steEditGatewayParam(String mac, CloudCallBeak<Boolean> cloudCallBeak) {
    public void editGatewayParam(String mac, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = TopicApi.GATEWAY_SEND_EDIT;
        JsonObject json = new JsonObject();
        json.addProperty("master", "true");
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -24,6 +24,7 @@
import com.hdl.sdk.link.core.callback.GatewayCallBack;
import com.hdl.sdk.link.core.callback.ModbusCallBack;
import com.hdl.sdk.link.core.connect.HDLModBusConnect;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONObject;
@@ -97,7 +98,50 @@
                //设备模块
                switch (type) {
                    case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: {
                        //添加
                        //添加设备到云端
                        String mac = getKeyValue("mac", getKeyValue("data", data));
                        HdlDeviceLogic.getInstance().editGatewayParam(mac, new CloudCallBeak<Boolean>() {
                            @Override
                            public void onSuccess(Boolean obj) {
                                HdlDeviceLogic.getInstance().steGatewayParam(mac, new CloudCallBeak<Boolean>() {
                                    @Override
                                    public void onSuccess(Boolean obj) {
                                        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac);
                                        if (gatewayBean == null) {
                                            uniCallbackData(null, -100, "本地找不到网关", callback);
                                            return;
                                        }
                                        HdlDeviceLogic.getInstance().addInverterDevice(mac,
                                                gatewayBean.getGateway_type(),
                                                gatewayBean.getSid(),
                                                gatewayBean.getOid(),
                                                gatewayBean.getDevice_name(),
                                                new CloudCallBeak<Boolean>() {
                                                    @Override
                                                    public void onSuccess(Boolean obj) {
                                                        uniCallbackData(null, callback);
                                                    }
                                                    @Override
                                                    public void onFailure(Exception exception) {
                                                        uniCallbackData(null, -100, exception.getMessage(), callback);
                                                    }
                                                });
                                    }
                                    @Override
                                    public void onFailure(Exception exception) {
                                        uniCallbackData(null, -100, exception.getMessage(), callback);
                                    }
                                });
                            }
                            @Override
                            public void onFailure(Exception exception) {
                                uniCallbackData(null, -100, exception.getMessage(), callback);
                            }
                        });
                    }
                    break;
local.properties
@@ -4,5 +4,5 @@
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Thu Jun 29 15:41:36 CST 2023
sdk.dir=/Users/hdl/Library/Developer/Xamarin/android-sdk-macosx
#Thu Jun 29 18:00:39 CST 2023
sdk.dir=/Users/wenjucheng/Library/Android/sdk