123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- package page
- import (
- "encoding/json"
- "github.com/flet-dev/flet/server/model"
- )
- type Message struct {
- ID string `json:"id"`
- Action string `json:"action"`
- Payload json.RawMessage `json:"payload"`
- }
- func NewMessageData(id string, action string, payload interface{}) []byte {
- msg := NewMessage(id, action, payload)
- result, _ := json.Marshal(msg)
- return result
- }
- func NewMessage(id string, action string, payload interface{}) *Message {
- msg := &Message{
- ID: id,
- Action: action,
- }
- // serialize payload
- serializedPayload, _ := json.Marshal(payload)
- msg.Payload = serializedPayload
- return msg
- }
- type RegisterHostClientRequestPayload struct {
- HostClientID string `json:"hostClientID"`
- PageName string `json:"pageName"`
- AssetsDir string `json:"assetsDir"`
- AuthToken string `json:"authToken"`
- Permissions string `json:"permissions"`
- }
- type RegisterHostClientResponsePayload struct {
- HostClientID string `json:"hostClientID"`
- SessionID string `json:"sessionID"`
- PageName string `json:"pageName"`
- Error string `json:"error"`
- }
- type RegisterWebClientRequestPayload struct {
- PageName string `json:"pageName"`
- PageRoute string `json:"pageRoute"`
- PageWidth string `json:"pageWidth"`
- PageHeight string `json:"pageHeight"`
- WindowWidth string `json:"windowWidth"`
- WindowHeight string `json:"windowHeight"`
- WindowTop string `json:"windowTop"`
- WindowLeft string `json:"windowLeft"`
- IsPWA string `json:"isPWA"`
- IsWeb string `json:"isWeb"`
- IsDebug string `json:"isDebug"`
- Platform string `json:"platform"`
- PlatformBrightness string `json:"platformBrightness"`
- Media string `json:"media"`
- SessionID string `json:"sessionID"`
- }
- type RegisterWebClientResponsePayload struct {
- Session *SessionPayload `json:"session"`
- AppInactive bool `json:"appInactive"`
- Error string `json:"error"`
- }
- type SessionPayload struct {
- ID string `json:"id"`
- Controls map[string]*model.Control `json:"controls"`
- }
- type SessionCreatedPayload struct {
- PageName string `json:"pageName"`
- SessionID string `json:"sessionID"`
- }
- type PageCommandRequestPayload struct {
- PageName string `json:"pageName"`
- SessionID string `json:"sessionID"`
- Command *model.Command `json:"command"`
- }
- type PageCommandResponsePayload struct {
- Result string `json:"result"`
- Error string `json:"error"`
- }
- type PageCommandsBatchRequestPayload struct {
- PageName string `json:"pageName"`
- SessionID string `json:"sessionID"`
- Commands []*model.Command `json:"commands"`
- }
- type PageCommandsBatchResponsePayload struct {
- Results []string `json:"results"`
- Error string `json:"error"`
- }
- type InactiveAppRequestPayload struct {
- PageName string `json:"pageName"`
- }
- type PageEventPayload struct {
- PageName string `json:"pageName"`
- SessionID string `json:"sessionID"`
- EventTarget string `json:"eventTarget"`
- EventName string `json:"eventName"`
- EventData string `json:"eventData"`
- }
- type AddPageControlsPayload struct {
- Controls []*model.Control `json:"controls"`
- TrimIDs []string `json:"trimIDs"`
- }
- type ReplacePageControlsPayload struct {
- IDs []string `json:"ids"`
- Remove bool `json:"remove"`
- Controls []*model.Control `json:"controls"`
- }
- type UpdateControlPropsPayload struct {
- Props []map[string]string `json:"props"`
- }
- type AppendControlPropsPayload struct {
- Props []map[string]string `json:"props"`
- }
- type RemoveControlPayload struct {
- IDs []string `json:"ids"`
- }
- type CleanControlPayload struct {
- IDs []string `json:"ids"`
- }
- type AppBecomeActivePayload struct {
- }
- type AppBecomeInactivePayload struct {
- Message string `json:"message"`
- }
- type SessionCrashedPayload struct {
- Message string `json:"message"`
- }
- type InvokeMethodPayload struct {
- MethodID string `json:"methodId"`
- MethodName string `json:"methodName"`
- ControlID string `json:"controlId"`
- Arguments map[string]string `json:"arguments"`
- }
|