00:00
好,接下来呢,咱们要学的东西是在微信中的网页开发,我们来看一下在微信中呢,我们如何去进行网页开发啊啊,咱们呢,现在呢,是咱们的一个。啊,零七了啊,我复制一份071JSDK,那我们在这写APP,那我们要在这里面去开发,进行网一开发,我们该怎么办呢?啊,现在呢,咱们是在服务器上是不是,那我呢,就希望用户啊,访问我服务器中某一个节点的时候呢,我呢对应给他返回一个页面,是不是给他返回页面,那对应的我在这里设置什么。他访问我访问我的服务器了,我要返回一个页面给他,我要设置一个路由是不是好,那我设置在下面行不行。比如我这是一个,到时候一个页面路由能够设在这里吗?比如说一个app.get啊,待会呢就一个get路由,然后呢,地址呢,是比如说一个算页面啊,然后呢,我们在这写一个。
01:10
那请问一下咱们这个路由放在这里可不可以,行不行。啊,如果不行,为什么呢。为什么?为什么我这里不行?我现在用那个use是不是这是中间键对不对,我下面再设置个路由,哎,没问题啊,我是中间键放在上面也没问题啊,是不是,哎咋咋不行呢。怎么回事呢?这里到底有没有问题,这里。
02:03
我就问你这个路由到时候会不会生效,不会,为什么啊,因为我中间键没有调用next方法是不是,所以说我这个路由放在这里呢,跟没写是一样的,是不是我不能放在这里,我想它生效的话呢,我可以把它放在,诶放在上面不就得了,是不是我放在上面看到我这个路由就能实现了,那我就放在这里,好放在这里我待会呢,我去整个页面,那在这里呢,我们用一下我们EGS技术,我们的打快打算啊,当用户访访问我这页面的时候,我访问我返回给他一个由我后台去渲染好的一个页面给他可以吧,那咱们呢,去用一下EGS啊,我们对应的我就去。然后来S对不对,下载它好看一下,今天能不能下载啊。呃,这里的网速呢?
03:00
可以好没问题,下载成功之后呢,我们EGS怎么去配置。首先你要。配置什么呢?啊,咱们的模板资源目录是不是配置模板资源目录通过app.set是不是配置set配置啊,那第set配置另一个参数是我们的没有是不是,第二个是不是模板资源的目录啊,我们呢,比如说点斜杠啊,Views是不是好,第二个呢,我要配置什么呢?啊配置模板引擎是不是好,这里呢,就是app.s然后第一个参数是view n near是不是?诶这里是不是views,咱们这里好像少写了个S是不是views,然后这是VI engineer,然后下面呢,就是我的模板引擎叫做engineers是不是好,配置到这呢,我就能够去使用我的EGS了,那待会它返回这个路由的话呢,我就返回个页面给他,那我先得有一个页面是不是。
04:09
那我在这个路径下呢,新建一个文件叫做Windows,好在这里面呢,我们新建一个页面,诶比方说呢,就叫做search啊SE设置页面。好,然后呢,我再把它改成。EGS是不是好改成EGS,好,咱们这样呢,就是一个色页面,那我先简单一点啊,假设呢,我就返回一个,这是一个搜索页面,好看一下它到底能不能访问到我的页面,是不是,那么我们呢,在这里呢,再设置一下我呢是不是要通过R点。Render去渲染这个页面,那么渲染的是。算是不是,暂且我这是不是没数据啊,没数据的话呢,你可以不传递啊,所以呢,就是渲染我们的页面啊,最终呢,将渲染好的页面返回给用户啊。
05:07
好,咱们写好之后呢,我们去预习一下服务器,Run一下我的服务器。好,服务器启动成功了,是不是好开成work没关系啊,那咱们呢,是不是能够去打开页面去访问我当前的东西啊,可以随时打开页面去访问啊,因为咱们本身就是个服务器,是不是CTRLC,然后呢CTRLV,然后这里呢,还能写一个斜杠设置,是不是这样访问我当前的路由啊,当我按想回车的时候呢,它会返回。一个页面给我是不是好,我们看一下。呃,是请求是OK的,诶是不是来了来了啊,这就是我们访问一个页面的办法是不是好,这样呢,当然能够访问网页,那如果你是正常的去自己写页面的话呢,你在这里,你之前怎么写JS,写HTLCS的,你在这里呢,就可以写它呢,除了有rain的方法去渲染页面的话呢,我是不是也可以直接send file,把我这个页面send file过去啊,也可以直接send file过去啊,也可以,那它有多种路径,比如说如果你正常开发呢,就是这样去开发。
06:15
啊,但是呢,咱们在这里啊,我们呢,要使用一下微信提供给我们的一些开发工具。啊,这个呢,就是我们接下来讲的啊JSSDK,这是微信提供给我们的一个软件开发程序包,通过这个软件开发程序包啊,我可以利用上他能帮我写好的一系列功能,我可以直接使用了,那关键是我们现在呢,就要去看一看啊,怎样去使用上这个软件开发程序吗?我们来看。打开这个微信的开发者文档啊,在这里呢,给你们列习出来了,打开这个网微信的网页开发是不是这里面呢,有个微信的JSSDK的说明文档是不是来了,好,这里面呢,就会来到这里,它呢这里有个目录来去导入的啊,那咱们呢,可以看到往下走,第一个是它的概述是不是在这里呢?给大家介绍了一下JSDSDK是个什么东西啊,他呢是微信公众平台面向网页开发者啊,提供的一个基于微信内的一个网页开发工具包,是不是啊,工具包呢,就是这个SDK了,那么这个东西呢,一旦你使用上它了,你呢就可以直接的去使用一些什么拍照啊,选图啊,甚至发送语音啊,语音识别啊,看你的位置等等一些手机系统自带的一些能力,你就能直接使用了。
07:39
啊,如果没有它的话呢,你是没办法直接使用这些东西的,是不是,因为这些东西呢,都是调用底层的这些手机系统的一些接口,是不是,那我们要去实现的话呢,会很复杂,所以说呢,我们直接使用它的SDK开发手机包,然后它呢,除了这些功能以外呢,还能有一些微信相应的功能,像微信分享,扫一扫,扫描二维码,然后呢,卡券支付,微信支付等等一些特有能力都可以用。
08:05
所以说呢,一般来说,我们在微信公众号中啊,如果要去网页开发的话呢,我们通常啊,都会使用上这个强大的软件开发手续包,有了它我的很多功能呢,我就可直接拿来启用了,是不是,那我们接下来呢,就看一看到底这个东西该怎么用。到底怎么用啊,这东西用起来呢,稍微麻烦一些啊,首先呢,我们先看到它最下面的16开始啊,有一些附录是不是啊要使用它呢,你先有一个东西要获取到,哎,你现在获取到一个叫做临时票据的东西。诶,咱们前面是不是讲过一个跟它类似的一个东西啊,叫做全局的为接口,我一定要用凭句是不是那个叫做N,那么这个呢,叫GS API ticket,这个是咱们的SDK使用的一个临时票据,我们要使用GSSDK就逃不开这个票据,而且呢,它是个临时的是不是,诶它的特点呢,跟我们的很像。
09:08
来多项都来看啊,首先它的有效期是7200秒,和咱们阿斯托是不是一样的一样的,并且呢,它需要通过谁去获取啊,需要通过通才能拿到这个票据,是不是通过通才能票据,然后呢,接口调次数呢,也非常有限,诶咱们是不是两千四啊,那他也很少,它也比较少,所以说呢,我们应该要把它给。它调用次数有限啊,我们要把这个获取的JS给保存下来才行,是不是想办法复用我才能够做好这件事好,所以说呢,从这里开始啊,其实我们会发现保存下来之后啊,是不是我们使用的时候也是尽量尽可能保存一个,保存多个对于我们来说也没什么作用,是不是我们只需要用一个就可以了,所以说呢,从这里出发的话呢,它跟我们的N的话呢,特点基本是。
10:03
一致的是不是,那么它跟咱们基本一致,那我该去怎么去设计它呢?你想啊,跟拉斯特基本一致的,那我怎么设计他?我们回想看一下我so粉的设计,是不是可以去参考一下它的设计,从而去设计我的tickets啊都可以,因为特点都一模一样的,是不是,那么我之前这个怎么设计的啊,To怎么设计的,那么我这个ticket是不是也可以这样设计啊,诶那就是这样,那我首先呢,我就得想办法去拿到它再说,只有拿到它了,我才可能成功的调我那个接口,所以说呢,我先把想办法把它给获取到再说,啊来,那我们先去获取一下这个票据啊,临时票据,凭临时票据呢,我们来到我们的we叉里面啊,Which叉里面呢,咱们之前的定义了。
11:00
五个方法,有没有五个方法来获取我的全局唯一凭据,是不是?那么我们现在呢?12345是不是,那么我们现在是不是要获取我们的票据啊,那么我们也是。参考它是不是也定义思啊,把它所有的代码呢,CTRLC,然后呢,TCTRLV,好这里面呢,是不是复制了一份啊好这些东西呢,都是获取我的临时的票据的,是不是它呢,获取的是JSAPI_ticket啊就这样东东临时票据T好把这些东西都改一改啊。OK,我们一个函数改,首先呢,这里就不是getn了,它是get啊。啊,Jspi的是不是啊。是不是这样的j sipi这里是不是写错了API,是不是API的ticket,那我们这个改一下。
12:07
好,是不是这样的啊,这里面呢,我们再来看啊,这个呢是获取我这个临时的票据,那这个里面呢,我需要怎样获取呢?我们来看一下之前我是不是通过这种方式获取啊,那现在呢,我们不是啊,现在我们获取方式不一样了,那这样呢,是不是给了你一个网址啊。A,你需要通过获取到SN,通过get方式是不是请求到这个临时票据啊,所以说咱们的这个网址就要变好,咱们现在是不是有个网址啊,咱们所有的接口网址呢,都定义在API中是不是,所以说咱们在这呢也去新建一个地方。我们就叫做简写了ticket啊,那这单词太长了。T,好,然后呢,这个地址呢,我们翻过来,首先前面是不是一样的,所以说那我用多福打括号。
13:01
好后面呢来看啊,这个通是不是可变的参数,所以说呢,我不能写写死诶,但是这个参数呢。它是不是一个固定的值啊,是不是代表着我这个就是请求我这个GAPI的一个东东,是不是,所以说这个值是固定的,那么我是不是也可以写死在这好写死在这,然后到时候呢,他需要传那个斯托是不是自己再加上去啊,自己再去加就好了,所以说这个呢,我就写死在这啊,写在这好ticket这个key写错了啊ticket,那我接下来呢,去引用一下它打开我们的we叉啊好,我们这里也不写这spi了,太长了,我们就写get就好了,在这呢,我们先把这个地址先写好啊,这里的地址叫做。Ticket是不是,然后后面个的参数是TK是不是N啊好这一块呢,是不是我要想办法拿到我N的值,那对应的呢,我是不是先要去请求我这个啊,先获取到我的S才行啊,所以说在这呢,我就得去先办法去。
14:08
是不是获取AC可以获取到这个东东,那怎么获取呢?我们把这些都删掉啊。那我们把这个东西放在这里面来写啊,我们把它改装一下,我们把它改装成一个函数可以吧,所以说在这一步呢,我就会Co一个德塔等于一个。this.n是不是此时此刻是不是拿到N,然后再把n.N是不是放进去啊,然后现在的请求地址没有问题了,然后呢,请求方式呢,也是get是不是,然后在这里面呢,是不是想办法拿到小小的值,然后这里面也要再看啊,我们看一下我们的S是不是两个返回置啊,要通一个是过期时间,那它这里呢,稍微多一点,它有。四个返位置是不是,那实际上呢,我们四个呢,前面两个呢,都。
15:06
用不上是不是这两个呢,压根用不上,我其实就要下面这个机体的票据和这个过期时间就好了,是不是,所以说对于我们来说的话呢,我们怎么办呢。我这就不打印了啊,不打印了,我呢拿到这个过,拿到这个值是不是,那么我呢想办法去重写一下它,我呢定一个对象。我呢送一个对象,我在这里直接写啊,送一个对象,这个对象的值呢,我们写一写。它呢,一个有一个ticket t的值呢,等于re点。是不是啊,Yesterday ticket就是我最终的返回值,是不是好,除了有ticket呢之外呢,它是不是也有个自己的过去时间啊,好,自己的过去时间,它的过去时间咱们在上面的是不是这样去求他,我是不是可以直接写到这里。
16:00
可不可以,我最终呢,是不是返回一个对象,对象里头是不是就是这两个属性啊,是不是可以直接这样返回出去,直接这样返回出去,我只要T和这个过期时间,那我就写好就可以了,同样的我是不是也是提前五分钟更新啊,提前五分钟更新啊,就是这样的,那么这个方法呢,我们就给定义好了啊,我们呢,改在哪呢?我们呢,无非是这个请求地址改了改,是不是,然后发现它需要S头,那我就获取它,获取之后呢,在这里面呢,我们发现它返回只有四个参数,我不要这四个参数,我就把它改装一下就好了。改装一下就好了啊,这里呢,我只要tickets和这个过期时间就OK,好就这样呢,把第一个方法是不是做好了。好,做好第一个方法,接下来再来写呗。好,接下来是不是保存啊,保存的话呢,我这个参数呢,我就改一下叫做T是ticket,改一下啊tickets,然后呢,这个参数呢,我就做save ticket保存我的这个票据。
17:05
然后呢,在这里面再写啊,然后呢,我首先拿它是不是也要转化成字符串了,转换字符串呢,然后保存的文件呢,我叫做ticket的这个文件,然后呢,保存内容呢,是这个tickets这个东西是不是好,一旦保存失败的话呢,我就报这个save ticket的方法是不是出了问题啊,这个问题啊,那也就是说我们其实就是想办法把放置的地方呢,改成ticket是不是差不多啊,改成ticket就行了啊,所以说接下来的函数呢,我们都得改改呗,这样的是用来读取T,那这前面的都要改成。Ticket是不是好,然后看下这里面写的东西啊,这是读取ticket,然后这个文件呢也是ticket,然后呢,这里面呢,读取的方法呢,我们看。看下哪里有没有变的。这最后这个地方要变一下啊,这个地方要变一下take下啊,这样呢,我们说一说,最后呢,是不是is very spoken啊,那在这呢,也去改这里也是。
18:07
Ticket啊,用来检测ticket是否成功的,Is whether,咱们的ticket好打开这里面,这里面呢,是不是也要把这个ticket放这好那这里其实有个小小的问题,小的问题就是啊,待会呢,我可能也是做一个这样的一个办法,是不是要检查它过期时间啊,啊在这呢,应该不用改啊,这里不用改,那到下一个要改这里是不是也是判断它有没有过期时间啊,这里呢,不改我们改后面的啊,这前面的删掉。我们这里呢,就啥也不不用动了,是不是不用动了啊,然后呢,把它说一下,然后这个东西呢,可能也要改一改啊。来看一下这里要改什么。好,那来看啊,这里面要注意的一个问题就是我这里待会是不是要去判断它是否有这个ticket,同时判断它是有过期时间啊,但是大家想一想啊,我这过期时间,除了我这个票据会这样办,我还有谁会这样办?
19:09
我的平均啊,是不是也是这个字段啊,也是这个属性,是不是,那么这两个属性之间是不是会。冲突啊,对不对,会产生冲突,所以说呢,我们在这里呢,到时候给他重命名一下吧,待会呢,给他一个什么呢。我的前面加一个ticket。是怕防止它出问题啊啊这里读取的还是这个过期时间这里不变啊,但是呢,我给this上挂载的值呢,我就多一个T,所以说呢,到时候呢。我这里判断的时候是不是多T啊,这时候就不会出问题啊,这时候不会出问题,后面呢,就加上这个TT,然后呢,这里呢也是写啊,把他们都改回来,Ticket ticket是不是好啊,这是送出去的话,这一块不要改啊,因为只要在this上改就可以了,其他地方呢,不会冲突,只有this上会冲突啊,然后这里呢,也是去掉这个注释,这里把它改成这个T。
20:11
然后呢,下面呢,看哪里要改的,这里是不是也是T。CTRLCCTRLV啊tickets,然后下面再往下走,注释去掉这里呢去掉,然后呢,我们把这里改成ticket,然后这个也改成。Ticket下面这个呢,就不用动了,是不是不用动了,然后接下来呢,再来这里改成ticket啊。这一块也是如此的,也就把所有的top的地方呢,都想办法用ticket去取代好,这里的T是小写。好好,这样的是不是差不多了啊,差不多了啊。好,差不多了,那这一块呢,我们就将这五个方法呢,全部都给改装了一下,是不是改装了一下,那么我们接下来呢,也要看一下,到底这个东西靠不靠谱,到底靠不靠谱,那么我们在这里面测试一下,我们把前面这些东西呢,注释掉,前面注注释掉,然后在这里呢,测试一下W点范这个意思是不是调用了好如果成功的话呢。
21:15
我是不是会多一个T文件,那这时候就有是不是啊,如果失败的话呢,没关系啊,那我们再来看我们呢打印一下,待会呢,是不是会有返回值啊,我们把这个返回值呢,也打印输出一下,那运行一下那些文件就行了。好,他说文件读取成功,然后呢,没有任何反应呢,是不是好说明呢,咱们这个方法呢,可能存在一些某种问题,看下哪里出了问题,好请求失败了,是不是这里报的错误,是不是他呢报的这个错误啊说你这个API呢,可能出了问题。看一下我们这里是不是哪里出了问题。是不是我们写的某一个地址写错了啊,看一下我们呢,接下来把这个get这个方法呢,诶这里不用改,我们把这个ul地址打印一下,看看会不会出问题。
22:13
应该是我们想要的地址啊,然后呢,我们再来看一下。重新运行一下。好诶是不是来了,现在是不是没有问题了啊,刚刚呢,可能说到一些差啊,你可能网络不太好,所以说他没请求回来啊,现在呢,是不是有了啊,现在是没有问题的,你看这个T是不是在这啊,啊在这啊没有问题,好这时候呢,我们看一下这个这个打印结果,那我就不看了,然后这时候呢,会看一下这个文件,它们就会多一个文件,叫做ticket,就是我们要保存的内容,是不是要保存内容都在这里面,好现在呢,我们没问题了,到现在为止呢,我们就做好了第一步啊,获取了我们的这个tickets,想办法拿到它了。好拿它之后呢,我们这里可能还要做一下改装啊对改装我们会发现呢,这里面呢,其实啊,也有一些重复的东西。
23:09
这里面呢,有很多重复的东西,其中最重复的东西是在哪呢?啊,其实最关键的是这个right发方法和read方方法,其实他们基本上是一致的,它们唯一不同的地方呢,就是这个要保存的数据不一样,以及要读取的文件不一样,是不是,那其实呢,这些方法呢,可以把你单独给提取出来,可能比较好一点,这方法,那我们就把这些read方法方法和right方法把它给提取一下,写一写它。来我们写一写,在这个tool里面呢,我们再去加几个方法,咱们现在是不是有三个方法了,我们再去加啊,比方说第一个呢,叫做。RA file。Think啊,As one c think函数好,这个函数呢,待会我我要定义的时候,它要传什么参数呢。
24:00
首先你要传一个什么参数,你是不是要告诉我,我要写写什么东西啊,我到底要写son还是写我的,你都得告诉我是不是,所以说我必须要把这数据是不是传进来,这是第一个,第二个还传什么呢?除了告诉我要写什么内容,我还要告诉他写什么东西呢?是不是写到哪一个文件里面去啊,是不是你必须要告诉我我才知道,你不告诉我呢,我哪知道啊,是不是?那你可告诉我file name,我要写到哪一个文件中去,你告诉我这文件名是不是好在这呢?我们就写一下,嗯,那我们就直接去前面复制了啊,这是write file方法。是不是做这些操作啊,CTRLC,然后呢CTRLV,然后改一改啊,然后这里面呢,不是talk呢,是这个data塔是不是好,这里是不是写入data好,这里面呢,不是写这个文件是不是放置的是我这个file name对不对,放置file name,然后呢,这里说了没有问题的话,就说这个文件呢,保存成功是不是,那失败的话呢,我这里就直接去一个。
25:13
就是reject你的error就可以了,是不是reject这个,诶我就是reject这个right方法出了问题是不是好,这个方法是不是这样封装了一下,封装一下好,那封装一下我们先先使用一下这个方法啊,咱们在微差的函数中呢,接着是是不是要引入它们,我要引入我的封装好的这个工具函数。Co一个,这时候呢,我们就结构赋值拿到我们想要的东西啊,等于require。点点斜杠的。Us下面的tools是不是好,在这里面呢?我想拿一个方法叫做right s函数是不是好,它接下来呢,我去重写这些方法,咱们这里面呢,就不要再写这么多了,去掉去掉就只要第二个用这个方法是不是,第二这个方法传什么呢?第一个是不是要保存的数据啊,保存数据第二个参数是。
26:12
文件的名称是不是,你是不是可以把这个文件名直接传过去啊,直接传过去就可以了啊,现在呢,它返回值是一个promise米对象是不是,那么你就把这个返回值给它。Return出去是不是最终我这个返回值也是个promise对象啊,因为它就是这个函数的返回值是不是啊,所以说就可以了,将它给return出去,好,这个方法写好了之后呢,下面这个方法呢,也是如此改装的啊,那下面呢,我们也有一个save这样的方法,Save t,那我把它改装一下。那我这里呢,要传的东西就是ticket,我保存的东西呢,也是ticket,是不是啊,这样改装就改成好了第一个啊,啊除了第一个呢,我们是不是还有一个save,还有一个read的方法,那么我们也写一个啊,还写一个read方法,叫做read file a think as one thing好,这里面还传什么餐呢。
27:15
想想我需不需要传数据?我需要,因为我是读取我本身需要数据,是不是它应该需要什么呢?啊,你是不是要告诉我读取的是哪一个文件啊,你得告诉我,所以说要传这个file name啊,所以说我们在这里呢,把之前的代码呢也抓过来,这第一步啊,CTRLC拿过来,CTRLV来,第一步呢,是不是要读取的文件名啊,那我是不是放一个file name过来,然后呢,这里呢,当我读取读取成功的时候,可以打印一下,然后最终是不是把它给售出去啊,然后失败的话呢,我就打印这个值失败了啊好,这里面呢,我们会发现其实这两个方法我是不是没有去加载引入啊,这两个方法是没有引入,他现在都说missing啊,没有找到啊,因为这个方法一开始是在we叉里面是是没用的,所以说我们把这个东西呢,要给。
28:08
是不是挪过去挪过去啊,挪过去挪到我们的兔里面才行。是不是挪到这来,挪到这来啊,FS是核心模块,不用下载好,整完之后呢,我在外面呢,是不是接着去使用它FV叉是不是我这里再加一个函数,然后接下来是不是使用它来,我们呢在这里写所有东西都不需要了,我呢也是它呢调用是不是到时候传一个范围内嘛,我们传的就是。t.TST是不是TTST好,最终呢,我记得要把它给return出去啊,这里不是T,这是。N是不是NT,好CTRLC再来一次啊,下面这个呢,就是我们的ticket了,这个read方法呢,就不需要了,好,那就是写这个DK是不是啊,这样呢就是T啊,到现在为止呢,我们就相当于是把这个方法改装了一下啊,改装一下提取出去,然后从而来去复用这些方法,我们现在来再去预习下那些模块,看下行不行。
29:16
好,是不是也是OK的,也能拿到值啊,但是此时此刻呢,我们可以看一下啊,我们这个ticket它会来到哪里。现在呢,它就到了我们的这个啊,现在还是在这里面是不是,诶请问一下他为什么不在我这里面呢。他呢来看我最终呢,呃,最终呢,我是不是要去读取我想要的东西啊,我刚刚运行的wech是不是比方说再运习一次,它呢,是不是找到了这个T找到了说明它是没有过期的啊,那么呢,我明明是把这个方法是不是写在这里来了,是不是right方法和read方法都写在这来了,诶那讲到底不是应该这个相对路径不是应该在当前目录下吗?那么为什么它还是在我这个V差里面呢?
30:09
为什么还是在这里面呢?嗯。为什么这路径还是在这想一想啊,诶不应该是这里吗?是不是,那为什么还是在WeChat里面呢。还是在跟V叉在同一个目录呢?在想。因为什么呢?你关键要看一个什么事。你虽然这个方法定义在这是不是,但是它是在当前这个地方被调用的吗?并不是,是不是,它是在另外的模块,是在微差的这个模块是不是被调用的它呢,被调用的时候才去读取那个相对路径,是不是调用的时候才会读取,此时我在wech里面调用,是不是读取我we的这块的相对路径啊,所以说它是不是来到这里,来到这里啊,也就是说大家看啊,我现在是不是在微叉的调用,所以它来这,哎,如果我把它放在另外一个地方调用,比方说放在APP中调用的话呢。
31:14
他一是不是又跑到APP这块来了,它就会跑到这来了,那这样的话呢,有点不太好,就这个文件它跑来跑去,跑来跑去的的话呢,很可能导致我下一次读取的时候就读取不到了,是不是,那么我该怎么办呢?我把它固定在一个地方,比方说我就想固定在这个U里面。怎么固定呢?那我这时候就要使用绝对路径是不是才行啊,我就要使用绝对路径了,不然的话呢,是不是跑来跑去啊,那使用绝对路径。我就得引入一个模块来去帮我去完成啊,这个模块都很好用,叫做pass,我的核心模块是不是note的核心模块pass,我需要cos中的其中一个方法,我必须要,我并不需要所有的,我只需要其中一个方法,什么方法呢?
32:07
叫做方法是不是这个呢,负责帮我去解我想要的这个绝对路径,好,那现在呢,我是不是就是对这个路径需要处理呀,那我能不能放在这里去调用呢。来我在调的时候呢,我要觉得路径很简单,前面加什么。看看their name是不是?诶,这样写行不行呢?想想行不行?哎,我上午解析成决斗记好像没啥问题啊,这周是不是返回这个决斗记,我咋呀,有没有问题。啊,在这呢,有问题,有什么问题呢?想上面是不是有个那变量的查找规则,怎样查找。是不是在它前作宇宙找,是不是找到这个是错误了,他还会看这个是so误呢,我会看啊,发现这个是错误,是不是直接返回这个方最项改为成功状态啊,那这时候是不是会出问题,那现在该怎么办呢?
33:14
我们就放在外面嘛,是不是,我是不是在这里可以写个pass啊,比方说你不行,你可以写fire pass,防止跟pass冲突,那你给写fire pass是不是在外面把这个东西给整一下,是不是,这是我文件的绝对路径,是不是,然后在这里面呢,再传进去不就得了,我现在在外面我还能访问到这个,So呢,访问不到了,那我这样写是不是就对了,就行了,同你下面的这个呢,Read的方法也是如此,我呢在外面是不是定一个这样的方法去解析它的这个路径,然后在这里面是不是使用它的决择路径就可以了,使用绝择路径就行了,就做一个这样处理,那这时候呢,来看这个时候它生成的这个,呃,Ticket这个文件,它最终会拿到哪呢?
34:08
来一下。好,是不是有ticket和呢,此时此刻呢,你会发现S里面是不是多了两个东西啊,是不是因为我使用的决色路径呢,这个干name的使用的是我当前目录下的这个路径,所以说呢,就不会出问题,那今后的文件是不是只会出现在这里啊,就会出现这就不会乱跑了,不会随着你的调函数的调用而乱跑啊,所以说用绝对路径去解决这个问题,那这一块的东西呢,我就不需要了,不需要了啊好,那这以上呢,就是我们的这个第一步啊,获取这个记忆的相关的内容,那大家呢,接下来呢,去把它给完成掉啊。
我来说两句