博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
情人节之每天给你的女朋友发短信(nodejs版)
阅读量:6480 次
发布时间:2019-06-23

本文共 2650 字,大约阅读时间需要 8 分钟。

看到一老兄用php和阿里云短信服务做了一个每天给女朋友发短信的案例,挺有意思,自己也用nodejs做了一版。

图片描述

步骤1

现在阿里云通信中的短信签名中申请签名,签名在你短信中是以:

【短信签名】你短信模板内容
方式为主的。
图片描述

步骤2

申请短信模板,短信模板的变量是以这种形式存在的:${name},可以写多个:

示例:尊敬的${name},您的快递已在飞奔的路上,将在今天${time}送达您的手里,请留意查收。
图片描述

步骤3

申请accesskeys,在你控制台上面有个accesskeys,点击申请就能显示你的id及Secret。

图片描述

步骤4

在demo文件夹中的index.js中填写你的accessKeyId和secretAccessKey,就是你在步骤3申请的id和secret。

步骤5

在sendSMS中填写

1、PhoneNumbers // 发送短信的账号,可以多写,用逗号分隔
2、SignName // 你步骤一申请的签名
3、TemplateCode // 你步骤2申请的模板code码
4、TemplateParam // 你步骤2中短信模板的变量名称要表达的含义

步骤6

定时执行任务node-schedule

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

6个*分别代表了秒 、 分 、时 、 日 、 月 、 年 ,如上每天7点0分30秒的时候

步骤7

服务器上面pm2守护对应的nodejs进程即可。

全部代码

const SMSClient = require('./../index')const schedule = require('node-schedule');// ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换const accessKeyId = '你自己的id'const secretAccessKey = '你自己的secret'//初始化sms_clientlet 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();

全部代码在这里:

ps:

阿里云短信这个一进来会送10元的代金券,可以用很久了。
祝各位能哄得女朋友开心

转载地址:http://xiwuo.baihongyu.com/

你可能感兴趣的文章
[深入浅出Windows 10]布局原理
查看>>
bccomp比较大小注意
查看>>
Cygwin的安装及在Android jni中的简单使用举例
查看>>
c#自定义液晶数字控件
查看>>
Android源代码下载之《Android新闻client源代码》
查看>>
(转)jQuery String Functions
查看>>
Java 生成本文文件的时候,Dos格式转成Unix格式
查看>>
Flask服务入门案例
查看>>
ReadWriteLock与ReentrantReadWriteLock
查看>>
Atitit.软件命名空间 包的命名统计 及命名表(2000个名称) 方案java package...
查看>>
新手指导:教你如何查看识别hadoop是32位还是64位
查看>>
Codeforces Round #180 (Div. 2) D. Fish Weight 贪心
查看>>
Gradle sourceCompatibility has no effect to subprojects(转)
查看>>
百度指数分析
查看>>
C#操作SQL Server通用类
查看>>
企业shell面试题:获取51CTO博客列表倒序排序考试题
查看>>
风雨扬州路
查看>>
Python 多线程
查看>>
BZOJ4963 : String
查看>>
改造继续之eclipse集成tomcat开发spring mvc项目配置一览
查看>>