Skip to content

feat(admin): 添加分组级渠道管理员权限#2218

Open
lantary-w wants to merge 3 commits intoWei-Shaw:mainfrom
lantary-w:main
Open

feat(admin): 添加分组级渠道管理员权限#2218
lantary-w wants to merge 3 commits intoWei-Shaw:mainfrom
lantary-w:main

Conversation

@lantary-w
Copy link
Copy Markdown

@lantary-w lantary-w commented May 6, 2026

Summary

需求说明

这个需求不是为了商用,而是小团队使用时出现的一个需求

具体需求如下:

需要一个平台可以让大家接入自己订阅的账号,统一成固定的平台访问(实际上就是做账号调度均衡和简化的多平台格式统一)

但是使用过程中发现,所有人要添加账号的话均需要登录 管理员账号,并且均可以管理所有其他人的账号,一来用的人一旦多了就会很乱。再者,这样去分发管理员账号不太安全,不同人可能会串账号。

因此设计了一个新的用户,渠道管理员, 这个 渠道管理员 的作用就是 管理员给他分配一个/几个 分组这样可以直接通过登录 渠道管理员 进行账号的添加/修改/删除,并且其也无法修改未授权的分组账号

具体修改内容

  • 支持在用户管理中创建/编辑 channel_admin 用户
  • 支持通过 allowed_groups 为渠道管理员分配可管理分组
  • 渠道管理员可以查看、创建、编辑、删除其授权分组内的账号
  • 渠道管理员可以管理未分配分组的账号,作为临时公共管理范围
  • 渠道管理员可以在账号创建/编辑/批量编辑中选择其可用分组
  • 渠道管理员可以读取可用代理节点,用于账号创建和编辑
  • 渠道管理员可以访问使用记录页面,并查看与管理员一致的使用统计视图
  • 渠道管理员可以读取 dashboard 图表所需的只读统计接口
  • 渠道管理员可修改单独添加已分配的分组账号,实现分组管理

效果展示

渠道管理员可访问的内容:
image

管理员在添加账户时可以创建渠道管理员/管理员 ;注意管理员账户没有设置前端删除选项,若创建需要在数据库中自行删除

image

Test plan

  • 前端 typecheck
  • git diff --check
  • Go tests 本地已运行:前端效果已检查正确
  • 手动验证渠道管理员可查看/编辑授权分组账号
  • 手动验证渠道管理员不可访问渠道管理和系统设置
  • 手动验证使用记录页面图表可正常加载

lantary-w added 3 commits May 6, 2026 14:05
- 改为通过 allowed_groups 授权渠道管理员可管理分组
- 允许渠道管理员管理授权分组账号和未分配账号
- 开放账号编辑所需的分组/代理只读接口
- 开放 usage/dashboard 只读统计接口
- 更新前端路由、侧边栏、用户和账号管理界面
- 补充渠道管理员权限、账号范围和使用记录相关测试
# Conflicts:
#	frontend/src/components/common/GroupSelector.vue
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

All contributors have signed the CLA. ✅
Posted by the CLA Assistant Lite bot.

@lantary-w
Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

github-actions Bot added a commit that referenced this pull request May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant