短信验证
This commit is contained in:
@@ -6,6 +6,8 @@ use fastphp\base\Jwt;
|
||||
use app\agent\model\AgentUser;
|
||||
use app\agent\model\User as UserModel;
|
||||
use alipay\AliverifyPublic as Aliverify;
|
||||
use extend\alisms\Sms;
|
||||
use extend\redis\Redisop;
|
||||
|
||||
class Index
|
||||
{
|
||||
@@ -50,6 +52,45 @@ class Index
|
||||
|
||||
}
|
||||
|
||||
//----------------
|
||||
|
||||
public function getCode() {
|
||||
$phone = json_decode(file_get_contents("php://input"), true)['phone'];
|
||||
$redis = new Redisop;
|
||||
$user_model = new UserModel();
|
||||
$is_exit = $user_model->getOne(['Phone' => $phone]);
|
||||
if($is_exit) {
|
||||
$return_data = [
|
||||
'code' => 0,
|
||||
'msg' => '用户已经存在'
|
||||
];
|
||||
echo json_encode($return_data);die;
|
||||
}
|
||||
|
||||
|
||||
$getCode = $redis->get($phone);
|
||||
|
||||
if (empty($getCode)) {
|
||||
$code = rand(1000,9999);
|
||||
$redis->setOfTime($phone,$code);
|
||||
$alisms = new Sms;
|
||||
$alisms::sendVerify($phone, $code);
|
||||
$return_data = [
|
||||
'code' => 1,
|
||||
'msg' => '验证码已发送'
|
||||
];
|
||||
echo json_encode($return_data);die;
|
||||
} else {
|
||||
$return_data = [
|
||||
'code' => 0,
|
||||
'msg' => '请稍后再试'
|
||||
];
|
||||
echo json_encode($return_data);die;
|
||||
}
|
||||
|
||||
}
|
||||
//---------------
|
||||
|
||||
//推广用户注册
|
||||
public function register()
|
||||
{
|
||||
@@ -66,6 +107,25 @@ class Index
|
||||
echo json_encode($info);
|
||||
die;
|
||||
}
|
||||
$redis = new Redisop;
|
||||
$code = $redis->get($data['LoginCode']);
|
||||
|
||||
|
||||
if (empty($code)) {
|
||||
$return_data = [
|
||||
'code' => 0,
|
||||
'msg' => '验证码不正确'
|
||||
];
|
||||
echo json_encode($return_data);die;
|
||||
}
|
||||
if ($data['code'] != $code) {
|
||||
$return_data = [
|
||||
'code' => 0,
|
||||
'msg' => '验证码不正确'
|
||||
];
|
||||
echo json_encode($return_data);die;
|
||||
}
|
||||
//----
|
||||
|
||||
$data['agent_id'] = base64_decode($data['agent_id']);
|
||||
// dump($data);die;
|
||||
|
||||
57
extends/alisms/Sms.php
Normal file
57
extends/alisms/Sms.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
namespace extend\alisms;
|
||||
|
||||
use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;
|
||||
|
||||
use Darabonba\OpenApi\Models\Config;
|
||||
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;
|
||||
use AlibabaCloud\Tea\Utils\Utils;
|
||||
|
||||
class Sms
|
||||
{
|
||||
/**
|
||||
* 使用AK&SK初始化账号Client
|
||||
* @param string $accessKeyId
|
||||
* @param string $accessKeySecret
|
||||
* @return Dysmsapi Client
|
||||
*/
|
||||
public static function createClient($accessKeyId, $accessKeySecret){
|
||||
$config = new Config([
|
||||
// 您的AccessKey ID
|
||||
"accessKeyId" => $accessKeyId,
|
||||
// 您的AccessKey Secret
|
||||
"accessKeySecret" => $accessKeySecret
|
||||
]);
|
||||
// 访问的域名
|
||||
$config->endpoint = "dysmsapi.aliyuncs.com";
|
||||
return new Dysmsapi($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string[] $args
|
||||
* @return void
|
||||
*/
|
||||
public static function sendVerify($phone,$vcode){
|
||||
$client = self::createClient("LTAI4FmSkDSwFuXeLxsDB3jB", "r8FfRmoeWcCJyZSqqkQP2G3dKPPl2N");
|
||||
$sendSmsRequest = new SendSmsRequest([
|
||||
"phoneNumbers" => $phone,
|
||||
"signName" => "华连云",
|
||||
"templateCode" => "SMS_186355045",
|
||||
"templateParam" => "{\"code\":\"$vcode\"}"
|
||||
]);
|
||||
// 复制代码运行请自行打印 API 的返回值
|
||||
$sendResp = $client->sendSms($sendSmsRequest);
|
||||
dump($sendResp);
|
||||
$code = $sendResp->body->code;
|
||||
if (!Utils::equalString($code, "OK")) {
|
||||
$return_info = [
|
||||
'code' => 0,
|
||||
'msg' => $sendResp->body->message
|
||||
];
|
||||
return $return_info;
|
||||
}
|
||||
|
||||
return ['code' => 1];
|
||||
|
||||
}
|
||||
}
|
||||
30
extends/redis/Redisop.php
Normal file
30
extends/redis/Redisop.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
namespace extend\redis;
|
||||
|
||||
class Redisop {
|
||||
|
||||
private $redis;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->redis = new \Redis();
|
||||
$this->redis->connect('127.0.0.1', 6379);
|
||||
$this->redis->auth('123456');
|
||||
}
|
||||
|
||||
|
||||
public function setOfTime($key = '', $value = '') {
|
||||
if (empty($key)) {
|
||||
die;
|
||||
}
|
||||
$this->redis->set( $key , $value);
|
||||
$this->redis->expire($key,60);
|
||||
}
|
||||
|
||||
public function get($key = '') {
|
||||
if (empty($key)) {
|
||||
die;
|
||||
}
|
||||
return $this->redis->get( $key );
|
||||
}
|
||||
}
|
||||
12
index.php
12
index.php
@@ -4,8 +4,8 @@
|
||||
* @version:
|
||||
* @Author: kangkang
|
||||
* @Date: 2020-09-30 17:32:46
|
||||
* @LastEditors: kangkang
|
||||
* @LastEditTime: 2020-10-14 19:30:15
|
||||
* @LastEditors: “wanyongkang” “937888580@qq.com”
|
||||
* @LastEditTime: 2022-05-12 17:26:54
|
||||
*/
|
||||
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
@@ -21,6 +21,14 @@ define('APP_DEBUG',true);
|
||||
//加载框架文件
|
||||
require_once APP_PATH.'fastphp/Fastphp.php';
|
||||
|
||||
|
||||
$path = __DIR__ . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
|
||||
|
||||
if (file_exists($path)) {
|
||||
require_once $path;
|
||||
}
|
||||
|
||||
|
||||
//加载配置文件
|
||||
$config = require_once APP_PATH.'config/config.php';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user