• composer阿里云短信服务不支持传参为数值--为2017年短信接口,2018阿里云有更新http://www.cnblogs.com/q1104460935/p/8916096.html


    composer 阿里云短信服务使用 xuying/aliyun_mns     更新到2017年初,不再更新

    /**
    *
    TODO SMS SERVICE
    * @param
    $tmp
    * @param
    $moblie
    * @param
    $name
    * @param
    int $len
    * @return
    int
    */
    private function mns($tmp,$moblie,$name,$len=4
    )
    {
    $count
    =[];
    for($i =0;$i<$len; $i
    ++){
    $count[] =rand(1, 9
    );
    }
    $captcha = (int) implode("",$count
    );

    $data = [
    "log_msg"=>$name
    ,
    "log_captcha"=>$captcha
    ,
    "log_phone"=>
    $moblie
    ];

    if($this->validate($data,"SmsLogs") !== true){
    return 0
    ;
    }

    $new_mns = new Mns((array) Config::get('mns'));
    $statua = $new_mns->run($tmp,[$moblie=>array('code'=>(string) $data['log_captcha'],"product" => $data['log_msg'
    ])]);

    if(!method_exists($statua,'isSucceed')){
    return 0
    ;
    }
    try
    {
    SmsLog::create($data
    );;
    return 1
    ;
    }catch (Exception $e
    ){
    return 0
    ;
    }
    }

    以下为发送成功返回对象

    object(AliyunMNSResponsesPublishMessageResponse)#44 (4) {
      ["succeed":protected] =&gt; bool(true)
      ["statusCode":protected] =&gt; int(201)
      ["messageId":protected] =&gt; string(40) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      ["messageBodyMD5":protected] =&gt; string(32) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }

    但是并没有短信收到,原因为模板$code字段为数字类型了,

    -------------------------分享短信发送代码:--------------------------

    //

    TODO 短信验证配置=====开启&& 关闭注释=========
    if
    (!$mns = $this->mns("register",$req['member_mobile'],$req['member_name'],4
    )){
    return json(msg_array(0,'请求获取验证码失败',[]),400
    );
    }
    return json(msg_array(1,'请求获取验证码成功',[]),200
    );

    ---------------------------            ----------------------------------------------------

    (string)转换后,成功短信发送了;

  • 相关阅读:
    Eclipse无法导入一些相关类的方法,出现Multiple markers at this line
    查看共享命令
    eclipse历史版本的下载地址
    MyEclipse的快捷键
    Hibernate的隔离级别
    eclipse插件下载地址
    UML类图几种关系的总结
    Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace
    回滚段的学习
    Oracle 字符集的查看和修改
  • 原文地址:https://www.cnblogs.com/q1104460935/p/7050371.html
Copyright © 2020-2023  润新知