ppypp伦理天堂,91手机在线视频,免费在线观看黄色毛片,夜夜穞天天穞狠狠穞AV美女按摩

聯系官方銷售客服

1835022288

028-61286886

投訴 分享 阿里云短信驗證碼接入寫法 15 0
迅睿CMS版本:4.3.4

阿里云短信驗證碼接入寫法


  1. image

    image
    這個文件夾全部放進去

                       <li>
                            <div class="layui-form-item">
                                <label style="padding: 9px 0;" class="layui-form-label"><span>*</span> 聯系電話:</label>
                                <div class="layui-input-block">
                                	<div style="display: flex;margin-bottom:10px">
                                    <input type="text" name="data[lxfs]" id="phone" lay-verify="required|phone" autocomplete="off" placeholder="請輸入聯系方式" class="layui-input">
                                    <input style="border-radius: 30px;" id="btnSendCode1" type="button" class="layui-btn layui-btn-normal" value="獲取驗證碼" onClick="sendMessage1()" />
                                    </div>
                                    <input style="margin-left: 10px;width: 215px;" type="text" name="yzm" id="yzm" lay-verify="required|yzm" autocomplete="off" placeholder="驗證碼" class="layui-input">
                                </div>
                            </div>
                        </li>

5.js部分代碼

<script>
    var count = 60; //間隔函數,1秒執行
    var InterValObj1; //timer變量,控制時間
    var curCount1;//當前剩余秒數
    var yzm = '';
    /*第一*/
    function sendMessage1() {
        curCount1 = count;
        var phone = $.trim($('#phone').val());
        //設置button效果,開始計時
        $("#btnSendCode1").attr("disabled", "true");
        $("#btnSendCode1").val( + curCount1 + "s");
        InterValObj1 = window.setInterval(SetRemainTime1, 1000); //啟動計時器,1秒執行一次
        var info = '';
        $.ajax({
            url: '{dr_url("special/send/index")}',//這里是你自己寫的請求api的方法。里面是阿里云獲取短信的方式
            type: 'POST',
            data: {
                phone: phone//手機號
            },
            success: function (data) {
                info = JSON.parse(data);
                console.log(info,'info');
                console.log(data,'data');
                if (info.code == 1){
                    layer.msg('驗證碼發送成功!');
                    yzm = info.yzm;
                }
                if (info.code == 0){
                    layer.msg(info.msg);
                }
            }
        });
    }
    function SetRemainTime1() {
        if (curCount1 == 0) {
            window.clearInterval(InterValObj1);//停止計時器
            $("#btnSendCode1").removeAttr("disabled");//啟用按鈕
            $("#btnSendCode1").val("重新發送");
        }
        else {
            curCount1--;
            $("#btnSendCode1").val( + curCount1 + "s");
        }
    }
    </script>

6.php部分代碼,這里就需要把你下載的sdk解壓放到你的網站目錄里面,我這里是放到根目錄下面,php里面的代碼需要修改的,都以漢字進行描述,其他的不需要修改,如需要進行后臺驗證,可以把驗證碼存入session,然后在session中進行驗證

<?php
/**
 * 二次開發時可以修改本文件,不影響升級覆蓋
 */
require 'Vendor/autoload.php';//入口文件
use AlibabaCloud\Client\AlibabaCloud;//引用的類
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;

class Send extends \Poscms\Home\Module {
    private function isphone($phone){
        if (!is_numeric($phone)) {
            return false;
        }
        return preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $phone) ? true : false;
    }

    public function index() {
        $phone =  $this->input->post('phone');
        $code = rand('111111','999999');//生成6位驗證碼
        $TemplateParam = json_encode(['code'=>$code]);
        if (!$this->isphone($phone)){//這里是用來判斷你輸入的手機號格式是否正確
            echo json_encode(['code'=>0,'msg'=>'手機號碼錯誤']);
            return false;
        }
        AlibabaCloud::accessKeyClient('這里是你申請是accessid', '這里是你申請的accesskey')
            ->regionId('cn-hangzhou')
            ->asDefaultClient();

        try {
                $result = AlibabaCloud::rpc()
                ->product('Dysmsapi')
                // ->scheme('https') // https | http
                ->version('2017-05-25')
                ->action('SendSms')
                ->method('POST')
                ->host('dysmsapi.aliyuncs.com')
                ->options([
                    'query' => [
                        'RegionId' => "cn-hangzhou",
                        'PhoneNumbers' => $phone,//這里是前臺輸入的手機號
                        'SignName' => '這里是你申請的簽名',
                        'TemplateCode' => '這里是你創建的模版id',
                        'TemplateParam' => $TemplateParam,這里是其他的參數,就是你發送的驗證碼
                    ],
                ])
                ->request();
            $array = $result->toArray();
            if ($array['Code'] == 'OK'){
                echo json_encode(['code' => 1,'yzm' => $code]);
            }else{
                echo json_encode(['code' => 0,'msg' => '驗證碼發送失敗!請重新獲取!']);
            }
        } catch (ClientException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        } catch (ServerException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        }
    }
}


解決方案