最新版生产环境后端

This commit is contained in:
XingQue
2026-06-12 03:43:54 +08:00
commit 25d6ec70f3
197 changed files with 74825 additions and 0 deletions

32
peizhi/serializers.py Normal file
View File

@@ -0,0 +1,32 @@
#微信小程序弹窗组件
from rest_framework import serializers
from .models import PopupImage, PopupConfig
class PopupImageSerializer(serializers.ModelSerializer):
class Meta:
model = PopupImage
fields = ['url', 'text'] # 注意:前端需要 url 字段,我们序列化时映射 image_url -> url
# 手动处理字段名映射
url = serializers.CharField(source='image_url')
class PopupConfigSerializer(serializers.ModelSerializer):
images = PopupImageSerializer(many=True, read_only=True)
strategy = serializers.SerializerMethodField()
class Meta:
model = PopupConfig
fields = ['popup_id', 'title', 'duration', 'force_even_muted', 'images', 'strategy']
def get_strategy(self, obj):
# 组装前端需要的 strategy 对象
strategy = {
'type': obj.strategy_type,
'maxCount': obj.max_count,
}
if obj.reset_interval:
strategy['resetInterval'] = obj.reset_interval
return strategy