rtc_backend/apps/users/serializers.py
2026-01-29 10:02:15 +08:00

45 lines
1.3 KiB
Python

"""
用户模块序列化器
"""
from rest_framework import serializers
from .models import User
class UserSerializer(serializers.ModelSerializer):
"""用户序列化器"""
class Meta:
model = User
fields = ['id', 'phone', 'nickname', 'avatar', 'created_at']
read_only_fields = ['id', 'phone', 'created_at']
class UserDetailSerializer(serializers.ModelSerializer):
"""用户详情序列化器(管理端)"""
class Meta:
model = User
fields = ['id', 'phone', 'nickname', 'avatar', 'is_active', 'is_staff', 'created_at', 'updated_at']
class PhoneLoginSerializer(serializers.Serializer):
"""手机号一键登录序列化器"""
phone = serializers.CharField(max_length=20, help_text='手机号')
# 实际项目中应该有验证码或token
# code = serializers.CharField(max_length=10, help_text='验证码')
def validate_phone(self, value):
# 简单验证手机号格式
if not value.isdigit() or len(value) != 11:
raise serializers.ValidationError('手机号格式不正确')
return value
class UpdateUserSerializer(serializers.ModelSerializer):
"""更新用户信息序列化器"""
class Meta:
model = User
fields = ['nickname', 'avatar']