Documentation
¶
Index ¶
- Variables
- func RunApprovalWindow(windowID string, data *ApprovalWindowData, wsClient *websocket.WebSocketClient) error
- func RunDashboardWindow(windowID string, data *DashboardWindowData, ...) error
- func RunHeadlessWindow(windowID string, data *ApprovalWindowData, wsClient *websocket.WebSocketClient) error
- type ApprovalApp
- type ApprovalBindings
- func (b *ApprovalBindings) CloseWindow()
- func (b *ApprovalBindings) GetContext() map[string]string
- func (b *ApprovalBindings) GetOperation() string
- func (b *ApprovalBindings) GetOperationName() string
- func (b *ApprovalBindings) GetReason() string
- func (b *ApprovalBindings) GetRequestID() string
- func (b *ApprovalBindings) GetRiskLevel() string
- func (b *ApprovalBindings) GetTarget() string
- func (b *ApprovalBindings) GetTimeout() int
- type ApprovalWindow
- type ApprovalWindowData
- type DashboardBindings
- type DashboardWindow
- type DashboardWindowData
- type WindowBase
- func (w *WindowBase) Bind() []interface{}
- func (w *WindowBase) GetData() WindowData
- func (w *WindowBase) GetID() string
- func (w *WindowBase) GetType() string
- func (w *WindowBase) SendResult(result interface{})
- func (w *WindowBase) SetData(data WindowData) error
- func (w *WindowBase) Shutdown(ctx context.Context)
- func (w *WindowBase) Startup(ctx context.Context) error
- type WindowData
- type WindowError
Constants ¶
This section is empty.
Variables ¶
var (
ErrInvalidData = &WindowError{Code: "INVALID_DATA", Message: "Invalid window data"}
)
Errors
Functions ¶
func RunApprovalWindow ¶
func RunApprovalWindow(windowID string, data *ApprovalWindowData, wsClient *websocket.WebSocketClient) error
RunApprovalWindow 运行审批窗口(真正的 Wails 窗口实现)
func RunDashboardWindow ¶
func RunDashboardWindow(windowID string, data *DashboardWindowData, wsClient *websocket.WebSocketClient) error
RunDashboardWindow runs the Dashboard as a Wails window.
func RunHeadlessWindow ¶
func RunHeadlessWindow(windowID string, data *ApprovalWindowData, wsClient *websocket.WebSocketClient) error
RunHeadlessWindow 运行无窗口模式(用于测试通信流程)
Types ¶
type ApprovalApp ¶
type ApprovalApp struct {
// contains filtered or unexported fields
}
ApprovalApp 审批窗口 Wails 应用
func NewApprovalApp ¶
func NewApprovalApp(window *ApprovalWindow) *ApprovalApp
NewApprovalApp 创建审批应用
func (*ApprovalApp) DomReady ¶
func (a *ApprovalApp) DomReady(ctx context.Context)
DomReady DOM 准备完成
type ApprovalBindings ¶
type ApprovalBindings struct {
// contains filtered or unexported fields
}
ApprovalBindings 审批窗口绑定
func (*ApprovalBindings) GetContext ¶
func (b *ApprovalBindings) GetContext() map[string]string
GetContext 获取上下文
func (*ApprovalBindings) GetOperation ¶
func (b *ApprovalBindings) GetOperation() string
GetOperation 获取操作类型
func (*ApprovalBindings) GetOperationName ¶
func (b *ApprovalBindings) GetOperationName() string
GetOperationName 获取操作显示名称
func (*ApprovalBindings) GetRequestID ¶
func (b *ApprovalBindings) GetRequestID() string
GetRequestID 获取请求 ID
func (*ApprovalBindings) GetRiskLevel ¶
func (b *ApprovalBindings) GetRiskLevel() string
GetRiskLevel 获取风险级别
type ApprovalWindow ¶
type ApprovalWindow struct {
*WindowBase
// contains filtered or unexported fields
}
ApprovalWindow 审批窗口
func NewApprovalWindow ¶
func NewApprovalWindow(windowID string, data *ApprovalWindowData, wsClient *websocket.WebSocketClient) *ApprovalWindow
NewApprovalWindow 创建审批窗口
func (*ApprovalWindow) Startup ¶
func (w *ApprovalWindow) Startup(ctx context.Context) error
Startup 启动窗口
func (*ApprovalWindow) SubmitApproval ¶
func (w *ApprovalWindow) SubmitApproval(approved bool, reason string) error
SubmitApproval 提交审批决定
type ApprovalWindowData ¶
type ApprovalWindowData struct {
RequestID string `json:"request_id"`
Operation string `json:"operation"`
OperationName string `json:"operation_name"`
Target string `json:"target"`
RiskLevel string `json:"risk_level"`
Reason string `json:"reason"`
TimeoutSeconds int `json:"timeout_seconds"`
Context map[string]string `json:"context"`
Timestamp int64 `json:"timestamp"`
}
ApprovalWindowData 审批窗口数据
func (*ApprovalWindowData) GetTimeout ¶
func (d *ApprovalWindowData) GetTimeout() int
GetTimeout 获取超时时间
type DashboardBindings ¶
type DashboardBindings struct {
// contains filtered or unexported fields
}
DashboardBindings Dashboard 窗口绑定
func (*DashboardBindings) GetToken ¶
func (b *DashboardBindings) GetToken() string
GetToken 获取 Token
func (*DashboardBindings) GetWebHost ¶
func (b *DashboardBindings) GetWebHost() string
GetWebHost 获取 Web 主机
func (*DashboardBindings) GetWebPort ¶
func (b *DashboardBindings) GetWebPort() int
GetWebPort 获取 Web 端口
type DashboardWindow ¶
type DashboardWindow struct {
*WindowBase
// contains filtered or unexported fields
}
DashboardWindow Dashboard 窗口
func NewDashboardWindow ¶
func NewDashboardWindow(windowID string, data *DashboardWindowData, wsClient *websocket.WebSocketClient) *DashboardWindow
NewDashboardWindow 创建 Dashboard 窗口
func (*DashboardWindow) GetDashboardData ¶
func (w *DashboardWindow) GetDashboardData() *DashboardWindowData
GetData 获取 Dashboard 数据
func (*DashboardWindow) Shutdown ¶
func (w *DashboardWindow) Shutdown(ctx context.Context)
Shutdown 关闭窗口
type DashboardWindowData ¶
type DashboardWindowData struct {
Token string `json:"token"`
WebPort int `json:"web_port"`
WebHost string `json:"web_host"`
}
DashboardWindowData Dashboard 窗口数据
func (*DashboardWindowData) GetTimeout ¶
func (d *DashboardWindowData) GetTimeout() int
GetTimeout 获取超时时间(Dashboard 无超时)
type WindowBase ¶
type WindowBase struct {
ID string
Type string
Data WindowData
WSClient *websocket.WebSocketClient
ResultCh chan interface{}
// contains filtered or unexported fields
}
WindowBase 窗口基类
func NewWindowBase ¶
func NewWindowBase(windowID, windowType string, data WindowData, wsClient *websocket.WebSocketClient) *WindowBase
NewWindowBase 创建窗口基类
func (*WindowBase) SendResult ¶
func (w *WindowBase) SendResult(result interface{})
SendResult 发送结果到父进程
type WindowError ¶
WindowError 窗口错误
func (*WindowError) Error ¶
func (e *WindowError) Error() string