wxr
2022-09-02 e267db1832578f34ed81b70c9524356c5dd75462
增加光伏储能入口
1个文件已添加
14个文件已修改
324 ■■■■■ 已修改文件
HDL-ON_Android/Assets/Language.ini 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Info.plist 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/ApiUtlis.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Function/InverterInfo.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/FunctionList.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/HDL_ON.projitems 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SiriIntents/Server/HttpServerRequest.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SiriIntents/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SiriIntents/Server/NewAPI.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini
@@ -547,6 +547,7 @@
559=Bind a third-party account
560=Bound
561=Original password
562=PhotovoltaicEnergyStorage
@@ -1753,6 +1754,13 @@
559=绑定第三方账号
560=已绑定
561=原密码
562=光伏储能
563=工作正常
564=工作模式: ----
565=今日发电: ----KW·h
566=当前发电功率: ----w
567=电池SOC: --%
568=运行数据/总数据: --/--
 
@@ -2938,6 +2946,7 @@
559=Bind a third-party account
560=Bound
561=Original password
562=PhotovoltaicEnergyStorage
2532=Visitor Invitation Record
@@ -4134,6 +4143,7 @@
559=Bind a third-party account
560=Bound
561=Original password
562=PhotovoltaicEnergyStorage
2532=Visitor Invitation Record
HDL-ON_iOS/Info.plist
@@ -100,9 +100,9 @@
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>CFBundleShortVersionString</key>
    <string>1.6.002208191</string>
    <string>1.6.002209021</string>
    <key>CFBundleVersion</key>
    <string>1.6.008191</string>
    <string>1.6.009021</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Use geographic location to provide services such as weather</string>
    <key>NSAppleMusicUsageDescription</key>
HDL-ON_iOS/Resources/Language.ini
@@ -547,6 +547,7 @@
559=Bind a third-party account
560=Bound
561=Original password
562=PhotovoltaicEnergyStorage
@@ -1753,7 +1754,7 @@
559=绑定第三方账号
560=已绑定
561=原密码
562=光伏储能
 
2532=访客邀请记录
@@ -2938,6 +2939,7 @@
559=Bind a third-party account
560=Bound
561=Original password
562=PhotovoltaicEnergyStorage
2532=Visitor Invitation Record
@@ -4134,6 +4136,7 @@
559=Bind a third-party account
560=Bound
561=Original password
562=PhotovoltaicEnergyStorage
2532=Visitor Invitation Record
HDL_ON/Common/ApiUtlis.cs
@@ -433,6 +433,37 @@
                }
            })
            { IsBackground = true }.Start();
            //下载光伏数据
            new System.Threading.Thread(() => {
                try
                {
                    HttpServerRequest http = new HttpServerRequest();
                    var packData = http.GetInverterList();
                    if (packData != null)
                    {
                        if (packData.Code == StateCode.SUCCESS)
                        {
                            var inverterList = JsonConvert.DeserializeObject<List<InverterInfo>>(packData.Data.ToString());
                            if (inverterList!= null)
                            {
                                FunctionList.List.InverterList = inverterList;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MainPage.Log($"读取光伏数据异常:{ex.Message}");
                }
            }) { IsBackground = true }.Start();
        }
        /// <summary>
HDL_ON/Common/R.cs
@@ -4,6 +4,32 @@
{
    public static class StringId
    {
        public const int OperationDataTotalData = 568;
        /// <summary>
        /// 电池SOC
        /// </summary>
        public const int BatterySOC = 567;
        /// <summary>
        /// 当前发电功率
        /// </summary>
        public const int CurrentPowerGeneration = 566;
        /// <summary>
        /// 今日电量
        /// </summary>
        public const int PowerTenerationToday = 565;
        /// <summary>
        /// 工作模式
        /// </summary>
        public const int WorkingMode = 564;
        /// <summary>
        /// 工作正常
        /// </summary>
        public const int NormalOperation = 563;
        /// <summary>
        /// 光伏储能
        /// </summary>
        public const int PhotovoltaicEnergyStorage = 562;
        /// <summary>
        /// 原密码
        /// </summary>
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -2984,5 +2984,27 @@
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetCustomerInfo, requestJson);
        }
        #region 光伏储能
        /// <summary>
        /// 获取住宅下逆变器列表
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew GetInverterList()
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetInverter_List, requestJson);
            return pack;
        }
        #endregion
    }
}
HDL_ON/DAL/Server/HttpUtil.cs
@@ -18,8 +18,8 @@
        /// 公共域名就近解析
        /// </summary>
        //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
        /// <summary>
        /// RegionMark
        /// </summary>
