添加数据到数据库,但无法插入,临时提交保存
This commit is contained in:
@@ -1,66 +1,9 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
tea "github.com/charmbracelet/bubbletea"
|
||||
"sunhpc/pkg/info"
|
||||
)
|
||||
|
||||
// model 定义应用的状态
|
||||
type model struct {
|
||||
items []string // 列表数据
|
||||
selectedIdx int // 当前选中的索引
|
||||
}
|
||||
|
||||
// Init 初始化模型,返回初始命令(这里不需要,返回 nil)
|
||||
func (m model) Init() tea.Cmd {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Update 处理用户输入和状态更新
|
||||
func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||
switch msg := msg.(type) {
|
||||
// 处理键盘输入
|
||||
case tea.KeyMsg:
|
||||
switch msg.String() {
|
||||
// Tab 键:切换选中项(循环切换)
|
||||
case "tab":
|
||||
m.selectedIdx = (m.selectedIdx + 1) % len(m.items)
|
||||
// Ctrl+C 或 q 键:退出程序
|
||||
case "ctrl+c", "q":
|
||||
return m, tea.Quit
|
||||
}
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// View 渲染界面
|
||||
func (m model) View() string {
|
||||
s := "网络接口列表(按 Tab 切换选择,按 q 退出)\n\n"
|
||||
|
||||
// 遍历列表项,渲染每一项
|
||||
for i, item := range m.items {
|
||||
// 标记当前选中的项
|
||||
if i == m.selectedIdx {
|
||||
s += fmt.Sprintf("→ %s (选中)\n", item)
|
||||
} else {
|
||||
s += fmt.Sprintf(" %s\n", item)
|
||||
}
|
||||
}
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
func main() {
|
||||
// 初始化模型,设置列表数据
|
||||
initialModel := model{
|
||||
items: []string{"eth0", "eth1", "eth2", "eth3"},
|
||||
selectedIdx: 0, // 默认选中第一个项
|
||||
}
|
||||
|
||||
// 启动 Bubble Tea 程序
|
||||
p := tea.NewProgram(initialModel)
|
||||
if _, err := p.Run(); err != nil {
|
||||
fmt.Printf("程序运行出错: %v\n", err)
|
||||
}
|
||||
info.PrintAllInfo()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user