资讯专栏INFORMATION COLUMN

情人节之每天给你的女朋友发短信(nodejs版)

djfml / 2401人阅读

摘要:看到一老兄用和阿里云短信服务做了一个每天给女朋友发短信的案例,挺有意思,自己也用做了一版。步骤现在阿里云通信中的短信签名中申请签名,签名在你短信中是以短信签名你短信模板内容方式为主的。

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

步骤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_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元的代金券,可以用很久了。
祝各位能哄得女朋友开心

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84912.html

相关文章

  • 人节每天你的朋友短信nodejs

    摘要:看到一老兄用和阿里云短信服务做了一个每天给女朋友发短信的案例,挺有意思,自己也用做了一版。步骤现在阿里云通信中的短信签名中申请签名,签名在你短信中是以短信签名你短信模板内容方式为主的。 看到一老兄用php和阿里云短信服务做了一个每天给女朋友发短信的案例,挺有意思,自己也用nodejs做了一版。https://segmentfault.com/a/11...showImg(https:/...

    hlcfan 评论0 收藏0
  • 极客爱情: 人节礼物大作战

    摘要:故而总结如下编成的代码浪漫的环境亲手制作的礼物注意请将下面的程序员的情人节礼物换成语言。言归正传程序员的情人节礼物入门之材料构思情人节礼物之设备展示想着在这个移动盛行的时代,再用电脑就不太合适了。 是时候应该反击了 当我看到@鄢得諼草 的那几篇黑我黑到体无完肤的#极客爱情# @Phodal 故事的时候,我发现我竟无言以对。或许,作为一名程序员,我们或多或少都有这样的共性。 ...

    XGBCCC 评论0 收藏0
  • Linux Crontab每天八点短信朋友

    摘要:时间间隔的单位可以是分钟小时日月周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。显示某个用户的文件内容,如果不指定用户,则表示显示当前用户的文件内容。 都说程序猿没有女朋友=_=,汗,为什么要黑我们帅气的程序猿一族,今天来搞一波用Linux的Crontab定时任务每天给女朋友发短信 在这里我用的是阿里大于的短信SDK,每条短信价格为0.045元,冲个一块钱够用大半...

    ixlei 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<