00:00
下面呢,咱们开始编写微信授权登录接口,因为它是要操作用户信息,所以咱们写到service user里边,最终得到的微信的信息会加到咱们这个user这个fo表里去,那下面咱们开始编接口,首先第一步在咱们的user模块中先引入依赖,就是微信操作相关依赖,那我现在把这依赖咱们先给它引入进赖,我把这个咱们就直接复制一下。然后现在啊,我把它拿过来,这个依赖。我这里啊,已经提前复制过了,然后依赖中呢,这个应该不需要啊,主要是上面这个微信Java MP,然后这个DOJ等依赖,这是第一部分,然后依赖复制之后我们进一步来看啊,第二部分,因为咱们做微信授权,在里边加上你微信账号的ID密钥,包括这里边微信授权回调获取用户信息那个地址,因为咱要得到用户的open ID加到数据库,我这里边加上一个地址,或者后面咱们方便。
01:07
现在第二部分我在项目的配置文件中加上这个配置ID密钥,包括地址,然后加上之后,下面进入到第三步,第三步呢,咱们跟之前一样啊,读取配置文件中的值,然后加配置类,最终编写CTRL,那下面部分我就来复制一下。给各位写下啊,我们在里边呢,比如现在我加上这么一个工具类。起个包的名字s YouTube里边呢,先创建第一个类,第一个类呢就是读取配置文件中的这个值,包括微信那个ID和密钥,我在里边直接做个读取。这个啊,咱们拿过来之前也都写过,这里边我就直接做个复制,就注意这些名字不要写错,跟你配置文件中的名字保持一致,然后这个之后呢,下面咱们写上这么一个类叫做。
02:03
VTMPF里边还是这个微信MP service跟之前一样啊,咱也写过,我把这个拿过来。下面啊,在里边我再来创建一个类。然后这个类从课件中,咱们同样给他复制过来。所以现在啊,这个工具类我们就做到了,把里边的依赖我先引入。注入这个工具类,然后这里边这个微信FP service,因为后面的主要功能都是调这个微信service里面的方法,最终进行实现这个啊给它演示快速引入一下。啊,当然这个引入呢,你可以打开idea的自动导包,因为我现在在讲课,所以我把这个给各位都手动引入一遍,现在这步完成,完成之后下面呢。咱们就开始编写CTRL里面部分,在CTRL里边怎么做?来看前端里边啊,前端中就是这个位置,当你token等于空,就是你没有进行这个授权,那我们就跳转到这个路径中,然后做授权,所以下面我根据它来编这个接口,在里面做授权,授权之后得到用户信息,然后最终加到数据库,包括再做页面跳转,比如说我现在啊,就这个意思,比如现在。
03:20
我点击这个叫微服务架构引进,当点击之后先进行授权,因为第一次肯定没有授权,那授权之后咱们得到信息,把信息加到数据库,然后再跳转到这个微服务架构演进的页面中去,就做这个过程,先授权再跳转,而不是直接跳转,当授权通过之后,再完成一边跳转,再看到我们具体功能,那下面啊,咱们把这个我们来写下这个接口。咱做个实验。然后接口呢,为了明确我在里边呢,咱们新建一个ctrler,我来做个创建啊,这个ctrler我在这里边,咱们建个包,这个包就叫A片,A片里边创建一个类,我们叫we chart ctrl,然后在里边加上这个路径,我把这个啊拿过来。
04:11
这个路径特别说明啊,就是理论上你可以随便写,当然要跟我们前端那个跳转路径要保持一致,大家看前段中啊,叫API user we chart,我里边是不是叫这名字,可以叫别的名字,但是你要一样,如果不一样,他肯定找不到,然后写完之后在里边咱们来做个注入,因为后面要加到数据库中嘛,所以咱们注入那个user info。Service把这个先进来,这之前有啊,咱给他直接拿过来,另外咱后面操作还要用到这个微信MP service,就刚才我们写的工具类中的这个对象,也就是。这个对象把它最后注入,那我来进一步注入啊,加上奥特。
05:01
微信MP service,微信MP service,所以现在这个就完成了,完成之后呢,下面我们写第一个就是做这个授权。跳转的这个方法,那这个方法咱就加上一个get提交,然后这个名字跟我这个里边保持一致,我的名字叫这个就是奥这个名字啊,当然你可以叫别的名字,我就跟用这个保持一致,把这个拿过来,比如说咱就跳转过来,然后跳转之后下面我们写上它的方法,咱加上一个public。注意啊,我加的是一个死准。各位注意啊,咱们看这个注解说个细节问题啊,之前咱注解写的是不是都是这个注解叫right controller,但是现在我加controller,为什么加它呢?因为后面我们要做页面跳转,如果你写的是right control,它只是返回数据,咱现在要跳转,所以加上controller这里边坠,为了后面跳转方便,我在里边加上。
06:03
这个方法名字。然后在方法里边加上它的参数,这个参数是由前端给我们传过来的,这个参数就是rere URL,就是你授权之后要跳转到哪个页面,所以咱把这参数在里边给它取到啊,那取到的话很简单,你加个string就可以取到。我把这个咱就复制过来,另外里边可能还有其他值,咱把这个蕊块的对象也拿过来。所以现在啊,这部分值我们就可以得到,我把依赖先引入,然后引入之后咱们继续往下来进行编写。然后下面怎么做呢?刚才咱们提到了,你要进行授权,它有一个固定的步骤,第一步用户先同意授权,获取code,然后根据code得到我才to开,再根据我偷开得到用户信息,这个过程呢,在微信这里边,如果你用原始方式,那你就一个进行请求,但是目前呢,在用这个工具类的方法,微信lp service里边都可以做到,那我下面来写一下啊,我们来做个实现微信MP service里边首先有个方法,这个方法它叫做o To Build also。
07:18
这个ul,然后在里边呢,传入它的参数,第一个参数就是你最终你授权之后要跳转这个路径,这是第一个,然后第二个呢,咱加上一个常量这么一个值,我加上一下啊,它叫微信应该是这个。里边有个方法叫这个SCO,里边这个SCO这个范,这个咱看官方文档中这里写到啊。它的范围呢,目前是一个固定一个值,所以咱传的就这么一个范围,这个值叫什么,什么user info,然后这个之后里面还有第三部分,就是你授权之后要跳转的路径,其实就是这个路径,在这径中啊有个问题,第一个这路径咱需要做过编码,里边有特殊符号需要编码一下,另外路径中刚才前端里边我们是不是做这个处理,把井号变成了硅谷课堂,咱目前把它需要再给它变回去,要不然最后不能跳转,所以下面来做这个事情。
08:22
我来写一下啊,咱就加上一个URL。做一个编码,因为它里有特殊符号。加上已靠。然后在里边加上它这个值,我们加上这个叫。Direct ul把里边那个硅谷课堂再变成这个井号,加上一个。硅谷课堂再变成这个。井号,所以现在啊,我们来做了这么一个处理,这部分就完成,然后这个名字我到前端找一下,不要写错这个名字。呃,但这个汉语拼音好像写错了啊,少写一个字母啊,少写字母无所谓,只要你保持一致可以了,我就叫这个名字。
09:08
所以现在啊,这个部分我们就完成了,我再说一遍啊,这个代码是微信官方一个固定结构,它就表示我们要得到你的那个扣的值,为了这个做准备,然后在过程中第一个写上re ul啊,就是你的地址,然后第二部分我们再写上它的加的值。然后后面我们再进一步往下进行实现。
我来说两句