20220315 代码初始化上传

This commit is contained in:
2022-03-15 17:36:38 +08:00
commit 9dc8a7e05d
9501 changed files with 2066431 additions and 0 deletions
+165
View File
@@ -0,0 +1,165 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Video.aspx.cs" Inherits="FineUIPro.Web.Video.Video" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
<!-- 引用 liveplayer-element.min.js -->
<script type="text/javascript" src="../res/liveplayer/liveplayer-element.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<script>
function play(id, url) {
var player = document.getElementById(id);
player.setAttribute("video-url", url);
}
var closeid =<%=btnClose.ClientID%>
function closeVideo(id) {
__doPostBack('Panel1$panelLeftRegion$btnClose',id);
}
</script>
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="设备信息" ShowBorder="true" Layout="VBox"
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items><f:Button ID="btnClose" Text="关闭1" EnablePostBack="true" Hidden="true"
runat="server" OnClick="btnClose_Click">
</f:Button>
<f:Tree ID="tvControlItem" ShowHeader="false" Height="500px" Title="项目信息" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="true" EnableTextSelection="true"
OnNodeExpand="tvControlItem_TreeNodeExpanded">
</f:Tree>
</Items>
</f:Panel>
<f:Panel ID="Panel2" IsFluid="true" CssClass="blockpanel" runat="server" ShowBorder="true"
Layout="VBox" ShowHeader="true" Title="视频监控" >
<Items>
<f:Panel ID="Panel3" BoxFlex="1" runat="server"
ShowBorder="false" ShowHeader="false" Layout="HBox" BoxConfigChildMargin="0 5 0 0" MarginBottom="5">
<Items>
<f:Panel ID="Panel4" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel1" runat ="server">
<live-player id="player01" live="true" >
<div id="div1" onclick="closeVideo('player01')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
<f:Panel ID="Panel5" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel2" runat ="server">
<live-player id="player02" live="true" >
<div id="div2" onclick="closeVideo('player02')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
<f:Panel ID="Panel6" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false" Margin="0">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel3" runat ="server">
<live-player id="player03" live="true" >
<div id="div3" onclick="closeVideo('player03')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Panel ID="Panel7" BoxFlex="1" runat="server"
ShowBorder="false" ShowHeader="false" Layout="HBox" BoxConfigChildMargin="0 5 0 0">
<Items>
<f:Panel ID="Panel8" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel4" runat ="server">
<live-player id="player04" live="true" >
<div id="div4" onclick="closeVideo('player04')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
<f:Panel ID="Panel9" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel5" runat ="server">
<live-player id="player05" live="true" >
<div id="div5" onclick="closeVideo('player05')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
<f:Panel ID="Panel10" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false" Margin="0">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel6" runat ="server">
<live-player id="player06" live="true" >
<div id="div6" onclick="closeVideo('player06')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Panel ID="Panel11" BoxFlex="1" runat="server"
ShowBorder="false" ShowHeader="false" Layout="HBox" BoxConfigChildMargin="0 5 0 0">
<Items>
<f:Panel ID="Panel12" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel7" runat ="server">
<live-player id="player07" live="true" >
<div id="div7" onclick="closeVideo('player07')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
<f:Panel ID="Panel13" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel8" runat ="server">
<live-player id="player08" live="true" >
<div id="div8" onclick="closeVideo('player08')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
<f:Panel ID="Panel14" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false" Margin="0">
<Items>
<f:ContentPanel ShowBorder="false" ShowHeader="false" ID="ContentPanel9" runat ="server">
<live-player id="player09" live="true" >
<div id="div9" onclick="closeVideo('player09')" style="position:absolute;top:5px;right:5px;color:white">关闭</div>
</live-player>
</f:ContentPanel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</form>
</body>
</html>
+127
View File
@@ -0,0 +1,127 @@
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 : System.Web.UI.Page
{
public string playIds
{
get
{
return (string)ViewState["playIds"];
}
set
{
ViewState["playIds"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.playIds = "";
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "项目-设备";
rootNode.NodeID = "0";
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
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();
newNode.NodeID = nvr["id"];
newNode.Text = nvr["customName"];
newNode.ToolTip = "项目";
newNode.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();
tempNode.NodeID = video["id"];
tempNode.Text = video["name"];
tempNode.ToolTip = "设备";
tempNode.EnableClickEvent = true;
newNode.Nodes.Add(tempNode);
}
}
}
}
#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
{
}
}
}
#endregion
protected void btnClose_Click(object sender, EventArgs e)
{
var id = Request.Form["__EVENTARGUMENT"];
this.playIds = this.playIds.Replace(id, "");
PageContext.RegisterStartupScript("play(\"" + id + "\",\"\")");
}
}
}
+269
View File
@@ -0,0 +1,269 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.Video
{
public partial class Video
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// Panel4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel4;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// Panel5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel5;
/// <summary>
/// ContentPanel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel2;
/// <summary>
/// Panel6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel6;
/// <summary>
/// ContentPanel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel3;
/// <summary>
/// Panel7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel7;
/// <summary>
/// Panel8 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel8;
/// <summary>
/// ContentPanel4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel4;
/// <summary>
/// Panel9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel9;
/// <summary>
/// ContentPanel5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel5;
/// <summary>
/// Panel10 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel10;
/// <summary>
/// ContentPanel6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel6;
/// <summary>
/// Panel11 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel11;
/// <summary>
/// Panel12 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel12;
/// <summary>
/// ContentPanel7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel7;
/// <summary>
/// Panel13 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel13;
/// <summary>
/// ContentPanel8 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel8;
/// <summary>
/// Panel14 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel14;
/// <summary>
/// ContentPanel9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel9;
}
}
Binary file not shown.