目录

  • 申请互亿无线信息
  • 公共函数
  • 扩展库代码
  • 前端代码

申请互亿无线信息

https://user.ihuyi.com/nav/sms.html
内有官方接口DEMO可下载

公共函数


//randomNum() 函数返回随机整数。
function randomNum($length = 6, $numeric = 0)
{PHP_VERSION < '4.2.0' && mt_srand((float) microtime() * 1000000);if ($numeric) {$hash = sprintf('%0' . $length . 'd', mt_rand(0, pow(10, $length) - 1));} else {$hash = '';$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz';$max = strlen($chars) - 1;for ($i = 0; $i < $length; $i++) {$hash .= $chars[mt_rand(0, $max)];}}return $hash;
}//将 xml数据转换为数组格式。
function xml_to_array($xml)
{$reg = "/<(\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/";if (preg_match_all($reg, $xml, $matches)) {$count = count($matches[0]);for ($i = 0; $i < $count; $i++) {$subxml = $matches[2][$i];$key = $matches[1][$i];if (preg_match($reg, $subxml)) {$arr[$key] = xml_to_array($subxml);} else {$arr[$key] = $subxml;}}}return $arr;
}//请求数据到短信接口,检查环境是否 开启 curl init。
function sms_post($curlPost, $url)
{$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HEADER, false);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_NOBODY, true);curl_setopt($curl, CURLOPT_POST, true);curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);$return_str = curl_exec($curl);curl_close($curl);return $return_str;
}

扩展库代码

