xm
2021-11-24 e7385e16297cc9659d0cc0eaf3cdf0786a3d35ce
2021-11-24-01

优化地理围栏上报功能
5个文件已修改
96 ■■■■■ 已修改文件
.vs/HDL_APP_Project/xs/UserPrefs.xml 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Application.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,18 +1,6 @@
<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget." />
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs">
    <Files>
      <File FileName="HDL_ON/UI/MainPage.cs" Line="111" Column="27" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs" Line="196" Column="40" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/OutdoorEnvironment.cs" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/FunTypeView.cs" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs" Line="911" Column="6" />
    </Files>
  <MonoDevelop.Ide.Workbench>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
@@ -21,16 +9,14 @@
              <Node name="UI" expanded="True">
                <Node name="UI2" expanded="True">
                  <Node name="3-Intelligence" expanded="True">
                    <Node name="Automation" expanded="True">
                      <Node name="LogicMethod.cs" selected="True" />
                    <Node name="Automation" expanded="True" />
                    </Node>
                  </Node>
                <Node name="MainPage.cs" selected="True" />
                </Node>
              </Node>
            </Node>
            <Node name="HDL-ON_Android" expanded="True">
              <Node name="Properties" expanded="True" />
            </Node>
            <Node name="HDL-ON_Android" expanded="True" />
            <Node name="HDL-ON_iOS" expanded="True" />
          </Node>
        </State>
      </Pad>
@@ -42,7 +28,7 @@
    <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String>
    <String>Shared.IOS/Shared.IOS.csproj</String>
  </DisabledProjects>
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhoneSimulator" />
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.2ffc9a07" />
  <MonoDevelop.Ide.DebuggingService.Breakpoints>
    <BreakpointStore>
HDL-ON_Android/Application.cs
@@ -149,15 +149,23 @@
            HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider");
            //Shared.Application.IsGpsEnable = true;
      bool isfirst = true;
            //获取经纬度 
            Shared.Application.LocationAction = (lon, lat) =>
            {
                try
                {
                    Shared.Application.LocationAction = null;
          if (isfirst)
          {
            //只触发一次
            //Shared.Application.LocationAction = null;
                    new HDL_ON.DAL.Server.HttpServerRequest().GetCityWeatherInfo(lon.ToString(), lat.ToString());
          }
          isfirst = false;
          ///监听经纬度
          HDL_ON.UI.UI2.Intelligence.Automation.LogicMethod.CurrLogicMethod.AppLatAndLonEvent(lon, lat);
                    //关闭定位服务
                    Shared.Application.StopGPSLocationService();
          //Shared.Application.StopGPSLocationService();
                }
                catch (Exception ex)
                {
HDL_ON/UI/MainPage.cs
@@ -120,7 +120,8 @@
        /// </summary>
        public static List<string> RoomNotSupportFunctionList
        {
            get {
      get
      {
                if(_RoomNotSupportFunctionList == null)
                {
                    _RoomNotSupportFunctionList = new List<string>();
@@ -145,8 +146,7 @@
                BaseView = Application.MainPage;
                Application.MainPage.BackgroundColor = CSS_Color.MainBackgroundColor;
                ///监听经纬度
                HDL_ON.UI.UI2.Intelligence.Automation.LogicMethod.CurrLogicMethod.AppLatAndLonEvent();
                //#region 测试
                //var ddd = new UI.test.TestDialog();
@@ -281,7 +281,8 @@
                StartX = (int)e.X;
                BtnBackIcon.Y = (int)e.Y + Application.GetRealHeight(50);
            };
            backView.MouseUpEventHandler = (sender, e) => {
      backView.MouseUpEventHandler = (sender, e) =>
      {
                MainPage.Log($"up{e.X}");
                StartX = 0;
                BtnBackIcon.X = -Application.GetRealWidth(100);
@@ -294,7 +295,8 @@
                    }
                }
            };
            backView.MouseUpOutsideEventHandler = (sender, e) => {
      backView.MouseUpOutsideEventHandler = (sender, e) =>
      {
                MainPage.Log($"up{e.X}");
                StartX = 0;
                BtnBackIcon.X = -Application.GetRealWidth(100);
@@ -370,7 +372,8 @@
                catch (Exception ex)
                {
                    MainPage.Log($"GoUserPage : {ex.Message}");
                }finally
        }
        finally
                {
                    Application.RunOnMainThread(() =>
                    {
@@ -427,11 +430,13 @@
                                if (view.Tag.ToString() != "unlockpage")
                                {
                                    view.RemoveFromParent();
                                }else
                }
                else
                                {
                                    result = 2;
                                }
                            }else
              }
              else
                            {
                                view.RemoveFromParent();
                            }
HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs
@@ -11,7 +11,6 @@
    }
    public void Show()
    {
      LogicView.TopView topView = new LogicView.TopView();
      this.AddChidren(topView.FLayoutView());
      topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -827,16 +827,23 @@
    /// <summary>
    /// APP上报GPS经纬度
    /// </summary>
    public void AppLatAndLonEvent()
    /// <param name="lon">APP GPS经度</param>
    /// <param name="lat">APP GPS纬度</param>
    public void AppLatAndLonEvent(double lon, double lat)
    {
      Application.LocationAction += (lon, lat) =>
      {
        ////GPS坐标转成高德坐标
        //double out_lng, out_lat;
        //this.WGS84_to_GCJ02(lon, lat, out out_lng, out out_lat);
        //上报经纬度
      Console.WriteLine($"GPS经度===={lon}  \nGPS纬度===={lat}");
      //Application.LocationAction += (lon, lat) =>
      //{
      //  Console.WriteLine($"GPS经度===={lon}");
      //  Console.WriteLine($"GPS纬度===={lat}");
      //  ////GPS坐标转成高德坐标
      //  //double out_lng, out_lat;
      //  //this.WGS84_to_GCJ02(lon, lat, out out_lng, out out_lat);
      //  //上报经纬度
      //  this.AutomatedGeofenceStatusReporting(lon, lat);
      //};
      //上报经纬度<gps 上报条件大于30秒且移动距离大于100米,上报经纬度>
        this.AutomatedGeofenceStatusReporting(lon, lat);
      };
    }
    /// <summary>
@@ -848,7 +855,11 @@
    {
      List<LogicData> logicDataList = new List<LogicData>();
      logicDataList.Clear();
      //获取逻辑ID列表
      System.Threading.Tasks.Task.Run(() =>
      {
        try
        {
          //获取逻辑ID列表<备注:如果只针对当前手机的话,可以直接拿缓存数据自动化列表遍历>
      var idStr = Send.GetLogicIdList();
      if (idStr.Code == "0" && idStr.Data != null && idStr.Data.ToString() != "")
      {
@@ -896,11 +907,13 @@
            bool push = Send.GeoFenceStateReport(logicDate.userLogicId, logicDate.sid, direction);
            if (push)
            {
                  ///添加到推送列表
              pushList.Add(new Push
              {
                homeId = HomeId,
                userId = UserInfo.Current.ID,
                userLogicId = logicDate.userLogicId,
                    sid = logicDate.sid,
                arriveOnLeave = direction,
              });
            }
@@ -909,8 +922,11 @@
      }
    }
        catch { }
      });
    }
    /// <summary>
    ///
    /// 推送列表<这里数据已经推送过>
    /// </summary>
    private static List<Push> pushList = new List<Push>();