fix(plugin-verification): change provider rate limit error to 429 (#788)
This commit is contained in:
parent
d1b52c7d96
commit
21806b3418
@ -69,6 +69,8 @@ export async function create(context: Context, next: Next) {
|
|||||||
case 'InvalidReceiver':
|
case 'InvalidReceiver':
|
||||||
// TODO: message should consider email and other providers, maybe use "receiver"
|
// TODO: message should consider email and other providers, maybe use "receiver"
|
||||||
return context.throw(400, context.t('Not a valid cellphone number, please re-enter', {ns: namespace }));
|
return context.throw(400, context.t('Not a valid cellphone number, please re-enter', {ns: namespace }));
|
||||||
|
case 'RateLimit':
|
||||||
|
return context.throw(429, context.t('You are trying so frequently, please slow down', { ns: namespace }));
|
||||||
default:
|
default:
|
||||||
console.error(error);
|
console.error(error);
|
||||||
return context.throw(500, context.t('Verification send failed, please try later or contact to administrator', { ns: namespace }));
|
return context.throw(500, context.t('Verification send failed, please try later or contact to administrator', { ns: namespace }));
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
'Verification send failed, please try later or contact to administrator': '验证码发送失败,请稍后重试或联系管理员',
|
'Verification send failed, please try later or contact to administrator': '验证码发送失败,请稍后重试或联系管理员',
|
||||||
'Not a valid cellphone number, please re-enter': '不是有效的手机号,请重新输入',
|
'Not a valid cellphone number, please re-enter': '不是有效的手机号,请重新输入',
|
||||||
"Please don't retry in {{time}} seconds": '请 {{time}} 秒后再试'
|
"Please don't retry in {{time}} seconds": '请 {{time}} 秒后再试',
|
||||||
|
'You are trying so frequently, please slow down': '您的操作太频繁,请稍后再试'
|
||||||
};
|
};
|
||||||
|
@ -33,11 +33,9 @@ export default class extends Provider {
|
|||||||
templateParam: JSON.stringify(data)
|
templateParam: JSON.stringify(data)
|
||||||
});
|
});
|
||||||
|
|
||||||
const { i18n } = this.plugin.app;
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { body } = await this.client.sendSmsWithOptions(request, new RuntimeOptions({}));
|
const { body } = await this.client.sendSmsWithOptions(request, new RuntimeOptions({}));
|
||||||
let err = new Error();
|
let err = new Error(body.message);
|
||||||
switch (body.code) {
|
switch (body.code) {
|
||||||
case 'OK':
|
case 'OK':
|
||||||
break;
|
break;
|
||||||
@ -47,8 +45,12 @@ export default class extends Provider {
|
|||||||
return Promise.reject(err);
|
return Promise.reject(err);
|
||||||
|
|
||||||
case 'isv.BUSINESS_LIMIT_CONTROL':
|
case 'isv.BUSINESS_LIMIT_CONTROL':
|
||||||
// should not let user to know
|
err.name = 'RateLimit';
|
||||||
|
console.error(body);
|
||||||
|
return Promise.reject(err);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
// should not let user to know
|
||||||
console.error(body);
|
console.error(body);
|
||||||
err.name = 'SendSMSFailed';
|
err.name = 'SendSMSFailed';
|
||||||
return Promise.reject(err);
|
return Promise.reject(err);
|
||||||
|
Loading…
Reference in New Issue
Block a user