大量修改UI

This commit is contained in:
Azmat@qq.com
2026-08-19 17:44:56 +08:00
parent 18b3927817
commit a343f47f0c
76 changed files with 11655 additions and 6104 deletions
@@ -21,6 +21,15 @@ class UserPreferenceSerializer(serializers.ModelSerializer):
fields = ["notify", "two_factor_enabled", "creation_defaults", "display", "updated_at"]
read_only_fields = ["updated_at"]
def update(self, instance, validated_data):
# JSON 字段按 key 合并,避免消息中心写入的 mute-* 被设置页整包覆盖丢掉
for field in ("notify", "creation_defaults", "display"):
incoming = validated_data.get(field)
current = getattr(instance, field)
if isinstance(incoming, dict) and isinstance(current, dict):
validated_data[field] = {**current, **incoming}
return super().update(instance, validated_data)
class LoginSessionSerializer(serializers.ModelSerializer):
is_current = serializers.SerializerMethodField()