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 urls = new List(); string res = APIGetHttpService.Http(url + "api/v1/device/channeltree"); List> jsonNvr = JsonConvert.DeserializeObject>>(res); foreach (Dictionary 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>>(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 树展开事件 /// /// 树展开事件 /// /// /// protected void tvControlItem_TreeNodeExpanded(object sender, TreeNodeEventArgs e) { } #endregion #region 点击TreeView /// /// 点击TreeView /// /// /// 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>(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 + "\",\"\")"); } } }