随笔 - 1506  文章 - 1  评论 - 7  阅读 - 58万

RTSP网络摄像头网页无插件直播视频平台EasyNVR自定义标题和CopyRight步骤

由于EasyNVR视频平台能够直接集成到其他的平台定制专属于自己企业的视频监控方案,所以很多项目团队都会选择变更EasyNVR的标题以及CopyRight,换成项目相关的内容,这个需求EasyNVR也是可以实现的,下面就来讲一下实现方法。

之前的方式是从前端代码里面搜索相关名字直接修改,但是这种方法要调用代码并找到该参数,操作起来比较麻烦,所以我们选择了一种更为简便的方法,先将这个参数从后端获取,前端就很方便可以修改标题和CopyRight。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/**
 * @api {get} /api/v1/getserverinfo 获取平台运行信息
 * @apiGroup sys
 *
 * @apiUse ack
 * @apiSuccess (200) {String} EasyDarwin.Body.Authorization 授权对象
 * @apiSuccess (200) {String} EasyDarwin.Body.Hardware 硬件信息
 * @apiSuccess (200) {String} EasyDarwin.Body.InterfaceVersion 接口版本
 * @apiSuccess (200) {Boolean} EasyDarwin.Body.IsDemo 演示版本
 * @apiSuccess (200) {Boolean} EasyDarwin.Body.LiveSteamAuth 直播页面鉴权
 * @apiSuccess (200) {Number} EasyDarwin.Body.RemainDays 剩余授权时间(天)
 * @apiSuccess (200) {String} EasyDarwin.Body.RunningTime 运行时间
 * @apiSuccess (200) {String} EasyDarwin.Body.ServerTime 系统时间
 * @apiSuccess (200) {String} EasyDarwin.Body.StartUpTime 启动时间
 * @apiSuccess (200) {String} EasyDarwin.Body.Server 软件信息
 * @apiSuccess (200) {Number} EasyDarwin.Body.ChannelCount 通道数
 * @apiSuccess (200) {String} EasyDarwin.Body.VersionType 版本类型
 * @apiSuccess (200) {String} EasyDarwin.Body.LogoText 标题
 * @apiSuccess (200) {String} EasyDarwin.Body.CopyRight CopyRight
 */
func (h *APIHandler) GetServerInfo(c *gin.Context) {
   ack := NewMsgAck()
   ack.EasyDarwin.Header.MessageType = MSG_SC_SERVER_INFO_ACK
   sec := utils.Conf().Section("base_config")
   ack.EasyDarwin.Body = map[string]interface{}{
      "Authorization":    license.Authorization,
      "VersionType":      fmt.Sprintf("%v", license.VersionType),
      "Hardware":         strings.ToUpper(runtime.GOARCH),
      "InterfaceVersion": InterfaceVersion,
      "IsDemo":           sec.Key("demo").MustBool(false),
      "IsRtsp":           sec.Key("enable_rtsp").MustBool(false),
      "LiveStreamAuth":   sec.Key("live_streaming_auth").MustBool(false),
      "ChannelCount":     license.ChannelCount,
      "RemainDays":       license.RemainDays(),
      "ActiveOnline":     license.ActiveOnline,
      "RunningTime":      utils.UpTimeString(),
      "ServerTime":       utils.DateTime(time.Now()),
      "StartUpTime":      utils.DateTime(utils.StartTime),
      "Server":           fmt.Sprintf("%s/%s (Build/%s; Platform/%s;)", "EasyNVR", global.BuildVersion, BuildTime.Format(utils.BuildTimeLayout), strings.Title(runtime.GOOS)),
      "LogoText":         sec.Key("logoText").MustString("EasyNVR"),
      "CopyRight":        sec.Key("copyRight").MustString("EasyNVR"),
   }
   c.IndentedJSON(http.StatusOK, ack)
}

  

注:这些参数是从配置文件读取的。

至此后端就返回了相关参数。然后前端在相关地方将参数改为从后端获取的值。

1
2
3
4
updateServerInfo(state, serverInfo) {
  state.serverInfo = serverInfo;
  state.logoText = serverInfo.LogoText;
},

  

可以看到标题已经修改成了任意字符,如果有用户有此方面的需要,可以联系我们协助更改。

EasyNVR视频平台经过多年的积累,已经是一套成熟且完善的视频平台了,用户可以通过网页直接访问视频监控,也可以通过调用二次开发接口进行二次开发或者集成。

如果还想了解更多视频相关解决方案,欢迎进入TSINGSEE青犀视频查阅,我们的视频平台都有演示方案可浏览,同时也支持下载试用版本自行测试。

 
posted on   EasyNVR  阅读(259)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示