00:00
各位同学大家好,刚才呢给大家总体分析了一下微信授权登录的流程,那下面呢,我们开始进行具体实现,咱们实现一下具体功能,首先大家来看啊,我们现在呢,在这个微信公众号这个平台里边已经配置好这个授权路径,在这个域名下的地址中能得到你的微信信息,这是我做的配置,这里边我们配置是8800接口订的域名,这个我已经完成了,完成完成之后我们继续往下来看啊,下面呢,我们怎么做,咱们就是在这个配置文件中加上一个具体的一个接口路径,也就是咱们在这个接口中来得到我们那个具体的用户信息,比如说你的ID值,那咱们做一下啊。我现在啊,来到我这个配置文件中,在我的这个位置。在配置文件中呢,加上我们这个值就是授权获取信息的路径啊,当然路径给大家说明啊,这个路径你前面的域名必须是这个域名,后面这个径以随写我这里,为了跟我这个保持一致啊,我就这个可以现在名,然后继续往下。
01:18
另外写的时候注意啊,你在复制的时候注意它的格式啊,因为这是样的文件,它的格式这个缩进要特别注意,你别写成这个样子,那这样的话它就取不到了啊,这一点注意一下啊。然后之后我们继续往下来看,下面呢,咱就开始写这个具体这个方法,就刚才说的这个三个方法,第一个设置授权回调路径,就是它那个具体路径,第二个在具体那个方法中获取op派D,第三个绑定手机号,咱们下面来写这三个方法,那这三个方法它是怎么样一个执行过程,给大家写一下啊,首先我们看一下这个页面里边啊,咱们找到这个页面。
02:00
在我的这个就是硅谷OA页面们位应该记得啊,是这个地方处理微信授权,就是现在你可以这么理解,当我手机上一弹个框,说是否可以获取微信信息,你点同意之后,它就会进入到这个界面,在这个页面中呢,我们一进入create中,首先咱是不是调这个方法叫web char log in,然后在web char log in中做什么事情呢?它会在里边啊,就是取一下你的ton,包括open ID啊,如果它这里边等于空,那这里边做个设置。另外在里边它还会继续往下来做,但这过程中什么样的特点,大家注意啊。大家咱们看到具体点啊,就这位置会从里边取你的token,包括open ID,如果它等于空,那怎么做,让你去绑定手机号,然后手机号这里边有一个弹框,也就是这个啊,肯弹框,它弹出框之后进行手机号绑定,然后最终完成这个过程,但是过程中我们看啊,如果说这里边token不等于空,它会把这值放到这个叫local s里面去。
03:16
通过它,然后最终进行这个路径跳转,就是你授权之后说的简单点啊,当我授权成功之后,它就直接进入到我们这个主页面中,如果授权没有通过,那他需要完成后续处理之后才能进入到主页面中,所以在这位置大家看啊。我这里边写一个路径,也就说你现在啊,如果没有授权,它会访问到你这个接口中的这个路径中去,这单一会儿写这个方法,然后当你授权成功之后,它会给你,就是再回到当前路径中去,这里边有个URL,你看这个方法啊,window.location定HREF就是我们当前路径,比如我现在要访问这个叫in的点wave,咱们先授权,当你授权成功之后,会直接进入到in点中去,它就是做这个事情,咱把授权过程在我们这个方法中进行实现啊,就这个al这里边做到,当然这个名字也可以叫别的啊,我就跟他保持一致了。
04:17
另外这里边有个细节问题,大家看这里啊,说一下什么意思,就是我们现在啊,在做这个传递过程中,如果说你传这个井号里边会出现问题,所以这里边我把井号做个替换,换成这个叫硅谷OA,后面再给大家换回去,也就是这个意思啊,大家看这里。你注意看啊,我这个路径中是不是都带一个井号,这个井号在传的过程中它会出现问题,所以咱们现在把井号先替换成叫硅谷OA,后面跳转中把井号给它再替换回来啊,就来做这个目的,要不然它传递过程中井号会出现问题啊,这个注意,然后下面呢,我们来写一下这个具体这个接口,在接口中具体怎么做,咱们先看一遍啊,首先第一个我们写这个叫all right这个方法在里边得到我们刚才那个就是路径,这个路径就是刚才咱们传过来的这个UI路径,当授权成功之后,它就会回到这路径中去,然后在方法中做什么,首先设置你进行回调授权,那个路径就是咱们那个路径中能得到那个微信的信息,路径就这个。
05:29
叫user INF ul,咱们从配置文件中到这个值,然后之后呢,我们设置完成之后,这里边啊,当我设之后再一执行,它就会到我们个具体方法中,U info里边,在u info中咱们最终得到这个叫open ID,根据open ID去查一下数据库,看数据库中啊有没有这个信息,如果说它里边不等于空,表示咱之前绑定过了,那咱就生成token往下进行,如果说等于空没有绑定,这个时候就会执行我里边这个绑定手机号方法,那咱完成绑定,在绑定手机号的时候,咱们就是根据这个手机号进行查询,然后最终把open ID给它更新出来,然后完成token的生成。
06:17
这个啊,是我们要做这个事情啊,那这过程给大家再来写一下啊,然后咱把这三个方法给它最终完成,我这里啊再来做个说明。在图里边给大家画一下啊,我这里强调啊,其实这个代码呢,并不难,但是里边涉及到有很多的过程,所以大家把这流程先给它整理清楚,然后最终再来写这个代码,那咱们啊具体再来说一下啊。首先啊,就是第一个方法叫all right方法,这是咱们的第一个,然后这个方法中我们要做什么事情呢?给大家写的具体点啊,首先它的第一部分,这里边有个参数,它的那个参数就是我们最终啊,就要进行返回的那个路径,比如说你说的通俗点啊。
07:05
当我们授权成功之后,会返回到路径,这是它里面这个参数,然后这个参数名字我们这里边叫re退U,也就是咱们在页面中给它传回来这个ul,当你授权成功之后,它会进入到这个里边去啊,做一个这么一个跳转,这是第一部分,然后之后呢,在里边我们要做什么事情呢?我们继续来写一下啊。在这个里边啊,我们需要设置一下,就是你进行回调的那个接口的路径,说的通俗点啊,就是哪个径或者说哪个路径的方法里边可以获取到你那个微信的信息,这里需要做个设置,这是我们写的第一个叫order right这个方法。然后之后呢,在里边啊,我们继续来看啊,咱们看里边还有第二个方法,第二个方法就是咱们说这个叫user info这个方法。
08:04
这个啊,给大家继续来写一下啊,就是第二个我写到这个位置。这个方法叫user inform。然后这个方案里做的是什么事情呢?我们来看一下啊,到这位置首先啊,咱刚才说的我设置回调的接口路径,这个方法就是我们回调的那个接口的路径,比如说我现在当我进行授权,那我们需要在这个方法中来获取一下你的微信信息啊,就是在这个方法中获取我们扫码或者说授权的那个微信的信息,这个信息里边我们主要获取到的是它这个叫open ID值啊,这是主要得到这个值。然后这个值得到之后,咱在里边要怎么做呢,我写一下啊,根据open ID。查询咱们的用户表,看这个open ID在表里边是否存在。
09:04
啊,我们要做这个事情啊,是否存在,然后继续写一下啊,如果说它存在,那就表示啊,我的用户已经绑定过了,就已经完成这个微信的绑定啊,表示微信用户已经绑定了,那这个时候我们就生成ton,然后完成这个就是跳转啊跳转回到我们那个就是最终那个瑞UR中去啊回到我们就是最开始这个页面里面去或路径中去。这是做的这个这个流程啊,然后之后再来看,如果说啊,这个opd在表里边不存在,那表示这微信用户没有绑定,那这个时候怎么做,我们就调用方法进行这个绑定的操作,这是我们的第二个接口方法叫user info,一会儿按照这个逻辑进行实现。然后之后再来看啊,这里边还有第三个方法,就是咱说这个微信账号绑定手机号这个方法。
10:06
那我写到这里啊,就是咱们的第三个位置。叫band phone啊,就是绑定手机号。写到这个位置啊,第三个。然后这里边就是微信用户绑定手机号。然后这里边它是怎么样一个逻辑呢?我们也是看一下啊,这个过程就比较简单了啊,咱们传一个叫band phone VO里边有新闻信息,包括咱们看一下啊,我们这个前端里边,比如说你这里边没有这个值,那咱把ID传去啊,最终在里面做定,包括里边还有你的手机号,这些信息都通过它进行实现,那这里边具体做法就是从这个参数里边得到手机号,然后咱们到这个数据库中查询,如果手机号在里边存在啊,那咱们就进行更新,把op派ID更新到用户中去,生成ton进行返回,如果这里边手机号查不到,那其实用户说手机号绑定失败,也就说你这个管理员加的这个手机号,可能你换了手机号,那这里边它里边就绑定不上了,你需要联系管理员,再把你那个手机号顶更新啊,一般来讲公司在入职的时候,我们都要填写自己的信息,包括手机号,那这个公司管理员。
11:27
根据你当时入职填写的信息,在后台一次性加了很多用户,你绑定的话要用之前手机号,如果你做了修改,那需要联系管理员,然后进行后续的修改啊,这是我们做的这个过程啊,然后在里边也是写一下啊。我们的做法就是根据我们微信啊,使用那个绑定的手机号去查询咱们的用户表,看这个信息是否存在啊,咱就做这事,就是用它查你的这个system user表,也就是这个表。
12:03
看这个绑定手机号在里边是否存在,然后咱们继续写啊,如果说啊,这个手机号的信息存在,那怎么做,咱就更新啊,我们的这条用户信息,去更新里边那个open ID址,就是像里边啊更新一个open ID。表示完成绑定,如果说啊手机号信息不存在,那就表示这个绑定失败。啊,就表示这手机号没有,那这里边你需要联系这个管理员啊,去更新你的手机号,然后再来完成我们这个。法定。所以以上啊是咱们做这个微信授权要完成的三个接口方法,一个author,一个user INF,还有一个叫band,那下面呢,咱就按照这个把这个具体接口方法我们最终经完成啊,那咱们下面开始继续来写下这个方法啊。
我来说两句