mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-23 02:48:34 +08:00
优化
This commit is contained in:
@@ -1,57 +0,0 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/PandaXGO/PandaKit/biz"
|
||||
"github.com/PandaXGO/PandaKit/model"
|
||||
"github.com/PandaXGO/PandaKit/restfulx"
|
||||
"pandax/pkg/ys"
|
||||
)
|
||||
|
||||
type YsApi struct {
|
||||
Ys *ys.Ys
|
||||
}
|
||||
|
||||
func (j *YsApi) GetDeviceList(rc *restfulx.ReqCtx) {
|
||||
pageNum := restfulx.QueryInt(rc, "pageNum", 1)
|
||||
pageSize := restfulx.QueryInt(rc, "pageSize", 10)
|
||||
devices, total, err := j.Ys.GetDeviceList(pageNum, pageSize)
|
||||
biz.ErrIsNil(err, "设备列表获取失败,可能萤石Token过期,请联系管理员。。")
|
||||
rc.ResData = model.ResultPage{
|
||||
Total: total,
|
||||
PageNum: int64(pageNum),
|
||||
PageSize: int64(pageSize),
|
||||
Data: devices,
|
||||
}
|
||||
}
|
||||
|
||||
func (j *YsApi) GetDeviceChannelList(rc *restfulx.ReqCtx) {
|
||||
deviceSerial := restfulx.PathParam(rc, "deviceSerial")
|
||||
cameras, err := j.Ys.GetDeviceChannelList(deviceSerial)
|
||||
biz.ErrIsNilAppendErr(err, "设备通道列表获取失败")
|
||||
rc.ResData = cameras
|
||||
}
|
||||
|
||||
func (j *YsApi) GetDeviceLiveAddress(rc *restfulx.ReqCtx) {
|
||||
deviceSerial := restfulx.PathParam(rc, "deviceSerial")
|
||||
channelNo := restfulx.QueryInt(rc, "channelNo", 1)
|
||||
live, err := j.Ys.GetDeviceLiveAddress(deviceSerial, channelNo)
|
||||
biz.ErrIsNilAppendErr(err, "设备直播地址获取失败")
|
||||
rc.ResData = live
|
||||
}
|
||||
|
||||
func (j *YsApi) StartPtz(rc *restfulx.ReqCtx) {
|
||||
deviceSerial := restfulx.PathParam(rc, "deviceSerial")
|
||||
channelNo := restfulx.QueryInt(rc, "channelNo", 1)
|
||||
direction := restfulx.QueryInt(rc, "direction", 0)
|
||||
speed := restfulx.QueryInt(rc, "speed", 0)
|
||||
err := j.Ys.StartPtz(deviceSerial, channelNo, direction, speed)
|
||||
biz.ErrIsNilAppendErr(err, "操作摄像头失败")
|
||||
}
|
||||
|
||||
func (j *YsApi) StopPtz(rc *restfulx.ReqCtx) {
|
||||
deviceSerial := restfulx.PathParam(rc, "deviceSerial")
|
||||
channelNo := restfulx.QueryInt(rc, "channelNo", 1)
|
||||
direction := restfulx.QueryInt(rc, "direction", 0)
|
||||
err := j.Ys.StopPtz(deviceSerial, channelNo, direction)
|
||||
biz.ErrIsNilAppendErr(err, "停止摄像头失败")
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"github.com/PandaXGO/PandaKit/model"
|
||||
"github.com/PandaXGO/PandaKit/restfulx"
|
||||
restfulspec "github.com/emicklei/go-restful-openapi/v2"
|
||||
"github.com/emicklei/go-restful/v3"
|
||||
"pandax/apps/video/api"
|
||||
"pandax/pkg/global"
|
||||
"pandax/pkg/ys"
|
||||
)
|
||||
|
||||
func InitEzvizRouter(container *restful.Container) {
|
||||
// 登录日志
|
||||
s := &api.YsApi{
|
||||
Ys: &ys.Ys{
|
||||
AppKey: global.Conf.Ys.AppKey,
|
||||
Secret: global.Conf.Ys.Secret,
|
||||
},
|
||||
}
|
||||
ws := new(restful.WebService)
|
||||
ws.Path("/video/ys").Produces(restful.MIME_JSON)
|
||||
tags := []string{"ys"}
|
||||
|
||||
ws.Route(ws.GET("/device/list").To(func(request *restful.Request, response *restful.Response) {
|
||||
restfulx.NewReqCtx(request, response).WithLog("获取设备列表").Handle(s.GetDeviceList)
|
||||
}).
|
||||
Doc("获取设备列表").
|
||||
Param(ws.QueryParameter("pageNum", "页数").Required(true).DataType("int")).
|
||||
Param(ws.QueryParameter("pageSize", "每页条数").Required(true).DataType("int")).
|
||||
Metadata(restfulspec.KeyOpenAPITags, tags).
|
||||
Writes(model.ResultPage{}).
|
||||
Returns(200, "OK", model.ResultPage{}))
|
||||
|
||||
ws.Route(ws.GET("/{deviceSerial}/channel").To(func(request *restful.Request, response *restful.Response) {
|
||||
restfulx.NewReqCtx(request, response).WithLog("设备通道列表").Handle(s.GetDeviceChannelList)
|
||||
}).
|
||||
Doc("设备通道列表").
|
||||
Param(ws.PathParameter("deviceSerial", "deviceSerial").DataType("string")).
|
||||
Metadata(restfulspec.KeyOpenAPITags, tags).
|
||||
Writes(ys.Channel{}). // on the response
|
||||
Returns(200, "OK", []ys.Channel{}).
|
||||
Returns(404, "Not Found", nil))
|
||||
|
||||
ws.Route(ws.GET("/{deviceSerial}/channel/live").To(func(request *restful.Request, response *restful.Response) {
|
||||
restfulx.NewReqCtx(request, response).WithLog("设备直播地址").Handle(s.GetDeviceLiveAddress)
|
||||
}).
|
||||
Doc("设备直播地址").
|
||||
Param(ws.PathParameter("deviceSerial", "deviceSerial").DataType("string")).
|
||||
Param(ws.QueryParameter("channelNo", "通道序号").Required(true).DataType("int")).
|
||||
Metadata(restfulspec.KeyOpenAPITags, tags).
|
||||
Writes(ys.Channel{}). // on the response
|
||||
Returns(200, "OK", []ys.Channel{}).
|
||||
Returns(404, "Not Found", nil))
|
||||
|
||||
ws.Route(ws.GET("/{deviceSerial}/ptz/start").To(func(request *restful.Request, response *restful.Response) {
|
||||
restfulx.NewReqCtx(request, response).WithLog("摄像头操作").Handle(s.StartPtz)
|
||||
}).
|
||||
Doc("摄像头操作").
|
||||
Param(ws.PathParameter("deviceSerial", "deviceSerial").DataType("string")).
|
||||
Param(ws.QueryParameter("channelNo", "通道序号").Required(true).DataType("int")).
|
||||
Param(ws.QueryParameter("direction", "方向").Required(true).DataType("int")).
|
||||
Param(ws.QueryParameter("speed", "速度").Required(true).DataType("int")).
|
||||
Metadata(restfulspec.KeyOpenAPITags, tags))
|
||||
|
||||
ws.Route(ws.GET("/{deviceSerial}/ptz/stop").To(func(request *restful.Request, response *restful.Response) {
|
||||
restfulx.NewReqCtx(request, response).WithLog("摄像头操作停止").Handle(s.StopPtz)
|
||||
}).
|
||||
Doc("摄像头操作停止").
|
||||
Param(ws.PathParameter("deviceSerial", "deviceSerial").DataType("string")).
|
||||
Param(ws.QueryParameter("channelNo", "通道序号").Required(true).DataType("int")).
|
||||
Param(ws.QueryParameter("direction", "方向").Required(true).DataType("int")).
|
||||
Metadata(restfulspec.KeyOpenAPITags, tags))
|
||||
|
||||
container.Add(ws)
|
||||
}
|
||||
Reference in New Issue
Block a user