Web 界面
AirlineSim Autobuy 内嵌了一个基于 Vue 3 的 Web 管理界面,提供完整的图形化管理功能。默认地址为 http://localhost:9090。
仪表盘
仪表盘是 Web 界面的首页,展示引擎运行状态和统计信息。
引擎控制
页面顶部提供引擎的启动/停止控制按钮:
- 启动引擎 — 开始监控所有配置的服务器
- 停止引擎 — 停止所有监控活动
引擎状态指示器显示当前是否在运行中。
统计概览
仪表盘展示以下全局统计数据:
| 指标 | 说明 |
|---|---|
| 扫描次数 | 自启动以来的市场扫描总次数 |
| 发现飞机 | 匹配到规则的飞机总数 |
| 购买成功 | 成功购买的飞机总数 |
| 购买失败 | 购买失败的次数 |
| 最后扫描 | 最近一次扫描的时间 |
| 最后错误 | 最近一次错误的详细信息 |
服务器状态
每个配置的服务器都有独立的状态卡片,显示:
- 服务器主机名
- 该服务器的扫描次数
- 发现的飞机数量
- 购买成功/失败计数
- 最后扫描时间
- 最后错误信息
规则页面
规则页面提供完整的规则管理功能,支持对规则的增删改查。
规则列表
以表格形式展示所有配置的规则,每行显示:
- 启用/禁用开关
- 规则名称
- 优先级
- 匹配条件摘要
- 操作设置摘要
- 操作按钮(编辑、删除、切换)
创建规则
点击"添加规则"按钮打开创建表单,包含以下字段:
基本信息
- 规则名称
- 启用/禁用
- 优先级(1-100)
匹配条件
- 飞机系列(下拉选择,数据来自游戏市场)
- 飞机型号(下拉选择)
- 手动输入型号列表
- 最低价格
- 最高价格
- 最大机龄(年)
- 最大飞行循环数
- 最低机身状态(%)
- 交易类型(拍卖/立即购买/全选)
- 融资方式(现金/贷款/租赁)
- 排序方式
操作设置
- 自动购买开关
- 最大加价幅度(AS$)
编辑规则
点击规则行中的"编辑"按钮,打开与创建规则相同的表单,预填当前规则的配置。
启用/禁用规则
通过规则列表中的开关按钮,或在详情页使用"切换"操作,可以快速启用或禁用规则。
删除规则
点击"删除"按钮并确认后,规则将从配置中移除。
规则排序
规则的显示顺序(在 Web 界面中)可以通过拖拽或重新排序操作进行调整。排序使用 PUT /api/rules/reorder 接口实现。
设置页面
设置页面允许通过 Web 界面修改全局配置(不包括规则)。
服务器配置
添加、编辑或删除游戏服务器。每个服务器需要配置:
- 主机标识名
- 基础 URL
认证配置
管理认证账户,支持多账户配置:
- 用户名
- 密码(显示为掩码)
- 会话文件路径
监控设置
调整市场监控参数:
- 轮询间隔(秒)
- 随机延迟(秒)
- 请求超时(秒)
- 最低余额保护(AS$)
通知设置
配置通知渠道:
- 控制台输出开关
- Discord Webhook URL
WebUI 设置
调整 Web 界面本身的参数:
- 启用/禁用
- 监听地址
- 端口
保存设置
修改后点击"保存"按钮,配置会通过 API 更新并持久化到 YAML 文件中。
日志页面
日志页面提供实时的事件查看功能。
事件流
按时间倒序显示所有事件,每条事件包含:
- 时间戳
- 事件类型(图标区分)
- 事件消息
- 详细描述(可展开)
事件类型图标
| 事件类型 | 图标 | 说明 |
|---|---|---|
| 发现飞机 | 🔍 | 检测到匹配规则的飞机 |
| 购买成功 | 🛒 | 成功完成购买 |
| 购买失败 | ❌ | 购买操作失败 |
| 出价成功 | 💰 | 成功提交竞拍出价 |
| 错误 | ⚠️ | 系统运行错误 |
| 信息 | ℹ️ | 一般信息通知 |
自动刷新
日志页面会定期自动刷新,确保显示最新的事件。
导航
Web 界面顶部导航栏包含:
- 仪表盘 — 引擎状态和统计
- 规则 — 规则管理
- 设置 — 全局配置
- 日志 — 实时事件日志
API 端点
Web 界面通过 REST API 与后端通信。以下是前端使用的 API 端点列表:
| 方法 | 路径 | 说明 |
|---|---|---|
GET | /api/status | 获取引擎运行状态 |
POST | /api/control/start | 启动监控引擎 |
POST | /api/control/stop | 停止监控引擎 |
POST | /api/reload | 重新加载规则 |
GET | /api/config | 获取完整配置 |
PUT | /api/config | 更新全局配置 |
GET | /api/rules | 获取规则列表 |
POST | /api/rules | 创建新规则 |
GET | /api/rules/{id} | 获取单条规则 |
PUT | /api/rules/{id} | 更新单条规则 |
DELETE | /api/rules/{id} | 删除规则 |
PATCH | /api/rules/{id}/toggle | 切换规则的启用状态 |
PUT | /api/rules/reorder | 重新排序规则 |
GET | /api/aircraft-data | 获取飞机市场参考数据 |
完整的 API 文档请参阅 API 参考。
开发模式
在开发过程中,Vue 前端开发服务器(默认端口 5173)与 Go 后端(默认端口 9090)分开运行。开发服务器配置了 CORS,允许跨域请求。
# 终端 1:启动 Go 后端
make run
# 终端 2:启动 Vue 前端开发服务器
cd internal/webui/frontend && npm run dev生产构建时,前端静态文件通过 go:embed 直接嵌入到 Go 二进制文件中,无需额外部署。