1. 程式人生 > >用Laravel Sms實現 laravel簡訊驗證碼的傳送

用Laravel Sms實現 laravel簡訊驗證碼的傳送

阿里雲簡訊服務
使用Laravel Sms這個擴充套件包實現簡訊驗證碼的傳送,這裡以阿里雲的簡訊服務為例:
首先,要建立簡訊簽名和簡訊模板,具體申請詳情如下,

這裡寫圖片描述

這裡寫圖片描述

接下來,需要建立AccessKey,由於AccessKey是訪問阿里雲API的金鑰,具有你所登陸的賬戶完全的許可權,為了安全起見,建議使用子使用者AccessKey,為其分配一定的許可權即可。
這裡寫圖片描述
這裡寫圖片描述

接下來,在專案根目錄執行命令:

 composer require toplan/laravel-sms:~2.6

這裡寫圖片描述

然後,註冊服務提供器:
在config/app.php檔案中providers數組裡加入:

Toplan
\PhpSms\PhpSmsServiceProvider::class, Toplan\Sms\SmsManagerServiceProvider::class,

在config/app.php檔案中的aliases數組裡加入

'PhpSms' => Toplan\PhpSms\Facades\Sms::class,
'SmsManager' => Toplan\Sms\Facades\SmsManager::class,
  • 生成配置檔案和migration檔案
php artisan vendor:publish --provider="Toplan\PhpSms
\PhpSmsServiceProvider" php artisan vendor:publish --provider="Toplan\Sms\SmsManagerServiceProvider"

這裡會在config目錄下生成兩個配置檔案,分別為phpsms.php和laravel-sms.php。
這裡寫圖片描述

接下來,配置引數:
開啟phpsms.php,
這裡寫圖片描述
找到agents陣列中你需要的代理器,填好其相應的配置資訊,我這裡使用的是阿里雲的簡訊服務(不是阿里大魚)。
這裡寫圖片描述

accessKeyId 和 accessKeySecret 是你在申請AccessKey時可以獲取到的,
signName 是指你申請的簡訊簽名的名稱。

開啟laravel-sms.php,找到templates陣列,
這裡寫圖片描述

這裡對應的是你申請的簡訊模板的模板CODE。

到這為止,基本的配置就已完成,不再過多敘述。

<script src="laravel-sms.js"></script>

這裡寫圖片描述

<script>
    $('#sendVerifySmsButton').sms({
        //laravel csrf token
        token       : "{{csrf_token()}}",
        //請求間隔時間
        interval    : 60,
        //請求引數
        requestData : {
            //手機號
            mobile : function () {
                return '18*******37';
            },
            //手機號的檢測規則
            // mobile_rule : 'mobile_required'
        }
    });
</script>

點擊發送按鈕,就可以獲取到驗證碼了。