• 视频智能安防监控系统EasyNVR是如何做到在平台内屏蔽部分菜单或者logo标识的?


    一般在视频智能安防监控系统EasyNVR的标题都会显示在登录页或者在标题栏,同时EasyNVR的版本信息以及授权信息内也会存在EasyNVR的标识。目前登录页及在标题栏的字样可以自由修改,用户可根据自己的项目名称来对系统进行命名,但是对于授权信息的标识,只可通过隐藏来达到需求。

    比如我们有的项目团队就需要将这些信息隐藏,因此我们可以通过添加字段的方式,使其屏蔽相关菜单,以达到客户的需求。

    这些显示内容和菜单都是前端自己展示的,所以EasyNVR后端提供一个字段,即shield_menu这个参数,为0时则不隐藏,为1时隐藏。

    func (h *APIHandler) GetServerInfo(c *gin.Context) {
       ack := NewMsgAck()
       ack.EasyDarwin.Header.MessageType = MSG_SC_SERVER_INFO_ACK
       sec := utils.Conf().Section("base_config")
       shieldMenu := sec.Key("shield_menu").MustBool(false)
       server := fmt.Sprintf("%s/%s (Build/%s; Platform/%s;)", "EasyNVR", global.BuildVersion, BuildTime.Format(utils.BuildTimeLayout), strings.Title(runtime.GOOS))
       if shieldMenu {
          server = fmt.Sprintf("%s (Build/%s; Platform/%s;)", global.BuildVersion, BuildTime.Format(utils.BuildTimeLayout), strings.Title(runtime.GOOS))
       }
       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":           server,
          "shieldMenu":       shieldMenu,
       }
       c.IndentedJSON(http.StatusOK, ack)
    }
    
    

    在获取服务信息接口处添加一个shieldMenu属性返回给前端,为0时则不隐藏,为1时则隐藏相关字段和菜单,因此只要按需求修改该参数即可。

    解决效果如下:

  • 相关阅读:
    2014年3月新鲜出炉的最佳 JavaScript 工具库
    开发者不容错过的10款免费JavaScript游戏引擎
    创建Android环境并且安装cordova
    程序员技术练级攻略
    android sdk更新后出现please update ADT to the latest version的解决方法
    Linux cscope命令
    UltraISO制作系统ISO镜像
    Windows Live Writer 使用指南
    C语言访问网页
    Linux minicom命令
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/14582981.html
Copyright © 2020-2023  润新知