功能特性: - 用户端充值记录页面,从使用日志中分离 - 充值记录中的去开发票功能 - 管理员发票管理页面 - 发票申请、处理、邮件通知功能 - 侧边栏菜单更新 - UI优化和控制台清理 - Docker部署配置 - 生产环境安全配置
76 lines
2.2 KiB
Markdown
76 lines
2.2 KiB
Markdown
# NewAPI 用户界面修改总结
|
||
|
||
## 修改内容
|
||
|
||
### 目标
|
||
1. 隐藏用户端控制台中的"操练场"和"聊天"功能,但保留管理员权限访问
|
||
2. 隐藏顶部导航栏的"文档"和"关于"按钮
|
||
3. 隐藏首页的"获取密钥"和"文档"按钮
|
||
|
||
### 修改文件
|
||
- `web/src/components/layout/SiderBar.js`
|
||
- `web/src/components/layout/HeaderBar.js`
|
||
- `web/src/pages/Home/index.js`
|
||
|
||
### 具体修改
|
||
|
||
#### 1. 侧边栏权限控制 (SiderBar.js)
|
||
|
||
**修改 chatMenuItems 配置** (第139-155行)
|
||
- 为"操练场"和"聊天"菜单项添加了 `className` 属性
|
||
- 使用 `isAdmin()` 函数控制显示权限
|
||
- 非管理员用户将看到 `className: 'tableHiddle'`,导致菜单项被隐藏
|
||
|
||
**修改 renderSubItem 函数** (第282-329行)
|
||
- 添加了权限检查逻辑
|
||
- 当 `item.className === 'tableHiddle'` 时,直接返回 `null`,不渲染该菜单项
|
||
|
||
#### 2. 顶部导航栏修改 (HeaderBar.js)
|
||
|
||
**修改 mainNavLinks 配置** (第99-131行)
|
||
- 注释掉了"文档"和"关于"链接的配置
|
||
- 保留了"首页"、"控制台"、"定价"等基本导航
|
||
|
||
#### 3. 首页按钮隐藏 (Home/index.js)
|
||
|
||
**隐藏操作按钮** (第162-190行)
|
||
- 注释掉了整个操作按钮区域
|
||
- 隐藏了"获取密钥"和"文档"按钮
|
||
- 保留了其他页面内容不变
|
||
|
||
### 权限系统说明
|
||
|
||
- **isAdmin()**: 检查用户角色是否 >= 10
|
||
- **isRoot()**: 检查用户角色是否 >= 100
|
||
|
||
### 效果
|
||
|
||
- **普通用户**: 无法看到"操练场"和"聊天"菜单项
|
||
- **管理员用户** (role >= 10): 可以正常看到和使用这些功能
|
||
- **超级管理员** (role >= 100): 拥有所有权限
|
||
|
||
### 部署步骤
|
||
|
||
1. 修改代码后重新构建前端:
|
||
```bash
|
||
cd web
|
||
npm run build
|
||
```
|
||
|
||
2. 重启后端服务以应用更改:
|
||
```bash
|
||
go run main.go
|
||
```
|
||
|
||
### 验证方法
|
||
|
||
1. 使用普通用户账号登录,检查侧边栏是否隐藏了"操练场"和"聊天"
|
||
2. 使用管理员账号登录,确认这些功能仍然可见
|
||
3. 检查浏览器控制台是否有JavaScript错误
|
||
|
||
## 注意事项
|
||
|
||
- 此修改仅影响前端显示,不影响后端API权限控制
|
||
- 如果用户直接访问URL路径,仍可能访问到这些页面(需要额外的路由权限控制)
|
||
- 建议在生产环境中进行充分测试
|