feat(admin): 用户管理新增分组列、分组筛选与专属分组一键替换
- 新增分组列:展示用户的专属/公开分组,支持 hover 查看详情 - 新增分组筛选:下拉选择或模糊搜索分组名过滤用户 - 专属分组替换:点击专属分组弹出操作菜单,选择目标分组后 自动授予新分组权限、迁移绑定的 Key、移除旧分组权限 - 后端新增 POST /admin/users/:id/replace-group 端点,事务内 完成分组替换并失效认证缓存
This commit is contained in:
@@ -1289,6 +1289,9 @@ export default {
|
||||
searchUsers: 'Search by email, username, notes, or API key...',
|
||||
allRoles: 'All Roles',
|
||||
allStatus: 'All Status',
|
||||
allGroups: 'All Groups',
|
||||
searchGroups: 'Search groups...',
|
||||
fuzzySearch: 'Fuzzy search',
|
||||
admin: 'Admin',
|
||||
user: 'User',
|
||||
disabled: 'Disabled',
|
||||
@@ -1313,6 +1316,7 @@ export default {
|
||||
username: 'Username',
|
||||
notes: 'Notes',
|
||||
role: 'Role',
|
||||
groups: 'Groups',
|
||||
subscriptions: 'Subscriptions',
|
||||
balance: 'Balance',
|
||||
usage: 'Usage',
|
||||
@@ -1324,6 +1328,9 @@ export default {
|
||||
today: 'Today',
|
||||
total: 'Last 30d',
|
||||
noSubscription: 'No subscription',
|
||||
publicGroupCount: '+{count} public',
|
||||
exclusiveLabel: 'exclusive',
|
||||
publicLabel: 'public',
|
||||
daysRemaining: '{days}d',
|
||||
expired: 'Expired',
|
||||
disable: 'Disable',
|
||||
@@ -1379,6 +1386,14 @@ export default {
|
||||
useDefaultRate: 'Use Default',
|
||||
customRatePlaceholder: 'Leave empty for default',
|
||||
groupConfigUpdated: 'Group configuration updated successfully',
|
||||
replaceGroup: 'Replace Group',
|
||||
clickToReplace: 'Click to replace',
|
||||
replaceGroupTitle: 'Replace Exclusive Group',
|
||||
replaceGroupHint: 'Select a new group to replace "{old}". Keys will be migrated and permissions updated automatically.',
|
||||
replaceGroupConfirm: 'Confirm Replace',
|
||||
replaceGroupSuccess: 'Group replaced successfully, {count} key(s) migrated',
|
||||
selectNewGroup: 'Select target group',
|
||||
noOtherGroups: 'No other exclusive groups available',
|
||||
deposit: 'Deposit',
|
||||
withdraw: 'Withdraw',
|
||||
depositAmount: 'Deposit Amount',
|
||||
|
||||
@@ -1314,6 +1314,9 @@ export default {
|
||||
roleFilter: '角色筛选',
|
||||
allRoles: '全部角色',
|
||||
allStatus: '全部状态',
|
||||
allGroups: '全部分组',
|
||||
searchGroups: '搜索分组...',
|
||||
fuzzySearch: '模糊搜索',
|
||||
statusFilter: '状态筛选',
|
||||
allStatuses: '全部状态',
|
||||
admin: '管理员',
|
||||
@@ -1340,6 +1343,7 @@ export default {
|
||||
username: '用户名',
|
||||
notes: '备注',
|
||||
role: '角色',
|
||||
groups: '分组',
|
||||
subscriptions: '订阅分组',
|
||||
balance: '余额',
|
||||
usage: '用量',
|
||||
@@ -1351,6 +1355,9 @@ export default {
|
||||
today: '今日',
|
||||
total: '近30天',
|
||||
noSubscription: '暂无订阅',
|
||||
publicGroupCount: '+{count} 公开',
|
||||
exclusiveLabel: '专属',
|
||||
publicLabel: '公开',
|
||||
daysRemaining: '{days}天',
|
||||
expired: '已过期',
|
||||
disable: '禁用',
|
||||
@@ -1442,6 +1449,14 @@ export default {
|
||||
useDefaultRate: '使用默认',
|
||||
customRatePlaceholder: '留空使用默认',
|
||||
groupConfigUpdated: '分组配置更新成功',
|
||||
replaceGroup: '替换分组',
|
||||
clickToReplace: '点击替换分组',
|
||||
replaceGroupTitle: '替换专属分组',
|
||||
replaceGroupHint: '选择新分组替换「{old}」,将自动迁移绑定的 Key 并更新分组权限',
|
||||
replaceGroupConfirm: '确认替换',
|
||||
replaceGroupSuccess: '分组替换成功,已迁移 {count} 个 Key',
|
||||
selectNewGroup: '请选择目标分组',
|
||||
noOtherGroups: '没有其他可用的专属分组',
|
||||
deposit: '充值',
|
||||
withdraw: '退款',
|
||||
depositAmount: '充值金额',
|
||||
|
||||
Reference in New Issue
Block a user