.vs/HDL_APP_Project/xs/UserPrefs.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL-ON_Android/Resources/Resource.designer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/Common/ApiUtlis.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/DAL/Server/HttpServerRequest.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/Entity/FunctionList.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI1-Login/LoginPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,46 +1,42 @@ <Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default"> <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.26569F89-0BA9-4C06-81F2-764A3AF2E1B7" /> <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI1-Login/LoginPage.cs"> <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008020-000404163432002E" /> <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/Common/ApiUtlis.cs"> <Files> <File FileName="HDL_ON/Common/R.cs" Line="1310" Column="45" /> <File FileName="HDL_ON/UI/UI1-Login/LoginPage.cs" Line="386" Column="60" /> <File FileName="HDL_ON/Entity/FunctionList.cs" /> <File FileName="HDL_ON/UI/UI1-Login/LoginPage.cs" Line="214" Column="44" /> <File FileName="HDL_ON/DAL/DriverLayer/Control.cs" /> <File FileName="../../Library/Containers/com.tencent.WeWorkMac/Data/Library/Application Support/WXWork/Data/1688852687634638/Cache/File/2021-03/DeviceTemperatureHistoryForm(1).cs" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage_AddIrButton.cs" Line="1" Column="1" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" Line="488" Column="50" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs" Line="20" Column="16" /> <File FileName="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" Line="498" Column="45" /> <File FileName="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" Line="508" Column="1" /> <File FileName="HDL_ON/DAL/Server/IMessageCommon.cs" Line="213" Column="43" /> <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="21" Column="89" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs" Line="44" Column="1" /> <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="1824" Column="90" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs" Line="262" Column="14" /> <File FileName="HDL_ON/UI/UI2/2-Classification/FunctionPage.cs" Line="1" Column="1" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs" Line="366" Column="55" /> <File FileName="HDL_ON/Common/ApiUtlis.cs" Line="284" Column="1" /> <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="2244" Column="95" /> <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="101" Column="1" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" Line="209" Column="22" /> </Files> <Pads> <Pad Id="ProjectPad"> <State name="__root__"> <Node name="HDL_APP_Project" expanded="True"> <Node name="HDL_ON" expanded="True"> <Node name="Common" expanded="True" /> <Node name="Common" expanded="True"> <Node name="ApiUtlis.cs" selected="True" /> </Node> <Node name="DAL" expanded="True"> <Node name="Server" expanded="True" /> </Node> <Node name="Entity" expanded="True" /> <Node name="UI" expanded="True"> <Node name="UI0-Stan" expanded="True"> <Node name="Form" expanded="True"> <Node name="Base" expanded="True" /> </Node> </Node> <Node name="UI1-Login" expanded="True"> <Node name="LoginPage.cs" selected="True" /> </Node> <Node name="UI1-Login" expanded="True" /> <Node name="UI2" expanded="True"> <Node name="2-Classification" expanded="True" /> <Node name="4-PersonalCenter" expanded="True"> <Node name="AddFunction" expanded="True" /> </Node> <Node name="FuntionControlView" expanded="True"> <Node name="Electrical" expanded="True" /> <Node name="Video" expanded="True" /> </Node> </Node> </Node> @@ -51,6 +47,11 @@ </Node> </State> </Pad> <Pad Id="MonoDevelop.Debugger.WatchPad"> <State> <Value>apiPath</Value> </State> </Pad> </Pads> </MonoDevelop.Ide.Workbench> <MonoDevelop.Ide.DebuggingService.PinnedWatches /> @@ -59,10 +60,12 @@ <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String> <String>Shared.IOS/Shared.IOS.csproj</String> </DisabledProjects> <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" /> <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" /> <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.SelectDevice" /> <MonoDevelop.Ide.DebuggingService.Breakpoints> <BreakpointStore /> <BreakpointStore> <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/Common/ApiUtlis.cs" relfile="HDL_ON/Common/ApiUtlis.cs" line="284" column="1" /> </BreakpointStore> </MonoDevelop.Ide.DebuggingService.Breakpoints> <MultiItemStartupConfigurations /> </Properties> HDL-ON_Android/Resources/Resource.designer.cs
Diff too large HDL_ON/Common/ApiUtlis.cs
@@ -277,6 +277,13 @@ //===================读取逻辑列表========================== UI.UI2.Intelligence.Automation.MainView.GetLogicList(); //===================读取可视对讲数据========================== var flVideoInfo = HttpRequest.CheckFlVideo(); if(flVideoInfo.Code == StateCode.SUCCESS) { FunctionList.List.videoIntercom = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.Video.VideoMethod.VideoClouds>(flVideoInfo.Data.ToString()); } } catch (Exception ex) { HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -492,12 +492,7 @@ Address = mHome.homeAddress, isAllowCreateScene = mHome.isAllowCreateScene, }; #if DEBUG UserInfo.Current.regionList.Add(home); continue; #endif if (home.isBindGateway) //if (home.isBindGateway) { UserInfo.Current.regionList.Add(home); } @@ -2230,11 +2225,25 @@ public ResponsePackNew EZGetChildToken() { Dictionary<string, object> d = new Dictionary<string, object>(); //d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.RegionID); var requestJson = HttpUtil.GetSignRequestJson(d); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_EZ_GetChildToken, requestJson); } #endregion #region 可视对讲 /// <summary> /// 检查住宅是否绑定丰林,并获取门口机列表 /// </summary> /// <returns></returns> public ResponsePackNew CheckFlVideo() { Dictionary<string, object> d = new Dictionary<string, object>(); d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.RegionID); var requestJson = HttpUtil.GetSignRequestJson(d); var pack = HttpUtil.RequestHttpsPostFroHome( NewAPI.API_POST_FL_Check, requestJson); return pack; } #endregion } } HDL_ON/Entity/FunctionList.cs
@@ -128,6 +128,14 @@ return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } /// <summary> /// 可视对讲列表 /// </summary> public UI.UI2.FuntionControlView.Video.VideoMethod.VideoClouds videoIntercom; /// <summary> /// 场景列表 /// </summary> public List<Scene> scenes = new List<Scene>(); /// <summary> HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -204,9 +204,10 @@ } else { etAccount.Text = "BB01010101@evoyo.com";//可视对讲 //etAccount.Text = "13168123446"; //etAccount.Text = "13602944661";//kx etAccount.Text = "18316120654";//凉霸"18666455392";//13375012446//13602944661//tzy 18778381374 //etAccount.Text = "18316120654";//凉霸"18666455392";//13375012446//13602944661//tzy 18778381374 //15971583093 gs//tzy 274116637@qq.com//Sumant.Bhatia@havells.com 国外服务器测试 } b = !b; HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -501,6 +501,10 @@ functionCount = FunctionList.List.GetArmSensorList().Count; break; case ShowFunction.VideoIntercom: if (FunctionList.List.videoIntercom != null) { functionCount = 1; } break; } @@ -801,12 +805,20 @@ break; case ShowFunction.VideoIntercom: btnName.TextID = StringId.VideoIntercom; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { var mainView = new HDL_ON.UI.UI2.FuntionControlView.Video.MainView(); MainPage.BasePageView.AddChidren(mainView); mainView.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; break; } //界面跳转--音乐跳转自己的界面--环境跳转自己的界面 if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring && ShowFunction.EnergyMonitoring!= item) && ShowFunction.EnergyMonitoring!= item && ShowFunction.VideoIntercom != item) { btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
@@ -260,12 +260,6 @@ { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod videoMethod = new UI2.FuntionControlView.Video.VideoMethod(); videoMethod.getVideo((device) => { videoMethod.MianView(this, device); }, this, true); return; var page = new BrandListPage();// AddThirdPartyBrandListpage(); // BrandListPage(); MainPage.BasePageView.AddChidren(page); HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs
@@ -5,6 +5,7 @@ using HDL_ON.Stan; using ZXing.QrCode.Internal; using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod; using HDL_ON.Entity; namespace HDL_ON.UI.UI2.FuntionControlView.Video { @@ -16,8 +17,10 @@ /// <param name="listVideo">门口机列表</param> /// <param name="listCall">通话记录列表</param> /// <param name="video">当前的可视对讲</param> public void Show(List<VideoMethod.FlVideo> listVideo, List<CallView> listCall, VideoClouds video) //public void Show(List<VideoMethod.FlVideo> listVideo, List<CallView> listCall, VideoClouds video) public void Show() { #region 布局界面 this.BackgroundColor = MusicColor.ViewColor; var topView = new TopView(); @@ -39,8 +42,8 @@ pageView.AddChidren(view1); var view2 = new FrameLayout(); pageView.AddChidren(view2); View1(view1, listVideo, video); View2(view2, listCall, video); View1(view1); View2(view2); Button btn11 = new Button { X = Application.GetRealWidth(170), @@ -105,191 +108,196 @@ /// <param name="view1">父控件</param> /// <param name="list">门口机列表</param> /// <param name="videoClouds">当前的可视对讲</param> void View1(FrameLayout view1, List<VideoMethod.FlVideo> list, VideoClouds videoClouds) void View1(FrameLayout view1) { #region 布局界面 var bjFl = new FrameLayout { Y = Application.GetRealHeight(24), X = Application.GetRealWidth(24), Height = Application.GetRealHeight(526), Width = Application.GetRealWidth(327), BackgroundImagePath = "MusicIcon/playBj.png", }; view1.AddChidren(bjFl); /// <summary> /// 汉字 /// </summary> Button nameBtn = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(16), Width = Application.GetRealWidth(100), Height = Application.GetRealHeight(33), TextColor = MusicColor.MusicTxet14Color, TextSize = TextSize.Text24, TextAlignment = TextAlignment.CenterLeft, //Text = "可视对讲", TextID = StringId.keshiduijiang, }; bjFl.AddChidren(nameBtn); /// <summary> /// 区域名称 /// </summary> Button regionBtn = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(53), Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(17), TextColor = MusicColor.MusicNoTxetColor, TextSize = TextSize.Text12, TextAlignment = TextAlignment.CenterLeft, Text = "123456" }; bjFl.AddChidren(regionBtn); /// <summary> ///收藏图标 /// </summary> Button collectIconBtn = new Button { X = Application.GetRealWidth(273), Y = Application.GetRealHeight(14), Width = Application.GetRealWidth(40), Height = Application.GetRealWidth(40), UnSelectedImagePath = "MusicIcon/collect.png", SelectedImagePath = "MusicIcon/collectSelected.png", }; bjFl.AddChidren(collectIconBtn); ///可视对讲图标 Button intercomBtnIcon = new Button { X = Application.GetRealWidth(84), Y = Application.GetRealHeight(118), Width = Application.GetRealWidth(160), Height = Application.GetRealWidth(160), UnSelectedImagePath = "VideoIcon/keshiduijiang.png", }; bjFl.AddChidren(intercomBtnIcon); var vv = new VerticalScrolViewLayout new System.Threading.Thread(() => { Y = Application.GetRealHeight(306), Height = Application.GetRealHeight(220), Width = Application.GetRealWidth(327), }; bjFl.AddChidren(vv); if (list.Count > 0) { //门禁二维码固定有的,虚拟一个出来 list.Add(new VideoMethod.FlVideo { aliasName =Language.StringByID(StringId.menjinerweima), devType = "100" }); } //数组个数 //int value = 15; //先计算数据所需要的很高度; int l = 0; if (list.Count % 3 == 0) { l = list.Count / 3; } else { l = (list.Count / 3) + 1; } var fL = new FrameLayout { Height = Application.GetRealHeight((48 + 24) * l), }; vv.AddChidren(fL); int line = 0; #endregion for (int i = 1, j = 0; i <= list.Count; i++, j++) { var video = list[i - 1]; #region var fLayout = new FrameLayout var list = VideoSend.GetVideoInfoList(FunctionList.List.videoIntercom); Application.RunOnMainThread(() => { Width = Application.GetRealWidth(50), Height = Application.GetRealWidth(48), X = Application.GetRealWidth(31 + (58 + 50) * j), Y = Application.GetRealHeight(20 + (48 + 24) * line), }; fL.AddChidren(fLayout); var iconBtn = new Button { X = Application.GetRealWidth(11), Width = Application.GetRealWidth(28), Height = Application.GetRealWidth(28), UnSelectedImagePath = "VideoIcon/weiqiangji.png", }; fLayout.AddChidren(iconBtn); var deviceNameBtn = new Button { Y = iconBtn.Bottom + Application.GetRealHeight(6), Width = Application.GetRealWidth(50), Height = Application.GetRealHeight(14), TextSize = TextSize.Text10, TextColor = CSS.CSS_Color.TextualColor, TextAlignment = TextAlignment.Center, Text = video.aliasName, }; fLayout.AddChidren(deviceNameBtn); var clickBtn = new Button { Tag = video }; fLayout.AddChidren(clickBtn); if (i % 3 == 0) { //满一行重置j=0值; j = -1; line += 1; } getIconAndText(video, iconBtn); #endregion //门口机的点击事件 clickBtn.MouseUpEventHandler += (sender, e) => { var flVideo = clickBtn.Tag as VideoMethod.FlVideo; if (flVideo.devType == "100") #region 布局界面 var bjFl = new FrameLayout { //门禁二维码固定有的 VideoSend.GetQRcode(this, videoClouds, (tag, paw) => { if (tag) { //注意:密码有可能延时1分钟生效 View.ShowDialog showDialog = new View.ShowDialog(); showDialog.QRcode(paw); } }); Y = Application.GetRealHeight(24), X = Application.GetRealWidth(24), Height = Application.GetRealHeight(526), Width = Application.GetRealWidth(327), BackgroundImagePath = "MusicIcon/playBj.png", }; view1.AddChidren(bjFl); /// <summary> /// 汉字 /// </summary> Button nameBtn = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(16), Width = Application.GetRealWidth(100), Height = Application.GetRealHeight(33), TextColor = MusicColor.MusicTxet14Color, TextSize = TextSize.Text24, TextAlignment = TextAlignment.CenterLeft, //Text = "可视对讲", TextID = StringId.keshiduijiang, }; bjFl.AddChidren(nameBtn); /// <summary> /// 区域名称 /// </summary> Button regionBtn = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(53), Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(17), TextColor = MusicColor.MusicNoTxetColor, TextSize = TextSize.Text12, TextAlignment = TextAlignment.CenterLeft, Text = "123456" }; bjFl.AddChidren(regionBtn); /// <summary> ///收藏图标 /// </summary> Button collectIconBtn = new Button { X = Application.GetRealWidth(273), Y = Application.GetRealHeight(14), Width = Application.GetRealWidth(40), Height = Application.GetRealWidth(40), UnSelectedImagePath = "MusicIcon/collect.png", SelectedImagePath = "MusicIcon/collectSelected.png", }; bjFl.AddChidren(collectIconBtn); ///可视对讲图标 Button intercomBtnIcon = new Button { X = Application.GetRealWidth(84), Y = Application.GetRealHeight(118), Width = Application.GetRealWidth(160), Height = Application.GetRealWidth(160), UnSelectedImagePath = "VideoIcon/keshiduijiang.png", }; bjFl.AddChidren(intercomBtnIcon); var vv = new VerticalScrolViewLayout { Y = Application.GetRealHeight(306), Height = Application.GetRealHeight(220), Width = Application.GetRealWidth(327), }; bjFl.AddChidren(vv); if (list.Count > 0) { //门禁二维码固定有的,虚拟一个出来 list.Add(new VideoMethod.FlVideo { aliasName = Language.StringByID(StringId.menjinerweima), devType = "100" }); } //数组个数 //int value = 15; //先计算数据所需要的很高度; int l = 0; if (list.Count % 3 == 0) { l = list.Count / 3; } else { if (string.IsNullOrEmpty(flVideo.uuid)) { new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.peizhicanshuyouyichang)); } ESVideoInfo eSVideoInfo = new ESVideoInfo { ESVideoUUID = getUuid(flVideo.uuid), DeviceName = flVideo.aliasName, roomno = videoClouds.flRoomId, unitno = videoClouds.flBuildingId, }; ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo); l = (list.Count / 3) + 1; } var fL = new FrameLayout { Height = Application.GetRealHeight((48 + 24) * l), }; vv.AddChidren(fL); int line = 0; #endregion for (int i = 1, j = 0; i <= list.Count; i++, j++) { var video = list[i - 1]; #region var fLayout = new FrameLayout { Width = Application.GetRealWidth(50), Height = Application.GetRealWidth(48), X = Application.GetRealWidth(31 + (58 + 50) * j), Y = Application.GetRealHeight(20 + (48 + 24) * line), }; fL.AddChidren(fLayout); var iconBtn = new Button { X = Application.GetRealWidth(11), Width = Application.GetRealWidth(28), Height = Application.GetRealWidth(28), UnSelectedImagePath = "VideoIcon/weiqiangji.png", }; fLayout.AddChidren(iconBtn); var deviceNameBtn = new Button { Y = iconBtn.Bottom + Application.GetRealHeight(6), Width = Application.GetRealWidth(50), Height = Application.GetRealHeight(14), TextSize = TextSize.Text10, TextColor = CSS.CSS_Color.TextualColor, TextAlignment = TextAlignment.Center, Text = video.aliasName, }; fLayout.AddChidren(deviceNameBtn); var clickBtn = new Button { Tag = video }; fLayout.AddChidren(clickBtn); if (i % 3 == 0) { //满一行重置j=0值; j = -1; line += 1; } getIconAndText(video, iconBtn); #endregion //门口机的点击事件 clickBtn.MouseUpEventHandler += (sender, e) => { var flVideo = clickBtn.Tag as VideoMethod.FlVideo; if (flVideo.devType == "100") { //门禁二维码固定有的 VideoSend.GetQRcode(this, FunctionList.List.videoIntercom, (tag, paw) => { if (tag) { //注意:密码有可能延时1分钟生效 View.ShowDialog showDialog = new View.ShowDialog(); showDialog.QRcode(paw); } }); } else { if (string.IsNullOrEmpty(flVideo.uuid)) { new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.peizhicanshuyouyichang)); } ESVideoInfo eSVideoInfo = new ESVideoInfo { ESVideoUUID = getUuid(flVideo.uuid), DeviceName = flVideo.aliasName, roomno = FunctionList.List.videoIntercom.flRoomId, unitno = FunctionList.List.videoIntercom.flBuildingId, }; ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo); } }; } }; } }); }) { IsBackground = true }.Start(); } /// <summary> /// 第二个界面 @@ -297,67 +305,73 @@ /// <param name="view2">父控件</param> /// <param name="listCall">通话记录列表</param> /// <param name="video">当前的可视对讲</param> void View2(FrameLayout view2, List<CallView> listCall, VideoClouds video) void View2(FrameLayout view2) { new System.Threading.Thread(() => { var listCall = new HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod().getCall(FunctionList.List.videoIntercom.id); Application.RunOnMainThread(() => { var bjFl = new FrameLayout { Y = Application.GetRealHeight(24), X = Application.GetRealWidth(24), Height = Application.GetRealHeight(526), Width = Application.GetRealWidth(327), BackgroundImagePath = "MusicIcon/playBj.png", }; view2.AddChidren(bjFl); /// <summary> /// 汉字 /// </summary> Button nameBtn = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(16), Width = Application.GetRealWidth(100), Height = Application.GetRealHeight(33), TextColor = MusicColor.MusicTxet14Color, TextSize = TextSize.Text24, TextAlignment = TextAlignment.CenterLeft, TextID = StringId.tonghuajilu, }; bjFl.AddChidren(nameBtn); /// <summary> /// 云端照片只保留30天 /// </summary> Button regionBtn = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(53), Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(17), TextColor = MusicColor.SelectedColor, TextSize = TextSize.Text12, TextAlignment = TextAlignment.CenterLeft, TextID = StringId.baolu30, }; bjFl.AddChidren(regionBtn); var bjFl = new FrameLayout { Y = Application.GetRealHeight(24), X = Application.GetRealWidth(24), Height = Application.GetRealHeight(526), Width = Application.GetRealWidth(327), BackgroundImagePath = "MusicIcon/playBj.png", }; view2.AddChidren(bjFl); /// <summary> /// 汉字 /// </summary> Button nameBtn = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(16), Width = Application.GetRealWidth(100), Height = Application.GetRealHeight(33), TextColor = MusicColor.MusicTxet14Color, TextSize = TextSize.Text24, TextAlignment = TextAlignment.CenterLeft, TextID = StringId.tonghuajilu, }; bjFl.AddChidren(nameBtn); /// <summary> /// 云端照片只保留30天 /// </summary> Button regionBtn = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(53), Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(17), TextColor = MusicColor.SelectedColor, TextSize = TextSize.Text12, TextAlignment = TextAlignment.CenterLeft, TextID = StringId.baolu30, }; bjFl.AddChidren(regionBtn); var vv = new VerticalRefreshLayout { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(58), Height = Application.GetRealHeight(458), Width = Application.GetRealWidth(295), }; bjFl.AddChidren(vv); vv.BeginHeaderRefreshingAction += () => { VideoMethod videoMethod = new VideoMethod(); var list = videoMethod.getCall(video.id); RefreshView(vv, list); //关闭刷新View; vv.EndHeaderRefreshing(); }; RefreshView(vv, listCall); var vv = new VerticalRefreshLayout { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(58), Height = Application.GetRealHeight(458), Width = Application.GetRealWidth(295), }; bjFl.AddChidren(vv); vv.BeginHeaderRefreshingAction += () => { VideoMethod videoMethod = new VideoMethod(); var list = videoMethod.getCall(FunctionList.List.videoIntercom.id); RefreshView(vv, list); //关闭刷新View; vv.EndHeaderRefreshing(); }; //RefreshView(vv, listCall); }); }) { IsBackground = true }.Start(); } /// <summary> /// 通话记录刷新界面 HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs
@@ -8,62 +8,61 @@ { public class VideoMethod { /// <summary> /// 程序主入口 /// </summary> /// <param name="frameLayout">log父控件</param> /// <param name="video">可视对讲对象</param> public void MianView(FrameLayout frameLayout, VideoClouds video) { //加载log Loading loading = new Loading(); frameLayout.AddChidren(loading); loading.Start(); List<VideoMethod.FlVideo> listESVideoInfo = new List<VideoMethod.FlVideo>(); List<CallView> listCall = new List<CallView>(); new System.Threading.Thread(() => { try { listESVideoInfo = VideoSend.GetVideoInfoList(video); listCall = getCall(video.id); } catch { } finally { Application.RunOnMainThread(() => { loading.Hide(); var mainView = new MainView(); MainPage.BasePageView.AddChidren(mainView); mainView.Show(listESVideoInfo, listCall, video); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); } }) { IsBackground = true }.Start(); } /// <summary> /// 获取可视对讲 /// </summary> /// <param name="action">回调函数</param> /// <param name="frame">log父控件</param> public void getVideo(Action<VideoClouds> action, FrameLayout frame, bool tag) { ThreadSend(null, (responsePackNew) => { try { var str = responsePackNew.Data.ToString(); var videoObj = Newtonsoft.Json.JsonConvert.DeserializeObject<VideoClouds>(str); action(videoObj); } catch { } }, "获取可视对讲", "fram", frame, null, tag); } ///// <summary> ///// 程序主入口 ///// </summary> ///// <param name="frameLayout">log父控件</param> ///// <param name="video">可视对讲对象</param> //public void MianView(FrameLayout frameLayout, VideoClouds video) //{ // //加载log // Loading loading = new Loading(); // frameLayout.AddChidren(loading); // loading.Start(); // List<VideoMethod.FlVideo> listESVideoInfo = new List<VideoMethod.FlVideo>(); // List<CallView> listCall = new List<CallView>(); // new System.Threading.Thread(() => // { // try // { // listESVideoInfo = VideoSend.GetVideoInfoList(video); // listCall = getCall(video.id); // } // catch // { // } // finally // { // Application.RunOnMainThread(() => // { // loading.Hide(); // var mainView = new HDL_ON.UI.UI2.FuntionControlView.Video.MainView(); // MainPage.BasePageView.AddChidren(mainView); // mainView.Show(); // MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; // }); // } // }) // { IsBackground = true }.Start(); //} ///// <summary> ///// 获取可视对讲 ///// </summary> ///// <param name="action">回调函数</param> ///// <param name="frame">log父控件</param> //public void getVideo(Action<VideoClouds> action, FrameLayout frame, bool tag) //{ // ThreadSend(null, (responsePackNew) => // { // try // { // var str = responsePackNew.Data.ToString(); // var videoObj = Newtonsoft.Json.JsonConvert.DeserializeObject<VideoClouds>(str); // action(videoObj); // } // catch { } // }, "获取可视对讲", "fram", frame, null, tag); //} /// <summary> /// 获取历史通话记录 /// </summary> @@ -138,7 +137,7 @@ /// <param name="frame">log父控件</param> /// <param name="dialog">log父控件</param> /// <param name="tag">是否要显示log</param> public static void ThreadSend(VideoClouds videoObj, Action<ResponsePackNew> action, string str, string view, FrameLayout frame, Dialog dialog, bool tag = true) public void ThreadSend(VideoClouds videoObj, Action<ResponsePackNew> action, string str, string view, FrameLayout frame, Dialog dialog, bool tag = true) { //加载log @@ -203,18 +202,9 @@ } /// <summary> /// 随机密码6位 /// </summary> /// <returns></returns> public static string getCode() { Random rand = new Random(); string code = ""; for (int ctr = 0; ctr < 6; ctr++) { code += rand.Next(10).ToString(); } return code; } /// <summary> /// 获取当前时间戳 /// </summary> /// <returns></returns> public static string GetCurrentTimeStamp() { //TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0); //return Convert.ToInt64(ts.TotalSeconds).ToString(); System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 return ((long)(DateTime.Now - startTime).TotalSeconds).ToString(); // 相差秒数 } /// <summary> /// 获取当前时间戳 /// </summary> /// <returns></returns> public static string GetTomorrowTimeStamp() { //当前时间的后一天 //TimeSpan ts = DateTime.Now.AddDays(1) - new DateTime(1970, 1, 1, 0, 0, 0, 0); //return Convert.ToInt64(ts.TotalSeconds).ToString(); System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 return ((long)(DateTime.Now.AddDays(1) - startTime).TotalSeconds).ToString(); // 相差秒数 } [Serializable] public class VideoClouds { HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
@@ -67,21 +67,32 @@ catch { } return eSVideoInfosList; } /// <summary> /// 随机密码6位 /// </summary> /// <returns></returns> public static string getCode() { Random rand = new Random(); string code = ""; for (int ctr = 0; ctr < 6; ctr++) { code += rand.Next(10).ToString(); } return code; } /// <summary> /// 上报动态开锁密码(注意:密码有可能延时1分钟生效) /// </summary> public static void GetQRcode(FrameLayout frame, VideoMethod.VideoClouds video, Action<bool, string> action) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 var timeStamp = ((long)(DateTime.Now - startTime).TotalSeconds).ToString(); // 相差秒数 var timeStamp2 = ((long)(DateTime.Now.AddDays(1) - startTime).TotalSeconds).ToString(); // 相差秒数 ///标记是否成功 bool if_bool = false; //临时密码 string pwd = VideoMethod.getCode(); string pwd = getCode(); var jobject = new JObject(); jobject.Add("communityID", video.flCmtId);//社区ID jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//开始时间 jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//有效时间 jobject.Add("fromTime", timeStamp);//开始时间 jobject.Add("validTime", timeStamp2);//有效时间 jobject.Add("unitno", video.flBuildingId);//单元号 jobject.Add("roomno", video.flRoomId);//房间号 jobject.Add("code", pwd); jobject.Add("userKey", video.id); jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp()); jobject.Add("secretKey", video.flSecretKey); jobject.Add("method", "setdynamicpwd"); jobject.Add("numTimes", "5"); jobject.Add("code", pwd); jobject.Add("userKey", video.id); jobject.Add("timestamp", timeStamp); jobject.Add("secretKey", video.flSecretKey); jobject.Add("method", "setdynamicpwd"); jobject.Add("numTimes", "5"); //加载log Loading loading = new Loading(); frame.AddChidren(loading);