在EasyGBS的平臺級聯功能測試中,我們發現一個問題,就是當EasyGBS向多個上級平臺級聯的時候,會出現選擇前後一個平臺的通道,影響到前一個平臺的裝置選擇的情況。
經過排查分析,發現是在級聯選擇通道的時候,沒有指定級聯資訊的id。
else if opt == "del" {
for i, v := range ids {
ids := strings.Split(v, ",")
if len(ids) != 2 {
break
}
if i == 0 {
sql = fmt.Sprintf(`(channel_id = '%s' and device_id = '%s' )`, ids[0], ids[1])
} else {
sql = fmt.Sprintf(` %s or (channel_id = '%s' and device_id = '%s')`, sql, ids[0], ids[1])
}
}
if len(ids) > 0 {
if err := db.SQLite.Delete(models.CascadeChannel{}, sql).Error; err != nil {
c.AbortWithStatusJSON(400, err.Error())
return
}
}
}
需要新增以下程式碼
for i, v := range ids {
ids := strings.Split(v, ",")
if len(ids) != 2 {
break
}
if i == 0 {
sql = fmt.Sprintf(`(channel_id = '%s' and device_id = '%s' and cascade_id = '%d')`, ids[0], ids[1], cascade_id)
} else {
sql = fmt.Sprintf(` %s or (channel_id = '%s' and device_id = '%s' and cascade_id = '%d')`, sql, ids[0], ids[1], cascade_id)
}
}
if len(ids) > 0 {
if err := db.SQLite.Delete(models.CascadeChannel{}, sql).Error; err != nil {
c.AbortWithStatusJSON(400, err.Error())
return
}
}
前端修改後一切正常,也不會影響到別的級聯資訊。
TSINGSEE青犀視訊團隊曾經介紹過不少平臺對接EasyGBS的方法,比如:EasyGBS使用者端作為上級平臺如何跟下級海康8700平臺對接,EasyGBS如何對接英飛拓視訊服務平臺,國標串流媒體伺服器對接中興力維平臺。大家可以瞭解一下。
目前我們也已經推出國標GB28181視訊平臺EasyGBS推流軟體EasyGBD,在使用手機等移動裝置進行執法或者戶外監控的時候,能夠實現戶外移動監控的網頁無外掛直播(EasyGBD在移動執法中的應用)。