00:00
好了,来回到之前啊,我们前面呢做了一下,将我们的临时的票据是不是获取到本地来了,我们呢能够有临时的票据,好接下来呢,就能去做我们的JSSDK了,我们来看啊,咱们呢,现在在APP中,我们这个GSSDK呢,他要想使用的话呢,它有一些步骤还得去完成它,那首先第一步呢,就在我们的服务器中,要去做的是我呢要去生成啊这个jas API需要使用的那个签名。生成JSSDK需要使用那个签名?啊,必须有这个签名呢,你才能够去真正的使用它,所以说在这里呢,我们先得去生成它呢,同样一个算法,和我们之前生成,咱们之前也写过一个算法,咱们之前写什么呢?是不是验证那个服务器有效性的时候写过一个算法,哎,这个呢,跟它很像很像呢,它是有一些不同,那有什么呢?首先呢,第一步它要组合一个参与签名的四个参数。
01:12
啊,这四个参数分别是什么呢?我们看啊,第一个呢,叫做PI ticket,这个就是我们所说的。临时。票据是不是就是我们临时票据第一个参数,这个第二参数什么呢?是一个no f tr随机字符串,第三个参数呢,来叫做time stamp time time,这个是时间戳是不是啊,第四个参数呢,是呃,Ul一个地址啊,这四个参数,那我们解释一下,第一个呢是我们的临时票据,第二个呢,是我们随机字符串。啊,第三个参数呢,是我们的时间戳是不是啊时间戳。
02:05
啊,第四个参数呢,是我们当前的当前的这个地址。当前你可以说是服务器地址啊,当前的服务器地址好,那我们接下来呢,要去组合他们成为一个数组,要做这第一步啊,那第二步做什么事呢。第二步组合之后呢,我们接着将其进行。字典序排序啊,也是字典序排序,进行字典序排序,然后呢,再拼接在一起。好,这个拼接呢就已经不一样了,他们需要以这个N的符去拼接。你这个N的呢,拼接在一起啊,这里就不一样了,是这样的,然后拼接在一起之后,最后一步呢,就是进行。啊,进行咱们的加密了啊,加上一加密后啊,就会最终就会生成我们想要的这个signature,就是这个签名。
03:09
啊,这个呢,就是最终我们视频的签名,它呢跟我们之前呢,稍微有一点点不一样是不是啊,这四个参数呢,都得我们自己想办法去拿到,他呢,并不会发送给我们,所以说我们得去想办法拿到,第一个呢,我们先去拿到我们的这个临时票据啊,那这个呢,我们。来看我们要不节后负值去拿啊,因为呢,待会呢,我要发送个请求,这临时票据我要怎么拿到呢。咱们前面是不是定一个方法可以拿到它了,定一个什么方法。那想想我最重要是要什么方法能拿到一个有效的临时票据,Fla ticket,是不是Fla ticket,所以说在这呢,我得去引入我的这个。差怎么换?
04:02
是不是在这里呢,要引入一下,比如说这条小写的叉等于啊,一个是大写的叉啊。啊,是不是引入这个模块啊,那引这个模块的时候呢,我们要注意一个点啊,什么点呢?我们要看一下这个微CH的模块,它到底有没有暴露东西出来,是不是看一下我们最后有没有暴露这个这个we叉子呢,好像没有是不是,所以说呢,你要使用的话呢,你最终呢,在这里记得要把它暴露出来是不是,哎,否则的话呢,你是拿不到你想要东西的暴露出去是不是,然后这里是不是要立即执行函数啊,这个函数是不是我们测试用的,哎,那你记得要把它给注释掉才行是不是,否则的话呢,当你引入这个模块,这里面东西是不会自动调用啊,那我根本就不需要它调用,所以说记得把它注释掉啊好,引入这个we叉暴露出去之后呢,主模块就有这个we叉子了,接着呢,我在这里呢,去创建we叉的实际对象。等于六一个大写的。
05:02
是不是啊,创建它的实际对象啊,创建实际对象,实际对象上是不是就有我所要的方法是不是。好,这样呢,我们给个名字吧,叫APIAPI好在这里呢,我们通过实际对象的点ticket方法是不是拿到了,好,这个kissing方法返回值是个promise对象是不是,那么我们怎么拿到promise对象的返值呢?我不想点灯,我怎么拿到加一个啊位置就可以了,咱们现在是不是不设函数啊,所以说你还得把它改造成啊think函数才行啊,这时候是不是拿返回值,那返回值呢,返回是个对象,对象里头有两个参数,一个是ticket,一个是过期时间,是不是咱们在这里就用得上这个。Ticket就够了,过期时间呢,我用不上是不是啊,这里呢,是这个获取票据。
06:01
然后接下来呢,还有其他三个参数是不是也要整一整啊,那我们放在前头去写啊,还有一个随机测不算,那应该怎么办呢。这呢,它并不会发给你,所以说呢,你自己要去生成一个随机字符串,因为它不会发给你,那你只能自己生成了,是不是,那我怎样能够生成一个随机字符串呢。什么方法能够让我得到一个随机字符串?有没有?哎,我听到有个同学说math math上面有什么东西能得到呢?想一想随机的一个东西,什么东西啊,是不是就是这个re,是不是啊,它呢,是不是能得到个随机的一个数啊,但是这个数我们注意啊,它有点不一样。啊,是不是。而瑞呢,是能得到随机数,但是随机数是怎样呢?
07:00
啊,零到一之间是不是零到一之间,然后会发现这个数呢,它是这样的啊,它大部分都是零点几几,是不是零几几,咱们这个呢,它是要求一个随机字符串,对不对,我们不能有这个。点不能有这个点,我想去掉这个点怎么去。乘以个十,哎,不行啊,因为我是随机数算,我为了保证这个随机性,我长度也应该要比较长啊,至少要十位以上吧,是不是?怎么办呢?那求不准,那就只能零跟一了,那小数都没了,那我要这个,那这个零跟一也没用了,是不是,这这随机性也太低了吧,是不是?我们这样做截取一下可不可以,我们有多种办法,有一个什么叫做。就叫Li,就是咱们spli去按照这个点是不是截取啊,然后取几,它截取之后是不是变成个数组,数组里面是不是有第一个值和第第二个值啊,第一个值它大概就是零,是不是要这个零我没用啊,我要的是一,是不是我只要个一啊,所以说那我就截取它取一啊,取得一之后呢,我就有随机字符上了,接下来呢,我还有。
08:18
是不是时间窗啊,我还得要时间窗啊,那时间窗怎么拿拿到呢?怎么拿到时间戳等于对子点,哎,那哎这时候能拿到时间戳啊,是不是啊,时间戳也有了,是不是还有这个ul地址啊,这个UR地址呢,你一定要跟我这里的这个地址呢,是要一样的是不是,所以说呢,因为到后面啊,可能其他地方也要用,所以说我把它定义在这个文件中啊,咱们文件中呢,还没去写成U,所以说在在这里呢,我们可能用得上了,是不是把这地址放上去啊啊今后呢,你需要修改的话呢,你是不是只要改这个文件就可以了,其他地方就不用改了啊,那咱们呢,用上了之后呢,记得先把它引入一下,我看这有没有引入,没有引入,我叫他去引入这个合并文件是不是。
09:11
但是我只要con中的其中一个参数就可以了,就是那个ul是不是require,这些都是解构赋值的用法啊,点斜转的con是不是就后啊,好,现在就有ul了,Ul也有了这三个参数,四个参数是不是都来了,来了我就接着我去写我的这些算法了,第一步是不是组合在一起,将这四个参数组合在一起啊,那我们来看一下怎么组呢?我先定一个数组,告这个AR等于一个数组对不对?看下这里面怎么组啊,他们组合在一起呢,稍微跟之前有点不一样。前面必须要加上属性名,这个名字你不能换,不能改动任何一个字符啊,前面这个呢,都是不能改动任何一个字符的,后面再加上你这个真正的那个。对应的值是不是真正的值,你要放上去,比如说前面这个是不是固定的,后面这个是不是个变量啊,啊是这样的啊,前面这个是固定写法,你改不动不了任何东西啊,那整体呢,是个魔法字符串是不是啊,这呢是其中的某一个参数,接下来是不是还有其他的接着写啊,No f tr等于啊,千万不要加现多余的空格啊,什么都不能加,这里呢,是不是就是这个东东。
10:26
是不是好,第二个呢,第三个是咱们的times STEM等于多少福啊,括号times time是不是好,第四个是不是这个UR地址啊,啊,URL等于符大括号是不是UR,但是还不够,还得再加一个东西。还得加上一个你当前这个路由的地址,咱们当前路由地址是不是色是吧,那么你就要把这个色是给拼上去才行,拼上去才行,好这一个呢,就是完整的一个咱们这一步的写法,它呢有一个等于号,是不是有个叉叉等于号啊好接下来呢,我们是做第二步啊,做第二步是不是按照字节序排序,然后拼接在一起啊好就写呗。
11:11
进行排序拼接在一起,我就定一个字符串,把ST等于一个A点做了之后,排序完之后点drawing拼接在一起,以这个and的符号是不是还成拼在一起啊,好,最终呢,它会生成一个什么样的东西呢?大家想一想啊,你这个拼接之后,它会形成一个什么东西。其实就是个这样的结构啊,这个东西就是叉叉叉等于叉叉A呢,是不是叉叉等于叉叉,诶这个是什么样的结构啊。是不是类似于查询字符串的一个方法啊,一个这样的基本的结构啊,是不是啊,其实呢,就是最终的就想办法把它拼成一个查询字符串的一个这个结构,就是这个动作啊好拼接成之后呢,我们还有最后最后一步是不是进行上一加密,最终形成我这个得到我才才能得到我的使用nature啊,所以说最终呢,我才能达到我这个CI签名。
12:11
等于上一加幂后的这个str是不是加密后的str,那这里呢,我还要引入这个上一加幂是不是。好呃,现在上头啊,你杀一加密。引入上谋划。好号一个等于2HU1好,也就之后呢,我是不是最终生成的签名啊,是不是好最终生成的签名呢,并不是我要用的是我最终的页面上应用的SDK的这个页面上是不是要使用呢?所以说呢,我需要将这个数生成的这个签名啊,是不是要想办法放到页面上啊,要把这个数据渲染到页面上,怎么渲染呢?是不是它可以传入第二个参数啊,第二参数是不是一个对象在这里面是不是可以用对象的什么方式啊。
13:07
简写方式是不是可以省略这个属性值啊,是不是好这个内除了这个以外呢,还有两个参数要去放进去的是这个随机字符串,还有随机还有这个时间戳需要放上去。一共有这三个参数,是不是要把这三个参数去转到页面上啊,页面上呢就得去使用它,这个是用参啊,但是咱们的服务器端呢,要去生成这个使用的签名是不是,然后呢,把生成签名的参与的这些两个参数呢,也要渲染上去,好接下来呢,我在页面上呢,就要去应用它们了,是不是好来到我的测试页面是不是这个页面啊好应用它呢,我要写咱们的JS好看要怎么应用啊,它这呢应用呢就分为几种规则。往上走,诶上上到这好,第一步呢,还有你绑定域名来我们一个写啊这里呢,我们来创建一个新的spring标签吧。
14:04
一一后呢,我们写下步骤啊,这里面事情步是绑定域名,是不是绑定域名,这个域名呢,就是在哪里绑定呢。在那个接口测试号页面上,你要填写这个JS的安全域名接口。就是安全域名接口好在哪呢?来来到我们的GS这个接口测试页面是不是在这里啊,这里是不是有个接JS接口安全域名啊,你要把你这个安全域名呢填写到这,但这里要注意就是我有写这个协议名吗?没有写是不是啊,你千万不能写协议名,写的就错了,你呢一定要把协议名去掉,协议名后面这个域名这个部分是不是写在这啊,域名部分写在这,不要协议名啊,填写好就可以了,填写好就可以了啊,它这里呢不需要验证,只要你你写修,说白了就是你修改任意的值就随便显示啊,你都可以提交成功的是不是,所以说呢,这里你不需要验证任何东西,你只要把这个东西给我填写好就可以了,跟这个呢,一一对应上,是不是一一对应上,好,这是第一步啊,然后呢,接下来。
15:20
第一步是这个第二步呢,就要引入一个JS文件了,来看一下它引入什么JS文件啊。引入一个这样的JS文件,是不是这个文件啊,就引入它CTRLC啊,它的默认就支持AMD和CMD的模块化加载,是不是它默认就支持这两种模块化啊,好,咱们的第二步就是引入一个JS文件。就是一个这样的文件是不是,那我就把它引入好,引入完成之后呢,第三步呢,就是要去写一些配置啊,这里呢,叫做是通过con接口呢,注入权限配置信息,是不是第三步是这个,那这一步怎么做呢?来看啊,这一步做法呢,其实就是这样。
16:02
啊,这个配置呢,就是因为所有JSSDK的页面必须注入这个东西,否则呢,你就用不了它,因为呢,它并不是允许所有用户都能用的,他就是允许你微信开发者能够使用,其他用户呢,我就不让你用,所以说呢,你要使用的话呢,你必须注入这个配置信息,让他验证一下才能使用,啊来看一下这个配置信息。在写JS这里面我们直接去写好,这里面呢来看它要填写哪些参数呢?我们看啊,首先呢,这里有这个文件是不是这个配置,当你一入入这个Q标签之后啊,全局就多了一个对象,叫做WS微信是不是多了个这样对象啊,通过这个对象的一个方法和这方法呢,就能注入你的配置了,那这里面呢,就要一些参数需要填,首先第一个呢叫做debug,它呢是开启一个调试模式,是不是,也就说因为呢,我们待会呢是在网页中去调试,它呢不利于看到一些东西,所以说呢,开启了这个调试之后啊,它呢会把一些必要的些数啊给你alert出来。
17:06
主动的绕到组出来,这时候你就能看到一些返回值了啊,所以说这样的好,这里面NPID是不是要填写我们自己的APID啊,那我们就把这个A这里往上走,这是不是APID,你一定要写自己的啊,不要提醒我的啊,注意好,这里是这个,这里接下来是不是time啊,诶这个是不是就是我到时候要服务器渲染到页面上的这个数据啊,所以说你对应的这里要写啊,但当时这样看啊,我这样写的话会报错的,咱们是不是要等于二啊,它会转E,是不是写time STEM。好,咱们这样写呢,它这里报错了,为啥呢。因为什么呢?啊,因为呢,最终呢,它这是不是属性值啊,它属性值这里他项解析完之后啊,它不知道它到底是个什么东西,也就说你当你放在不是当你放成这些属性值的时候,是不是它就真的把它当做一个属性值,它就会把它当做属性值解析,但是呢,它一旦遇到什么小于号,百分号等于号,它是不是就分了,是不是他能认识这些符号吗?不认识咱们JS对象能认识这些符号吗?认识不了啊,所以说你要想让它生效的话,那你得怎么办呢?
18:25
你得加个字符串,他呢就以为他是字符串,就不会管它是不是啊,这时候呢,就会让我的那个EGS模板EGS引擎去帮我解析它就可以了,加个引号就行了啊,那下面这个是不是也是啊,那下面这个注意就是诶你千万不要呢,CTRLCCTRLV。为什么不要这样复制过来呢?你想想这里这个S是大写,但是我们的呢。是小写是不是?哎,注意这里我们只能写小写,写大写会报错的啊,因为它要求你这些字,这些参数呢,全都是小写字母,你一旦有大写字母就会出问题,所以说呢,咱们这里渲染出去的是不是这个小写的str啊,那你写个大写的它都能找到吗?那找不到啊,所以说你这里必须要写小写的是不是,然后除了这一个呢,最后一个就是signature啊,这个呢就可以直接复制了,是不是signature好。
19:21
填写完这些东西呢,就基本上是完成了我们的这个配置啊,那在这里呢,它还有一个地方需要填写的,就是你如果要使用JSSDK,它提供的一些接口的话呢,你要使用必须在填写,不填写呢,你就不能使用,那我们待会呢,把我们这些后面要使用的一些接口呢,我们把它都写在这里啊,有哪些接口呢?我们看它呢,提供的非常非常的接口,在这个目录上呢,已经给你介绍了,有什么分享接口,有基础接口,有什么图像接口,有什么语音视频音频接口是不是等等,非常非常多啊,那在这下面呢,还有一个接口列表,我们看一下。
20:01
在这里有一个所有的JS接口列表,是不是我点,然后就来到这里,是不是前面这些呢,都是我的分享接口,是不是啊,分享接口呢,大家再看一下啊,分险接口呢,它这里有一些要注意的事项,注意什么呢?这里是不是分享接口啊,前面这两个呢,它是即将的,说白了他不打算再使用了,所以说这两个我们暂时现在用不了啊,那那目前看了一下没有取代方案啊,说明呢,微信呢,可能今后呢,就打算它自己自带的本身啊,就自带这个功能,就不用你再去写了,它自自动的就可以帮你做好这个事,所以今后这个两个功能我就不用写了,那下面是不是分享到QQ,分享到腾讯微博和空间啊,那我们就把这两个QQ写一下。分享到QQ是不是这个就是微博和空间啊,其实这三个呢,都可以写啊,好像咱们最多应该是QQ跟空间,可能还写一写吧,其实最多就是QQ不得了了,是不是这个腾讯微,这个QQ微博会有人玩吗?应该没人玩吧,是不是腾讯微博没人玩,然后QQQ空间的话呢,也还好,是不是这个还好,所以说咱们就选两个吧,就是QQ和这个空间啊。
21:16
这微博呢,实在是没人玩,你写了也白写是不是好,这里呢,是不是分享到QQ啊,它呢要有字符串的形式写进去啊,是个数组,这里面是不是长多个参数啊,把你要用的接口呢全写上去啊,一个是QQ,一个是QQ空间,还有什么呢?我们接下来再写啊,还有这两个,一个是开始录音,一个是结束录音,哎,这两个呢,我们也用上。啊,因为待会呢,我们做一个这样的功能,我们做一个语音识别的功能,那么我们对应的我是不是要去对用户说的话进行录音啊,所以说对应的我就调用这些接口,开始的时候呢,它录录开始录用户的说的话,结束的时候呢,是不是停止啊,停止之后呢,我就要去想办法去算出来,或者是通过某些方式能够知道用户到底说了些什么内容,是不是啊,除了这里面呢,还有一个智能接口啊,智能接口呢在这里。
22:11
嗯,叫做voice train translate voice啊,就是这个动作translate voice翻译你的语音是不是,哎,这个呢,就是语音识别写好,直接能够去把你的语音说的话翻译成汉字啊,目前来说的话呢,只支持普通话啊,方言还现在还做不了言,还比较困难啊好,现在是这样的,咱们的这里是不是写了大概五个接口啊,那我们呢,去看一看啊好写完之后呢,我们再看这一步呢,相当于是配置好了我们的这个微信的这个接口权限啊,然后呢。那再往上走一走啊,除了这一步之外呢,我们还一些东西可以写写的啊,它呢,这里有个ready函数,还有一个error函数,我们都可以看一下啊。一个ready函数,一个是error函数,好这两个是干嘛的呢?这里都给你写好了啊,当你这个conve验证成功的时候呢,就会触发这个ready函数的回调啊,就把它简简写一下啊,就是当你当con信息验证通过后就会执啊这里其实已经写好了,是不是当con信息验证通过后呢,就会执行这个ready方法,那下面这个呢,就是con验证失败的时候呢,会行这个error设定的这个函数是不是啊,对应的就是这样的,那下面呢,就是这样,因为啊是不是当你成功之时是不会调这个方法,所以说呢,如果你使用微信的一些接口的话呢,你最好呢是放在这个。
23:46
Ready函数内部是不是因为只有在这个内部你才能够确定是不是这个很验证是OK的啊,只有OK的你才能使用啊,所以说呢,一般情况下呢,我们会把这些相应的内容呢,放在这个ready函数中,是不是一般会放在这里面来确保万无一失,确保我无一失啊,放在是ready中,好,那艾呢,就是如果失败了的话呢,我在做些弥补操作,甚至呢,提示用户一些其他信息,是不是提示用户一些其他信息,对吧?在这个error中去做了啊,一个是ready,一个是error这两个参数,然后剩下呢,再大家看一下,那这里呢说一下啊,所有接口呢,只要是WS微信这个对象来说,第二的话呢,除了它本身的这些东西呢以外的话呢,它还包含以下这些参数。
24:34
把所有接口都包含什么,成功的回调,失败的回调,然后第二完成时执行的回调,无论成功失败是不是都会执行啊,然后呢,还有取消的时候回调,以及用户触发的时候,点击的时候触发的回调是不是,哎这五个呢,它都都有都有啊,所以说呢,后面呢,当你去使用某些接口的话呢,可能他不会写全了,可能他只写个success,但是呢,你也知道啊,他除了success以外呢,还有file,还有什么complete,还有其他的东西,是不是还有其他的,好那写完这些呢,我们接下来,那待会呢,我们就来去真正的去使用一下我们的这个相应的东西了,那在这呢,我们停一下啊。
我来说两句