由于EasyNVR视频平台能够直接集成到其他的平台定制专属于自己企业的视频监控方案,所以很多项目团队都会选择变更EasyNVR的标题以及CopyRight,换成项目相关的内容,这个需求EasyNVR也是可以实现的,下面就来讲一下实现方法。
之前的方式是从前端代码里面搜索相关名字直接修改,但是这种方法要调用代码并找到该参数,操作起来比较麻烦,所以我们选择了一种更为简便的方法,先将这个参数从后端获取,前端就很方便可以修改标题和CopyRight。
代码语言:javascript复制/**
* @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)
}
注:这些参数是从配置文件读取的。
至此后端就返回了相关参数。然后前端在相关地方将参数改为从后端获取的值。
代码语言:javascript复制 updateServerInfo(state, serverInfo) {
state.serverInfo = serverInfo;
state.logoText = serverInfo.LogoText;
},
可以看到标题已经修改成了任意字符,如果有用户有此方面的需要,可以联系我们协助更改。
EasyNVR视频平台经过多年的积累,已经是一套成熟且完善的视频平台了,用户可以通过网页直接访问视频监控,也可以通过调用二次开发接口进行二次开发或者集成。
如果还想了解更多视频相关解决方案,欢迎进入TSINGSEE青犀视频查阅,我们的视频平台都有演示方案可浏览,同时也支持下载试用版本自行测试。