public function __construct(){//短信 互亿无线$GLOBALS['ihuyi']['appid']               = 'XXXX';//需从短信控制台获取appid$GLOBALS['ihuyi']['appkey']              = 'XXXX';//需从短信控制台获取appkey$GLOBALS['ihuyi']['sms_send_time']       = 60;$GLOBALS['ihuyi']['sms_send_num']        = 5;$GLOBALS['ihuyi']['sms_send_black_time'] = 600;$GLOBALS['ihuyi']['url']                 = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";$GLOBALS['ihuyi']['is_open_send_limit']  = 1;parent::__construct();}/*** 获取短信验证码* @author * @date   2019-05-17* @param* @return array*/public function getcode(){if ($this->request->isPost()) {$validate = new \think\Validate(['mobile' => 'require|mobile']);$validate->message(['mobile.require' => '手机号不能为空','mobile.mobile'  => '手机号不正确']);$data = $this->request->post();if (!$validate->check($data)) {$this->error($validate->getError());}//有图形验证码if (isset($data['captcha'])) {if (!cmf_captcha_check($data['captcha'], '', false)) {$this->error("图形验证码错误");}}//生成的随机数$mobile_code = randomNum(4, 1);$content     = "您的验证码是:" . $mobile_code . "。请不要把验证码泄露给其他人。";$post_data   = "account=" . $GLOBALS['ihuyi']['appid'] . "&password=" . $GLOBALS['ihuyi']['appkey'] . "&mobile=" . $data['mobile'] . "&content=" . rawurlencode($content);$gets        = xml_to_array(sms_post($post_data, $GLOBALS['ihuyi']['url']));ys_log('common/getcode', '手机号:' . $data['mobile'] . '时间:' . time() . '返回语:' . $gets['SubmitResult']['msg'] . '验证码' . $mobile_code);session('mobile', $data['mobile']);session('mobile_code', $mobile_code);if ($gets['SubmitResult']['code'] == 2) {$this->success('发送成功');} else {$this->error('发送失败');}}}

前端代码

<div class="form-item"><div class="form-item-wrap"><label class="form-label">验证码</label><input class="input-block" type="tel" name="vCode" placeholder="请输入手机验证码" xf-verify="required"autocomplete="off" maxlength="10" xf-title="手机验证码不能为空"><span class="layui-btn layui-btn-sm" id="getCode">获取验证码</span></div><p class="err-msg"></p>
</div><script>//获取验证码
$("#getCode").click(function () {//手机验证码var mobile = $("#mobile").val();//手机验证码var reg = /(1[3-9]\d{9}$)/;if (mobile == "") {layer.msg('手机号不能为空', {time: 3000 //3秒关闭});return false;} else if (!reg.test(mobile)) {layer.msg('手机号格式不正确', {time: 3000 //3秒关闭});return false;} else {//图形验证码var captcha = $("#captcha").val();//图形验证码if (captcha != 'undefined') {if (captcha == "") {layer.msg('图形验证码不能为空', {time: 3000 //3秒关闭});return false;}getcode_obj = { mobile: mobile, captcha: captcha };}else {getcode_obj = { mobile: mobile };}var clickThis = this;$.post("/Common/Common/getcode", getcode_obj, function (data) {//alert(JSON.stringify(data));if (data.code == 0) {layer.msg(data.msg, {time: 3000 //3秒关闭});return false;} else if (data.code == 1) {layer.msg(data.msg, {time: 3000 //3秒关闭});//倒计时settime(clickThis);}});}
});
var countdown = 120;
function settime(obj) {if (countdown == 0) {obj.removeAttribute('disabled');obj.setAttribute('class', 'layui-btn layui-btn-sm');obj.innerHTML = "立即发送";countdown = 120;return;} else {obj.setAttribute('disabled', true);obj.setAttribute('class', 'layui-btn layui-btn-sm layui-btn-disabled');obj.innerHTML = "" + countdown + "秒";countdown--;}setTimeout(function () {settime(obj)}, 1000)
}
</script>

互亿无线短信接口接入相关推荐

  1. SpringBoot 整合 发送互亿无线短信验证码

    这里 提供的验证码是:https://user.ihuyi.com/ 互亿无线 产品的 百亿无线 这个短信验证,需要 固定格式的 短信内容.否则,就判定为发送失败 以下 代码需要 Jsoup 支持 自 ...

  2. 互亿天线短信接口php文档

    官方接口文档好像有点小问题,今天接入到 Lerevl 框架里面就直接报错了 , 看到一个明显的错误,大家应该都可以看出来,希望可以帮到新手朋友 .

  3. php网站短信接口接入核心代码—动力思维乐信

    php网站短信接口接入步骤: ①首先需要注册动力思维乐信短信接口平台账号,注册地址:(http://www.lx598.com/acc/x5?i=110792),注册免费送100条测试短信: ②登录接 ...

  4. Kewail平台的短信接口接入流程。

    短信接口接入流程 手机短信接口接入操作流程: 申请短信签名 → 申请短信模板 → 生成AccessKey → 下载DEMO/攒写接口调用文档 → 免费测试发送 → 购买发信量正式使用. 一.申请短信签 ...

  5. 云片短信php接口_php与阿里云短信接口接入

    使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证+官方审核多次,尤其审核需要保持耐心. 1. accessKeyId 相当于你的个人账户密钥: 2. accessKeySecr ...

  6. 网易云信(验证码短信接口接入)

    准备工具类:chekSum package net.tiantianup.commons.utils;import java.security.MessageDigest; import java.s ...

  7. python发送短信接口_python发送短信和发送邮件

    先注册好 发短信脚本内容 #接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. #账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html ...

  8. C++如何开发验证码短信接口API

    验证码通知短信应用场景 验证码通知短信可广泛应用于以下场景 C++对接验证码短信接口DEMO示例 本文为您提供了C++版本的验证码短信接口对接DEMO示例 //接口类型:无线触发短信接口,支持发送验证 ...

  9. Go语言如何快速对接短信接口

    Go语言短信接口demo //接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. // 账户注册:请通过该地址开通账户 http://user.ihuyi.com/?DKimmu / ...

  10. 怎么用VB对接三方验证码短信接口

    VB对接验证码短信接口DEMO示例 //接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. // 账户注册:请通过该地址开通账 http://user.ihuyi.com/?DKim ...

最新文章

  1. Java 集合类详解
  2. 字符串一:替换空格()
  3. 程序开发工具java_15款Java程序员必备的开发工具
  4. DL之CNN:基于CNN-RNN(GRU,2)算法(keras+tensorflow)实现不定长文本识别
  5. Mysql数据库函数(数字,字符串,日期时间)
  6. java简单纸牌游戏_2020年最佳2人棋盘游戏:拼凑,Kingdomino等
  7. 免费福利 | 送你一份免费音频,让你躺着也能学习葡萄酒知识!
  8. 【C#学习笔记】单精度和双精度浮点型操作留意。
  9. Android应用方法数查看,查看size是否超过65k
  10. 百度搜索引擎推出“熊掌号”,保护原创作者权益
  11. excel财务案例建模_Pro Excel财务建模:技术创业公司的构建模型
  12. 前端人脸识别框架tracking.js,解决ios浏览器调摄像头黑屏的问题,兼容pc、安卓、ios。
  13. 18岁少年盗取1500万日元萌乃币, 逼交易所关停, 引发日本史上第一次加密币盗窃法律诉讼...
  14. 【有问不答】非白色光斑的检测(单个实例)
  15. 每日一问。2015.1.8
  16. 一周 Go World 新鲜事-2019W11
  17. 迅为开发板-i.MX6Q开发板飞思卡尔imx6开发板专业推荐
  18. 微信小程序云开发 serverData() 服务器时间 本地解析
  19. Cg教程_可编程实时图形权威指南(扫描清晰版)+部分unity shader 知识
  20. 齐鲁师范学院计算机专业在那个校区,齐鲁师范学院有几个校区及校区地址

热门文章

  1. 串口服务器485转以太网
  2. XPS Silverlight Reader
  3. JavaScript怎么安装_WebStrom 2019安装教程
  4. 8051蜂鸣器程序c语言,单片机驱动蜂鸣器C51程序
  5. 宇视监控摄像头使用什么工具批量修改IP地址
  6. 如何免费下载百度文库文档
  7. 疯狂Java讲义P179单例
  8. 国科大计算机算法与分析——陈玉福 马菲菲
  9. golang实现微信模板消息推送
  10. 用Global Mapper软件批处理将dwg转shp