ui

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package ui 是官方通用界面件(T9 装配式默认界面的服务端件):只读回放面 (REST + SSE)+ embed 单页回放组件。装配先例同 channels/——应用 import 才进构建;零引擎改动(Registry/Session 公开面的纯装配)。

装配面:ui.New(m, Config) → http.Handler(应用自挂 mux);ui.Serve(addr) 便捷档阻塞监听。 扩展点:Config.Authorize 鉴权缝(nil = 不校验——多租户/会话可见性归应用; owner 从注册表解析非 URL 参数,不可伪造)。 已知限制:单会话面寻址内存注册表——冷会话(仅盘面)先经应用 Reattach; live 档依赖进程内会话(跨进程走应用网关)。前端工具链不进 go build (M1 原生 JS 起步;React 化与 TS 类型生成是 M2 的有意决策,评审可见)。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(m *engine.Manager, cfg Config) (http.Handler, error)

New 构造服务(读面 + M2 控制面同包装配——control.go)。端点:GET /api/sessions?owner=(列表,空 = 全量); GET /api/sessions/{sid}?since=(详情 + 增量事件);GET /api/sessions/{sid}/ events?since=&live=1(默认回放档 = 快照 JSON 数组〔golden 同款形态〕; live=1 = SSE:先快照补齐再实时转发,按事件 ID 去重,断线重连带 since 续传)。

func Serve

func Serve(m *engine.Manager, cfg Config, addr string) error

Serve 便捷档:构造 + 阻塞监听(独立端口跑回放面;优雅停机归应用—— http.Server 自行包装可加)。ReadHeaderTimeout 防慢连接资源占用(裸 ListenAndServe 的零值 Server 无超时——安全审查 2026-09-06)。

func TUI

func TUI(m *engine.Manager, sid string) error

TUI 启动终端回放浏览器:sid 空 = 先选会话(ListAll);否则直入会话视图。 键位:k/j 上下 · g 头 G 尾 · Enter 检查器开合 · / 过滤 · l 实时 · r 刷新 · q 退出。单次使用约束(键盘泵 stdin 读阻塞随进程退出——见泵注释)。

Types

type Config

type Config struct {
	// Authorize 请求鉴权缝(nil = 不校验)。单会话面的 owner 取目标会话
	// 实际归属;列画面 owner 取 ?owner= 查询参数(空 = 全量 admin 视图,
	// 缝内自行裁剪)。
	Authorize func(r *http.Request, owner, sid string) error
}

Config uiserver 配置(零值可用——鉴权缝 nil = 不校验)。

Jump to

Keyboard shortcuts

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