HDL_ON/DAL/Server/NewAPI.cs
@@ -812,6 +812,18 @@
        public const string Api_Post_PlayerList = "/home-wisdom/app/wise/music/playerList";
        #endregion
        #region  ■  -- 光伏储能接口_______________________________
        /// <summary>
        /// 获取住宅下逆变器列表
        /// "appKey": "HDL-IOT-PLATFORM-TEST",
        /// "sign": "6d43303499eda78ba729eba9e8afe1e5",
        /// "timestamp": 1661764403,
        /// "homeId":0
        /// </summary>
        public const string Api_Post_GetInverter_List = "/home-wisdom/app/device/inverter/list";
        #endregion
    }
    ///// <summary>
HDL_ON/Entity/Function/InverterInfo.cs
New file
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
namespace HDL_ON.Entity
{
    /// <summary>
    /// 光伏数据
    /// </summary>
    public class InverterInfo
    {
        public InverterInfo()
        {
        }
        public string gatewayId;// 网关Id    long
        public string gatewayName;//网关名称    String
        public string deviceId;// 设备id    Long
        public string name;//设备名称    string
        public string spk;//设备spk   string
        public string sid;//设备sid   string
        public string oid;//设备oid   string
        public string omodel;// 设备型号    string
        public string osn;// 设备sn
        public string powerPvNow;// 当前发电功率  String
        public string totalElectricityPvToday;// 今日发电量   String
        public string systemStatus;// 状态  String
        public string inv;// 逆变器状态   String
        public List<InverterStatusInfo> status = new List<InverterStatusInfo>();// 属性当前状态  array
    }
    /// <summary>
    /// 逆变器状态
    /// </summary>
    public class InverterStatusInfo
    {
        public string key;// 属性名称    string
        public string value;// 属性值 string
    }
}
HDL_ON/Entity/FunctionList.cs
@@ -102,6 +102,21 @@
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        List<InverterInfo> _inverterList = new List<InverterInfo>();
        /// <summary>
        /// 光伏列表
        /// </summary>
        public List<InverterInfo> InverterList
        {
            get
            {
                return _inverterList;
            }
            set
            {
                _inverterList = value;
            }
        }
        #region 家电列表 electricals
        /// <summary>
        /// 家电列表
HDL_ON/HDL_ON.projitems
@@ -513,6 +513,7 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\Iot_AuthorizedPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\Iot_SupportSpkListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control_Tcp.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\InverterInfo.cs" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -645,8 +645,6 @@
            var lastY2 = Application.GetRealWidth(16);
            var functionContentViewHeight = Application.GetRealWidth(16);
            var functionCategoryCount = 0;
            foreach (var item in DB_ResidenceData.Instance.functionTypeList)
            {
                int functionCount = 0;
@@ -739,8 +737,6 @@
                {
                    continue;
                }
                functionCategoryCount++;
                FrameLayout functionView = new FrameLayout()
                {
@@ -1069,17 +1065,147 @@
                }
                index++;
            }
            //if (functionCategoryCount > 4)
            bool debugFlag = false;
            #if DEBUG
            debugFlag = true;
            #endif
            //光伏数据
            if (FunctionList.List.InverterList.Count > 0|| debugFlag)
            {
                //functionContentView.Height = functionContentViewHeight;// Application.GetRealWidth((240 * (functionCategoryCount / 2)));
                s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight+ Application.GetRealWidth(40);
                FrameLayout inverterListView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(223),
                    Radius = (uint)Application.GetRealWidth(6),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                    Tag =  "inverterList_View",
                    Y = index % 2 == 1 ? lastY2 : lastY1
                };
                if (index % 2 == 1)
                {
                    lastY2 += inverterListView.Height + Application.GetRealWidth(16);
                }
                else
                {
                    lastY1 += inverterListView.Height + Application.GetRealWidth(16);
                }
                if (index % 2 == 0)
                {
                    s1View.AddChidren(inverterListView);
                }
                else
                {
                    s2View.AddChidren(inverterListView);
                }
                functionContentViewHeight = inverterListView.Bottom;
                Button btnName = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(22),//14),//
                    Width = Application.GetRealWidth(140),
                    Height = Application.GetRealHeight(20),
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    TextAlignment = TextAlignment.CenterLeft,
                    IsMoreLines = true,
                    TextID = StringId.PhotovoltaicEnergyStorage,
                    IsBold = true,
                };
                inverterListView.AddChidren(btnName);
                Button btnWorkStatus = new Button()
                {
                    Y = Application.GetRealHeight(24),
                    Width = Application.GetRealWidth(148),
                    Height = Application.GetRealHeight(18),
                    TextAlignment = TextAlignment.CenterRight,
                    TextColor = 0xFF0BAF31,
                    TextID = StringId.NormalOperation,
                    TextSize = CSS_FontSize.TextFontSize
                };
                inverterListView.AddChidren(btnWorkStatus);
                Button btnWorkingMode = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnWorkStatus.Bottom + Application.GetRealHeight(16),
                    Width = Application.GetRealWidth(148),
                    Height = Application.GetRealHeight(18),
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextID = StringId.WorkingMode,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                inverterListView.AddChidren(btnWorkingMode);
                Button btnPowerTenerationToday = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnWorkingMode.Bottom + Application.GetRealHeight(16),
                    Width = Application.GetRealWidth(148),
                    Height = Application.GetRealHeight(18),
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextID = StringId.PowerTenerationToday,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                inverterListView.AddChidren(btnPowerTenerationToday);
                Button btnCurrentPowerGeneration = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnPowerTenerationToday.Bottom + Application.GetRealHeight(16),
                    Width = Application.GetRealWidth(148),
                    Height = Application.GetRealHeight(18),
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextID = StringId.CurrentPowerGeneration,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                inverterListView.AddChidren(btnCurrentPowerGeneration);
                Button btnBatterySOC = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnCurrentPowerGeneration.Bottom + Application.GetRealHeight(16),
                    Width = Application.GetRealWidth(148),
                    Height = Application.GetRealHeight(18),
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextID = StringId.BatterySOC,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                inverterListView.AddChidren(btnBatterySOC);
                Button btnOperationDataTotalData = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnBatterySOC.Bottom + Application.GetRealHeight(16),
                    Width = Application.GetRealWidth(148),
                    Height = Application.GetRealHeight(18),
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextID = StringId.OperationDataTotalData,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                inverterListView.AddChidren(btnOperationDataTotalData);
                index++;
            }
            s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight+ Application.GetRealWidth(40);
#endregion
        }
        #region 切换楼层
#region 切换楼层
        /// <summary>
        /// 楼层显示切换
        /// </summary>
@@ -1236,6 +1362,6 @@
        {
        }
        #endregion
#endregion
    }
}
SiriIntents/Server/HttpServerRequest.cs
@@ -91,11 +91,11 @@
            d.Add("homeId", DataManager.HomeId);
            d.Add("securitys", securityStates);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            var pack = HttpUtil.RequestHttpsPostFroHome(
                NewAPI.Api_Post_Security_StatusSet, requestJson);
            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_StatusSet, requestJson);
            return pack.Code;
        }
    }
}
SiriIntents/Server/HttpUtil.cs
@@ -16,8 +16,8 @@
        /// 固定域名,正式环境
        /// 公共域名就近解析
        /// </summary>
        //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
        /// <summary>
        /// RegionMark
        /// </summary>
SiriIntents/Server/NewAPI.cs
@@ -736,6 +736,8 @@
        public const string Api_Post_BindSourcePanel = "/home-wisdom/source/screen/home/bind";
    }
    ///// <summary>