目前EasyGBS录像计划查询通道列表的时候,右上角搜索框只能搜索设备id和通道id,用户使用起来不方便,所以我们需要添加一个可以根据设备名称以及通道名称搜索的功能。
该功能实现也是较为简单的,主要通过添加以下代码实现:
dbclient = dbclient.Table(channelTableName).Select(fmt.Sprintf(`%s.id,%s.device_id,
%s.name,%s.name as device_name,record_plan_switch`, channelTableName, channelTableName, channelTableName, deviceTableName))
if q != "" {
wherestr := fmt.Sprintf(`%s.device_id like ? or %s.id like ? or %s.name like ? `, channelTableName, channelTableName, deviceTableName)
dbclient = dbclient.Where(wherestr, "%"+q+"%", "%"+q+"%", "%"+q+"%")
}
if pagesize != 0 {
orderstr := fmt.Sprintf(`%s.update_time desc`, channelTableName)
dbclient.Joins(fmt.Sprintf(`left join %s ON %s.id = %s.device_id`, deviceTableName, deviceTableName, channelTableName)).Limit(pagesize).Offset(pagesize * pageindex).Scan(&dataList).Order(orderstr)
}
该代码的实现效果就是当用户输入搜索字段的时候,后端判断,只要设备号,通道号,设备名称,通道名称,有一个符合条件,就返回结果给前端。
代码搭建好后返回前端进行测试,搜索设备名称,前端能够正确展示,该功能无bug。
EasyGBS视频平台会不断保持更新,将新的需求或功能点添加上的同时,也会对一些新技术进行平台适配度的测试,保持EasyGBS在功能和技术上的先进性。EasyGBS还具备更多二次开发和调用的接口,往后的博文中我们也会逐渐为大家介绍,因此大家可以关注我们,获取最新的开发信息。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。