简介
mengwangsms 是一个用于发送手机短信的 npm 包,它采用了腾讯云短信服务。它支持发送普通短信、营销短信和语音短信,而且代码简单易用。
安装
在安装之前,你需要先从腾讯云获取你的短信 SDKAppID、Appkey 和模板 ID。下面是安装命令:
npm install mengwangsms --save
基本用法
在你的应用中,引入 mengwangsms:
const SmsSender = require('mengwangsms');
然后,初始化 SmsSender:
const smsSender = new SmsSender(SDKAppID, AppKey);
接下来,可以使用 SmsSender 发送短信。比如,发送普通短信:
smsSender.sendSMS({ phoneNumber: '13012345678', templateID: 123456, sign: '我的签名', params: ['hello', 'world'] }).then(console.log);
这里 phoneNumber 是接收者的手机号码,templateID 是短信模板 ID,sign 是你的短信签名,params 是你在模板中定义的变量。
另外,你还可以发送营销短信:
smsSender.sendMarketingSMS({ phoneNumber: '13012345678', content: '【我的签名】这是一条营销短信' }).then(console.log);
发送语音短信也是类似的:
smsSender.sendVoiceSMS({ phoneNumber: '13012345678', templateID: 123456, params: ['hello', 'world'] }).then(console.log);
在发送成功后,你会得到一个类似于下面的响应:
{ "result": 0, "errmsg": "OK", "ext": "", "sid": "8:0FguIHYge78lRndEgJZ20201112", "fee": 1 }
其中 result 为数字 0 表示发送成功,errmsg 是错误信息(如果有),ext 是扩展信息,sid 是短信 ID,fee 是短信费用。
进阶用法
在上面的例子中,我们直接把参数写在代码里。但是实际项目中,我们往往会把参数放在配置文件中或者通过环境变量传递给应用。为了方便管理,我们可以把 SmsSender 封装一下,让它支持从配置文件读取参数。
这里介绍一个简单的引入配置模块 config 的封装方式:
-- -------------------- ---- ------- ----- --------- - ----------------------- ----- ------ - -------------------- ----- --- - ------------- - ----- - --------- ------ - - ------- ------------- - --------- ----------- - ------- ----------- - --- ------------------- -------- --------- - ------------ --------------- - ------------------ - -------------------- ------- - ------ --------------------- ------------ ----------- ---------------- ----- ---------- ------- --- - ----------------------------- -------- - ------ ------------------------------ ------------ -------- --- - ------------------------- ------- - ------ -------------------------- ------------ ----------- --------------------- ------- --- - - -------------- - --- ------
这里,我们封装了一个 Sms 类,它包含了发送短信、发送营销短信和发送语音短信三个方法。在构造函数中,我们从 config 文件读取配置;在发送短信的方法里,我们直接使用封装好的参数进行调用。
这种方式使得应用的代码更加高内聚,方便维护和测试。
总结
mengwangsms 是一个好用的 npm 包,它可以让我们快速方便地发送短信。在本文中,我们介绍了如何安装和使用它,并通过封装实现了配置文件化。希望本文对你学习和使用该包有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f3e1d8e776d08040b6a