- 新增 ConfirmModal 组件,为6处危险操作添加二次确认弹窗 (禁用团队/用户/成员、删除视频×3处) - 所有秒数显示统一为千位分隔符+s后缀(如 36,000s) - 修复 modal/drawer 在 input 中拖拽导致误关闭的 bug (onClick → onMouseDown + e.target === e.currentTarget) - 团队模型完善:三种角色(超管/团管/成员)、四层额度检查、 团管成员管理页、超管团队管理页 - 关闭公开注册,所有账号由管理员创建 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
46 lines
2.6 KiB
Python
46 lines
2.6 KiB
Python
from django.urls import path
|
|
from . import views
|
|
|
|
urlpatterns = [
|
|
# Media upload
|
|
path('media/upload', views.upload_media_view, name='media_upload'),
|
|
# Video generation
|
|
path('video/generate', views.video_generate_view, name='video_generate'),
|
|
path('video/tasks', views.video_tasks_list_view, name='video_tasks_list'),
|
|
path('video/tasks/<uuid:task_id>', views.video_task_detail_view, name='video_task_detail'),
|
|
|
|
# ── Super Admin: Dashboard ──
|
|
path('admin/stats', views.admin_stats_view, name='admin_stats'),
|
|
|
|
# ── Super Admin: Team management ──
|
|
path('admin/teams', views.admin_teams_list_view, name='admin_teams_list'),
|
|
path('admin/teams/create', views.admin_team_create_view, name='admin_team_create'),
|
|
path('admin/teams/<int:team_id>', views.admin_team_detail_view, name='admin_team_detail'),
|
|
path('admin/teams/<int:team_id>/topup', views.admin_team_topup_view, name='admin_team_topup'),
|
|
path('admin/teams/<int:team_id>/admin', views.admin_team_create_admin_view, name='admin_team_create_admin'),
|
|
|
|
# ── Super Admin: User management ──
|
|
path('admin/users', views.admin_users_list_view, name='admin_users_list'),
|
|
path('admin/users/create', views.admin_create_user_view, name='admin_create_user'),
|
|
path('admin/users/<int:user_id>', views.admin_user_detail_view, name='admin_user_detail'),
|
|
path('admin/users/<int:user_id>/quota', views.admin_user_quota_view, name='admin_user_quota'),
|
|
path('admin/users/<int:user_id>/status', views.admin_user_status_view, name='admin_user_status'),
|
|
|
|
# ── Super Admin: Records & Settings ──
|
|
path('admin/records', views.admin_records_view, name='admin_records'),
|
|
path('admin/settings', views.admin_settings_view, name='admin_settings'),
|
|
|
|
# ── Team Admin: Team management ──
|
|
path('team/info', views.team_info_view, name='team_info'),
|
|
path('team/stats', views.team_stats_view, name='team_stats'),
|
|
path('team/members', views.team_members_list_view, name='team_members_list'),
|
|
path('team/members/create', views.team_member_create_view, name='team_member_create'),
|
|
path('team/members/<int:member_id>', views.team_member_detail_view, name='team_member_detail'),
|
|
path('team/members/<int:member_id>/quota', views.team_member_quota_view, name='team_member_quota'),
|
|
path('team/members/<int:member_id>/status', views.team_member_status_view, name='team_member_status'),
|
|
|
|
# ── Profile: User's own data ──
|
|
path('profile/overview', views.profile_overview_view, name='profile_overview'),
|
|
path('profile/records', views.profile_records_view, name='profile_records'),
|
|
]
|