00:01
各位同学大家好,下面呢,咱们来完成公众号直播课程的对接,也就是在公众号中的进行直播的观看,咱们看该怎么经实现在欢拓云官方文档中呢,给我们详细描述了它的实验过程,大家看文档中这里写到啊,第一步客户开发自己的页面,按自己要求开发,然后页面中引入JSK就是它的相应的依赖,然后第三步需要获取一个叫token进行实现,咱们现在呢,先来完成获取set token这个接口,然后最终在整个页面实现直播课程的观看,那下面咱开始做这个token的获取,这个获取呢,跟之前这个类似,还是调用MT cloud里边的相关方法进行获取,我这里写到啊,用户要观看直播,必须获取对应用户的,我才有ton,通过这个值获取观看的直播课程。这个里边。
01:01
有定的参数,一个是直播ID,一个是用户ID,通过它进行直播,那下面咱们来做一下这个接口。首先第一步我在service live里边呢,咱为了明确,因为是公众号部分,咱们先建个包,这个包我就叫API,然后在API里边呢,创建一个ctrler。把这个进行创建,创建之后在CTRL里边加上它相关的路径。我们还是叫这个路径,A片live live Co,把这个加上,加上之后在CTRL里边把咱们进行注入。我给他注下。Private。Live。Service这个完成完成之后呢,下面我们来完成这个方法获取用户的token,根据直播的这个课程ID进行获取,那咱们来做一下啊,首先路径我从课件中复制一下。
02:05
把这个咱们先拿过来,然后拿过来之后咱们写一下里边的具体代码。把这个我们做个实现,那咱来写一下啊。首先这个依赖我先引入。返回结果,包括获取你这个ID值,下面调用中的方法进行,里边咱们加个方法,我就叫get这个。偷开。里边传入课程的ID值,而刚才咱们看到这个课件中写到,包括文档中也提到,他除了需要直播ID之外,还需要你当前这个用户的ID址,这ID址呢,咱之前曾经说过,我们当时曾经写过一个工具类。不知各位是否记得啊,我再重复一遍,咱当时这么做的,我们每次发送请求会向local service里边放入你的token值,把拓N值放到请求头里边进行发送,所以咱们在里边能从请求头里边得到你那个UCD值。咱之前做的封装在这个叫奥。
03:16
Contextt ho里边有这方法,Get user ID,咱们能取到UID,所以现在我们调工具类,把这值直接取下,然后传进来,传完之后让它返回一个值啊,咱就返回,这个叫Jason object是。欢托云里边规定的一种格式啊,咱给他做个旅退啊,当然可以反映别的格式,我就按照这个来写了,然后写完之后,最后我们来做一个铝退。result.ok of,现在CTRL部分我们就完成,完成之后在里边把方法进行创建。创建之后在实现类中最终实现它这个方法获取直播课程这个access to进行直播的收看。
04:06
咱们到这里边token说到通俗点就是一个播放的凭证,咱们有凭证之后才能进行播放,那我在里边写一下啊,咱看这个怎么做,首先我们的第一步,咱是不是有两个ID啊,所以第一个呢,我们先根据我们这个课程ID获取你这个课程信息,或者说直播课程的信息,第一个,然后第二个根据用户ID获取我们的用户信息,把这信息先取到,那咱们先取到第一个,第一个呢我调用。Base map中的方法,Select白地传外地得到lives,就是直播课程信息,这个咱们先得到,然后得到之后第二个获取用户的信息,用户信息呢,之前我们应该是写过那个远程调用过程,那咱们来看一下啊,远程调用呢,当时咱是在这个C里边做了一个定义,把service user里边接口完成了定义。
05:10
咱看一下这个接口,根据ID得到用户信息,所以咱们现在把这个做个调用。那这个过程中呢,我们要把这个user这个依给它先注入进来,那做注入啊,我们看里边应该是没有咱们给它注入一下。Dependence加上这个叫service user client,这个完成完成之后在里边我们来做一个调用啊,来到刚才的方法中来,在刚才方法中,咱把这个先。注入进来。我们加上一个private user进行注入,然后注入之后调用里边的方法,我们进行这么一个实现,咱们来到刚才的方案中来,我们找到啊,应该在下边。
06:01
呃,在这里啊,咱们调一下user in forin get,白地传入,用坏地返回的是我们的用户的信息,咱们叫U侧info,所以现在把两个基本值信息都得到了,得到之后呢,下面咱就调用欢拓云里边的相关方法做这个获取,那怎么调用,还是用MT里边有个方法,这方法叫做这个方法。然后在方法中传入里边的几个参数,咱们看一下啊,就是里边的这么几个值,我们进行传递就可以了,那咱们一个一个给他传下啊。首先咱们看啊,在这里边呢,它有问值啊,咱来看这个方法啊,这样我把其他的先关掉,关键咱们查看,要不然总是找不到啊,再看里边啊。第一个是课程ID,用户ID,昵称角色,包括有效期,就过期时间,因为你的凭证不能一直有效,最后就是其他选项加一个options,那咱们做个说明,首先第一部分我从课件中复制一下啊,咱就new一个哈希map,所以咱就option的部分,因为它是可选的,咱就new一个空的这个哈希map。
07:18
把这个我们来溜一下啊,加上一个注释封装需要的参数。咱们new一个options,然后在方法中传入我们的值,那咱们一个一个进行传递啊,就是这个结构,我把这个拿过来,咱们对照它来写一下,之前写过很多啊,跟那个应该都差不多,第一个是咱们这个课程ID,那我通过这个live cos里边这个方法叫get COD,它是一个死人类型,加上一个to string,这是第一个参数。然后第二个参数呢,是我们那个用户ID,我们加上user ID to string第二个参数,然后这里边我们再看第三个参数是用户的昵称,我们用user info里面这个方法叫get Nick name,用户的昵称或者加名称都一样啊,这里边有个值就可以了,然后再看下一个参数,这个是我们这个角色部分,那角色部分呢,咱就用一个默认的角色在这个MT。
08:25
可漏的里边有个角色啊,咱用里边的就是我们找一下啊,用这个角色有一个user。你看啊,这个角色就是user啊,普通用户代表他一个角色。啊,这里咱们写到啊,然后下一个是它里面那个有效期,就是你的凭证有一个有效时间,那咱就随便写一个有效时间,这里提示啊,它的单位是秒的单位,如果你不写,默认是3600秒啊,那这里边我就写上一个。3600秒加上这么一个就是有效期,就是凭证在3600秒之后它就失效了,把这加上,然后这个之后我们再加上最后一个,就是这个options,这个可选的这部分。
09:12
给它加上啊。Options,所以以上咱把这个就完成了,最后它有一个返回结果,咱们叫res。啊,现在这个就做到了,做到之后里边有个异常,咱们用揣开始给他捕获一下,然后捕获之后根据它的返回结果,我们做一个判断,咱之前写过,我就快速写一下啊jason.pass这个这个。然后里边加上一个回个。Class最终返回的是咱们这个common results啊,就这么一个结构啊,咱给它就是返回一下啊。呃,这里写错了,应该是pass啊,变成了object。
10:04
这个值啊。给他改一下啊。这个我这样我重新写一下啊,这个方法刚才说是对,但是调我却调错了啊。Pass。Object这个。然后在里边传入值,最终它有一个返回的结果,啊,这么一个结果,然后结果里边我们为了明确加上一个泛型,这泛型就叫做Jason object,所以现在这一部分完成,完成之后下面咱们做个判断,如果他是成功,那咱就得到它的值,最终return。啊,这一部分我来复制一下啊,就是这么一个结构。把这个拿过来咱们看啊,从里边取到这个值,这个code的值,如果是code的set就是值是零,代表成功,成功的话,咱们这个这种旅退,这里边为了测试我也做了一个输出,如果它里边失败,咱就直接抛出一个自定义异常,所以以上通过这个过程,咱们把这个代码就最终完成了,就是获取你直播课程播放的凭证啊,在object中有凭证,后面咱在前端中取到凭证,然后整合进行直播课程的播放。
11:16
所以现在完成了里边的这么一个接口部分。
我来说两句