API/CHANGES_SUMMARY.md
chenpei 08dd1c7f75 初始提交:添加充值记录和发票管理功能
功能特性:
- 用户端充值记录页面,从使用日志中分离
- 充值记录中的去开发票功能
- 管理员发票管理页面
- 发票申请、处理、邮件通知功能
- 侧边栏菜单更新
- UI优化和控制台清理
- Docker部署配置
- 生产环境安全配置
2025-09-04 18:07:16 +08:00

76 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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路径,仍可能访问到这些页面(需要额外的路由权限控制)
- 建议在生产环境中进行充分测试