| | |
| | | <Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default"> |
| | | <MonoDevelop.Ide.Workbench ActiveDocument="../../Application.cs"> |
| | | <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs"> |
| | | <Files> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs" Line="253" Column="56" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs" Line="30" Column="23" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" Line="71" Column="49" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" Line="686" Column="1" /> |
| | | <File FileName="../../TempQRCode.cs" Line="125" Column="48" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MyQRCodePage.cs" Line="100" Column="39" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs" Line="118" Column="50" /> |
| | | <File FileName="HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs" Line="63" Column="29" /> |
| | | <File FileName="../../Application.cs" Line="1" Column="1" /> |
| | | <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="28" Column="58" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs" Line="80" Column="25" /> |
| | | </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="ThirdPartySdk" expanded="True" /> |
| | | </Node> |
| | | <Node name="UI" expanded="True"> |
| | | <Node name="UI0-Stan" expanded="True"> |
| | | <Node name="Controls" expanded="True"> |
| | | <Node name="NormalControls" expanded="True" /> |
| | | </Node> |
| | | </Node> |
| | | <Node name="UI2" expanded="True"> |
| | | <Node name="4-PersonalCenter" expanded="True"> |
| | | <Node name="PirDevice" expanded="True" /> |
| | | </Node> |
| | | <Node name="FuntionControlView" expanded="True"> |
| | | <Node name="Music" expanded="True"> |
| | | <Node name="View" expanded="True" /> |
| | | </Node> |
| | | <Node name="Video" expanded="True"> |
| | | <Node name="View" expanded="True" /> |
| | | <Node name="MainView.cs" selected="True" /> |
| | | <Node name="VideoSend.cs" selected="True" /> |
| | | </Node> |
| | | </Node> |
| | | </Node> |
| | | </Node> |
| | | </Node> |
| | | <Node name="HDL-ON_Android" expanded="True" /> |
| | | <Node name="HDL-ON_iOS" expanded="True"> |
| | | <Node name="Resources" expanded="True" /> |
| | | <Node name="HDL-ON_Android" expanded="True"> |
| | | <Node name="Assets" expanded="True"> |
| | | <Node name="Phone" expanded="True"> |
| | | <Node name="VideoIcon" expanded="True" /> |
| | | </Node> |
| | | </Node> |
| | | </Node> |
| | | </Node> |
| | | </State> |
| | |
| | | 4010=未接听 |
| | | 4011=已拒绝 |
| | | 4012=配置参数有异常! |
| | | 4013=门禁二维码 |
| | | 4014=临时密码 |
| | | |
| | | |
| | | 5000=音乐 |
| | |
| | | private TextView unlockText; |
| | | |
| | | // 更新线程 |
| | | private Thread thread = null; |
| | | public static Thread thread = null; |
| | | |
| | | public MonitorFragment(VideoPhone phone) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | public static Thread unlockThread = null;//公开出来,关闭activity的时候要结束这个线程,不然会引起崩溃 |
| | | /// <summary> |
| | | /// 更新开锁按钮状态,开锁成功,15秒内不给再点击按钮 |
| | | /// </summary> |
| | |
| | | |
| | | unlockImg.Enabled = false; |
| | | |
| | | new Thread(() => |
| | | unlockThread = new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | Thread.Sleep(15 * 1000); |
| | | |
| | | Activity.RunOnUiThread(() => |
| | | { |
| | | try { |
| | |
| | | } |
| | | catch { } |
| | | }); |
| | | }).Start(); |
| | | |
| | | } |
| | | catch { } |
| | | });//.Start(); |
| | | |
| | | unlockThread.Start(); |
| | | |
| | | PostUnlock(); |
| | | } |
| | | catch { } |
| | | } |
| | |
| | | |
| | | switch (event1) |
| | | { |
| | | case "EVT_RECV_CUSTOM_DATA": |
| | | case "EVT_RECV_CUSTOM_DATA":// 开锁成功 |
| | | string data = tp.GetString("data"); |
| | | UpdataUnlockState(); |
| | | break; |
| | |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("callId", VideoActivity.CallId); |
| | | d.Add("images", images); |
| | | d.Add("imagesName", img_name); |
| | | d.Add("imagesName", "_Android.jpg"); |
| | | string jsonString = HttpUtil.GetSignRequestJson(d); |
| | | |
| | | string url = "/home-wisdom/app/fl/vi/screenshot"; |
| | |
| | | |
| | | }).Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// post 开锁记录 |
| | | /// </summary> |
| | | private void PostUnlock() |
| | | { |
| | | new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | Dictionary<string, object> d = new Dictionary<string, object>(); |
| | | d.Add("callId", VideoActivity.CallId);//呼叫记录id int |
| | | string jsonString = HttpUtil.GetSignRequestJson(d); |
| | | |
| | | string url = "/home-wisdom/app/fl/vi/unlock"; |
| | | ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString); |
| | | Log.Info("FengLinVideo", "Post Reject Response code=" + response.Code); |
| | | } |
| | | catch { } |
| | | |
| | | }).Start(); |
| | | } |
| | | } |
| | | } |
| | |
| | | public static int Tpye = 0;//类型,0 监控,1反呼 |
| | | |
| | | public static string UUId; |
| | | public static int CallId;//callId 呼叫记录id |
| | | public static string CallId;//callId 呼叫记录id |
| | | public static string CmtID;//cmtID 丰林社区号 |
| | | public static string Roomno;//roomno 丰林房间号 |
| | | public static string Unitno;//unitno 丰林楼栋号 string |
| | |
| | | ESVideoUUID = Intent.GetStringExtra("ESVideoUUID");//室外机UUID,例:JJY000007FSEYX |
| | | DeviceName = Intent.GetStringExtra("DeviceName");//室外机的名称,例,室外机 |
| | | UUId = Intent.GetStringExtra("uuid");// |
| | | CallId = Intent.GetIntExtra("callId", 0); |
| | | CallId = Intent.GetStringExtra("callId"); |
| | | CmtID = Intent.GetStringExtra("cmtID"); |
| | | Roomno = Intent.GetStringExtra("roomno"); |
| | | Unitno = Intent.GetStringExtra("unitno"); |
| | |
| | | mPhone = null; |
| | | //mPhone.OnActivityDestroy(); |
| | | } |
| | | |
| | | if (ReverseCallFragment.unlockThread != null) |
| | | { |
| | | try |
| | | { |
| | | // |
| | | ReverseCallFragment.unlockThread.Interrupt(); |
| | | } |
| | | catch { } |
| | | ReverseCallFragment.unlockThread = null; |
| | | } |
| | | |
| | | if (MonitorFragment.thread != null) |
| | | { |
| | | try |
| | | { |
| | | // |
| | | MonitorFragment.thread.Interrupt(); |
| | | } |
| | | catch { } |
| | | MonitorFragment.thread = null; |
| | | } |
| | | } |
| | | |
| | | public override void OnBackPressed() |
| | |
| | | 4010=未接听 |
| | | 4011=已拒绝 |
| | | 4012=配置参数有异常! |
| | | 4013=门禁二维码 |
| | | 4014=临时密码 |
| | | |
| | | 5000=音乐 |
| | | 5001=组合 |
| | |
| | | public const int weijieting = 4010; |
| | | public const int yijujue = 4011; |
| | | public const int peizhicanshuyouyichang = 4012; |
| | | public const int menjinerweima = 4013; |
| | | public const int linshimima = 4014; |
| | | |
| | | public const int a31Music = 5000; |
| | | public const int merge = 5001; |
| | |
| | | Address = mHome.homeAddress, |
| | | isAllowCreateScene = mHome.isAllowCreateScene, |
| | | }; |
| | | #if DEBUG |
| | | |
| | | UserInfo.Current.regionList.Add(home); |
| | | continue; |
| | | #endif |
| | | if (home.isBindGateway) |
| | | { |
| | | UserInfo.Current.regionList.Add(home); |
| | |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod videoMethod = new UI2.FuntionControlView.Video.VideoMethod(); |
| | | videoMethod.getVideo((device)=> { |
| | | videoMethod.getVideo((device) => |
| | | { |
| | | videoMethod.MianView(this, device); |
| | | }, this,true); |
| | | return; |
| | |
| | | #endregion |
| | | ///初始化界面 |
| | | UIView(vv); |
| | | |
| | | } |
| | | |
| | | void GoToShowSortSelection(List<string> dataList) |
| | | { |
| | | Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>(); |
| | | |
| | | foreach (var data in dataList) |
| | | { |
| | | //提取字符串第一位 |
| | | //string s = data.Substring(0, 1); |
| | | var key = GetCharSpellCode(data); |
| | | |
| | | if (dict.ContainsKey(key)) |
| | | { |
| | | var value = dict[key]; |
| | | if (value == null) |
| | | { |
| | | value = new List<string>(); |
| | | } |
| | | value.Add(data); |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | | var value = new List<string>(); |
| | | value.Add(data); |
| | | dict.Add(key, value); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | JLCountrycode.CountryCodeView.Current.ShowSortSelection("选择红外品牌", dict, (countryName) => |
| | | { |
| | | //Console.WriteLine("countryName: " + countryName); |
| | | Utlis.ShowTip("选中了:" + countryName); |
| | | |
| | | |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取汉字首字母 |
| | | /// </summary> |
| | | /// <param name="textValue"></param> |
| | | /// <returns></returns> |
| | | private string GetCharSpellCode(string textValue) |
| | | { |
| | | long iCnChar; |
| | | |
| | | byte[] ZW = Encoding.GetEncoding("gb2312").GetBytes(textValue); |
| | | |
| | | //如果是字母,则直接返回 |
| | | if (ZW.Length == 1) |
| | | { |
| | | return textValue.ToUpper(); |
| | | } |
| | | else |
| | | { |
| | | // get the array of byte from the single char |
| | | int i1 = (short)(ZW[0]); |
| | | int i2 = (short)(ZW[1]); |
| | | iCnChar = i1 * 256 + i2; |
| | | } |
| | | |
| | | |
| | | |
| | | // iCnChar match the constant |
| | | if ((iCnChar >= 45217) && (iCnChar <= 45252)) |
| | | { |
| | | return "A"; |
| | | } |
| | | else if ((iCnChar >= 45253) && (iCnChar <= 45760)) |
| | | { |
| | | return "B"; |
| | | } |
| | | else if ((iCnChar >= 45761) && (iCnChar <= 46317)) |
| | | { |
| | | return "C"; |
| | | } |
| | | else if ((iCnChar >= 46318) && (iCnChar <= 46825)) |
| | | { |
| | | return "D"; |
| | | } |
| | | else if ((iCnChar >= 46826) && (iCnChar <= 47009)) |
| | | { |
| | | return "E"; |
| | | } |
| | | else if ((iCnChar >= 47010) && (iCnChar <= 47296)) |
| | | { |
| | | return "F"; |
| | | } |
| | | else if ((iCnChar >= 47297) && (iCnChar <= 47613)) |
| | | { |
| | | return "G"; |
| | | } |
| | | else if ((iCnChar >= 47614) && (iCnChar <= 48118)) |
| | | { |
| | | return "H"; |
| | | } |
| | | else if ((iCnChar >= 48119) && (iCnChar <= 49061)) |
| | | { |
| | | return "J"; |
| | | } |
| | | else if ((iCnChar >= 49062) && (iCnChar <= 49323)) |
| | | { |
| | | return "K"; |
| | | } |
| | | else if ((iCnChar >= 49324) && (iCnChar <= 49895)) |
| | | { |
| | | return "L"; |
| | | } |
| | | else if ((iCnChar >= 49896) && (iCnChar <= 50370)) |
| | | { |
| | | return "M"; |
| | | } |
| | | |
| | | else if ((iCnChar >= 50371) && (iCnChar <= 50613)) |
| | | { |
| | | return "N"; |
| | | } |
| | | else if ((iCnChar >= 50614) && (iCnChar <= 50621)) |
| | | { |
| | | return "O"; |
| | | } |
| | | else if ((iCnChar >= 50622) && (iCnChar <= 50905)) |
| | | { |
| | | return "P"; |
| | | } |
| | | else if ((iCnChar >= 50906) && (iCnChar <= 51386)) |
| | | { |
| | | return "Q"; |
| | | } |
| | | else if ((iCnChar >= 51387) && (iCnChar <= 51445)) |
| | | { |
| | | return "R"; |
| | | } |
| | | else if ((iCnChar >= 51446) && (iCnChar <= 52217)) |
| | | { |
| | | return "S"; |
| | | } |
| | | else if ((iCnChar >= 52218) && (iCnChar <= 52697)) |
| | | { |
| | | return "T"; |
| | | } |
| | | else if ((iCnChar >= 52698) && (iCnChar <= 52979)) |
| | | { |
| | | return "W"; |
| | | } |
| | | else if ((iCnChar >= 52980) && (iCnChar <= 53640)) |
| | | { |
| | | return "X"; |
| | | } |
| | | else if ((iCnChar >= 53689) && (iCnChar <= 54480)) |
| | | { |
| | | return "Y"; |
| | | } |
| | | else if ((iCnChar >= 54481) && (iCnChar <= 55289)) |
| | | { |
| | | return "Z"; |
| | | } |
| | | else return (""); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | public class MainView : FrameLayout |
| | | { |
| | | /// <summary> |
| | | /// 加载可视对讲UI |
| | | /// </summary> |
| | | /// <param name="listVideo">门口机列表</param> |
| | | /// <param name="listCall">通话记录列表</param> |
| | | /// <param name="video">当前的可视对讲</param> |
| | | public void Show(List<VideoMethod.FlVideo> listVideo, List<CallView> listCall, VideoClouds video) |
| | | { |
| | | #region 布局界面 |
| | | this.BackgroundColor = MusicColor.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | |
| | | |
| | | } |
| | | }; |
| | | #endregion |
| | | } |
| | | /// <summary> |
| | | /// 第一个界面 |
| | | /// </summary> |
| | | /// <param name="view1">父控件</param> |
| | | /// <param name="list">门口机列表</param> |
| | | /// <param name="videoClouds">当前的可视对讲</param> |
| | | void View1(FrameLayout view1, List<VideoMethod.FlVideo> list, VideoClouds videoClouds) |
| | | { |
| | | |
| | | #region 布局界面 |
| | | var bjFl = new FrameLayout |
| | | { |
| | | Y = Application.GetRealHeight(24), |
| | |
| | | SelectedImagePath = "MusicIcon/collectSelected.png", |
| | | }; |
| | | bjFl.AddChidren(collectIconBtn); |
| | | |
| | | ///可视对讲图标 |
| | | Button intercomBtnIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(84), |
| | |
| | | if (list.Count > 0) |
| | | { |
| | | //门禁二维码固定有的,虚拟一个出来 |
| | | list.Add(new VideoMethod.FlVideo { aliasName = "门禁二维码", devType = "10" }); |
| | | list.Add(new VideoMethod.FlVideo { aliasName =Language.StringByID(StringId.menjinerweima), devType = "100" }); |
| | | } |
| | | //数组个数 |
| | | //int value = 15; |
| | |
| | | }; |
| | | 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), |
| | |
| | | }; |
| | | fLayout.AddChidren(iconBtn); |
| | | |
| | | var iconNameBtn = new Button |
| | | var deviceNameBtn = new Button |
| | | { |
| | | Y = iconBtn.Bottom + Application.GetRealHeight(6), |
| | | Width = Application.GetRealWidth(50), |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | Text = video.aliasName, |
| | | }; |
| | | fLayout.AddChidren(iconNameBtn); |
| | | fLayout.AddChidren(deviceNameBtn); |
| | | |
| | | var clickBtn = new Button { Tag = video }; |
| | | |
| | |
| | | j = -1; |
| | | line += 1; |
| | | } |
| | | // GetIconAndText(i, deviceIconBtn, iconNameBtn); |
| | | getIconAndText(video, iconBtn); |
| | | #endregion |
| | | //门口机的点击事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var flVideo = clickBtn.Tag as VideoMethod.FlVideo; |
| | | if (flVideo.devType == "100") |
| | | { |
| | | //门禁二维码固定有的 |
| | | VideoSend.GetQRcode(this, videoClouds, (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 = flVideo.uuid, |
| | | ESVideoUUID = getUuid(flVideo.uuid), |
| | | DeviceName = flVideo.aliasName, |
| | | roomno = videoClouds.flRoomId, |
| | | unitno= videoClouds.flBuildingId, |
| | | }; |
| | | ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo); |
| | | } |
| | | |
| | | //VideoSend.GetQRcode(this, videoClouds, (tag,paw) => |
| | | //{ |
| | | // if (tag) |
| | | // { |
| | | // View.ShowDialog showDialog = new View.ShowDialog(); |
| | | // showDialog.QRcode(paw); |
| | | // } |
| | | //}); |
| | | |
| | | }; |
| | | } |
| | | |
| | |
| | | /// 第二个界面 |
| | | /// </summary> |
| | | /// <param name="view2">父控件</param> |
| | | /// <param name="listCall">通话记录列表</param> |
| | | /// <param name="video">当前的可视对讲</param> |
| | | void View2(FrameLayout view2, List<CallView> listCall, VideoClouds video) |
| | | { |
| | | |
| | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 刷新界面 |
| | | /// 通话记录刷新界面 |
| | | /// </summary> |
| | | /// <param name="vv"></param> |
| | | /// <param name="listCall"></param> |
| | | /// <param name="vv">上下滑动控件</param> |
| | | /// <param name="listCall">通话记录列表</param> |
| | | public void RefreshView(VerticalRefreshLayout vv, List<CallView> listCall) |
| | | { |
| | | vv.RemoveAll(); |
| | | for (int i = 0; i < listCall.Count; i++) |
| | | { |
| | | var year = listCall[i]; |
| | | //年文本父控件 |
| | | View.FrameLayout50 frameLayout50 = new View.FrameLayout50(); |
| | | vv.AddChidren(frameLayout50.FLayoutView()); |
| | | frameLayout50.btnText.Text = year.year + Language.StringByID(StringId.nian);//年 |
| | | for (int j = 0; j < year.callList.Count; j++) |
| | | { |
| | | var call = year.callList[j]; |
| | | //门口机状态父控件 |
| | | View.FrameLayout60 frameLayout60 = new View.FrameLayout60(); |
| | | vv.AddChidren(frameLayout60.FLayoutView()); |
| | | ///呼叫时间 |
| | |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 显示图标 |
| | | /// </summary> |
| | | /// <param name="flVideo"></param> |
| | | /// <param name="iconBtn">图标</param> |
| | | private void getIconAndText(FlVideo flVideo, Button iconBtn) |
| | | { |
| | | //(1室内机,2室外机,3围墙机,4管理机,5二次确认机) |
| | | string iconstr = ""; |
| | | switch (flVideo.devType) |
| | | { |
| | | case "1": |
| | | { |
| | | iconstr = "VideoIcon/danyuanji.png"; |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | iconstr = "VideoIcon/danyuanji.png"; |
| | | } |
| | | break; |
| | | case "3": |
| | | { |
| | | iconstr = "VideoIcon/weiqiangji.png"; |
| | | } |
| | | break; |
| | | case "4": |
| | | { |
| | | iconstr = "VideoIcon/weiqiangji.png"; |
| | | } |
| | | break; |
| | | case "5": |
| | | { |
| | | iconstr = "VideoIcon/weiqiangji.png"; |
| | | } |
| | | break; |
| | | case "100": |
| | | { |
| | | iconstr = "VideoIcon/menjin.png"; |
| | | } |
| | | break; |
| | | default: |
| | | { |
| | | iconstr = "VideoIcon/weiqiangji.png"; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | iconBtn.UnSelectedImagePath = iconstr; |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 获取显示时间文本 |
| | | /// </summary> |
| | | /// <param name="str"></param> |
| | | /// <param name="str">utcTime</param> |
| | | /// <returns></returns> |
| | | public string getTime(string str) |
| | | private string getTime(string str) |
| | | { |
| | | var utcTime = Convert.ToDateTime(str); |
| | | var dateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, TimeZoneInfo.Local); |
| | |
| | | /// </summary> |
| | | /// <param name="str">状态值0:未接;1:已接;2:拒接</param> |
| | | /// <returns></returns> |
| | | public string getStateText(string str) |
| | | private string getStateText(string str) |
| | | { |
| | | string s = ""; |
| | | switch (str) |
| | |
| | | /// </summary> |
| | | /// <param name="if_bool"></param> |
| | | /// <returns></returns> |
| | | public string getUnlockText(bool if_bool) |
| | | private string getUnlockText(bool if_bool) |
| | | { |
| | | string s = ""; |
| | | if (if_bool) |
| | |
| | | } |
| | | return s; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取uuid |
| | | /// </summary> |
| | | /// <param name="uuid"></param> |
| | | /// <returns></returns> |
| | | private string getUuid(string uuid) |
| | | { |
| | | if (uuid.Contains(",")) |
| | | { |
| | | var uuid1 = uuid.Split(','); |
| | | return uuid1[0]; |
| | | } |
| | | else |
| | | { |
| | | return uuid; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | /// 随机密码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();
} |
| | | /// <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();
} |
| | | /// <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 |
| | | { |
| | | /// <summary> |
| | | /// 丰林绑定id(flBindId) |
| | | /// 丰林绑定id(flBindId)(userKey) |
| | | /// </summary> |
| | | public string id = string.Empty; |
| | | /// <summary> |
| | |
| | | /// <returns></returns> |
| | | public static ResponsePackNew GetCall(string flBindId) |
| | | { |
| | | var jObject = new JObject { { "homeId", PirSend.HomeId }, { "flBindId", flBindId }, { "pageSize", int.MaxValue } }; |
| | | var jObject = new JObject { { "homeId", PirSend.HomeId }, { "flBindId", flBindId }, { "pageSize", 100 } }; |
| | | var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_FL_GetCallList); |
| | | return responsePackNew; |
| | | } |
| | |
| | | { |
| | | return eSVideoInfosList; |
| | | } |
| | | var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(json["list"].ToString()); |
| | | if (list.Count == 0) |
| | | { |
| | | return eSVideoInfosList; |
| | | } |
| | | foreach (var videoInfo in list) |
| | | { |
| | | VideoMethod.FlVideo flVideo = new VideoMethod.FlVideo(); |
| | | flVideo.aliasName = videoInfo["aliasName"]; |
| | | if (videoInfo["uuid"].Contains(",")) |
| | | { |
| | | var uuid = videoInfo["uuid"].Split(','); |
| | | flVideo.uuid = uuid[0]; |
| | | } |
| | | else |
| | | { |
| | | flVideo.uuid = videoInfo["uuid"]; |
| | | } |
| | | flVideo.devType = videoInfo["devType"]; |
| | | //eSVideoInfo.roomno = video.flRoomId; |
| | | eSVideoInfosList.Add(flVideo); |
| | | } |
| | | eSVideoInfosList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<VideoMethod.FlVideo>>(json["list"].ToString()); |
| | | |
| | | } |
| | | catch { } |
| | | return eSVideoInfosList; |
| | | } |
| | | /// <summary> |
| | | /// 上报动态开锁密码 |
| | | /// 上报动态开锁密码(注意:密码有可能延时1分钟生效) |
| | | /// </summary> |
| | | public static void GetQRcode(FrameLayout frame, VideoMethod.VideoClouds video,Action<bool,string>action) |
| | | { |
| | |
| | | jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//有效时间 |
| | | jobject.Add("unitno", video.flBuildingId);//单元号 |
| | | jobject.Add("roomno", video.flRoomId);//房间号 |
| | | jobject.Add("code", pwd);
jobject.Add("userKey", video.flSecretKey);
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", VideoMethod.GetCurrentTimeStamp());
jobject.Add("secretKey", video.flSecretKey);
jobject.Add("method", "setdynamicpwd");
jobject.Add("numTimes", "5"); |
| | | //加载log |
| | | Loading loading = new Loading(); |
| | | frame.AddChidren(loading); |
| | |
| | | var str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST"); |
| | | if (!string.IsNullOrEmpty(str)) |
| | | { |
| | | try |
| | | { |
| | | var json = JObject.Parse(str); |
| | | if (json != null) |
| | | { |
| | | var stateCode = json["resCode"].ToString(); |
| | | if (stateCode != "0") |
| | | var stateCode = json["status"].ToString(); |
| | | if (stateCode == "0") |
| | | { |
| | | if_bool = true; |
| | | } |
| | | } |
| | | } |
| | | catch { |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | loading.Hide(); |
| | | action(if_bool, pwd); |
| | | |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | /// <summary> |
| | | /// 下载图片 |
| | | /// </summary> |
| | | public static void GetIcon(FrameLayout frame,string url) |
| | | { |
| | | Loading loading = new Loading(); |
| | | frame.AddChidren(loading); |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | var responsePackNew = RequestServerhomeId(null, url); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | |
| | | }); |
| | | } |
| | |
| | | return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout); |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | class FlResponsePackNew |
| | | {// |
| | | public string status = string.Empty; |
| | | public string desc = string.Empty; |
| | | |
| | | } |
| | | } |
| | |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | IsBold = true, |
| | | Text = "临时密码", |
| | | TextID=StringId.linshimima, |
| | | }; |
| | | whiteView.AddChidren(btnTitle); |
| | | //密码 |
| | |
| | | Y = Application.GetRealHeight(68), |
| | | Width = Application.GetRealWidth(20), |
| | | Height = Application.GetRealWidth(20), |
| | | UnSelectedImagePath = "VideoIcon/hangup.png", |
| | | UnSelectedImagePath = "LoginIcon/ShowPasswordIcon.png", |
| | | SelectedImagePath = "LoginIcon/HidePasswordIcon.png",
|
| | | }; |
| | | whiteView.AddChidren(iconBtn); |
| | | //二维码 |