zyc ffe92f7b15 Initial commit: 即梦视频生成平台
- web/: React + Vite + TypeScript 前端
- backend/: Django + DRF + SimpleJWT 后端
- prototype/: HTML 设计原型
- docs/: PRD 和设计评审文档
- test: 单元测试 + E2E 极限测试
2026-03-13 09:59:33 +08:00

35 lines
1.5 KiB
Python

from rest_framework import serializers
class VideoGenerateSerializer(serializers.Serializer):
prompt = serializers.CharField(required=False, allow_blank=True, default='')
mode = serializers.ChoiceField(choices=['universal', 'keyframe'])
model = serializers.ChoiceField(choices=['seedance_2.0', 'seedance_2.0_fast'])
aspect_ratio = serializers.CharField(max_length=10)
duration = serializers.IntegerField()
class QuotaUpdateSerializer(serializers.Serializer):
daily_seconds_limit = serializers.IntegerField(min_value=0)
monthly_seconds_limit = serializers.IntegerField(min_value=0)
class UserStatusSerializer(serializers.Serializer):
is_active = serializers.BooleanField()
class AdminCreateUserSerializer(serializers.Serializer):
username = serializers.CharField(max_length=150)
email = serializers.EmailField()
password = serializers.CharField(min_length=6)
daily_seconds_limit = serializers.IntegerField(min_value=0, required=False, default=600)
monthly_seconds_limit = serializers.IntegerField(min_value=0, required=False, default=6000)
is_staff = serializers.BooleanField(required=False, default=False)
class SystemSettingsSerializer(serializers.Serializer):
default_daily_seconds_limit = serializers.IntegerField(min_value=0)
default_monthly_seconds_limit = serializers.IntegerField(min_value=0)
announcement = serializers.CharField(required=False, allow_blank=True, default='')
announcement_enabled = serializers.BooleanField(required=False, default=False)