feat: enhance user management and system optimization

New Features:
- Add bulk ban and email notification in user management
- Add CSV export for batch coupon generation
- Optimize subscription description template

Bug Fixes:
- Fix knowledge base pagination issue
- Fix permission group filtering in node management
- Fix unauthorized order placement for free subscription periods
This commit is contained in:
xboard
2025-02-09 11:06:08 +08:00
parent 8e5732d857
commit 1b728fffc7
13 changed files with 218 additions and 33 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+40 -1
View File
@@ -1904,6 +1904,45 @@ window.XBOARD_TRANSLATIONS['en-US'] = {
"submit": "Submit",
"success": "Modified successfully"
}
},
"actions": {
"title": "Actions",
"send_email": "Send Email",
"export_csv": "Export CSV",
"batch_ban": "Batch Ban",
"confirm_ban": {
"title": "Confirm Batch Ban",
"filtered_description": "This action will ban all users that match your current filters. This action cannot be undone.",
"all_description": "This action will ban all users in the system. This action cannot be undone.",
"cancel": "Cancel",
"confirm": "Confirm Ban",
"banning": "Banning..."
}
},
"messages": {
"success": "Success",
"error": "Error",
"export": {
"success": "Export successful",
"failed": "Export failed"
},
"batch_ban": {
"success": "Batch ban successful",
"failed": "Batch ban failed"
},
"send_mail": {
"success": "Email sent successfully",
"failed": "Failed to send email",
"required_fields": "Please fill in all required fields"
}
},
"send_mail": {
"title": "Send Email",
"description": "Send email to selected or filtered users",
"subject": "Subject",
"content": "Content",
"sending": "Sending...",
"send": "Send"
}
},
"subscribe": {
@@ -2024,7 +2063,7 @@ window.XBOARD_TRANSLATIONS['en-US'] = {
"template": {
"button": "Use Template",
"tooltip": "Use default template",
"content": "## Plan Features\n\n- Traffic: {{transfer}} GB\n- Speed: {{speed}} Mbps\n- Devices: {{devices}}\n\n## Usage Notes\n\n1. The plan is valid for {{validity}} days\n2. Traffic resets {{reset_method}}\n3. Maximum {{capacity}} concurrent users"
"content": "## Plan Details\n\n- Data: {{transfer}} GB\n- Speed Limit: {{speed}} Mbps\n- Concurrent Devices: {{devices}}\n\n## Service Information\n\n1. Data {{reset_method}}\n2. Multi-platform Support\n3. 24/7 Technical Support"
}
},
"force_update": {
+40 -1
View File
@@ -1854,6 +1854,45 @@ window.XBOARD_TRANSLATIONS['ko-KR'] = {
"submit": "제출",
"success": "수정 완료"
}
},
"actions": {
"title": "작업",
"send_email": "이메일 보내기",
"export_csv": "CSV 내보내기",
"batch_ban": "일괄 차단",
"confirm_ban": {
"title": "일괄 차단 확인",
"filtered_description": "이 작업은 현재 필터와 일치하는 모든 사용자를 차단합니다. 이 작업은 취소할 수 없습니다.",
"all_description": "이 작업은 시스템의 모든 사용자를 차단합니다. 이 작업은 취소할 수 없습니다.",
"cancel": "취소",
"confirm": "차단 확인",
"banning": "차단 중..."
}
},
"messages": {
"success": "성공",
"error": "오류",
"export": {
"success": "내보내기 성공",
"failed": "내보내기 실패"
},
"batch_ban": {
"success": "일괄 차단 성공",
"failed": "일괄 차단 실패"
},
"send_mail": {
"success": "이메일 전송 성공",
"failed": "이메일 전송 실패",
"required_fields": "모든 필수 항목을 입력해주세요"
}
},
"send_mail": {
"title": "이메일 보내기",
"description": "선택하거나 필터링된 사용자에게 이메일 보내기",
"subject": "제목",
"content": "내용",
"sending": "전송 중...",
"send": "보내기"
}
},
"subscribe": {
@@ -1974,7 +2013,7 @@ window.XBOARD_TRANSLATIONS['ko-KR'] = {
"template": {
"button": "템플릿 사용",
"tooltip": "기본 템플릿 사용",
"content": "## 플랜 특징\n\n- 트래픽: {{transfer}} GB\n- 속도: {{speed}} Mbps\n- 기기: {{devices}}대\n\n## 사용 안내\n\n1. 플랜 유효 기간: {{validity}}일\n2. 트래픽 초기화: {{reset_method}}\n3. 최대 동시 접속자: {{capacity}}명"
"content": "## 요금제 상세\n\n- 데이터: {{transfer}} GB\n- 속도 제한: {{speed}} Mbps\n- 동시접속 기기: {{devices}}대\n\n## 서비스 안내\n\n1. 데이터 {{reset_method}} 초기화\n2. 멀티플랫폼 지원\n3. 24시간 기술지원"
}
},
"force_update": {
+40 -1
View File
@@ -1871,6 +1871,45 @@ window.XBOARD_TRANSLATIONS['zh-CN'] = {
"submit": "提交",
"success": "修改成功"
}
},
"actions": {
"title": "操作",
"send_email": "发送邮件",
"export_csv": "导出 CSV",
"batch_ban": "批量封禁",
"confirm_ban": {
"title": "确认批量封禁",
"filtered_description": "此操作将封禁所有符合当前筛选条件的用户。此操作无法撤销。",
"all_description": "此操作将封禁系统中的所有用户。此操作无法撤销。",
"cancel": "取消",
"confirm": "确认封禁",
"banning": "封禁中..."
}
},
"messages": {
"success": "成功",
"error": "错误",
"export": {
"success": "导出成功",
"failed": "导出失败"
},
"batch_ban": {
"success": "批量封禁成功",
"failed": "批量封禁失败"
},
"send_mail": {
"success": "邮件发送成功",
"failed": "邮件发送失败",
"required_fields": "请填写所有必填字段"
}
},
"send_mail": {
"title": "发送邮件",
"description": "向所选或已筛选的用户发送邮件",
"subject": "主题",
"content": "内容",
"sending": "发送中...",
"send": "发送"
}
},
"subscribe": {
@@ -1991,7 +2030,7 @@ window.XBOARD_TRANSLATIONS['zh-CN'] = {
"template": {
"button": "使用模板",
"tooltip": "使用默认模板",
"content": "## 套餐特点\n\n- 流量:{{transfer}} GB\n- 速度:{{speed}} Mbps\n- 设备{{devices}}\n\n## 使用说明\n\n1. 套餐有效期 {{validity}} 天\n2. 流量{{reset_method}}重置\n3. 最多支持 {{capacity}} 个用户同时在线"
"content": "## 套餐详情\n\n- 流量:{{transfer}} GB\n- 速度限制{{speed}} Mbps\n- 同时在线设备:{{devices}}\n\n## 服务说明\n\n1. 流量{{reset_method}}重置\n2. 支持多平台使用\n3. 7×24小时技术支持"
}
},
"force_update": {