local

package
v1.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2026 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Package local 实现 local binder:本地终端连接、读写、尺寸调整。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LangProvider

type LangProvider interface {
	Lang() string
}

LangProvider 由 system binder 实现。

type Local

type Local struct {
	// contains filtered or unexported fields
}

Local binder。

func New

func New(appCtx context.Context, lang LangProvider, mgr *localterm_svc.Manager) *Local

New 构造 local binder。

func (*Local) Cleanup

func (l *Local) Cleanup()

Cleanup 关闭所有本地终端。

func (*Local) ConnectLocalAsync

func (l *Local) ConnectLocalAsync(req LocalConnectRequest) (string, error)

ConnectLocalAsync 异步启动本地终端,立即返回 connectionId。

func (*Local) DisconnectLocal

func (l *Local) DisconnectLocal(sessionID string)

DisconnectLocal 断开本地终端。

func (*Local) ListLocalShells

func (l *Local) ListLocalShells() ([]localterm_svc.ShellInfo, error)

ListLocalShells 委托 localterm_svc 探测本机可用 shell(/etc/shells、WSL 发行版等),供前端下拉预设。

func (*Local) ResizeLocalTerminal

func (l *Local) ResizeLocalTerminal(sessionID string, cols, rows int) error

ResizeLocalTerminal 调整本地终端尺寸。

func (*Local) SplitLocal

func (l *Local) SplitLocal(existingSessionID string, cols, rows int) (string, error)

SplitLocal 本地终端分屏:以现有会话相同的 shell 配置新开一个会话,返回新 sessionID。 与 SSH 不同,本地没有可复用的连接,分屏即再起一个同配置的 shell PTY。回调接线与 ConnectLocalAsync 一致(sessionID 已知后再挂,避免首屏输出丢失)。

func (*Local) Startup

func (l *Local) Startup(ctx context.Context)

Startup 保存 Wails ctx。

func (*Local) WriteLocal

func (l *Local) WriteLocal(sessionID string, dataB64 string) error

WriteLocal 向本地终端写入数据(base64 编码)。

type LocalConnectEvent

type LocalConnectEvent struct {
	Type      string `json:"type"`                // "progress" | "connected" | "error"
	Message   string `json:"message,omitempty"`   // 进度消息
	SessionID string `json:"sessionId,omitempty"` // type=connected 时返回的会话ID
	Error     string `json:"error,omitempty"`     // type=error 时的错误信息
}

LocalConnectEvent 本地终端异步连接事件。

type LocalConnectRequest

type LocalConnectRequest struct {
	AssetID int64 `json:"assetId"`
	Cols    int   `json:"cols"`
	Rows    int   `json:"rows"`
}

LocalConnectRequest 前端本地终端连接请求。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL