feat: 添加汇总记录提交工具GUI客户端

- 移除core/views.py中的api_submit_summary视图函数
- 新增submit_summary_tool.py作为PySide6 GUI客户端
- 实现服务器连接配置、系统监控、手动/自动提交功能
- 添加系统托盘图标和状态栏功能
This commit is contained in:
2026-01-25 22:21:52 +08:00
parent 143e228d8d
commit 40667da682
2 changed files with 450 additions and 54 deletions

View File

@@ -804,57 +804,3 @@ def pdf_list(request):
}
return render(request, 'core/pdf_list.html', context)
def api_submit_summary(request):
"""API提交汇总记录 - 仅接受指定分类和发言人的记录"""
logger.info("API: 收到汇总记录提交请求")
if request.method != 'POST':
return JsonResponse({'success': False, 'message': '只支持POST请求'}, status=405)
try:
import socket
import uuid
content = request.POST.get('content', '').strip()
if not content:
return JsonResponse({'success': False, 'message': '内容不能为空'}, status=400)
category_name = "定期"
speaker_name = "机器人"
try:
category = SummaryCategory.objects.get(name=category_name)
except SummaryCategory.DoesNotExist:
logger.error(f"API: 分类 '{category_name}' 不存在")
return JsonResponse({'success': False, 'message': f"分类 '{category_name}' 不存在"}, status=400)
try:
speaker = FamilyMember.objects.get(name=speaker_name)
except FamilyMember.DoesNotExist:
logger.error(f"API: 发言人 '{speaker_name}' 不存在")
return JsonResponse({'success': False, 'message': f"发言人 '{speaker_name}' 不存在"}, status=400)
hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)
source = f"{hostname} ({local_ip})"
summary = Summary.objects.create(
date=timezone.now().date(),
category=category,
speaker=speaker,
content=content,
source=source
)
logger.info(f"API: 汇总记录创建成功ID={summary.id}")
return JsonResponse({
'success': True,
'message': '提交成功',
'id': summary.id
})
except Exception as e:
logger.error(f"API: 提交汇总记录失败: {str(e)}")
return JsonResponse({'success': False, 'message': f"提交失败: {str(e)}"}, status=500)