热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【技术教程】视频智能分析平台EasyCVR如何效仿EasyGBS添加用户功能接口?

TSINGSEE青犀视频云边端的诸多视频智能分析平台在研发之初,其功能都是不完善的,经过一步步的探索,我们也在不断完善平台的操作和功能&#

TSINGSEE青犀视频云边端的诸多视频智能分析平台在研发之初,其功能都是不完善的,经过一步步的探索,我们也在不断完善平台的操作和功能,比如国标GB28181协议平台EasyGBS的语音对讲和告警上报,都是我们在与众多项目对接之后,开发出来的满足多数用户需求的功能。

微信截图_20201126173049.png

对于协议兼容性比较强,支持GB28181及RTSP等协议的EasyCVR视频智能分析平台,在更广泛的项目当中得到了运用。这些项目当中,很多场景也需要像EasyGBS、EasyNVR一样的用户管理功能,需要添加用户绑定角色,然后给角色分配通道,让用户登录显示对应的通道。

QQ图片20201126105628.png

增加用户及角色管理可以通过调用以下接口获取:

func (h *APIHandler) AddUser_V2(c *gin.Context) {var err errordefer func() {if p := recover(); p != nil {err = fmt.Errorf("%v", p)}if err != nil {c.AbortWithStatusJSON(400, err.Error())return}}()name := c.PostForm("name")username := c.PostForm("username")password := c.PostForm("password")//phone := c.PostForm("phone")//email := c.PostForm("email")roleid := c.PostForm("roleid")roleId, err := strconv.Atoi(roleid)if err != nil {c.IndentedJSON(400, "请输入有效的角色")return}dbclient := cvrdao.GetDB()tx := dbclient.Begin()roleMode := cvrdo.Role{}err = dbclient.Where("id = ?", roleId).First(&roleMode).Errorif err != nil {c.IndentedJSON(400, err.Error())return}userMode := cvrdo.User{}userCount := 0dbclient.Where("name = ?", name).First(&userMode).Count(&userCount)if userCount != 0 {c.IndentedJSON(400, "用户已经存在")return} else {if name != "" {userMode.Name = name}if username != "" {userMode.Username = username}//if email != "" {// userMode.Email = email//}if password != "" {userMode.Password = password}//if phone != "" {// userMode.Phone = phone//}userMode.CreateAt = etime.ToDateTime(time.Now())dbclient.Save(&userMode)}userRoleMode := cvrdo.UserRole{}userrolemodecount := 0dbclient.Where("uid = ?", userMode.ID).First(&userRoleMode).Count(&userrolemodecount)if userrolemodecount == 0 {dbclient.Create(&cvrdo.UserRole{Uid: userMode.ID,Rid: roleMode.ID,})} else {userRoleMode.Rid = roleMode.IDdbclient.Save(&userRoleMode)}tx.Commit()c.IndentedJSON(200, gin.H{"state": "success",})
}

调用后检查,可知调用成功:

44.png

EasyCVR是一个功能强大,分布式架构,集全终端,多用户,语音对讲,分级电子地图,报警中心,兼容其它扩展产品,单机直连设备监控系统等功能为一体化平台。平台可扩展AI、GIS等功能,界面友好,操作简单,可方便的进行权限设置。如有需求,欢迎了解!


推荐阅读
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
author-avatar
浪漫族屋nr
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有