feat: 接入起卦后端流程并完善积分扣减链路

This commit is contained in:
qzl
2026-04-03 19:04:46 +08:00
parent a136e42290
commit d87b2e1e3a
56 changed files with 3310 additions and 809 deletions
@@ -14,6 +14,8 @@ from pydantic import (
field_validator,
)
from ..domain.divination import DivinationPayload
_RFC3339_WITH_TZ_PATTERN = re.compile(
r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$"
)
@@ -69,6 +71,9 @@ class ForwardedPropsPayload(BaseModel):
runtime_mode: RuntimeMode
client_time: ClientTimeContext | None = None
divination_payload: DivinationPayload | None = Field(
default=None, alias="divinationPayload"
)
def parse_forwarded_props(forwarded_props: object) -> ForwardedPropsPayload:
@@ -90,3 +95,10 @@ def parse_forwarded_props_client_time(
def parse_forwarded_props_runtime_mode(forwarded_props: object) -> RuntimeMode:
payload = parse_forwarded_props(forwarded_props)
return payload.runtime_mode
def parse_forwarded_props_divination_payload(
forwarded_props: object,
) -> DivinationPayload | None:
payload = parse_forwarded_props(forwarded_props)
return payload.divination_payload