Add roles/ACL so admin and users can issue activation codes; exe opens review login.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-17 18:07:23 +08:00
parent 1d4d5b06df
commit a4474c28ea
13 changed files with 517 additions and 145 deletions
+10 -7
View File
@@ -27,12 +27,15 @@ Windows exe (通用包+激活) ──API───────────┘
| 表 | 用途 |
|----|------|
| `accounts` | 交易账户与标注 |
| `users` | 登录用户:`role`=admin/user,普通用户必绑唯一 `account_id` |
| `accounts` | 交易账户与标注(仅管理员创建,禁止自助注册) |
| `machines` | 机器、指纹、在线时间 |
| `activations` | 激活码、token、状态 |
| `activations` | 激活码、token、状态、`created_by` 发放人 |
| `trades` | 成交与复盘字段(entry_style / review_note / snapshot_json) |
| `bars` | K 线缓存(symbol+timeframe+ts 唯一) |
**权限**:管理员看全部;普通用户复盘/激活码仅限自己的 `account_id`。激活码可由 admin 与 user 发放(user 仅自己账户)。
## 4. HTTP API
### 健康检查
@@ -115,17 +118,17 @@ Header:`X-Device-Token`
| `deploy/ecosystem.config.cjs` | PM2 |
| `deploy/manage.sh` | 交互部署 |
## 7. 管理员密码
## 7. 用户与密码
- 表 `settings`:`admin_user` / `admin_password_hash`(Werkzeug hash)
- 首次启动用 `.env` 的 `ADMIN_PASSWORD` 写入 hash
- 网页「系统设置」可改密,**不写回 .env**,以数据库为准
- 表 `users`:密码为 Werkzeug hash;首次启动用 `.env` 的 `ADMIN_USER` / `ADMIN_PASSWORD` 种子管理员
- 网页「系统设置」改当前用户密码,**不写回 .env**
- 普通用户由管理员在 `/users` 创建并绑定账户
## 8. 客户端(desktop/)
| 文件 | 说明 |
|------|------|
| `gold_order_app.py` | 下单主程序(已迁入) |
| `gold_order_app.py` | 下单主程序;含「打开复盘」→ 浏览器 `/login` |
| `activation_dialog.py` | 首次激活 UI |
| `hub_client.py` | HTTP 激活/上报 |
| `device_store.py` | `~/.gold_monitor/device.json` |
+30 -25
View File
@@ -3,15 +3,24 @@
## 1. 登录网页
浏览器打开:`http://<服务器IP>:5800`
默认:`admin` / `admin123`(部署后请修改)。
或在已激活的 exe 上点 **打开复盘**,会用浏览器打开登录页。
默认管理员:`admin` / `admin123`(部署后请立即修改)。
普通用户由管理员在 **用户** 页创建,**一人绑定一个交易账户**,不可自助注册账户。
### 角色说明
| 角色 | 权限 |
|------|------|
| **管理员** | 创建账户、创建用户、看全部复盘、给任意账户发激活码、管理机器 |
| **普通用户** | 只看自己账户的复盘与下载中心;可为**自己的账户**发放激活码;改自己的登录密码 |
顶栏:
- **总览**:账户/机器数量、最近成交
- **交易复盘**:列表与详情
- **下载中心**:通用 exe + 激活码
- **账户 / 机器**:标注管理
- **系统设置**:修改网页登录密码(立即生效,无需改 `.env` / 重启)
- **总览** / **交易复盘**:按角色过滤数据
- **下载中心**:下载通用 exe + 生成激活码(用户和管理员都可发)
- **账户 / 用户 / 机器**:管理员可见;普通用户仅「我的账户」
- **系统设置**:修改当前登录用户密码
### 修改密码
@@ -19,23 +28,18 @@
2. 输入当前密码与新密码(至少 6 位)→ 保存
3. 下次登录使用新密码
> 初始密码来自部署时的 `.env`(默认 admin123);修改后以系统设置中的密码为准。
> 初始管理员密码来自部署时的 `.env`(默认 admin123);修改后以系统设置为准。
## 2. 标注账户与机器
## 2. 管理员:建账户与用户
### 账户
「账户」页新增:名称、券商、登录号、类型(模拟/美分/实盘)、备注。
用于激活码绑定与复盘归属。
### 机器
可预登记机器名称与备注;也可不登记,**激活时自动创建**并写入设备指纹。
1. **账户** 页新增交易账户(模拟/美分/实盘),禁止用户自助注册
2. **用户** 页创建普通用户,并绑定**唯一、尚未占用**的账户
3. 把登录账号发给该操作员
## 3. 下载通用包并首次激活
1. 打开 **下载中心**
2. 选择要绑定的 **账户**(可选预绑定机器)→ **生成激活码**
1. 打开 **下载中心**(管理员或普通用户均可)
2. 选择账户 → **生成激活码**(普通用户只能选自己的账户)
3. 下载 `黄金市价辅助.exe`(需管理员已放入 `releases/`)
4. 在 Windows 上启动 exe:
- 填写服务器地址,例如 `http://192.168.1.10:5800`
@@ -48,20 +52,21 @@
1. 先登录本机 MT5
2. 打开已激活的辅助 exe 下单 / 保本 / 平仓
3. 客户端在成交或平仓时自动上报(接口见技术文档)
3. 需要复盘时点 exe 上的 **打开复盘**,浏览器登录网页账号即可
4. 客户端在成交或平仓时自动上报(接口见技术文档)
## 5. 网页复盘
1. 打开 **交易复盘**
1. 打开 **交易复盘**(普通用户只看到自己账户的成交)
2. 点某笔 **打开复盘**
3. 查看成交信息与 **M1 / M5 / M15 / H1** 四图
4. 选择 **入场形式**(如「M15关键位+M1强吞没」)并填写备注 → 保存
4. 选择 **入场形式** 并填写备注 → 保存
> K 线依赖客户端上报缓存。若四图为空,请确认 exe 已上报 bars,或稍后在客户端补传。
> K 线依赖客户端上报缓存。若四图为空,请确认 exe 已上报 bars。
## 6. 推荐练手流程
1. 美分/模拟账户在「账户」中建好并标注
2. 每台电脑生成激活码并激活
1. 管理员建美分/模拟账户,并创建对应用户
2. 用户登录 → 下载中心为自己账户生成激活码 → 本机激活
3. 按纪律交易,自动上报
4. 每日网页复盘:标注亏单共性(位不对 / 形不对 / 违纪)
4. 每日网页复盘(exe「打开复盘」或浏览器)