00:00
接下来继续完成绑定手机的功能。绑定手机也需要两步,第一步先通过一个手机号获取一个验证码,第二步提交手机号和验证码啊,到我们的后台,我们来进行验证手机号和验证码是否匹配。和邮箱的绑定啊差不多。接下来开始写代码。首先也是定义两个路由。也是放到这个里面。啊,直接。复制一下啊。这个是发送手机验证码,我把这个改成。这个是更换手机。好,还用这个控制器就可以了,这个方法我们换一换。
01:03
嗯,接下来我们去创建这两个方法。因为他们代码都是类似的,所以我就直接复制这两个方法改一改就可以了。把方法名改一改。然后提交的字段。换一换。啊,这个不用换啊,这个我们发送手机号短信肯定不是用这个发送邮件啊。这里改一改。
02:00
嗯。这个啊,先放这,等会我们改的时候再说啊。我们先能进行第一步,先能发送短信。然后这个验证规则也换一换。我们使用正则进行验证。后面写我们的正则规则。简单的验证一下啊。三到九。九位数字。接下来我们看看如何发送验证码到手机。啊,发送验证码到手机,我们需要使用第三方的API。这里我们使用的是阿里云的。通讯服务。来看一下。在这个产品里。找到云通讯。找到短信服务。啊,这里有呃,产品的一个价格,然后一个API的一个参考价格的话,大概就是四分五一条。
03:06
来看一下,我们要发送短信呢,就要请求他们的这个API。啊,有这么多API可以让我们用。我们如果自己去,呃写代码去请求他这个API的话,这个工作量是比较大的。所以我们可以使用一些第三方的啊composer扩展包来看一下。搜索SMS。啊,我们使用这个啊。安装。啊,这个扩展包,它支持市面上常见的一些平台。这里我们使用的就是阿里云的这个。先安装。在虚拟机里面,红姆里面我们的项目目录下。执行这个命令。由于我虚拟机内存不足,所以我加上这个。
04:00
你们的可以不用加。先让他安装着,我们来介绍一下。阿里云的这个短信服务啊,去到我们的控制台。这个提示关掉啊。啊,大概左侧的菜单有这么多啊,我们常用的是一个国内的一个消息。看一下。国内的消息呢?就是他会给我们。赠送一些模板,我们可以使用。这个。这些模板,还有这个签名完成我们的短信发送,如果你没有赠送,因为有的账号是没有,我这个账号可能是比较早他赠送的,有没有的话,你就自己去申请添加签名。啊,天然签名。
05:00
嗯,然后他大概是两个小时审核完成啊。如果没有短信模板,也是去添加模板就可以了,啊,也是大概是两个小时审核完成,好接下来介绍一下什么是签名,什么是模板啊签名就是哎,我们的这个。就是我们这个短信是谁发的啊,有点类似于比如说我们写封信,我们的这个签名,我们的署名,对吧,大家可以拿出手机看一下我们收到的一些通知短信,呃,在手机短信的这个前几个字,它会用一个中文的中括号给括起来,这个就是短信的签名。那。模板是什么呢?也就是说我们发送短信,它不是说让我们可以随意的去编辑内容,随便的发送。如果可以随意的给用户发送任意的短信内容,这样就会有一些人去给用户发送一些垃圾信息,一些广告推送,甚至一些诈骗信息。啊,这样肯定是不合适的,所以说发送短信啊,我们要先去申请这个模板。
06:00
模板呢?如果你的模板内容消息不是很合适,他不会给你审核通过。对吧,所以我们发送短信是按照这个模板去发的,那你们可能有疑问。而我不可能说每个短信都发送一样吧,比如我要发送验证码,不可能每个验证码都一样吧,所以说模板里面它会给你留一些变量。哎,比如我们看一个身份验证的一个模板。看一下象形它是不是给我们预留了变量,还给我们留了一个什么什么的一个身份,预留了两个变量对吧?好,我们使用这个模板,然后这个变量,这些内容是我们可以去自己定义的。清楚吧,啊,这就是短信模板。组件应该下载完了,我们来看一看,已经下载完成。看看怎么使用。下面有使用说明啊。安装,然后直接。定义一个配置的数组,然后把这个配置传到啊这个类里面,创建一个短信发送的一个对象,使用这个对象的send方法就可以发送短信了,比较简单啊,我们来试一下。
07:08
在这里啊进行发送。验证码到手机。这个类没有,我们手写一下,让它自动引入。回撤,让它在上面自动引入命名空间啊。那接下来我们去改一改这个配置啊,看他需要什么。超时时间这个不用管网关啊,默认的就可以。啊,这个云片的我们不用,我们用阿里云的,把这个删掉,只留一个就可以,接着这个也是啊,配置也是。阿里云的啊。ABK和这个secret。之前我们用oss的时候也用到过这个。AK和SK是吧,等会我们去获取一下它。啊,还有就是签名啊,这个签名。
08:02
就是这个签名我们来用一个,用哪个呢?用这个吧,啊,直接就写这个字就行啊,直接写字就可以。但你不能乱写,你写字啊,如果他这个列表里面没有的话,它是不让你发送的。不是说你随便写的,是必须得是我们这个签名管理里面有的,你才能去用。啊,接着。配置完了,然后是要给谁发啊,给哪个发。啊,为了让大家更好的去看呢,我这边找了一个临时手机号的一个网址。这里面,哎,我们就用这个手机号来接收短信,因为这样的话接收完之后可以。立刻就看到。啊,可以立刻在这里看到这个短信。来,我们就用这个号。
09:00
啊,就给这个号发,然后我们去发了之后去刷新页面啊就可以了,接着看一看模板,这个C不需要,这个是云片用的,这个我们不要。模板。使用哪个短信模板。我们使用这个吧,身份验证可以吧,啊,输入这个模板的code就可以。接下来date date就是我们要传到这个变量,也就是模板里面给我们预留的变量,我们要填充上。看看这个模板里面填充了几个变量,它是有两个的,一个code,一个product啊,这两个我们都要传才可以。啊,这个我们先随便写吧,比如说啊注册。因为他这里是给我们预留出来了,就是你正在进行什么样的一个身份验证。那我们这个是绑定手机的是吧,我们就先绑定啊。
10:01
手机绑定。好扣的啊,随机一个扣的吧。随机一个四位数啊。接下来我们去。把AK和SK填上。Akk在哪呢?在我们头像这里啊。头像这里。呃,这个啊,3K管理。跟之前我们使用oss一样,不要去使用阿里云的这个总账号的这个。AK,而是使用子账户的3K。可以看看这些用户,之前我们用阿里云的时候,是不是创建了一个用户,好,现在再去创建一个用户用来。发送我们短信,就是给他发送短信的权限。名字。Love啊。
11:03
来编程访问啊,控制台访问的话,就是它能登录,就是用这个方式去登录阿里云后台,我们只要编程访问就可以。验证码。我看一下手机验证码。好,验证成功。接下来它就会把这个啊3K还有这个S给我们显示出来啊,它只会显示一次,所以我们要有一个地方去保存这个地方。要不然以后我们再用就找不着了啊。那我们就直接填充上吧,直接填到这里。到现在啊,虽然得到了这个啊,AK和K,但是还是发不了短信。因为这个账号是我们新建的,还没有权限,是不是我们找到用户这里。
12:02
然后找到我们的啊,这个用户给他添加权限啊,之前我们写oss时候是给他添加的oss权限,对吧,那这里发送短信,我们搜索这个SMS啊,给他添加短信服务的一个权限,确定。他这个账号啊,这个用户只有具备了这个权限,我们才能用这个账号的AKSK去发送短信。行,那接下来我们来。请求这个API测试一下啊。登录一下,去获取一个登录,因为我们这个API需要登录。
13:02
因为之前修改过邮箱啊,所以我们去查一下数据库,换一下邮箱。得到talking之后。先看一个测试一下我们接口post api.test API also。For code。把认证消息给加上。啊,这个换成我们最新申请的这个。包的里面传上参数,现在先不传参数看一下啊。对吧。打错了啊PH。ONE。好,如果不参参数,它告诉我们手机号不能为空,对吧,加上PH我告诉你如果格式不对。他会告诉我们格式不正确,因为有正则的一个验证,我们来输入一个正常的数据号。啊,直接。改代码啊,我们输入这个手机号,然后这里从request里面去获取输入的手机号就可以了。
14:06
看一下,这里有request。哎,这里从request里面去获取用户输入的手机号。那我们就把这个手机号是在这里去提交过去。现在就可以进行发送了啊。来看一下。看一看你。这个异常是什么啊?写个开捕获这个异常。我们的立场。还没写上。来再看一下。
15:03
触发号码天机流控。这是我们的一场。说明这个号是今天有太多人给他发短信了。啊,所以我们还是不要用这个随便找的这个吧,我们用真实的号码。去发送这个短信好吧。啊,接下来用我的手机号进行发送。204发送成功可以去我们的。这里发送记录,这有一个发送记录查询,可以看看是不是发送成功啊。可以看到啊,我的这个号。呃,在这个时间点发送成功了啊,包括我们的验证码是隐藏的啊。哎,我们这是手机绑定这个身份的一个验证。正常的发送。
16:00
接下来我们要把发送的这个验证码和发送的这个手机号。啊,给它缓存起来,缓存起来之后呢,在我们修改手机号的时候啊,进行验证。这里生成验证码之后缓存验证码。还是使用叹气。Co第一个是K,第二个是Y6 Y6我们就缓存这个扣。第三个参数是过期时间。啊,我们设置15分钟吧。十分钟吗?这个S。十分钟。K呢?使用也是连上一个前缀啊。把这个名字改一改phone,然后连上手机号,哎,这样就不会重复,手机号基本就是唯一的了。
17:11
啊,这里去存储这个K。啊。然后设置一个过期时间。存储我们的发送验证码,然后。在更新的时候进行验证啊。我们把更新的。也改一改,更新手机号。手机号的规则。然后我们验证的这个K。获取手机号。验证码。
18:00
或手机号错误。啊,接下来就是更新手机号。手机号字段。现在是不是我们表里面还没有首条字段呢,对吧。啊,我们去创建一个手机号的一个字段。创建一个。迁移文件。接下来。去写签文件。
19:01
手机号字符串类型。No允许为空。After在哪个字段之后?在100字段之后吧。好慢的。运行迁移。诶,这样用户表就多了,手机号字段来看一下。用户表。发现是要来摔的子办。好,那我们就可以给他更新手机号了。咱们先不急着测试这个更新,先把代码优化一下。首先发送短信这个功能,我们不可能说把代码一堆,代码还要配置放到这里。对吧。我们至少要把它给提取出来啊,封装成一个能随时调用的一个东西,因为你不仅这里你要发送短信嘛,是不是。
20:00
你注册也要,是不是绑定也要啊,当然。如果是真实的商业项目,会为每一个不同的功能去创建不同的。啊模板啊,去申请不同的模板。我们这个练习,我们就用统一的这个模板。可以吧,啊,然后通过这个不同的这个这个文字来进行一个区分就可以了,比如说注册,比如说登录好。那我们把这个提取到哪里呢?啊,首先配置文件,配置文件一般我们会把它给啊放到。Conf里面我们可以建一个啊,短信发送相关的一些配置。费用啊。还是?MS。啊,这样。然后。把这个配置先给拿过来,把这个con先给拿过来。真的吗?哎,这块。要啊这个配置。好把这个配置推出去,然后这里怎么用呢?使用config辅助函数啊直接。
21:05
打上这个文件名啊,它就能获取到这个配置。接下来继续修改一下配置文件。我们看一看。这个AK和SK肯定是不能放到这里的。知道吧。因为我们的配置文件,它会随着这个get一块进版本库,我们如果aksk暴露的话就不是特别安全,所以我们会把它放到EV里面,因为EV的话它不会进这个get的版本库。所以我们把它放到烟位里面。我们定义两个K啊,关于版本库的话,如果学过get的话,大家可以知道这个概念,这个是get的文件,这里面就是被忽略的文件,是不会随着get一块进版本库的。可以看到有因为是吧。
22:01
哎,所以说哎,我们的AKSK也不能随着啊get进版本库,这样的话,你一进版本库别人都能看到了,别人都能拿到。不安全啊。所以把它放到页尾里面。定义两个,我们定一个SMSK啊,你也可以写全称,我就这么简写吧。啊。把这个AK粘贴过来。SK粘贴过来。好,那这里我直接就用enna辅助函数。去获取,因为里面的值就可以了。感谢。啊,签名的话无所谓啊,签名啊,一般我们会以一个公司作为签名啊,比如说像阿里云,所以这个签名一直写在这里没有问题的。
23:00
啊,比如说淘宝是吧,京东,所以这个签名写在这里是没有问题的啊。嗯,接下来是什么呢。既然把这块的配置给提取出来了,那这个这里是不是也可以去提取出去。对不对。好,所以我们再给这个配置去加一条短信模板。如果你只有一个模板的话啊,你可以写到这里没问题,当然你有用其他的模板也行啊,其他的模板的话,你重写这个配置就可以了。等会给大家说啊。先把它给配到这里。好。啊,这个放这也没事啊,他进版本没有事,因为没有AKSK的光一个他没有什么用。那这里怎么就获取它呢?是不是可以从卡菲里面这个速度里面获取这个。
24:02
这个键,因为con就是我们从这个文件里面去取出来的这个数组嘛,是不是,所以可以获取这个数值的K,拿它是吧。啊,这个我们是使用的这个短信模板,如果你想使用其他的短信模板啊,你可以去。啊,在这再写也行。好吧。接下来啊。配置有了啊类也有了,验证码也生成了,也缓存了。好,这里也进行发送了,那我们代码总不可能放到这啊,哪哪个地方用我们复制一遍是吧,比如说我们注册也要用复制一遍,登录也要复制一遍是吗?肯定。嗯,不能这么去写,我们要有一个代码复用的一个思想,不要重复去造轮子啊,这里我们用什么合适呢?啊,用这个事件是比较合适的,发送短信事件,想一想我们之前写订单后台订单发货的时候,是不是通过事件去进行发货的一系列操作,包括短短信的,就是说邮件的一个通知对不对,所以短信我们也可以用一个事件,诶我们就。
25:07
创建一个短信发送一个事件对吧,这样你这里可以用,然后我其他地方比如登录注册我都可以用,甚至啊,我给你发货了,我也可以给你加上短信的通知,我只要啊派发相应的时间就可以了。好,那要使用这个事件,我们得先注册事件。也是得先创建事件。关于事件的详细使用,可以去手册里面去啊。事件系统这里去看啊。我们这是,呃,写项目就不去看这些基础的知识了。你要使用事件,首先要在APP。Provider有个事件啊,Service provider在这里面要配置我们的事件,因为之前我们呃写这个发送邮件啊,就配置我,所以事件这块。就不再细说啊,我们配置一个。剩的S。SMS发送短信的一个事件啊。
26:02
这里。我们配置一个。发送短信的一个监听者。啊。不要就是说你这个监听者的这个类名不要和事件类名一样,因为什么呢?因为你看一下这个监听者,监听者呢,他要在这个handle里面去引入这个事件呢,如果你俩类名一样就会有问题啊。清楚吧,这块注意一下,就是你的这个监听者不要和这个时间的名字一样,好,当我们配置完这个之后,可以使用一个命令。啊,就是帮我们自动去创建相应的事件,还有监听者。啊,来执行一下命令。看看所有的一个命令。啊,是这个啊,是这个啊。Artisan。啊,直接执行这个明点就可以了。
27:00
成功之后会给我们生成。一个事件和一个监听者。是什么啊,我们的代码是写在监听者里面的啊,也就是说当我们触发这个事件的时候,触发这个事件的时候呢,在这里面它会触发这个事件,所有的一个监听者,就一个事件是可以有多个监听者的,所以我们代码是写到这里。也就这里。啊。在这里去写。我们这个发送短信的这一套功能。叫什么?放到这里。直接OK,让它自动引入需要的一个依赖。需要的这个类的秘密空间。啊,接着我们来看啊,这里我们需要一个手机号,对不对,手机号怎么传过来呢。因为我们在控制器里是调的这个事件,触发的这个事件,所以说我们只能把手机号去传到这个事件里面啊,用事件的这个构造函数去接收啊,定义一个属性。
28:02
在这个监听这里面,这里我们是不是依赖猪肉的这个事件,是不是可以从这事件里面直接取出属性。是不是好,所以我们现在去写这个事件啊。接收一个phone,呃,还接收一个什么呢?Do tap法类型,哎,这个类型。哎,主要是做什么用啊是。啊,让这个地方。去用。啊,你可以传入不同的一个。啊,我们改成产品吧。好,来接着定义两个属性。当我们传过来的值,我们赋予啊这个对象的属性。
29:09
这个时候啊,因为这里依赖注入了。这个事件,所以可以直接从它里面去获取这个属性。行吧。它里面的手机号啊,这是缓存的,包括这个要发送的也是它里面的这个手机号啊,然后这个就是我们的product。哎,这样数据就可以传过来。好吗?来接着在控制器里面,我看看怎么调用事件,我们调用事件有有有这么几种方式,一种是使用这个呃,事件的一个辅助函数去调用啊,一种是啊,使用这个事件类。Send。啊,使用他的dispatch方法去。处罚这个事件都可以啊,这些在手册里面都有说明啊。
30:02
那么使用这个吧,这里面我们传参数可以被这个事件类给接收到,我们传两个参数,一个phone,一个产品。传phone是request里面input phone啊,表单提示的phone,然后产品呢,我们这里就写,嗯,绑定手机吧,好。哎,这样就会触发这个事件啊,进行短信的一个发送。啊,这个我们也先放一放,等会儿最后一块测试啊,现在呃,我们来考虑个问题,因为你类似于呃,发送短信或者发送邮件都是比较复杂的,比较费事的一个,耗时的一个。一个过程,所以说我们要为事件加上这个队列。清楚吧啊。之前我们来看看之前我们写后端的时候,邮箱这里是怎么用的。啊,之前写后端邮箱这里呢,是让邮箱用了队列对不对。
31:03
啊,那这里我们怎么配呢?这里是我们让这个事件啊,整个事件去用上这个队列。看看怎么配置啊,特别简单。直接实现,也就是说继承这个接口就可以了。清楚吗?看手上呢,也有说明啊,找到这个。事件监听队列啊,只要直接让我们的事件去实现这个接口就行,命名空间已经把我们引入了。啊,直接就实现这个接口就可以了啊。好,这样的话他就会,哎,这个事件就会放到这个队列里面去排队执行。如果你队列没有执行成功,那么你检查一下啊,你的这个因为里面。队列的默认的驱动。这里要改成其他的驱动,你要是默认的那个SYNC那个它是不会走队列的啊啊,当然这个我们之前在写后端的时候都配置好了,包括呃,你还要检查你的队列,就是说是否在启动中。
32:02
我们用的守护进程是不是看一看队列的状态啊,对不对。啊,可以看到啊,我们的这个商城的这个队列正在运行中。是不是那我们的队列就可以使用正常使用,但是因为我们呃,增加了新的队列的一个内容,你看我们让这个事件。让这个事件。啊,要使用队列啊,让这个监听者要使用队列,是不是相当于像队列里面增加了内容是吧,也就相当于我们修改了队列,所以说要重启队列才可以啊,重启队列才可以。好,来瑞斯他。啊,你可以加上这个名字,只重启一个,也可以直接重启哦。啊,已经重启完成,这时候我们新写的代码它才会啊走这个队列才会生效,清楚吗?
33:01
啊,所以你要保证你的队列能够运行的话,有这么几个前提,一个是你队列是启动状态啊,当然我们是用的是守护进程去守护它队列啊,一直在一直在运行等等啊,再一个就是你的位的配置,队列的驱动要使用其他的驱动,比如说red啊,或者这个数据库给贝都可以啊。那这个队列也没有问题,能够正常的,嗯。运行啊。当然,我这么去猜,等会测试一下就知道了啊。呃,接下来。看一看手册啊,其实你可以为这个队列自定义这个队列的连接和队列的一个名称啊,使用这个。啊,Connection属性和card我们使用默认就可以了,我们邮箱也使用了默认的啊,其实像呃,队列的这个自定义连接啊,或者队列的一个名称,主要是我们的项目,比如用了很多地方,用到队列的时候做一个区分,然后他们用不同的分组去对这个队列进行一个管理,这时候去用。
34:02
来。事件啊,那接下来我们再考虑一个事情,我们先把这些都写完,然后最后啊,一次性测试就是验证。这个验证码是否正确?我们不可能说每个地方都去验证。你看比如说我注册也要用的验证是吧,我再复制一下这个代码吗?然后我的这个登录也用怎么办?我再复制一下嘛,比如说我发货也用。怎么办?你不可能说每个地方你用的时候都去复制一遍是不是,所以我们想办法把它也给呃,封装成一个公共的啊,或者说是能自动验证更好。啊,这时候我们可以考虑去使用什么呢?使用中间键,因为我们知道中间键可以对控制器里的某一个方法去进行验证,也就当你请求我这个方法的时候,我用指定的中间件去验证。可以吧,好。来创建一个中间键。Very artisan make。
35:02
You know。Check phone code。好。接着把这个验证也可以放到中间件里啊。哎,直接就只保留这些就行了,因为你中间键如果都过不去的话,那下面代码肯定就就不走了嘛。找到我们的中创建的中间线。在AB里,这里有一个,它是不是。这里就不能用这个去返回异常了啊,可以使用什么呢?辅助函数啊。返回个404,然后第二个是消息。啊,这个验证异常的话,它会自动抛出啊,这个是我们手动去抛出这个400的一个异常就可以了,你都验证通过之后才进入下一步,哎,接下来我们去配置这个中间键,要不在坑里面去注册路由中间键才能去使用。
36:01
Check。啊。扣的。直接复制这个啊,把名字改一改。那那我们怎么在控制器里用呢?因为只对这一个方法进行中间验的一个验证,所以没必要去放到路由里面,再给它加个路由组,太麻烦了啊,当然。你可以在,嗯。这个路由里面去用。啊,在路由里面去用。这里啊,在流里面去用啊,它可以单独给一个。路由去用这个中间件。可以吧,啊,当然我们还可以怎么办呢?还可以选择在控制器里去用。在这个控制器里需要。就什么?好,那我们就在控制器里去用一下试试啊。在控制中呢,你要创建一个。
37:07
This。米威尔啊,要使用的一个中间键。他接受一个数组可以用多个啊,也可以接收。就查我们的这个名字。啊,然后加上only只让。就是说指定的方法去用这个中间的验证清楚吧,啊,我们应该是只有。最后一个更新手机号的时候,需要进行一个验证是不是。好。那接下来我们先,嗯测试一下这个方法,看我们的中间键有没有生效啊。请求这个地址。来新建一个。打开认证的头部。
38:03
Put还是派系看看。啊。更换更换的话,其实呃,我们应该改成派系方法,把它换一换吧。拍啊。api.test。API also加这个。来先请求,首先不传手机号表单验证啊,验证码和电电话。接着,我们传上手机号和验证码的字段。是不是验证码或手机号错误,说明什么,我们这中间键生效了啊。那这个中间点生效了。啊,就是可以在控制器里面。使用this啊到this明为去,呃,使用指定的中点点针对某些方法生效。啊,这个在手册的这个。
39:00
控制器里面都有说啊,基础功能里控制器。可以看到它这个使用中间键。中间间啊。可以这么去用啊,当然你用一个的话,直接这么去写,行,我用的数组就是我们可以用多个啊,一个的话可以直接这样这样去写啊,我们也可以改一下,因为只用一个的话。就这么写阴性啊。就是它是支持多个的。好。再来看一下。是不一样的啊,中间点生小了。接下来。我们的呃,代码基本上优化完毕了,包括该用的事件。包括使用这个事件,然后事件里面我们还使用了队列。对吧。看这个监听的里面还使用了这个队列。这里面发送的代码进行了缓存,然后中间件里呢去进行了验证。
40:01
这样所有的准备工作都做完了,我们再来进行最后的一个测试,看看能不能为这个用户去。更新这个手机号。好。首先。我们来先发送短信啊。测试发送短信的功能。为了就是说验证我们的队列是生效的,我先把什么呢,把队列的日志。这个是我们队列日志是吧,先把队列的日志给清空啊。接下来。改一个地方,这个监听者里面。啊,这个命名空间给我们引错了。他给我们引的是。这个里面的开启啊,我们不要把它删掉,我们应该用开启的这个门面,所以刚才我们粘贴代码的时候出现问题了。啊,应该是要这个门面注意一下啊。这个就对了,因为刚才我呃发现这个put它的颜色不对,我感觉这个有问题。
41:01
啊,接下来。去发送验证码。来把这个手机号换成我的。发送。204。看一下队列。这个是这里有问题啊。我们用命令来查看一下。是有这个队列的啊,是啊,我们发送短信的这个。一个是。发生,就是说进行中,一个是进行中结束。啊,这个打不开是因为。它这个文件在和我们的VI去进行同步的时候。然后他被这个韦格伦特给占用了。可以看到确实队列运行了啊。
42:01
如果你不相信队列运行,你还可以做一个简单的测试,就是啊,在这个这里面,你让他睡眠十秒,你看看我们的请求会不会等待十秒啊,这个大家可以自己尝试一下。我通过看到这个内容,我就知道队列已经在运行了。是吧?啊,出现这个文件的这个问题呢,他现在已经是繁忙状态,你现在删也删不掉。其实一开始,一开始我就是不应该直接清除它内容,直接把这个文件删掉,让他去重新生成这个文件啊就好了。啊,当然这个问题也有办法解决,去安装一个V的一个插件就可以解决啊,它和虚拟机同步。的时候造成的这个文件的这个问题。好吧。那接下来我们去哪呢?去短信的这里面去看一看。啊,去这个发送记录查询,看看有没有发送成功。可以看到发送成功啊,是这个时间。啊,这个时间是我们上一次测试的,这个时间是我们刚才测试的。
43:01
接下来啊,我手机上你收到验证码了,我拿那个验证码我去,呃测试一下。我们的这个更新手机号可以吧,来输入我的手机号。我随便输个验证码提交。验证码或者要错误,是不是我现在去看我手机号,我获取呃,正确的一个验证码,看看我的手机。4540。把它填充上来。4540好,这时候就正确了啊正确了。204更新成功,是不是来我们看看数据库。找到用户这里。是不是更新成功有手机号了,对吧?啊这样我们短信发送包括短信验证就做完了。啊,唯一点不好的地方就是这个日志的这个问题。是。我们本机写的代码通过微虚拟进行同步的时候。
44:00
这个文件是一直繁忙状态。啊,一开始我们测试的时候,直接把它就是删掉,不去清除它内容,直接删掉,让他重新去生成这个日志啊,就可以不会出现这个问题。啊,如果大家也出现这个问题的话呢,怎么办呢?你就嗯,不要在这个编辑器里去打开了,因为这个编辑器已经打不开了。啊,你可以选择。通过命令去查看它的内容,或者选择去Windows这里面。找到你的这个日志。去查看这个内容,也就是我们在Windows的这个里面去看也是有的。叫什么?啊。最后。我们干什么呢?给这个邮箱的一个验证,也去加一个中间键。看一下啊这里。看看邮箱更新邮箱,邮箱验证里是不是也是代码写到这里的,其实邮箱验证的话,我们可能也有地方,有很多地方用用到。
45:02
啊,是这样的吗?所以。哎,我们也再建一个中间链去啊。PP。阿泰,Make。Check。Code。啊,创建成功啊,直接复制我们这个代码。到中间键就可以了。这个东西讲。把这个粘贴下来。这个错误的返回改一下。使用BOT返回。400给个消息。接下来。呃,去注册我们的中间件。在坑洞里面。
46:02
复制一行。没啊。Email code,好。控制器里面。为他加一个验证啊。复制一行这个就可以了。把这个改一改,用邮箱的。你这个是验证这个方法。这样我们的邮箱也用上这个中间点去验证了,来测试一下。看一看邮箱的这个路由。更新邮箱是这个路由。嗯,在这你去测试一下。Page。头部。请求参数。地址。发送。邮箱验证码必填,把参数给上。
47:03
a ata.com,然后扣的随便写,当然这肯定是不存在的,我们就看个中间键啊,有没有生效,是不是验证码或邮箱错误啊,中间就生成了,哎,这样我们的项目。就是关于邮箱验证这一块,还有短信验证这块就完事了啊,尤其是短信验证这一块,我们使用上的队列啊,使用上的事件。不要把代码都放到这里面啊。而且我们把配置还提取数据变成了一个配置文件。在这里。
我来说两句