Flutter web app replacing legacy WPF CCTV surveillance keyboard controller. Includes wall overview, section view with monitor grid, camera input, PTZ control, alarm/lock/sequence BLoCs, and legacy-matching UI styling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
194 lines
3.1 KiB
HTTP
194 lines
3.1 KiB
HTTP
### GeViScope Bridge Test Suite
|
|
### Use with VS Code REST Client extension or similar
|
|
|
|
@baseUrl = http://localhost:7720
|
|
|
|
### Health Check
|
|
GET {{baseUrl}}/health
|
|
|
|
### Status (before connect)
|
|
GET {{baseUrl}}/status
|
|
|
|
### Connect to GeViScope Server
|
|
POST {{baseUrl}}/connect
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Address": "192.168.1.10",
|
|
"Username": "operator",
|
|
"Password": "password"
|
|
}
|
|
|
|
### Status (after connect)
|
|
GET {{baseUrl}}/status
|
|
|
|
### Get Media Channels
|
|
GET {{baseUrl}}/channels
|
|
|
|
### Get Monitor States (tracked from events)
|
|
GET {{baseUrl}}/monitors
|
|
|
|
### Get Specific Monitor State
|
|
GET {{baseUrl}}/monitors/5
|
|
|
|
### Get Active Alarms (tracked from events)
|
|
GET {{baseUrl}}/alarms/active
|
|
|
|
### Get All Alarms (including stopped)
|
|
GET {{baseUrl}}/alarms
|
|
|
|
### ViewerConnectLive - Switch Camera 1 to Monitor 5
|
|
POST {{baseUrl}}/viewer/connect-live
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 5,
|
|
"Channel": 1
|
|
}
|
|
|
|
### CrossSwitch (compatibility endpoint)
|
|
POST {{baseUrl}}/crossswitch
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"VideoInput": 2,
|
|
"VideoOutput": 6,
|
|
"SwitchMode": 0
|
|
}
|
|
|
|
### ViewerClear - Clear Monitor 5
|
|
POST {{baseUrl}}/viewer/clear
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 5
|
|
}
|
|
|
|
### PTZ Pan Left
|
|
POST {{baseUrl}}/camera/pan
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 1,
|
|
"Direction": "left",
|
|
"Speed": 50
|
|
}
|
|
|
|
### PTZ Pan Stop
|
|
POST {{baseUrl}}/camera/pan-stop
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 1
|
|
}
|
|
|
|
### PTZ Tilt Up
|
|
POST {{baseUrl}}/camera/tilt
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 1,
|
|
"Direction": "up",
|
|
"Speed": 30
|
|
}
|
|
|
|
### PTZ Zoom In
|
|
POST {{baseUrl}}/camera/zoom
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 1,
|
|
"Direction": "in",
|
|
"Speed": 50
|
|
}
|
|
|
|
### PTZ Stop All
|
|
POST {{baseUrl}}/camera/stop
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 1
|
|
}
|
|
|
|
### PTZ Go to Preset
|
|
POST {{baseUrl}}/camera/preset
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 1,
|
|
"Preset": 1
|
|
}
|
|
|
|
### Playback - Set Play Mode
|
|
POST {{baseUrl}}/viewer/set-play-mode
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 5,
|
|
"PlayMode": "play forward",
|
|
"PlaySpeed": 1.0
|
|
}
|
|
|
|
### Playback - Jump to Time
|
|
POST {{baseUrl}}/viewer/play-from-time
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 5,
|
|
"Channel": 1,
|
|
"PlayMode": "play forward",
|
|
"Time": "2026/02/03 10:00:00,000 GMT+01:00"
|
|
}
|
|
|
|
### Playback - Jump Back 60 Seconds
|
|
POST {{baseUrl}}/viewer/jump-by-time
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 5,
|
|
"Channel": 1,
|
|
"PlayMode": "play backward",
|
|
"TimeInSec": -60
|
|
}
|
|
|
|
### Digital Output - Close Contact
|
|
POST {{baseUrl}}/digital-io/close
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"ContactId": 1
|
|
}
|
|
|
|
### Digital Output - Open Contact
|
|
POST {{baseUrl}}/digital-io/open
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"ContactId": 1
|
|
}
|
|
|
|
### Get Message Log
|
|
GET {{baseUrl}}/messages
|
|
|
|
### Clear Message Log
|
|
POST {{baseUrl}}/messages/clear
|
|
|
|
### Send Generic Action
|
|
POST {{baseUrl}}/action
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Action": "ViewerConnectLive(5, 1)"
|
|
}
|
|
|
|
### Test Action Decode (Debug)
|
|
POST {{baseUrl}}/debug/test-action
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Action": "ViewerConnected(5, 1, 11)"
|
|
}
|
|
|
|
### Disconnect
|
|
POST {{baseUrl}}/disconnect
|