123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 'use strict';
- const Core = require('@alicloud/pop-core');
- const _ = require('lodash');
- // 阿里云控制台 - 短信服务 - 国内消息
- const SignName = '惠金信用信息服务';
- const TemplateCode = 'SMS_189617598';
- // https://usercenter.console.aliyun.com/
- const accessKeyId = 'LTAI4G1eNRqKqqRLP15d3x5h';
- const accessKeySecret = 'CJtcZjAu366mmmscIRXfyml9Hx61Bh';
- const client = new Core({
- accessKeyId,
- accessKeySecret,
- endpoint: 'https://dysmsapi.aliyuncs.com',
- apiVersion: '2017-05-25',
- });
- // 保存手机号和验证码的对应关系
- // phone_code_list = {'18855551234':['1024']}
- // const phone_code_list = {};
- /**
- * sms.send(手机号) 发送短信验证码
- **/
- exports.send = function(phone) {
- // 生成验证码
- // const code = '' + _.random(9) + _.random(9) + _.random(9) + _.random(9);
- const code = this.randomCode(4);
- return new Promise((resolve, reject) => {
- try {
- client.request('SendSms', {
- RegionId: 'cn-hangzhou',
- PhoneNumbers: phone,
- SignName,
- TemplateCode,
- TemplateParam: '{code:' + code + '}',
- }, {
- method: 'POST',
- }).then(result => {
- console.log('res', result)
- if (result.Message && result.Message == 'OK' && result.Code && result.Code == 'OK') { // 短信发送成功
- // 保存验证码
- result.number = code;
- resolve(result);
- } else {
- console.log('error', result)
- reject(result);
- }
- }, ex => {
- console.log('ex', ex)
- reject(ex);
- });
- } catch (error) {
- console.log('catch error', error)
- reject(error);
- }
- });
- };
- exports.randomCode = function(length) {
- const chars = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ];
- let result = '';
- for (let i = 0; i < length; i++) {
- const index = Math.ceil(Math.random() * 9);
- result += chars[index];
- }
- return result;
- }
|