ruby on rails aliyun 发送短信

2024-03-12 20:08
文章标签 发送 rails 短信 ruby aliyun

本文主要是介绍ruby on rails aliyun 发送短信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 签名请看: https://blog.csdn.net/tang05709/article/details/88366228

module Aliyunclass AliyunSmsAchieve < AliyunSigndef initialize@access_key_id = Rails.configuration.application['ALIYUN_OSS_ACCESS_KEY_ID']@access_key_secret = Rails.configuration.application['ALIYUN_OSS_ACCESS_KEY_SECRET']@send_url = 'http://dysmsapi.aliyuncs.com'.freezeenddef send_sms(phone_numbers, service_type, code = nil)# PhoneNumbers 持对多个手机号码发送短信,手机号码之间以英文逗号(,)分隔。上限为1000个# SignName 短信签名名称# TemplateCode 短信模板ID# Action 系统规定参数。取值:SendSms# 返回 RequestId:请求ID, Message:状态码的描述,Code:请求状态码,BizId:发送回执ID,可根据该ID查询具体的发送状态param = {PhoneNumbers: set_phones(phone_numbers),SignName: '签名',TemplateCode: service_types(service_type),Action: 'SendSms',AccessKeyId: @access_key_id}if code.present? if service_type == 'orderend'code_h = { product: code}.to_jsonelsecode_h = { code: code}.to_jsonendparam[:TemplateParam] = code_hendkey = @access_key_secret + '&'options = create_sign_url("POST", param, key, 'sms')result = Faraday.post(@send_url, options)res = JSON.parse(result.body)if res["Code"] == 'OK'return trueelse return falseend end'''phone_numbers, 逗号隔开'''def set_phones(phone_numbers)if phone_numbers.is_a?(Array)phones = phone_numbers.join(',')else  phones = phone_numbersendphonesend'''信息模板'''def service_types(type)types = {'register' => 'SMS_159575658','login' => 'SMS_159575660','repassword' => 'SMS_159575657','orderend' => 'SMS_159621878'}types.fetch(type)endend 
end

短信发送倒计时

total_time = 60send_cannot_click = () ->obj = $('.account-form-body .send_code')if total_time == 0 obj.attr('disabled', false)obj.css('background', '#7ad4cb')obj.html('发送验证码')total_time = 60else total_time--obj.html("重新发送(#{total_time}s)")setTimeout send_cannot_click, 1000# 发送验证码$('.account-form-body .send_code').click -># 电话必须if $('.account-form-body #user_phone').val() == ''$('.account-form-body #user_phone').parent().parent().addClass('active')return falsephone = $('.account-form-body #user_phone').val()# 需要先填写图片验证码if $('.account-form-body #captcha').val() == ''$('.account-form-body #captcha').parent().parent().addClass('active')return falsecode = $('.account-form-body #captcha').val()$.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}})$.post('api/xxx',{phone: phone, _rucaptcha: code},(data) ->if data.status != 'success'$('.account-form-body #captcha').next('small').html(data.status))$(this).attr('disabled', true)$(this).css('background', '#2b7069')send_cannot_click()

 

这篇关于ruby on rails aliyun 发送短信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/802427

相关文章

redis防止短信恶意调用的实现

《redis防止短信恶意调用的实现》本文主要介绍了在场景登录或注册接口中使用短信验证码时遇到的恶意调用问题,并通过使用Redis分布式锁来解决,具有一定的参考价值,感兴趣的可以了解一下... 目录1.场景2.排查3.解决方案3.1 Redis锁实现3.2 方法调用1.场景登录或注册接口中,使用短信验证码场

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行

61.以太网数据回环实验(4)以太网数据收发器发送模块

(1)状态转移图: (2)IP数据包格式: (3)UDP数据包格式: (4)以太网发送模块代码: module udp_tx(input wire gmii_txc ,input wire reset_n ,input wire tx_start_en , //以太网开始发送信

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示; 代码如下: Demo07.jrxml <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.

aliyun图片存储OSS工具类

pom.xml配置jar包 <!-- oss --><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version></dependency> yml配置相关key #oss 配置oss:#AKaccessKey: accessKey