.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,45 +1,38 @@ <Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default"> <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/DAL/Server/HttpServerRequest.cs"> <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008020-001674E61438002E" /> <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/Common/ApiUtlis.cs"> <Files> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs" Line="19" Column="106" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" Line="33" Column="1" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs" Line="22" Column="77" /> <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/BrandList.cs" /> <File FileName="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" Line="512" Column="1" /> <File FileName="HDL_ON/Entity/Enumerative/MyEnum.cs" Line="1" Column="1" /> <File FileName="HDL_ON/DAL/Server/NewAPI.cs" Line="541" Column="46" /> <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="2249" Column="2" /> <File FileName="HDL_ON/Common/ApiUtlis.cs" Line="281" Column="60" /> <File FileName="HDL_ON/Entity/FunctionList.cs" Line="1" Column="1" /> <File FileName="HDL_ON/DAL/FileUtils.cs" Line="1" Column="1" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" Line="48" Column="10" /> <File FileName="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" /> <File FileName="HDL-ON_iOS/Resources/Language.ini" /> <File FileName="HDL_ON/Common/R.cs" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs" Line="116" Column="54" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs" Line="70" Column="57" /> <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs" Line="99" Column="16" /> <File FileName="HDL_ON/Entity/FunctionList.cs" Line="131" Column="22" /> <File FileName="HDL_ON/Common/ApiUtlis.cs" Line="279" Column="76" /> </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="DAL" expanded="True"> <Node name="Server" expanded="True"> <Node name="HttpServerRequest.cs" selected="True" /> <Node name="Common" expanded="True"> <Node name="ApiUtlis.cs" selected="True" /> </Node> <Node name="ThirdPartySdk" expanded="True" /> </Node> <Node name="Entity" expanded="True"> <Node name="Enumerative" expanded="True" /> </Node> <Node name="DAL" expanded="True" /> <Node name="Entity" expanded="True" /> <Node name="UI" expanded="True"> <Node name="UI2" expanded="True"> <Node name="2-Classification" expanded="True" /> <Node name="4-PersonalCenter" expanded="True"> <Node name="PirDevice" expanded="True" /> </Node> <Node name="4-PersonalCenter" expanded="True" /> <Node name="FuntionControlView" expanded="True"> <Node name="Video" expanded="True" /> </Node> </Node> </Node> </Node> <Node name="HDL-ON_iOS" expanded="True"> <Node name="Resources" expanded="True" /> </Node> </Node> </State> @@ -52,8 +45,8 @@ <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String> <String>Shared.IOS/Shared.IOS.csproj</String> </DisabledProjects> <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" /> <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.Android_Accelerated_Oreo" /> <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" /> <MonoDevelop.Ide.ItemProperties.HDL-ON__Android AndroidDesignerPreferredDevice="Nexus 4" PreferredExecutionTarget="Android.4b65c4650918" /> <MonoDevelop.Ide.DebuggingService.Breakpoints> <BreakpointStore /> </MonoDevelop.Ide.DebuggingService.Breakpoints> HDL-ON_Android/FengLinVideo/Form/ReverseCallFragment.cs
@@ -279,7 +279,7 @@ { string UserData = "user text"; //注意:RequestAudio 请求对方音频,RequestVideo请求对方视频 SendAudio发送本地音频 SendVideo 发送本地视频 一般门口不接收到视频,所以最好设置0,减少流量消耗 string param = string.Format("RequestAudio=1\r\n" + "RequestVideo=1\r\n" + "SendAudio=1\r\n" + "SendVideo=0r\n" + "UserData=%s\r\n", UserData); string param = string.Format("RequestAudio=1\r\n" + "RequestVideo=1\r\n" + "SendAudio=1\r\n" + "SendVideo=1r\n" + "UserData=%s\r\n", UserData); mPhone.AcceptRing(param); answerLayout.Visibility = ViewStates.Gone; PostAnswer(); HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,6 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202103302" android:versionName="1.1.202103302" package="com.hdl.onpro"> <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="26" /> <!-- 可视对讲权限--> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 定位权限--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> HDL-ON_Android/Resources/Resource.designer.cs
@@ -2,7 +2,6 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. // Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -15,7 +14,7 @@ { [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] public partial class Resource { HDL-ON_Android/VideoActivity.cs
@@ -169,7 +169,7 @@ mPhone.SetRemoteSurfaceHolder(mRemoteSurfaceHolder, "mRemoteSurfaceHolder!=null"); //设置来电窗口 } ViewGroup v = (ViewGroup)FindViewById(Resource.Id.localVideo); ViewGroup v = (ViewGroup)FindViewById(Resource.Id.locaVideo); mPhone.SetLocalVideoContainer(v);//设置本地视频窗口,一定要调用,不然后会出现没声音 } else HDL_ON/Common/ApiUtlis.cs
@@ -281,7 +281,7 @@ 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()); FunctionList.List.videoIntercom = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.Video.VideoClouds>(flVideoInfo.Data.ToString()); } } HDL_ON/DAL/Server/HttpUtil.cs
HDL_ON/Entity/FunctionList.cs
@@ -131,7 +131,7 @@ /// <summary> /// 可视对讲列表 /// </summary> public UI.UI2.FuntionControlView.Video.VideoMethod.VideoClouds videoIntercom; public UI.UI2.FuntionControlView.Video.VideoClouds videoIntercom; /// <summary> /// 场景列表 HDL_ON/HDL_ON.projitems
@@ -380,7 +380,6 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\AcControlPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\FhControlPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\TvControlPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\MainView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\View\FrameLayout50.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\View\FrameLayout60.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\View\ShowDialog.cs" /> @@ -394,6 +393,8 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\AirFreshControlPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\VideoMethod.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\VideoSend.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\VideoMainView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\ObjectClass.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)DAL\" /> HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
@@ -290,6 +290,8 @@ { //清空之前数据 DeviceTypeList.Clear(); try { var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); for (int a = 0; a < jArray.Count; a++) { @@ -306,6 +308,11 @@ } action(); } catch { } } else { if (tag) HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
New file @@ -0,0 +1,115 @@ using System; using System.Collections.Generic; namespace HDL_ON.UI.UI2.FuntionControlView.Video { public class ObjectClass { } [Serializable] public class VideoClouds { /// <summary> /// 丰林绑定id(flBindId)(userKey) /// </summary> public string id = string.Empty; /// <summary> /// 住宅id /// </summary> public string homeId = string.Empty; /// <summary> /// 虚拟手机号 /// </summary> public string phone = string.Empty; /// <summary> /// 虚拟身份证号码 /// </summary> public string idCard = string.Empty; /// <summary> /// 社区主键Id /// </summary> public string communtiyId = string.Empty; /// <summary> /// 丰林楼栋号 /// </summary> public string flBuildingId = string.Empty; /// <summary> /// 丰林楼栋名称 /// </summary> public string flBuildingName = string.Empty; /// <summary> /// 丰林房间名称 /// </summary> public string flRoomId = string.Empty; /// <summary> /// 丰林安全密钥 /// </summary> public string flSecretKey = string.Empty; /// <summary> /// 丰林的小区Id /// </summary> public string flCmtId = string.Empty; } [Serializable] public class Call { /// <summary> ///记录主键Id /// </summary> public string id = string.Empty; /// <summary> /// 住宅id /// </summary> public string homeId = string.Empty; /// <summary> /// 呼叫时间 /// </summary> public string callTime = string.Empty; /// <summary> /// 通话时长 /// </summary> public string callDuration = string.Empty; /// <summary> /// 呼叫状态(0:未接;1:已接;2:拒接) /// </summary> public string callStatus = string.Empty; /// <summary> /// 是否开锁 /// </summary> public bool isUnlock; /// <summary> /// 截图地址 /// </summary> public string screenshotUrl = string.Empty; /// <summary> ///丰林绑定主键id(门口机主键Id) /// </summary> public string flBindId = string.Empty; } [Serializable] public class CallView { /// <summary> ///年 /// </summary> public string year = string.Empty; public List<Call> callList = new List<Call>(); } [Serializable] public class FlVideo { /// <summary> /// 设备名称 /// </summary> public string aliasName = string.Empty; /// <summary> /// 设备类型:(1室内机,2室外机,3围墙机,4管理机,5二次确认机) /// </summary> public string devType = string.Empty; public string uuid = string.Empty; } } HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
File was renamed from HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs @@ -8,7 +8,7 @@ namespace HDL_ON.UI.UI2.FuntionControlView.Video { public class MainView : FrameLayout public class VideoMainView : FrameLayout { /// <summary> /// 加载可视对讲UI @@ -16,17 +16,14 @@ /// <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<FlVideo> listVideo, List<CallView> listCall, VideoClouds video) { #region 布局界面 this.BackgroundColor = MusicColor.ViewColor; var topView = new TopView(); this.AddChidren(topView.TopFLayoutView()); topView.topNameBtn.TextID = StringId.keshiduijiang; topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { RemoveFromParent(); }; var pageView = new PageLayout() { @@ -97,6 +94,18 @@ } }; topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { if (pageView.PageIndex == 1) { pageView.PageIndex = 0; } else { RemoveFromParent(); } }; #endregion } /// <summary> @@ -105,7 +114,7 @@ /// <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, List<FlVideo> list, VideoClouds videoClouds) { #region 布局界面 var bjFl = new FrameLayout @@ -124,7 +133,7 @@ { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(16), Width = Application.GetRealWidth(100), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(33), TextColor = MusicColor.MusicTxet14Color, TextSize = TextSize.Text24, @@ -183,7 +192,7 @@ if (list.Count > 0) { //门禁二维码固定有的,虚拟一个出来 list.Add(new VideoMethod.FlVideo { aliasName =Language.StringByID(StringId.menjinerweima), devType = "100" }); list.Add(new FlVideo { aliasName = Language.StringByID(StringId.menjinerweima), devType = "100" }); } //数组个数 //int value = 15; @@ -274,6 +283,7 @@ if (string.IsNullOrEmpty(flVideo.uuid)) { new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.peizhicanshuyouyichang)); return; } ESVideoInfo eSVideoInfo = new ESVideoInfo { @@ -316,7 +326,7 @@ { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(16), Width = Application.GetRealWidth(100), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(33), TextColor = MusicColor.MusicTxet14Color, TextSize = TextSize.Text24, @@ -343,8 +353,8 @@ var vv = new VerticalRefreshLayout { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(58), Height = Application.GetRealHeight(458), Y = Application.GetRealHeight(58 + 17), Height = Application.GetRealHeight(458 - 17), Width = Application.GetRealWidth(295), }; bjFl.AddChidren(vv); @@ -470,12 +480,12 @@ break; case "1": { Language.StringByID(StringId.yijieting); s = Language.StringByID(StringId.yijieting); } break; case "2": { Language.StringByID(StringId.yijujue); s = Language.StringByID(StringId.yijujue); } break; } HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs
@@ -19,7 +19,7 @@ Loading loading = new Loading(); frameLayout.AddChidren(loading); loading.Start(); List<VideoMethod.FlVideo> listESVideoInfo = new List<VideoMethod.FlVideo>(); List<FlVideo> listESVideoInfo = new List<FlVideo>(); List<CallView> listCall = new List<CallView>(); new System.Threading.Thread(() => { @@ -37,7 +37,7 @@ Application.RunOnMainThread(() => { loading.Hide(); var mainView = new MainView(); var mainView = new VideoMainView(); MainPage.BasePageView.AddChidren(mainView); mainView.Show(listESVideoInfo, listCall, video); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; @@ -218,111 +218,7 @@ 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 { /// <summary> /// 丰林绑定id(flBindId)(userKey) /// </summary> public string id = string.Empty; /// <summary> /// 住宅id /// </summary> public string homeId = string.Empty; /// <summary> /// 虚拟手机号 /// </summary> public string phone = string.Empty; /// <summary> /// 虚拟身份证号码 /// </summary> public string idCard = string.Empty; /// <summary> /// 社区主键Id /// </summary> public string communtiyId = string.Empty; /// <summary> /// 丰林楼栋号 /// </summary> public string flBuildingId = string.Empty; /// <summary> /// 丰林楼栋名称 /// </summary> public string flBuildingName = string.Empty; /// <summary> /// 丰林房间名称 /// </summary> public string flRoomId = string.Empty; /// <summary> /// 丰林安全密钥 /// </summary> public string flSecretKey = string.Empty; /// <summary> /// 丰林的小区Id /// </summary> public string flCmtId = string.Empty; } [Serializable] public class Call { /// <summary> ///记录主键Id /// </summary> public string id = string.Empty; /// <summary> /// 住宅id /// </summary> public string homeId = string.Empty; /// <summary> /// 呼叫时间 /// </summary> public string callTime = string.Empty; /// <summary> /// 通话时长 /// </summary> public string callDuration = string.Empty; /// <summary> /// 呼叫状态(0:未接;1:已接;2:拒接) /// </summary> public string callStatus = string.Empty; /// <summary> /// 是否开锁 /// </summary> public bool isUnlock; /// <summary> /// 截图地址 /// </summary> public string screenshotUrl = string.Empty; /// <summary> ///丰林绑定主键id(门口机主键Id) /// </summary> public string flBindId = string.Empty; } [Serializable] public class CallView { /// <summary> ///年 /// </summary> public string year = string.Empty; public List<Call> callList = new List<Call>(); } [Serializable] public class FlVideo { /// <summary> /// 设备名称 /// </summary> public string aliasName = string.Empty; /// <summary> /// 设备类型:(1室内机,2室外机,3围墙机,4管理机,5二次确认机) /// </summary> public string devType = string.Empty; public string uuid = string.Empty; } } } HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
@@ -35,9 +35,9 @@ /// <summary> /// 获取门口机列表(1室内机,2室外机,3围墙机,4管理机,5二次确认机) /// </summary> public static List<VideoMethod.FlVideo> GetVideoInfoList(VideoMethod.VideoClouds video) public static List<FlVideo> GetVideoInfoList(VideoClouds video) { List<VideoMethod.FlVideo> eSVideoInfosList = new List<VideoMethod.FlVideo>(); List<FlVideo> eSVideoInfosList = new List<FlVideo>(); var jobject = new JObject(); jobject.Add("cmtID", video.flCmtId); jobject.Add("unitno", video.flBuildingId); @@ -58,7 +58,7 @@ { return eSVideoInfosList; } eSVideoInfosList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<VideoMethod.FlVideo>>(json["list"].ToString()); eSVideoInfosList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<FlVideo>>(json["list"].ToString()); } catch { } @@ -67,7 +67,7 @@ /// <summary> /// 上报动态开锁密码(注意:密码有可能延时1分钟生效) /// </summary> public static void GetQRcode(FrameLayout frame, VideoMethod.VideoClouds video, Action<bool, string> action) public static void GetQRcode(FrameLayout frame, VideoClouds video, Action<bool, string> action) { ///标记是否成功 bool if_bool = false;