diff --git a/app/agent/controller/Index.php b/app/agent/controller/Index.php index 3f00a65..c5e4ffd 100644 --- a/app/agent/controller/Index.php +++ b/app/agent/controller/Index.php @@ -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; diff --git a/extends/alisms/Sms.php b/extends/alisms/Sms.php new file mode 100644 index 0000000..3909496 --- /dev/null +++ b/extends/alisms/Sms.php @@ -0,0 +1,57 @@ + $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]; + + } +} \ No newline at end of file diff --git a/extends/redis/Redisop.php b/extends/redis/Redisop.php new file mode 100644 index 0000000..ff6da41 --- /dev/null +++ b/extends/redis/Redisop.php @@ -0,0 +1,30 @@ +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 ); + } +} \ No newline at end of file diff --git a/index.php b/index.php index 62f7edd..7a2eccc 100644 --- a/index.php +++ b/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';