情人節之天天給你的女友發短信(nodejs版)

看到一老兄用php和阿里雲短信服務作了一個天天給女友發短信的案例,挺有意思,本身也用nodejs作了一版。
https://segmentfault.com/a/11...
圖片描述javascript

步驟1

如今阿里雲通訊中的短信簽名中申請簽名,簽名在你短信中是以:
【短信簽名】你短信模板內容
方式爲主的。
圖片描述php

步驟2

申請短信模板,短信模板的變量是以這種形式存在的:${name},能夠寫多個:
示例:尊敬的${name},您的快遞已在飛奔的路上,將在今天${time}送達您的手裏,請留意查收。
圖片描述java

步驟3

申請accesskeys,在你控制檯上面有個accesskeys,點擊申請就能顯示你的id及Secret。
圖片描述node

步驟4

在demo文件夾中的index.js中填寫你的accessKeyId和secretAccessKey,就是你在步驟3申請的id和secret。git

步驟5

在sendSMS中填寫
一、PhoneNumbers // 發送短信的帳號,能夠多寫,用逗號分隔
二、SignName // 你步驟一申請的簽名
三、TemplateCode // 你步驟2申請的模板code碼
四、TemplateParam // 你步驟2中短信模板的變量名稱要表達的含義github

步驟6

定時執行任務node-schedulesegmentfault

function scheduleCronstyle(){
        //秒 、 分 、時 、 日 、 月 、 年 
            schedule.scheduleJob('30 0 7 * * *', function(){
                console.log('scheduleCronstyle:' + new Date());
            }); 
        }
    scheduleCronstyle();

6個*分別表明了秒 、 分 、時 、 日 、 月 、 年 ,如上天天7點0分30秒的時候服務器

步驟7

服務器上面pm2守護對應的nodejs進程便可。ui

所有代碼

const SMSClient = require('./../index')

const schedule = require('node-schedule');

// ACCESS_KEY_ID/ACCESS_KEY_SECRET 根據實際申請的帳號信息進行替換
const accessKeyId = '你本身的id'
const secretAccessKey = '你本身的secret'

//初始化sms_client
let smsClient = new SMSClient({ accessKeyId, secretAccessKey })

// //短信回執報告
smsClient.receiveMsg(0, queueName).then(function (res) {
    //消息體須要base64解碼
    let { code, body } = res
    if (code === 200) {
        //處理消息體,messagebody
        console.log(body)
    }
}, function (err) {
    console.log(err)
})

//短信上行報告
smsClient.receiveMsg(1, queueName).then(function (res) {
    //消息體須要base64解碼
    let { code, body } = res
    if (code === 200) {
        //處理消息體,messagebody
        console.log(body)
    }
}, function (err) {
    console.log(err)
})


//查詢短信發送詳情
smsClient.queryDetail({
    PhoneNumber: '1500000000',
    SendDate: '20170731',
    PageSize: '10',
    CurrentPage: "1"
}).then(function (res) {
    let { Code, SmsSendDetailDTOs } = res
    if (Code === 'OK') {
        //處理髮送詳情內容
        console.log(SmsSendDetailDTOs)
    }
}, function (err) {
    //處理錯誤
    console.log(err)
})

const now = new Date(),
      jhr = new Date(2017, 4, 1),
      calculation = Math.abs(parseInt((jhr - now) / 86400000));

function scheduleCronstyle() {
    //秒 、 分 、時 、 日 、 月 、 年 
    schedule.scheduleJob('30 0 7 * * *', function () {
        // 發送短信
        smsClient.sendSMS({
            PhoneNumbers: '1888888888',
            SignName: '李經綸',
            TemplateCode: 'SMS_88960019',
            TemplateParam: '{"name":"劉穎","date":' + calculation + '}'
        }).then(function (res) {
            let { Code } = res
            if (Code === 'OK') {
                //處理返回參數
                console.log(res)
            }
        }, function (err) {
            console.log(err)
        })
    });
}

scheduleCronstyle();

所有代碼在這裏:https://github.com/chinalijin...阿里雲

ps:阿里雲短信這個一進來會送10元的代金券,能夠用好久了。祝各位能哄得女友開心

相關文章
相關標籤/搜索