#[doc(alias = "bilibiliErrorCodeMap")]
pub const BILIBILI_ERROR_CODES: &[(i64, &str)] = &[
(-1, "应用程序不存在或已被封禁"),
(-2, "Access Key 错误"),
(-3, "API 校验密匙错误"),
(-4, "调用方对该 Method 没有权限"),
(-101, "账号未登录"),
(-102, "账号被封停"),
(-103, "积分不足"),
(-104, "硬币不足"),
(-105, "验证码错误"),
(-106, "账号非正式会员或在适应期"),
(-107, "应用不存在或者被封禁"),
(-108, "未绑定手机"),
(-110, "未绑定手机"),
(-111, "csrf 校验失败"),
(-112, "系统升级中"),
(-113, "账号尚未实名认证"),
(-114, "请先绑定手机"),
(-115, "请先完成实名认证"),
(-304, "木有改动"),
(-307, "撞车跳转"),
(-352, "风控校验失败 (UA 或 wbi 参数不合法)"),
(-400, "请求错误"),
(-401, "未认证 (或非法请求)"),
(-403, "访问权限不足"),
(-404, "啥都木有"),
(-405, "不支持该方法"),
(-409, "冲突"),
(-412, "请求被拦截 (客户端 ip 被服务端风控)"),
(-500, "服务器错误"),
(-503, "过载保护,服务暂不可用"),
(-504, "服务调用超时"),
(-509, "超出限制"),
(-616, "上传文件不存在"),
(-617, "上传文件太大"),
(-625, "登录失败次数太多"),
(-626, "用户不存在"),
(-628, "密码太弱"),
(-629, "用户名或密码错误"),
(-632, "操作对象数量限制"),
(-643, "被锁定"),
(-650, "用户等级太低"),
(-652, "重复的用户"),
(-658, "Token 过期"),
(-662, "密码时间戳过期"),
(-688, "地理区域限制"),
(-689, "版权限制"),
(-701, "扣节操失败"),
(-799, "请求过于频繁,请稍后再试"),
(-8888, "对不起,服务器开小差了~ (ಥ﹏ಥ)"),
(100000, "验证码获取失败"),
(100003, "验证码过期"),
];
pub fn bilibili_error_message(code: i64) -> Option<&'static str> {
BILIBILI_ERROR_CODES
.iter()
.find_map(|(mapped_code, message)| (*mapped_code == code).then_some(*message))
}