智能安防监控系统EasyCVR平台中性版本自定义title和copyright时效问题排查

近一个星期,TSINGSEE青犀视频的研发人员都在对EasyCVR的中性版本做研发和测试。中性版本即开放版本,中性版本的用户将不限制授权方式和授权期限,均可对平台内的title和copyright自定义。

EasyCVR V1.1.12 中性版本支持自定义title功能,测试使用过程中发现自定义的title会莫名丢失,恢复到默认EasyCVR的title和copyright。

经过反复测试,发现当配置完录像计划再点击保存后,系统会清空原先设置的title,copyright,播放器等参数。

调出开发者模式检查,我们发现问题出在了调用setotherconfig接口上,调用接口传入参数不全。

完整接口参数如下:

因此在调用的时候,将完整参数传入即可。

func (h *APIHandler) SetOtherConfig(c *gin.Context) {
   type Form struct {
      Default       int
      AllMediaType  string
      DefaultPlayer string
      SaveDay       int
      SaveThreshold int
      Title         string
      Copyright     string
      IsAdvertising bool
      PlayerLogo    int
   }
   var form = Form{}
   if err := c.Bind(&form); err != nil {
      return
   }
   ack := NewMsgAck()
   ack.EasyDarwin.Header.MessageType = MSG_SC_SERVER_SET_SSL_CONFIG_ACK
   utils.SaveToConf("play_media_type", map[string]string{
      "default":        fmt.Sprintf("%d", form.Default),
      "all_media_type": fmt.Sprintf("%s", form.AllMediaType),
      "default_player": fmt.Sprintf("%s", form.DefaultPlayer),
   })
   utils.SaveToConf("record", map[string]string{
      "save_day":       fmt.Sprintf("%d", form.SaveDay),
      "save_threshold": fmt.Sprintf("%d", form.SaveThreshold),
   })
   utils.SaveToConf("bottom", map[string]string{
      "title":     fmt.Sprintf("%s", form.Title),
      "copyright": fmt.Sprintf("%s", form.Copyright),
   })
   utils.SaveToConf("module", map[string]string{
      "is_advertising": fmt.Sprintf("%t", form.IsAdvertising),
   })
   utils.SaveToConf("player", map[string]string{
      "nologo": fmt.Sprintf("%d", form.PlayerLogo),
   })
   c.IndentedJSON(http.StatusOK, ack)
}
原文地址:https://www.cnblogs.com/TSINGSEE/p/14481802.html