New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@notadd/addon-sms

Package Overview
Dependencies
Maintainers
4
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@notadd/addon-sms

The sms addon for notadd application.

  • 3.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

notadd 短信验证码插件

功能

  1. 短信插件管理
  2. 短信模板管理
  3. 短信发送记录管理
  4. 使用腾讯云短信服务发送短信验证码
  5. 校验验证码合法性

安装

# install
yarn add @notadd/addon-sms

使用说明

第一步,导入短信插件

import { SmsAddon } from "@notadd/addon-sms";

@Module({
    imports: [SmsAddon]
})
export class AppModule { }

第二步,创建短信插件

import { SmsService } from "@notadd/addon-sms";

@Injectable()
export class ExampleService {
    constructor(
        @Inject(SmsService) private readonly smsService: SmsService
    ) { }

    // 创建/配置短信插件
    async test() {
        await this.smsService.createSms({
            appId: '123456789',
            appKey: 'zbcdefg123',
            signName: '签名',
            templates: [
                {
                    templateId: 122334,
                    name: '短信测试',
                    remark: '您的验证码是{1},请于{2}分钟内填写。如非本人操作,请忽略本短信。'
                }
            ]
        });
    }
}

第三步,调用发送/验证短信方法

import { SmsService } from "@notadd/addon-sms";

@Injectable()
export class ExampleService {
    constructor(
        @Inject(SmsService) private readonly smsService: SmsService
    ) { }

    // SmsRequest example:(2 , { appId: "1234567890", templateId: 123456, templateParam: ["xxxxx", "xxxxx"], "mobile": ["13512345678"] })
    async sendSms(type: number, smsRequest: SmsRequest) {
        // 短信类型 0为通知短信,1为验证码短信,2为自定义参数短信
        // 成功时返回 { code: 200, message: "发送短信成功" };
        //
        // 失败时会抛出以下几种异常:
        // HttpException (`指定短信插件'appId=xxxxx'不存在`, 404);
        // HttpException (`指定短信模板'templateId=xxxxx'不存在`, 404);
        // HttpException (`发送失败,原因:xxxxx`, xxxxx);
        await this.smsService.sendMessageByQCloud(type, smsRequest);
    }

    async smsValidator(mobile: string, validationCode: number) {
        // 校验验证码合法性,成功时没有返回值,失败时抛出 HttpException { code: number, message: string }
        //
        // 校验顺序:
        // step 1,判断手机号是否和接收短信手机号一致,失败时: HttpException ("输入的手机号码与接收短信的手机号码不一致", 404);
        // step 2,判断验证码是否正确,失败时: HttpException ("验证码错误", 406);
        // step 3,判断验证码是否超时,失败时: HttpException ("验证超时,请重新获取验证码", 408);
        await this.smsService.smsValidator(mobile, validationCode);
    }
}

Keywords

FAQs

Package last updated on 24 Dec 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc