zc/yii2-alisms

阿里大于短信发送yii2扩展

安装: 17

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

dev-master 2018-05-21 09:29 UTC

This package is not auto-updated.

Last update: 2024-09-15 02:18:02 UTC


README

阿里大于短信发送yii2扩展

安装

安装此扩展的首选方式是通过 composer

运行

php composer.phar require --prefer-dist zc/yii2-alisms "*"

或添加

"zc/yii2-alisms": "*"

到您的 composer.json 文件的require部分。

使用

扩展安装后,只需在您的代码中通过

<?= \zc\yii2Alisms\AutoloadExample::widget(); ?>

管理后台

  • 配置文件
'modules'=>[
            "sms" => [
                        "class" => "zc\yii2Alisms\Module",
                    ]
       ] 

前台访问

  • 配置文件
'controllerMap' => [
            'sms-api' => [
                            'class' => 'zc\yii2Alisms\controllers\ApiController',
                            'exitTime' => 300
                        ],
            ]
  • 发送验证码API访问地址 http://example.dev/sms-api/get-code?mobile=15699999999&id=1&captcha=sdfwf 参数:

    • mobile: 手机
    • id: 短信模板ID
    • captcha:可选,在需要图形验证码的时候使用,是否需要图形验证码在后台设置

    返回:

    • status: true,
    • code: "7025",
    • hash1: "7025",原hash
    • hash2: "7025",小写hash
    • msg: "短信发送成功"

    说明: hash1、hash2可以用于客户端的验证,验证方法参考下面

      /** 生成方法
       * Generates a hash code that can be used for client-side validation.
       * @param string $code the CAPTCHA code
       * @return string a hash code generated from the CAPTCHA code
       * /
      public function generateValidationHash($code)
      {
          for ($h = 0, $i = strlen($code) - 1; $i >= 0; --$i) {
              $h += ord($code[$i]);
          }
    
          return $h;
      } 
  • 校验验证码API访问地址 (可以不用了) http://example.dev/sms-api/check-code?mobile=15699999999&code=1&id=1

    • mobile: 手机
    • id: 短信模板ID
    • code: 验证码 校验验证码

在需要的model里面添加rule规则

['code', 'required'],
            //['code', 'checkCode'],
            ['code',  function ($attribute, $params) {
                $smsType = 1;//跟前台访问验证码的id一致
                if(!\zc\yii2Alisms\Sms::checkCode($this->mobile,$this->code,$smsType)){
                    $this->addError('code','手机验证码不正确');
                    return false;
                }
            }],