refactor: 控制台输入框不再区分聊天与指令,只留一个入口
聊天和指令本来就是同一个东西:以 / 开头按游戏指令发送,否则按公屏消息发送。 服务端 /api/bots/:id/chat 一直就是这么分流的,前端多一个模式下拉框纯属多余。 - 删掉「公屏聊天 / 游戏指令」下拉框与重复的「快捷公屏消息」输入框 - 只保留:一个输入框 + 快捷发送按钮 + 移动测试按钮 - 接口返回新增 kind 字段(chat / command)说明实际走的是哪条路 - Toast 区分「消息已发送」与「指令已发送:/xxx」 - 快捷发送补上 /u restore confirm(配合定时消息常用) - 空内容提示从「消息为空」改为「内容为空」(不再只针对聊天) 测试 325 -> 326,全部通过。
这个提交包含在:
@@ -441,7 +441,17 @@ npm start
|
||||
- **中栏**:
|
||||
- 地图页签 —— **大地图**(瓦片 + 领土多边形 + 全部机器人坐标)与 **领土地图**(区块级)
|
||||
- 日志页签 —— **运行日志** / **公屏聊天** / **开拓日志**
|
||||
- **右栏**:控制台 / 聊天框(含移动测试)+ 8 个标签页的配置表单
|
||||
- **右栏**:控制台(统一输入框 + 快捷发送 + 移动测试)+ 8 个标签页的配置表单
|
||||
|
||||
### 控制台输入框:聊天与指令是同一个入口
|
||||
|
||||
不需要切换「聊天 / 指令」模式 —— **以 `/` 开头就按游戏指令发送,否则按公屏消息发送**。
|
||||
服务端 `/api/bots/:id/chat` 就是这么分流的,返回里带 `kind` 字段说明实际走的是哪条路。
|
||||
|
||||
另外提供:
|
||||
|
||||
- **快捷发送**:`/u return`、`/u claimmode`、`/u restore confirm`、`/spawn`、`/list` 一键发出
|
||||
- **移动测试**:前 / 后 / 左 / 右 / 跳,绕开寻路器直接按控制键 2 秒并回报真实位移
|
||||
|
||||
### 响应式与移动端
|
||||
|
||||
@@ -510,8 +520,8 @@ npm start
|
||||
| POST | `/api/bots/:id/move` | 手动移动测试(`direction` / `seconds`),返回真实位移 |
|
||||
| POST | `/api/bots` | 控制台新增玩家(`username` / `password` / `label`) |
|
||||
| DELETE | `/api/bots/:id` | 移除控制台新增的玩家(`.env` 里的会返回 400) |
|
||||
| POST | `/api/bots/:id/command` | 向该机器人发送游戏指令(要求已登录验证) |
|
||||
| POST | `/api/bots/:id/chat` | 向该机器人发送公屏消息(要求已登录验证) |
|
||||
| POST | `/api/bots/:id/chat` | 发送内容:**以 `/` 开头按指令发送,否则按公屏消息发送**(要求已登录验证) |
|
||||
| POST | `/api/bots/:id/command` | 同上,但强制按指令发送(等价于给内容加 `/` 前缀) |
|
||||
| GET | `/api/bots/:id/chat` | 该机器人的公屏日志(`limit` / `since` / `kind` / `keyword`) |
|
||||
| POST | `/api/bots/:id/chat/export` | 导出该机器人的公屏日志到 `data/` |
|
||||
| GET | `/api/expansion-log` | 开拓日志(`limit` / `botId` / `state` / `since`)+ 统计 |
|
||||
|
||||
在新工单中引用
屏蔽一个用户