北斗启航科技教育平台登录系统
This commit is contained in:
68
app/controller/SMSService.js
Normal file
68
app/controller/SMSService.js
Normal file
@@ -0,0 +1,68 @@
|
||||
'use strict';
|
||||
|
||||
const Controller = require('../core/base_controller');
|
||||
|
||||
const fileName = "SMSService";
|
||||
|
||||
class SMSServiceController extends Controller {
|
||||
// 向手机发送短信验证码
|
||||
async sendSMS() {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
const { phone } = ctx.request.body;
|
||||
const result = await ctx.service.sMSService.sendSMS(this.decryptRequest(phone));
|
||||
if (result == "error") {
|
||||
this.setResponse(ctx, 500, '服务器错误', "none");
|
||||
return;
|
||||
}
|
||||
if (result.status == "200") {
|
||||
this.setResponse(ctx, 200, '验证码已发送', "none");
|
||||
} else if (result.status == "600") {
|
||||
setTimeout(async () => {
|
||||
await ctx.curl('http://127.0.0.1:' + ctx.app.server.address().port + '/sendSMS', {
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
method: 'POST',
|
||||
timeout: 6000,
|
||||
data: {
|
||||
phone
|
||||
},
|
||||
});
|
||||
}, 3000);
|
||||
this.setResponse(ctx, 200, '正在发送验证码', "none");
|
||||
} else {
|
||||
this.setResponse(ctx, 404, '请重试', "none");
|
||||
}
|
||||
} catch (error) {
|
||||
const blockName = fileName + "--" + "sendSMS";
|
||||
ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error);
|
||||
this.setResponse(ctx, 500, '服务器错误', "none");
|
||||
}
|
||||
}
|
||||
|
||||
// 校验短信验证码
|
||||
async checkCode() {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
const body = ctx.request.body;
|
||||
const phone = this.decryptRequest(body.phone);
|
||||
const code = this.decryptRequest(body.code);
|
||||
const result = await ctx.service.sMSService.checkCode(phone, code);
|
||||
if (result == "error") {
|
||||
this.setResponse(ctx, 500, '服务器错误', "none");
|
||||
return;
|
||||
}
|
||||
if (result) {
|
||||
this.setResponse(ctx, 200, '验证通过', "none");
|
||||
} else {
|
||||
this.setResponse(ctx, 404, '验证失败', "none");
|
||||
}
|
||||
} catch (error) {
|
||||
const blockName = fileName + "--" + "checkCode";
|
||||
ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error);
|
||||
this.setResponse(ctx, 500, '服务器错误', "none");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = SMSServiceController;
|
||||
Reference in New Issue
Block a user