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

2.2 KiB
Raw Blame History

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. 修改代码后重新构建前端:

    cd web
    npm run build
    
  2. 重启后端服务以应用更改:

    go run main.go
    

验证方法

  1. 使用普通用户账号登录,检查侧边栏是否隐藏了"操练场"和"聊天"
  2. 使用管理员账号登录,确认这些功能仍然可见
  3. 检查浏览器控制台是否有JavaScript错误

注意事项

  • 此修改仅影响前端显示,不影响后端API权限控制
  • 如果用户直接访问URL路径,仍可能访问到这些页面(需要额外的路由权限控制)
  • 建议在生产环境中进行充分测试