How galaxy-s10/billd-desk works
BilldDesk Pro is a cross-platform remote-desktop client. The main workflow is: a user opens the remote view, obtains or verifies device credentials, joins a signaling room, establishes a WebRTC peer connection, then views and controls the remote device. The graph also captures the Electron desktop bridge and the documented group-control and configuration capabilities. Several README features are not represented by sampled implementation excerpts, so their wiring is intentionally left unspecified.
Main entry points: index.vue Remote view · use-websocket.ts WebSocket session · api HTTP API clients · App.vue Vue application
Components 21
Client UI
- Vue application
src/App.vue - Page routing
src/router/index.ts - Remote view
src/views/remote/index.vue - Device management
src/views/deviceManage/index.vue - Connection settings
src/views/setting/index.vue - Group control
src/views/webrtc/index.vue - Application state
src/store/app/index.ts - Persisted settings
src/store/cache/index.ts
Remote Session
- WebSocket session
src/hooks/use-websocket.ts - Network state
src/store/network/index.ts - WebRTC transport
src/utils/network/webRTC.ts - RTC workflows
src/hooks/webrtc/remoteDesk.ts
Connectivity
- HTTP API clients
src/api
Desktop Integration
- Renderer IPC helpers
src/utils/index.ts - Electron preload
electron-main/preload.ts - Electron main
electron-main/index.ts
Other components
- Remote user
- BilldDesk backend
- Signaling service
- Remote device
- Desktop input
Connections 26
- Remote user → Vue application: uses
- Vue application → Page routing: mounts routes
- Page routing → Remote view: routes to
- Remote user → Remote view: starts session
- Remote view → HTTP API clients: requests credentials
- HTTP API clients → BilldDesk backend: calls API
- Remote view → Persisted settings: reads credentials
- Remote view → WebSocket session: initializes session
- WebSocket session → Signaling service: exchanges messages
- WebSocket session → HTTP API clients: verifies room key
- WebSocket session → Network state: updates connections
- WebSocket session → RTC workflows: starts peer flows
- Remote view → RTC workflows: configures remote desk
- RTC workflows → WebRTC transport: creates peer links
- WebRTC transport → Remote device: exchanges media and data
- Group control → Network state: reads peer links
- Group control → WebRTC transport: sends control data
- Remote view → Application state: updates session state
- Remote view → Renderer IPC helpers: requests display info
- Vue application → Application state: initializes version
- Vue application → HTTP API clients: checks version
- Connection settings → Persisted settings: stores endpoints
- Device management → HTTP API clients: manages device
- Renderer IPC helpers → Electron preload: sends IPC
- Electron preload → Electron main: forwards IPC
- Electron main → Desktop input: simulates input