添加后端API和前端项目的初始目录结构,包括应用层模块、工具模块和模型定义 配置前后端的.dockerignore文件以排除开发环境文件 添加前端样式文件,包括字体、Tailwind CSS和主题配置 初始化Python虚拟环境中的类型标记文件
20 lines
554 B
Python
20 lines
554 B
Python
from typing import Optional
|
|
|
|
from beanie import PydanticObjectId
|
|
from fastapi import HTTPException
|
|
|
|
|
|
def parse_object_id(value: str) -> PydanticObjectId:
|
|
"""Parse a string to PydanticObjectId, raising 400 on invalid format."""
|
|
try:
|
|
return PydanticObjectId(value)
|
|
except Exception:
|
|
raise HTTPException(status_code=400, detail="无效的ID格式")
|
|
|
|
|
|
def mask_name(name: Optional[str]) -> str:
|
|
"""隐私脱敏:姓名"""
|
|
if not name or len(name) < 2:
|
|
return name or ""
|
|
return name[0] + "*" * (len(name) - 1)
|