from django.urls import path, include from rest_framework.routers import DefaultRouter from .views import ( ConversationViewSet, MessageViewSet, FeedbackViewSet, FeedbackTagViewSet, DetailedFeedbackViewSet, ConversationSubmissionViewSet, ConversationEvaluationViewSet, SystemConfigViewSet ) router = DefaultRouter() router.register(r'conversations', ConversationViewSet) router.register(r'messages', MessageViewSet) router.register(r'feedback', FeedbackViewSet) router.register(r'feedback-tags', FeedbackTagViewSet) router.register(r'detailed-feedback', DetailedFeedbackViewSet) router.register(r'submissions', ConversationSubmissionViewSet) router.register(r'evaluations', ConversationEvaluationViewSet) router.register(r'system-config', SystemConfigViewSet) urlpatterns = [ path('', include(router.urls)), # 对话相关API端点 path('conversation//messages/', ConversationViewSet.as_view({'get': 'messages'}), name='conversation-messages'), path('conversation//message/', ConversationViewSet.as_view({'post': 'message'}), name='send-message'), path('conversation//submit/', ConversationViewSet.as_view({'post': 'submit'}), name='submit-conversation'), path('conversation//resume/', ConversationViewSet.as_view({'post': 'resume'}), name='resume-conversation'), # 仪表盘和统计分析API端点 path('dashboard/', ConversationViewSet.as_view({'get': 'dashboard'}), name='dashboard'), # 提交评审API端点 path('submission//review/', ConversationSubmissionViewSet.as_view({'post': 'review'}), name='review-submission'), # 系统配置和模型管理API端点 path('models/', SystemConfigViewSet.as_view({'get': 'models'}), name='models-lst'), path('model/', SystemConfigViewSet.as_view({'get': 'model', 'post': 'model'}), name='current-model'), # 数据导出和命令执行API端点 path('export-feedback/', SystemConfigViewSet.as_view({'post': 'export_feedback'}), name='export-feedback'), path('run-command/', SystemConfigViewSet.as_view({'post': 'run_command'}), name='run-command'), # 将原app.py中的API路径映射到相应ViewSet方法,方便前端迁移 path('api/conversation/new', ConversationViewSet.as_view({'post': 'create'}), name='new-conversation'), path('api/conversation//messages', ConversationViewSet.as_view({'get': 'messages'}), name='api-conversation-messages'), path('api/conversation//message', ConversationViewSet.as_view({'post': 'message'}), name='api-send-message'), path('api/conversation//submit', ConversationViewSet.as_view({'post': 'submit'}), name='api-submit-conversation'), path('api/conversation//resume', ConversationViewSet.as_view({'post': 'resume'}), name='api-resume-conversation'), path('api/conversation//evaluation', ConversationEvaluationViewSet.as_view({ 'get': 'retrieve', 'post': 'create', 'put': 'update', 'patch': 'partial_update' }), name='api-conversation-evaluation'), path('api/feedback', FeedbackViewSet.as_view({'post': 'create'}), name='api-create-feedback'), path('api/feedback/detailed', DetailedFeedbackViewSet.as_view({'post': 'create'}), name='api-create-detailed-feedback'), path('api/feedback/tags', FeedbackTagViewSet.as_view({'get': 'list'}), name='api-feedback-tags'), path('api/annotations/dashboard', ConversationViewSet.as_view({'get': 'dashboard'}), name='api-annotations-dashboard'), path('api/models', SystemConfigViewSet.as_view({'get': 'models'}), name='api-models-list'), path('api/model', SystemConfigViewSet.as_view({'get': 'model', 'post': 'model'}), name='api-current-model'), ]