camera.go 738 B

123456789101112131415161718192021222324252627
  1. package parking
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "wails-app/internal/model/common/response"
  5. )
  6. // ListCameraStreams 返回进出场工作台可用的摄像头播放地址。
  7. func ListCameraStreams(c *gin.Context) {
  8. streams, err := passageService.ListCameraStreams()
  9. if err != nil {
  10. response.FailWithMessage(err.Error(), c)
  11. return
  12. }
  13. response.OkWithData(streams, c)
  14. }
  15. // CameraMJPEG 输出系统侧 FFmpeg 转换的摄像头流。
  16. func CameraMJPEG(c *gin.Context) {
  17. c.Header("Cache-Control", "no-store, no-cache, must-revalidate")
  18. c.Header("Pragma", "no-cache")
  19. err := passageService.StreamCameraMJPEG(c.Param("device_code"), c.Param("token"), c.Writer, c.Request.Context())
  20. if err != nil {
  21. c.Status(404)
  22. return
  23. }
  24. }