feat: add agent user edit, card type permission check and balance deduction

- Backend: check AgentApplicationCardType.can_generate before allowing card recharge
- Backend: deduct agent balance and record consumption when creating user with card
- Backend: add GET /agent/users/:id and PUT /agent/users/:id for user edit
- Backend: extract checkAgentUserPermission helper, refactor handleUpdateUserStatus
- Frontend: add user edit page ([id].vue) with username/email/password
- Frontend: add edit action in user list dropdown menu
- Frontend: add route for agent user edit page
- Add i18n keys for agent user edit
This commit is contained in:
2026-05-11 08:48:02 +08:00
parent 57e1d10689
commit a76a30ee78
8 changed files with 374 additions and 22 deletions
+20
View File
@@ -2823,6 +2823,26 @@
"cancel": "Cancel",
"success": "User created successfully",
"failed": "Failed to create user"
},
"edit": {
"title": "Edit User",
"basicInfo": "Basic Information",
"basicInfoDesc": "Modify user basic information",
"username": "Username",
"usernamePlaceholder": "Enter username",
"usernameRequired": "Username is required",
"email": "Email",
"emailPlaceholder": "Enter email (optional)",
"password": "Password",
"passwordPlaceholder": "Leave empty to keep unchanged",
"passwordHint": "Leave empty to keep the current password",
"preview": "Preview",
"usernameLabel": "Username",
"emailLabel": "Email",
"saveBtn": "Save Changes",
"cancel": "Cancel",
"success": "User updated successfully",
"failed": "Failed to load user info"
}
},
"apps": {
+20
View File
@@ -2825,6 +2825,26 @@
"cancel": "取消",
"success": "用户创建成功",
"failed": "用户创建失败"
},
"edit": {
"title": "编辑用户",
"basicInfo": "基本信息",
"basicInfoDesc": "修改用户基本信息",
"username": "用户名",
"usernamePlaceholder": "请输入用户名",
"usernameRequired": "用户名不能为空",
"email": "邮箱",
"emailPlaceholder": "请输入邮箱(选填)",
"password": "密码",
"passwordPlaceholder": "留空则不修改",
"passwordHint": "留空则不修改密码",
"preview": "预览",
"usernameLabel": "用户名",
"emailLabel": "邮箱",
"saveBtn": "保存修改",
"cancel": "取消",
"success": "用户信息更新成功",
"failed": "获取用户信息失败"
}
},
"apps": {