All files / koa/libs aliyun-sms.js

23.08% Statements 6/26
0% Branches 0/6
0% Functions 0/7
23.08% Lines 6/26

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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    3x 3x   3x                     3x                   3x                                       3x                                          
'use strict'
 
const { DYSMS } = require('waliyun');
const { aliyun } = require('../config/env');
 
const options = {
  AccessKeyId: aliyun.sms.accessKeyId,
  AccessKeySecret: aliyun.sms.accessKeySecret,
  Version: '2017-05-25',
  SignatureMethod: 'HMAC-SHA1',
  Format: 'json',
  SignatureVersion: '1.0',
  SignatureNonce: Math.random(),
  Timestamp: new Date().toISOString(),
};
 
const sms = DYSMS(options);
 
function getVerifyCode() {
  let res = { code: '' };
  for (let i = 0; i < 6; i++) {
    res.code = res.code + Math.floor(Math.random() * 9);
  }
  return res;
}
 
exports.phoneVerify = (phone) => {
  let code = getVerifyCode();
  if (!phone) {
    return Promise.reject({ message: 'phone cannot be blank' });
  }
  return sms.sendSms({
    TemplateParam: JSON.stringify(code),
    PhoneNumbers: phone,
    SignName: '管理系统',
    TemplateCode: 'SMS_76600457',
  })
    .then(res => {
      return Promise.resolve(code);
    })
    .catch(err => {
      console.log(err);
      return Promise.reject(err);
    });
}
 
exports.messageNotify = (phone, message) => {
  if (!phone) {
    if (!phone) {
      return Promise.reject({ message: 'phone cannot be blank' });
    }
  }
  message = { message: message };
  return sms.sendSms({
    TemplateParam: JSON.stringify(message),
    PhoneNumbers: phone,
    SignName: '管理系统',
    TemplateCode: 'SMS_96545015',
  })
    .then(res => {
      console.log(res);
      return Promise.resolve(message);
    })
    .catch(err => {
      console.error(err);
      return Promise.reject(err);
    });
}