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