public function loginDo() {$data = input();$code=Cache::get($data['tel']);//用表单输入的验证码做对比if ($code != $data['code']) {return json(['code' => 500, 'msg' => '验证码错误', 'data' => '']);}$data['name']=input('tel');$data['pwd']='123456';\app\admin\model\User::create($data);return json(['code'=>'200','msg'=>'登录成功','data'=>'']); }
public function sendMsg() {//接受参数$tel = $request->get('tel');//生成随机数$code=rand(1111,9999);//工厂模式$smsObj = (new SmsFactory(SmsFactory::SMS_BAO))->getSmsService();/* 必要步骤:* 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。* 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。* 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,* 以免泄露密钥对危及你的财产安全。* CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/$config = [/* 填写平台对应的CAM密匙secretId,短信宝填写平台账号*/'secretId' => '',/* 填写平台对应的CAM密匙secretKey,短信宝填写平台密码*/'secretKey' => '',/* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 ,短信宝默认为空*/'smsSdkAppId' => '',/* 验证码,示例如5039 */'code' => $code,/* 填写腾讯、阿里平台对应的签名内容,短信宝则默认为空 */'signName' => '',/* 发送的手机号,示例如17899873465 */'tel' => $tel,/* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */'templateId' => "",/* 模板发送的短信内容,短信宝则需要填写 如:"【短信宝】您的验证码是"5390",3分钟有效。", 腾讯、阿里默认为空 */'content' => '【短信宝】最爱'.$code.',3分钟有效。',//];$result = $smsObj->send($config);//缓存验证码,3分钟有效$redis=new Redis();Cache::set($tel, $code, 300);return json(['code' => 200, 'msg' => $result, 'data' => $code]); }
使用组件composer require mrwanghongda/sms-sdk