123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /**
- * 短信相关控制器
- *
- * @author EllisRan
- * @date 2018/4/17
- * @version
- */
- const UserModel = require("../models/user_model");
- const SmsModel = require("../models/sms_model");
- const SMS = require('../models/sms');
- class SmsController {
- /**
- * 发送短信验证码
- *
- * @param {object} request
- * @param {object} response
- * @return {void}
- */
- async code(request, response) {
- let responseData = {
- err: 0,
- msg: ''
- };
- let mobile = request.body.mobile;
- let type = request.body.type;
- try {
- let smsModel = new SmsModel();
- if (parseInt(type) === 3) {
- const Sms = new SMS();
- const code = Sms.generateRandomString(6,2);
- await Sms.send(mobile, code);
- // console.log(JSON.stringify(returnStatus));
- // if (parseInt(JSON.stringify(returnStatus).statusCode) !== 200) {
- // throw '短信发送失败!';
- // }
- request.session.code = mobile + '_' + code + '_' + Date.parse(new Date())/1000;
- // console.log(request.session.code);
- } else {
- let returnStatus = await smsModel.sendSmsFromSSO(mobile, type);
- if (returnStatus === null) {
- throw '获取数据失败!';
- }
- if(returnStatus != 1){
- responseData.err = 1;
- responseData.msg = await smsModel.getStatusMsg(returnStatus);
- }
- }
- } catch (error) {
- console.log(error);
- responseData.err = 1;
- responseData.msg = error;
- }
- response.json(responseData);
- }
- /**
- * 手机和验证码验证并更新sso
- *
- * @param {object} request
- * @param {object} response
- * @return {void}
- */
- async setMobile(request, response) {
- let responseData = {
- err: 0,
- msg: ''
- };
- let ssoId = request.body.ssoId;
- let mobile = request.body.mobile;
- let code = request.body.code;
- try {
- let smsModel = new SmsModel();
- let returnStatus = await smsModel.checkCodeFromSSO(ssoId, mobile, code);
- if (returnStatus === null) {
- throw '获取数据失败!';
- }
- if(returnStatus != 1){
- responseData.err = 1;
- responseData.msg = await smsModel.getStatusMsg(returnStatus);
- }
- } catch (error) {
- console.log(error);
- responseData.err = 1;
- responseData.msg = error;
- }
- response.json(responseData);
- }
- /**
- * 检测通行账号是否已存在该手机号码注册
- *
- * @param {object} request
- * @param {object} response
- * @return {void}
- */
- async checkMobile (request, response) {
- let responseData = {
- err: 0,
- msg: ''
- };
- let mobile = request.body.mobile;
- try {
- let userModel = new UserModel();
- let responseData = await userModel.getInfoFromSSOMobile(mobile, 0);
- if ( responseData === '-2') {
- throw '参数有误或手机号码不正确';
- }
- responseData = JSON.parse(responseData);
- if (typeof responseData !== 'object') {
- throw '该手机号未注册通行账号';
- }
- responseData.msg = 'success';
- } catch (error) {
- console.log(error);
- responseData.err = 1;
- responseData.msg = error;
- }
- response.json(responseData);
- }
- }
- module.exports = SmsController;
|