140 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			140 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using BLL; | |||
|  | using Newtonsoft.Json; | |||
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Configuration; | |||
|  | using System.Linq; | |||
|  | using System.Web; | |||
|  | using System.Web.UI; | |||
|  | using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.Video | |||
|  | { | |||
|  |     public partial class Video : PageBase | |||
|  |     { | |||
|  | 
 | |||
|  |         public string playIds | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["playIds"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["playIds"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                 if (this.CurrUser != null) | |||
|  |                 { | |||
|  |                     this.playIds = ""; | |||
|  |                     this.tvControlItem.Nodes.Clear(); | |||
|  |                     TreeNode rootNode = new TreeNode | |||
|  |                     { | |||
|  |                         Text = "项目-设备", | |||
|  |                         NodeID = "0", | |||
|  |                         Expanded = true | |||
|  |                     }; | |||
|  |                     this.tvControlItem.Nodes.Add(rootNode); | |||
|  | 
 | |||
|  |                     try | |||
|  |                     { | |||
|  |                         string url = ConfigurationManager.AppSettings["Video_URL"]; | |||
|  |                         List<string> urls = new List<string>(); | |||
|  |                         string res = APIGetHttpService.Http(url + "api/v1/device/channeltree"); | |||
|  | 
 | |||
|  |                         List<Dictionary<string, string>> jsonNvr = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(res); | |||
|  |                         foreach (Dictionary<string, string> nvr in jsonNvr) | |||
|  |                         { | |||
|  |                             TreeNode newNode = new TreeNode | |||
|  |                             { | |||
|  |                                 NodeID = nvr["id"], | |||
|  |                                 Text = nvr["customName"], | |||
|  |                                 ToolTip = "项目", | |||
|  |                                 Expanded = false | |||
|  |                             }; | |||
|  |                             rootNode.Nodes.Add(newNode); | |||
|  |                             string jsonCameras = APIGetHttpService.Http(url + "api/v1/device/channeltree?serial=" + nvr["serial"]); | |||
|  |                             var data = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(jsonCameras); | |||
|  |                             foreach (var video in data) | |||
|  |                             { | |||
|  |                                 TreeNode tempNode = new TreeNode | |||
|  |                                 { | |||
|  |                                     NodeID = video["id"], | |||
|  |                                     Text = video["name"], | |||
|  |                                     ToolTip = "设备", | |||
|  |                                     EnableClickEvent = true | |||
|  |                                 }; | |||
|  | 
 | |||
|  |                                 newNode.Nodes.Add(tempNode); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                     catch (Exception ex) | |||
|  |                     { | |||
|  |                         ErrLogInfo.WriteLog(ex, "视频监控", "Video.Video.aspx"); | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         #region 树展开事件 | |||
|  |         /// <summary> | |||
|  |         /// 树展开事件 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void tvControlItem_TreeNodeExpanded(object sender, TreeNodeEventArgs e) | |||
|  |         { } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 点击TreeView | |||
|  |         /// <summary> | |||
|  |         /// 点击TreeView | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) | |||
|  |         { | |||
|  |             var id = this.tvControlItem.SelectedNodeID; | |||
|  |             if (id.Contains(":")) | |||
|  |             { | |||
|  |                 try | |||
|  |                 { | |||
|  |                     string url = ConfigurationManager.AppSettings["Video_URL"]; | |||
|  |                     var stmp = new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds() + ""; | |||
|  |                     string jsonCamera = APIGetHttpService.Http(url + "api/v1/stream/start?serial=" + id.Split(':')[0] + "&code=" + id.Split(':')[1] + "&_=" + stmp); | |||
|  |                     var data = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonCamera); | |||
|  |                     for (int i = 1; i <= 9; i++) | |||
|  |                     { | |||
|  |                         if (this.playIds.Contains("player0" + i)) | |||
|  |                         { | |||
|  |                             continue; | |||
|  |                         } | |||
|  |                         else | |||
|  |                         { | |||
|  |                             this.playIds += "player0" + i; | |||
|  |                             PageContext.RegisterStartupScript("play(\"" + "player0" + i + "\",\"" + data["HLS"] + "\")"); | |||
|  |                             break; | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 catch (Exception ex) | |||
|  |                 { | |||
|  |                     ErrLogInfo.WriteLog(ex, "视频监控", "Video.Video.aspx"); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         protected void btnClose_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             var id = Request.Form["__EVENTARGUMENT"]; | |||
|  |             this.playIds = this.playIds.Replace(id, ""); | |||
|  |             PageContext.RegisterStartupScript("play(\""  + id + "\",\"\")"); | |||
|  |         } | |||
|  |     } | |||
|  | } |