fn normalize_avatar_url(input: Option<String>) -> Result<Option<String>, String>
归一化头像 URL:trim 后为空 → None;否则必须为 http(s) 链接或 安全的 /uploads/ 素材路径(与友链头像共用 crate::api::friends::is_local_asset_url), 上限 512 字符。
/uploads/
crate::api::friends::is_local_asset_url