1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
//! 错误码
//! https://cloud.tencent.com/document/api/1427/56192
//!

use serde::Deserialize;
use serde::Serialize;

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ErrorCode {
    #[serde(rename = "Code")]
    code: String,
}

impl ErrorCode {
    pub fn to_description(&self) -> &'static str {
        match self.code.as_str() {
            // 公共错误码
            "ActionOffline" => "接口已下线。",
            "AuthFailure.InvalidAuthorization" => "请求头部的 Authorization 不符合腾讯云标准。",
            "AuthFailure.InvalidSecretId" => "密钥非法(不是云 API 密钥类型)。",
            "AuthFailure.MFAFailure" => "MFA 错误。",
            "AuthFailure.SecretIdNotFound" => "密钥不存在。请在 控制台 检查密钥是否已被删除或者禁用,如状态正常,请检查密钥是否填写正确,注意前后不得有空格。",
            "AuthFailure.SignatureExpire" => "签名过期。Timestamp 和服务器时间相差不得超过五分钟,请检查本地时间是否和标准时间同步。",
            "AuthFailure.SignatureFailure" => "签名错误。签名计算错误,请对照调用方式中的签名方法文档检查签名计算过程。",
            "AuthFailure.TokenFailure" => "token 错误。",
            "AuthFailure.UnauthorizedOperation" => "请求未授权。请参考 CAM 文档对鉴权的说明。",
            "DryRunOperation" => "DryRun 操作,代表请求将会是成功的,只是多传了 DryRun 参数。",
            "FailedOperation" => "操作失败。",
            "InternalError" => "内部错误。",
            "InvalidAction" => "接口不存在。",
            "InvalidParameter" => "参数错误(包括参数格式、类型等错误)。",
            "InvalidParameterValue" => "参数取值错误。",
            "InvalidRequest" => "请求 body 的 multipart 格式错误。",
            "IpInBlacklist" => "IP地址在黑名单中。",
            "IpNotInWhitelist" => "IP地址不在白名单中。",
            "LimitExceeded" => "超过配额限制。",
            "MissingParameter" => "缺少参数。",
            "NoSuchProduct" => "产品不存在",
            "NoSuchVersion" => "接口版本不存在。",
            "RequestLimitExceeded" => "请求的次数超过了频率限制。",
            "RequestLimitExceeded.GlobalRegionUinLimitExceeded" => "主账号超过频率限制。",
            "RequestLimitExceeded.IPLimitExceeded" => "IP限频。",
            "RequestLimitExceeded.UinLimitExceeded" => "主账号限频。",
            "RequestSizeLimitExceeded" => "请求包超过限制大小。",
            "ResourceInUse" => "资源被占用。",
            "ResourceInsufficient" => "资源不足。",
            "ResourceNotFound" => "资源不存在。",
            "ResourceUnavailable" => "资源不可用。",
            "ResponseSizeLimitExceeded" => "返回包超过限制大小。",
            "ServiceUnavailable" => "当前服务暂时不可用。",
            "UnauthorizedOperation" => "未授权操作。",
            "UnknownParameter" => "未知参数错误,用户多传未定义的参数会导致错误。",
            "UnsupportedOperation" => "操作不支持。",
            "UnsupportedProtocol" => "http(s) 请求协议错误,只支持 GET 和 POST 请求。",
            "UnsupportedRegion" => "接口不支持所传地域。",

            // 业务错误码
            "AuthFailure" => "CAM签名/鉴权错误。",
            "FailedOperation.AccountIsLocked" => "抱歉,该帐户已经被锁定。",
            "FailedOperation.ContainsPersonalVip" => "您的帐号下包含个人豪华域名,不能直接升级,请联系销售。",
            "FailedOperation.CouponForFreeDomain" => "此优惠券只能被免费域名使用。",
            "FailedOperation.CouponNotSupported" => "您的帐户不满足使用此优惠券的条件。",
            "FailedOperation.CouponTypeAlreadyUsed" => "域名已经使用过该类型的礼券了,不能重复使用。",
            "FailedOperation.DomainExists" => "该域名已在您的列表中,无需重复添加。",
            "FailedOperation.DomainInEnterpriseMailAccount" => "该域名属于企业邮用户",
            "FailedOperation.DomainIsKeyDomain" => "该域名为腾讯云 DNSPod 重点保护资源,为了避免误操作造成的业务影响,域名禁止自行操作删除。如果您确认需要删除域名,请先联系您的客户经理,我们将竭诚为您提供技术支持。",
            "FailedOperation.DomainIsLocked" => "锁定域名不能进行此操作。",
            "FailedOperation.DomainIsPersonalType" => "域名已升级为个人套餐,但目前位于企业账号,请与销售联系。",
            "FailedOperation.DomainIsSpam" => "封禁域名不能进行此操作。",
            "FailedOperation.DomainIsVip" => "VIP域名不能进行此操作。",
            "FailedOperation.DomainNotInService" => "当前域名还未使用 DNSPod 的解析服务,我们无法获取解析量数据。",
            "FailedOperation.DomainOwnedByOtherUser" => "该域名已被其他账号添加,可在域名列表中添加取回。",
            "FailedOperation.EipCheckFailed" => "校验公网 IP 发生异常。",
            "FailedOperation.FrequencyLimit" => "您操作过于频繁,请稍后重试",
            "FailedOperation.FunctionNotAllowedApply" => "此功能暂停申请,请稍候重试。",
            "FailedOperation.GetWhoisFailed" => "获取不到域名信息,可能域名非法或网络故障,请稍后再试。",
            "FailedOperation.InsufficientBalance" => "账户余额不足。",
            "FailedOperation.LoginAreaNotAllowed" => "帐号异地登录,请求被拒绝。",
            "FailedOperation.LoginFailed" => "登录失败,请检查账号和密码是否正确。",
            "FailedOperation.LoginTimeout" => "登录已经超时,请重新登录。",
            "FailedOperation.MobileNotVerified" => "用户手机没有通过验证。",
            "FailedOperation.NotBatchTaskOwner" => "权限错误,您无法查看该任务的详情。",
            "FailedOperation.NotDomainOwner" => "域名不在您的名下。",
            "FailedOperation.NotRealNamedUser" => "未实名认证用户,请先完成实名认证再操作。",
            "FailedOperation.NotResourceOwner" => "您没有权限操作此资源。",
            "FailedOperation.OrderCanNotPay" => "您不能付款此订单。",
            "FailedOperation.OrderHasPaid" => "此订单已经付过款。",
            "FailedOperation.ResourceNotBind" => "资源未绑定域名。",
            "FailedOperation.TemporaryError" => "请求量统计数据暂时不可用,请稍后再试。",
            "FailedOperation.TransferToEnterpriseDenied" => "不能转移到企业账号。",
            "FailedOperation.TransferToPersonDenied" => "不能转移到个人账号。",
            "FailedOperation.UnknowError" => "操作未响应,请稍后重试。",
            "FailedOperation.VerifyingBillExists" => "域名已经提交过订单并且正在审核中,请稍候。",
            "InvalidParameter.AccountIsBanned" => "您的账号已被系统封禁,如果您有任何疑问请与我们联系。",
            "InvalidParameter.ActionInvalid" => "无效的操作。",
            "InvalidParameter.ActionSuccess" => "操作已经成功完成。",
            "InvalidParameter.Activity" => "用户未实名。",
            "InvalidParameter.BatchDomainCreateActionError" => "创建批量域名任务失败,原因:内部错误。",
            "InvalidParameter.BatchRecordCreateActionError" => "创建批量记录任务失败,原因:内部错误。",
            "InvalidParameter.BatchRecordModifyActionError" => "批量修改记录任务失败,原因:内部错误。",
            "InvalidParameter.BatchRecordModifyActionInvalidValue" => "记录值无效。",
            "InvalidParameter.BatchRecordRemoveActionError" => "批量删除记录任务失败,原因:内部错误。",
            "InvalidParameter.BatchRecordReplaceActionError" => "批量替换记录任务失败,原因:内部错误。",
            "InvalidParameter.BatchTaskCountLimit" => "超过批量任务数上限。",
            "InvalidParameter.BatchTaskNotExist" => "任务不存在,无法获取任务详情。",
            "InvalidParameter.BillNumberInvalid" => "订单号码不正确。",
            "InvalidParameter.BrowserNull" => "浏览器字段为空。",
            "InvalidParameter.Common" => "您操作过于频繁,请稍后重试。",
            "InvalidParameter.CustomMessage" => "自定义错误信息。",
            "InvalidParameter.DataExpired" => "数据过期,请重新提交。",
            "InvalidParameter.DataInvalid" => "data 无效。",
            "InvalidParameter.DealTypeInvalid" => "订单类型无效。",
            "InvalidParameter.DnsDealDomainUpgraded" => "域名已升级至付费套餐,无法完成下单。",
            "InvalidParameter.DnsDealLocked" => "相关服务已有其他未完成的订单,请先将原订单支付或取消后,才可提交新的订单。",
            "InvalidParameter.DnsInvalidDeal" => "订单数据非法。",
            "InvalidParameter.DnssecAddCnameError" => "该域名开启了 DNSSEC,不允许添加 @ 子域名 CNAME、显性 URL 或者隐性 URL 记录。",
            "InvalidParameter.DomainAliasExists" => "别名已经存在。",
            "InvalidParameter.DomainAliasIdInvalid" => "别名编号错误。",
            "InvalidParameter.DomainIdInvalid" => "域名编号不正确。",
            "InvalidParameter.DomainInBlackList" => "该域名涉及违法违规黑名单,无法进行该操作",
            "InvalidParameter.DomainInEffectOrInvalidated" => "不允许操作生效中或失效中的域名。",
            "InvalidParameter.DomainInvalid" => "域名不正确,请输入主域名,如 dnspod.cn。",
            "InvalidParameter.DomainIsAliaser" => "此域名是其它域名的别名。",
            "InvalidParameter.DomainIsModifyingDns" => "该域名已有同类型操作未完成,无法执行该操作。",
            "InvalidParameter.DomainIsMyAlias" => "此域名是自己域名的别名",
            "InvalidParameter.DomainIsNotlocked" => "域名没有锁定。",
            "InvalidParameter.DomainNotAllowedLock" => "暂停域名不支持锁定。",
            "InvalidParameter.DomainNotAllowedModifyRecords" => "处于生效中/失效中的域名,不允许变更解析记录。",
            "InvalidParameter.DomainNotBeian" => "该域名未备案,无法添加 URL 记录。",
            "InvalidParameter.DomainNotReged" => "域名还没有注册,无法添加。",
            "InvalidParameter.DomainNotVip" => "原域名不是VIP域名,无法替换。",
            "InvalidParameter.DomainRecordExist" => "记录已经存在,无需再次添加。",
            "InvalidParameter.DomainSelfNoCopy" => "域名自己无需进行复制。",
            "InvalidParameter.DomainTooLong" => "域名过长。",
            "InvalidParameter.DomainTypeInvalid" => "域名类型错误。",
            "InvalidParameter.DomainsEmpty" => "没有提交任何域名。",
            "InvalidParameter.EmailInvalid" => "邮箱地址不正确。",
            "InvalidParameter.EmailNotVerified" => "抱歉,您的账户还没有通过邮箱验证。",
            "InvalidParameter.EmailOrQqInvalid" => "请输入合法的邮箱或者uin。",
            "InvalidParameter.EmailSame" => "域名已经在该账号下。",
            "InvalidParameter.GoodsChildTypeInvalid" => "商品子类型无效。",
            "InvalidParameter.GoodsNumInvalid" => "商品数量无效。",
            "InvalidParameter.GoodsTypeInvalid" => "商品类型无效。",
            "InvalidParameter.GradeNotCopy" => "当前域名等级低于源域名的等级,无法进行复制。",
            "InvalidParameter.GroupIdInvalid" => "分组编号不正确。",
            "InvalidParameter.GroupNameExists" => "同名分组已经存在。",
            "InvalidParameter.GroupNameInvalid" => "分组名为1-17个字符。",
            "InvalidParameter.HasPendingApply" => "您已经提交过申请并且正在审核中,请耐心等候。",
            "InvalidParameter.IllegalNewDeal" => "该订单存在冲突或参数有误,无法完成支付,请重新购买。",
            "InvalidParameter.InnerTaskNotExist" => "任务不存在。",
            "InvalidParameter.InvalidCoupon" => "礼券代码无效。",
            "InvalidParameter.InvalidDealName" => "请输入正确的订单号。",
            "InvalidParameter.InvalidSecretId" => "无效密钥 ID。",
            "InvalidParameter.InvalidSignature" => "无效签名。",
            "InvalidParameter.InvalidTime" => "无效的时间。",
            "InvalidParameter.InvalidWeight" => "权重不合法。请输入0~100的整数。",
            "InvalidParameter.IpsExceedLimit" => "ips 过长。",
            "InvalidParameter.JobGreaterThanLimit" => "单次任务数量超过上限。",
            "InvalidParameter.LockDaysInvalid" => "锁定天数不正确。",
            "InvalidParameter.LoginTokenIdError" => "Token 的 ID 不正确。",
            "InvalidParameter.LoginTokenNotExists" => "传入的 Token 不存在。",
            "InvalidParameter.LoginTokenValidateFailed" => "Token 验证失败。",
            "InvalidParameter.MobileNotVerified" => "抱歉,您的账户还没有通过手机验证。",
            "InvalidParameter.MxInvalid" => "MX优先级不正确。",
            "InvalidParameter.NewPackageTypeInvalid" => "新套餐类型无效。",
            "InvalidParameter.OffsetInvalid" => "分页起始数量错误。",
            "InvalidParameter.OpenidInvalid" => "无效的openid。",
            "InvalidParameter.OperateFailed" => "操作失败,请稍候再试。",
            "InvalidParameter.OperationIsTooFrequent" => "当前操作过于频繁,请 1 分钟后重试。",
            "InvalidParameter.OptypeNotSupported" => "不支持的操作类型。",
            "InvalidParameter.OtherAccountUnrealName" => "对方账号未实名认证,请先完成实名认证再操作。",
            "InvalidParameter.ParamInvalid" => "param 格式错误。",
            "InvalidParameter.ParamsIllegal" => "参数不合法,请求被拒绝。",
            "InvalidParameter.ParamsMissing" => "参数错误。",
            "InvalidParameter.PermissionDenied" => "鉴权失败。",
            "InvalidParameter.QcloudUinInvalid" => "用户UIN无效。",
            "InvalidParameter.QuhuiTxtNotMatch" => "TXT 记录无法匹配,请确认记录值是否准确,并再次验证。",
            "InvalidParameter.QuhuiTxtRecordWait" => "TXT 记录未设置或暂未生效,请稍后重试。",
            "InvalidParameter.RealNameUser" => "已实名用户。",
            "InvalidParameter.RecordIdInvalid" => "记录编号错误。",
            "InvalidParameter.RecordLineInvalid" => "记录线路不正确。",
            "InvalidParameter.RecordTypeInvalid" => "记录类型不正确。",
            "InvalidParameter.RecordValueInvalid" => "记录的值不正确。",
            "InvalidParameter.RecordValueLengthInvalid" => "解析记录值过长。",
            "InvalidParameter.RecordsEmpty" => "没有提交任何记录。",
            "InvalidParameter.RemarkLengthExceeded" => "备注信息超出字符限制。",
            "InvalidParameter.RemarkTooLong" => "备注过长(不能超过200个字)。",
            "InvalidParameter.RequestIpLimited" => "您的IP非法,请求被拒绝。",
            "InvalidParameter.ResultMoreThan500" => "搜索结果大于500条,请增加关键字。",
            "InvalidParameter.SharedUsersUnrealName" => "共享用户中包含未实名认证用户。",
            "InvalidParameter.StatusCodeInvalid" => "状态代码不正确。",
            "InvalidParameter.SubdomainInvalid" => "子域名不正确。",
            "InvalidParameter.TaskNotCompleted" => "任务未完成。",
            "InvalidParameter.TimeSpanInvalid" => "时长无效。",
            "InvalidParameter.TimestampExpired" => "时间戳已过期。",
            "InvalidParameter.TooManyInvalidDomains" => "当前帐号下的无效域名过多,暂时无法使用该功能。请将已有域名的 DNS 服务器正确指向 DNSPod 之后,再尝试添加。",
            "InvalidParameter.ToolsDomainInvalid" => "域名无效。",
            "InvalidParameter.UnLockCodeExpired" => "解锁代码已失效。",
            "InvalidParameter.UnLockCodeInvalid" => "解锁代码不正确。",
            "InvalidParameter.UnrealNameUser" => "未实名认证用户,请先完成实名认证再操作。",
            "InvalidParameter.UrlValueIllegal" => "很抱歉,您要添加的URL的内容不符合DNSPod解析服务条款,URL添加/启用失败,如需帮助请联系技术支持。",
            "InvalidParameter.UserAlreadyLocked" => "账号已经被锁定。",
            "InvalidParameter.UserAreaInvalid" => "对方账户非国内站用户。",
            "InvalidParameter.UserNotExists" => "用户不存在。",
            "InvalidParameter.UuidInvalid" => "无效的uuid。",
            "InvalidParameterValue.DomainGradeInvalid" => "域名等级不正确。",
            "InvalidParameterValue.DomainNotExists" => "当前域名有误,请返回重新操作。",
            "InvalidParameterValue.LimitInvalid" => "分页长度数量错误。",
            "InvalidParameterValue.UpgradeTermInvalid" => "升级年限不正确。",
            "InvalidParameterValue.UserIdInvalid" => "用户编号不正确。",
            "LimitExceeded.AAAACountLimit" => "AAAA记录数量超出限制。",
            "LimitExceeded.AtNsRecordLimit" => "@的NS记录只能设置为默认线路。",
            "LimitExceeded.DomainAliasCountExceeded" => "别名数量已经达到限制。",
            "LimitExceeded.DomainAliasNumberLimit" => "当前绑定别名数量已达到限制。",
            "LimitExceeded.FailedLoginLimitExceeded" => "登录失败次数过多已被系统封禁。",
            "LimitExceeded.GroupNumberLimit" => "已经达到最大分组数量限制。",
            "LimitExceeded.HiddenUrlExceeded" => "该域名使用的套餐不支持隐性URL转发或数量已达上限,如需要使用,请去商城购买。",
            "LimitExceeded.NsCountLimit" => "NS记录数量超出限制。",
            "LimitExceeded.OffsetExceeded" => "分页起始数量过大。",
            "LimitExceeded.RecordTtlLimit" => "记录的TTL值超出了限制。",
            "LimitExceeded.SrvCountLimit" => "SRV记录数量超出限制。",
            "LimitExceeded.SubdomainLevelLimit" => "子域名级数超出限制。",
            "LimitExceeded.SubdomainRollLimit" => "子域名负载均衡数量超出限制。",
            "LimitExceeded.SubdomainWcardLimit" => "泛解析级数超出限制。",
            "LimitExceeded.UrlCountLimit" => "该域名的显性URL转发数量已达上限,如需继续使用,请去商城购买。",
            "OperationDenied" => "操作被拒绝。",
            "OperationDenied.AccessDenied" => "您没有权限执行此操作。",
            "OperationDenied.AgentDenied" => "代理不能使用此功能。",
            "OperationDenied.AgentSubordinateDenied" => "代理名下的用户不能使用此功能。",
            "OperationDenied.CancelBillNotAllowed" => "此订单不能取消。",
            "OperationDenied.DeleteUsingRecordLineNotAllowed" => "该线路正在使用当中,不能删除。",
            "OperationDenied.DomainOwnerAllowedOnly" => "仅域名所有者可进行此操作。",
            "OperationDenied.IPInBlacklistNotAllowed" => "抱歉,不允许添加黑名单中的IP。",
            "OperationDenied.MonitorCallbackNotEnabled" => "抱歉,您的域名等级不支持D监控通知回调功能。",
            "OperationDenied.NoPermissionToOperateDomain" => "当前域名无权限,请返回域名列表。",
            "OperationDenied.NotAdmin" => "您不是管理用户。",
            "OperationDenied.NotAgent" => "您不是代理用户。",
            "OperationDenied.NotGrantedByOwner" => "您还没有获取到授权,无法执行此操作。",
            "OperationDenied.NotManagedUser" => "不是您名下用户。",
            "OperationDenied.NotOrderOwner" => "您没有权限操作此订单。",
            "OperationDenied.NotResourceOwner" => "您没有权限操作此资源。",
            "OperationDenied.PersonalCouponNotAllowed" => "此礼券为个人礼券,请使用企业礼券。",
            "OperationDenied.PostRequestAcceptOnly" => "只支持 POST 方法提交数据。",
            "OperationDenied.ResourceNotAllowRenew" => "该资源不允许续费。",
            "OperationDenied.VipDomainAllowed" => "企业用户的域名需要升级到VIP才能解析。",
            "RequestLimitExceeded.BatchTaskLimit" => "您的IP添加了过多任务,请稍后重试。",
            "RequestLimitExceeded.CreateDomainLimit" => "您的帐号在短时间内添加了大量的域名,请控制添加频率。",
            "RequestLimitExceeded.RequestLimitExceeded" => "API请求次数超出限制。",
            "ResourceNotFound.NoDataOfDomain" => "域名列表为空。",
            "ResourceNotFound.NoDataOfDomainAlias" => "没有域名别名。",
            "ResourceNotFound.NoDataOfGift" => "还没有任何礼券。",
            "ResourceNotFound.NoDataOfRecord" => "记录列表为空。",
            "ResourcesSoldOut" => "资源售罄。",

            _ => "未知错误",
        }
    }
}