粉丝1651获赞4880

我们来直接写代码第一步,哎啊,发送请求,发送请求的话他有两个基本的啊,有三个啊,三个基本的东西啊,三个基本的点就是你在这个第一部分代码的话写三个东西就行了,第一个是浏览器啊,模拟浏览器,第二个呢请求网址 啊,第三个点的话就是我们的发送请求啊,发送请求就三个玩意,像模拟浏览器的话我们是能够直接啊使用。 对啊,能够干嘛呢?可以通过开发者工具进行复制粘贴啊,进行复制粘贴,复制哪一个呢? 来我们看一下啊,就在这一个,我们不是找到了这个数据包吗?找到这个数据包之后的话呢,下面会有一个请求标头,当这个请求标头里面就是我们的一个参数内容, 看在这个请求标图里面啊,给大家看一看啊,这个请求标图里面啊,就是我们的一个什么模拟伪装的参数内容,就在这个里面, 那我们用的是什么呢?对啊,在这个里面的话我们要去复制哪些内容呢?它的参数的话我们可以直接复制过来啊,像它的 cookie 我们可以复制一份啊,把它的 cookie 还有呢?还有它的一个,呃 u a 拿过来啊,把它 cookie 复制过来,还有这个 user agent, 我们把这两个东西给它复制过来,放到代码里面。放到一个什么字典当中啊? 复制过来之后呢?放到字典里面啊,一个是 cookie 哎,直接给他拿过来,嗯,还有一个是什么呢?还有一个是我们的 user a 卷好长啊,好长。对,挺长的啊,因为他的话是表示你的用户信息啊,用户相关的一个信息数据,所以说他有会比较长啊, 有些的话可能会短一点,但是长的话无所谓啊,反正是复制粘贴的嘛,不需要你自己手工去打啊,但是你直接复制过来就行了。这个 cookie 的话是什么呢?啊?是我们的用户信息啊,常用于检测干嘛呢?是否有登录账号? 有登录账号啊,我们这个 u a 的话就是用户代理打这个 u a 啊, user age 就是我们的用户代理 表示浏览器或者说是设备的基本身份信息啊,我们用这两个的话就可以做一个简单伪装啊,为什么加这两个呢?首先第一个啊,啊,第一个的话我们要去模拟成什么呢?我们要去模拟成浏览器, 对,模拟浏览器的话,我们浏览器和设备相关的信息我肯定是要携带上的,像你的 windows 系统 win 十的对吧? win 六十四位的对不对? 还有相关的一个什么呢?你的电脑啊,就是你的浏览器的版本,看到没有啊?这是我们浏览器啊,谷歌浏览器,然后幺八幺二八的一个版本。对,这是最基本的一个信息啊,给他伪装过来说。伪装过来,为什么我们还要加这个用户信息呢? 对,为什么还要加这个 cookie 呢?短加这个 cookie 的原因是什么呢?因为像淘宝这个网站啊,就是你不加 cookie 的话,就你不登录账号,你是没办法获取到数据的。就有些啊,就某些网站干嘛呢?是需要登录账号之后才能啊,查看到数据内容 对像这种话,我们就可以干嘛呢啊?你如果说不做模拟登录啊,不实现模拟登录,那你可以干嘛呢啊?携带登录账号的一个 cookie 进行请求 哒,这样的话就可以了啊。加这两个就够了嘛啊加这两个就够了,如果说不够的话咱们再加其他的嘛,因为像 有些网站的话你只要加 uv 就可以了,有些网站的话你就啊 cookie 和 uv 都要加,那有些的话可能说加这两个不够。那伪装。如果说啊如果说我们加这两个东西就就伪装的话。 但嗯你你只是做了一个 cookie 和 uv 的话,在我们获取数据的时候你拿不到,或者说你得不到数据,或者说呃你得到数据不是想要的,那你再去加其他的,或者说再去进行呃进一步的一个分析,明白了吧。好吧,这个的话就是模拟浏览器啊,直接去复制就好了。 然后第二个啊第二个啊,我们的一个啊发送啊我们的请求网址。请求网址的话就是刚刚干嘛呢?刚刚啊,抓包找到的链接地址 领地址啊,你也给他复制过来就可以了啊。就哪个呢?就这个链接啊,很长这个链接也很长啊这个链接也很长。你也可以干嘛呢?直接给他 这样子复制过来也可以啊,也可以,对不对?然后复制干嘛呢?粘贴用个命令名接受 u l 等于什么呢?等于我们这个链接好发送请求的话啊。对啊,我们网址也给它复制过来了。那发送请求怎么去做呢? 发送请求的话我们一般情况啊。一般啊,一般情况使用的是第三方的一个模块,哪一个 request 用的是这个模块啊?用的是这个第三方的一个模块 request 去进行一个请求的,那这个的话它是第三方,首先第一个点你要去安装这个模块,要安装啊,安装我们这一个 request 的一个模块。 第二步,打安装之后的话,我们要去导入一下这个模块,就你安装了,你不导入的话,你是用不了它的方法的, 如果说你导入,但是你没有安装的话,你没有这个东西他也会报错,懂了吧?啊?首先得去安装啊,安装,安装好了之后的话,呃,安装的话怎么去安装啊?就文件啊, windows 文文件,加 r 键,输入 cmd, 点击确定, 然后输入安装的命令, pip 应自动 request 进行安装就好了啊,就这样。然后导入的话也比较简单啊,导入的话我们直接在代码里面导入就可以了, 导入数据请求的模块,用这个 input 关键字啊,进行一个导入,加上他的名字啊,导入我们这个模块名, ok 啊,导进来之后的话,我们去发送请求的话,还需要注意两个细节啊,还需要注意两个细节,第一个的话是他的一个请求方法,注意一下他的请求方法是什么?就是我们请求这个网站用要用什么样的方法去请求,然后其次的话就是他的一个请求参数是什么样子的, 对,请求方法的话,我们可以在什么呢?在这个地方看啊,哎,就这个地方,那我们这里不是有个常规吗?前面这里不是网址吗?网址下面的话,他这里就会告诉我们请求方法是什么,那这个话就是我们的请求方法。 对,这个东西方法就是 get, 对,那就说明什么呢?我们这个网站的话是一个 get 请求啊, get 请求,那请求参数呢?像 get 的一个请求的话,他会有一个呃查询参数啊,这个查询参数的话非常神奇啊,他查询参数的话是直接干嘛呢?在链接中显示的, 在链接中就有的,咱们的查询参数的话是直接在链接里面,就是哪一部分就是我们这个链接不是很长吗?特别长是吧?哪一段是他的一个查询参数呢?就是问号后面的这个内容, 打这个问号后面的这些就是属于他的一个查询参数。那就这个问号后面啊,这一部分的话都是啊,打这种 gsv 等于二点七二。对啊, appk 等于幺二五七七四七四四七八,对啊,这些的话就是他的一个查询参数 啊,像这种长比比较长的话,像这种情况啊,你可以直接请求啊,就有两种情况,第一个的话你可以干嘛呢啊?第一种啊,可以直接啊,通过 get 方法 请求我们的链接啊,直接请求啊,直接请求啊,第二种的话啊,第二种话干嘛呢?我们可以额外构建啊,可以额外构建一下我们的一个参与参数。 那什么意思呢啊?如果说直接请求的话怎么去写呢啊?直接请求的话就相当于啊 request 点上一个 get 请求 u l 等于什么呢? u l headers 等于 headers 啊,再用一个 response 变量去接收,这样子的啊,这样的话就直接对于我们这个王者去请求了,对这个的话就直接请求我们的王者啊啊,就这个方法,但是有点长啊,我感觉没必要加这么多, 这里的话我们就给短一点啊,大概的话是这个样子啊啊这是我们啊请求网直接请求的话大概就是这个样子的 啊大概就这样子立了吧啊如果说你要构建的话你要额外构建这个查询参数的话就相当于什么呢?我们问号链接就是哪个呢?链接问号和作战内容我们给他删掉我们重新用一个字典去接受。额外去构建一个什么呢?查询参数 咱们去额外构建一个查询参数啊,就给它分开写,用一个 data 但用个字典去解锁 它这个数据啊它参数在哪里?在这个窄盒里面可以复制的,这个的话就是它的参数给它复制过来,然后呢放到这里面啊再给它啊。呃加上我们的引号我们做一个批量替换啊做一个批量的一个替换把它构建成我们剑指队的一个形式 来替换, ok 啊。然后我们请求的话那这里的话是不是我们这个 u l 里面它是已经没有查询参数了啊?它里面是没有查询参数了,所以我们去请求的话就要在这里干嘛呢?多给他传一个查询参数。 performs 等于 data 啊就这么去写懂了没有啊那呃如果说你要 o i go 键的话就这样子去写啊。我们来个短一点的啊,这个太长了,给他 摆个短一点的啊。我就短一点啊。短一点别太长了,太长的话有点不太好看啊。就大概是这样的就额外构建的话就是这个样子的, 明白了吧。嗯啊这里可能不太好看啊,我们这样写吧对吧。直接请求链接 我们给他复制过来我们在这里写 啊这里话是直接请求链接,那如果说我们 o o y 啊,构建我们的一个常用参数 笔记,给你们写好,给你写好,这样子看的话更舒服一下,但那样子看的话太太那个了 呐, ok 啊啊,太多的话是太不太舒服啊,太多的话我感觉不是很舒服啊, 就就相当于这样子啊,就就大家了解一下就可以了。就是如果说啊比较多的话,你可以干嘛呢?可以给这样写啊,也可以啊,按照这种方式,这两个方式都可以啊,都可以,但是一般我如果说为了方便更方便传餐的话,我们一般会用这种,就长链接的话,就链接比较长,我们一般会写以这种写法,他会给他额外构建一个,这样写的话会更方便一些好不好? 好,那这就是我们第一步啊,这个的话就是第一步我们的一个呃,发送请求的基本代码内容啊,基本代码的话就这些啊,因为相关的东西的话他不是很复杂, 他不是很复杂,只要你能够啊,只要我们按照第一步你分析到了相关的数据位置之后,他起他里面的相应的参数内容啊,代码内容啊, 我们都是可以复制的,像我们的魔力浏览器啊,链接啊,参数啊都是复制的,然后方法是根据网站来上面来的,然后把这些参数的话直接传进去就好了。好,这样的话就第一步发送请求。

这就是我坚持的动力,我看今天群里反馈了一些问题,你改了没?没,还没来得及改那些。那都是些小的,一晃没有大的一些罢了。我今天改啥?就是现在就是, 呃,性能有点,媒体稍微人多一点啊,这个 cpo 以及内存就会飙升,所以我在排查代码,看他们男女有没有内存泄漏。今天我利用用这个 阿里这个诺基亚的新闻平台在这飞行看内存就占了百分之九十八点三,我在排查。排查在吗?嗯,那完了我把群里那些问题整理一下,你有时间一起改吧。 哎,行行,我,我先把又先把这个搞完吧,大家能够流畅的用。嗯,没看啊,今今天到现在又一千零二 二十三个,我觉得现在每一天稳稳当当的在一切以上。可以可以可以可以,加油,这就是我坚持的动力,哈哈哈。

微信小程序已经不支持使用 get user 接口获取到头像和昵称了,获取到的昵称会是默认的微信用户头像是默认的灰色头像。那么当下最普遍的一个登录流程,我们来看一下。点击进入到我们的个人中心页面,那我需要点击注册登录, 此时前端会使用微信小程序提供的 login 接口获取到扣的,然后调用服务端给出的接口把扣的传过去。那服务端接收到扣的之后,同时还需要 a p p id secret, 用这三个向微信接口服务去换取到 open id 和 section key, 并且在数据库中保存一条数据。那么此时我希望我们显示在个人中心的是我们真正的一个微信的昵称和微信 头像,那微信小程序给我们提供了一个微信昵称和头像获取的方式,我们需要挨个的手动去获取。进入到修改页,那我们要获取头像,我们可以点击这里, 点击之后会弹出一个弹出框,在这我们可以选择使用微信头像或者在相册当中去选择,你也可以使用拍照的功能去拍出一张头像,那这个方式它使用的是微信小程序提供的一个 button 组件,把 open type 的值设置为了 choose a wetter, 然后我们点击使用微信头像,他就会获取到我们这个头像的一个地址,然后我们要把这个地址更新到数据库当中去,然后我们回到我们个人中心页面,这里就显示了微信的一个真正的头像,那同理我们要获取到微信真正的一个昵称,我们也是进入 到修改页,然后点击这里,那点击这里呢?他也会弹出一个框,用户昵称的获取。微信小程序给我们提供的是一个 input 组件,把 type 设置成了 nickname, 那我们选择微信用户昵称,这就选择过来了。那同理我们要把这个昵称也更新到数据库当中,然后我们再回到个人中心页面,此时这里就显示了一个真正的用户昵称。


各位同学大家好,这里是由 it 影点 com 为大家提供的 nest g s 系列教程,我是独角老师大地。那这样的话,我们首先给大家介绍一下这个 nest g s, 然后给大家讲解一下这个 nest g s 的环境搭建以及创建运行这个 nest g s 的项目。 那首先的话,我们看一下这个 next g s 的一个简单介绍。 next g s 是一个接近式的 note g s 框架,可以在 type script 和 javascript 之上构建高效可伸缩的企业及服务端应用程序。 next g s 是基于这个 type script 编写的,并且结合了这个 o p f p 啊 f r p 等相关设计理念啊,在设计上很多灵感来自于这个 angler 啊,那谷歌的 angler 很多模式又来自于这个 java 中的 speed 框架啊,比如 比如说依赖注入面线切灭编程等。所以我们可以认为 nest 是 note g s 版本的这个 spring 框架啊。 nest 框架底层 http 平台默认是基于这个 express 实现的,所以啊,我们无需担心第三方库的缺失, nest 只在成为一个与平台无关的框架啊,也就是从技术上讲啊, nest 可以结合任意的 note g s h t t p 框架 啊。那在 net g s 里边默认支持了这个 express 以及 firstly 啊。当然,你也可以选择适合你的这个 not g s h d t p 框架来结合我们这个 net g s 来开发应用程序啊。 那这个 nest g s 的核心思想就是提供了一个层与层之间的偶合度极小,抽象化极高的一个框架体系啊。目前的话,这个 nest gs 在行业内啊,受到了很高的关注度啊,所以我们有必要学习一下,那下边的话啊,这里边我们给大家列举了他的官网啊,以及啊中文的一个翻译网站,以及 github 上边这个地址啊 啊,这就是这个 nest g s 的一个简单介绍啊,那这里边我们要知道的就是这个 nest g s 它是基于这个 types trip 编写的啊啊,它是一种面向对向的一种编程方式, 然后它很多灵感来自于这个 angler 啊,所以这个 nest 里边的语法很多和 angler 里边非常相似啊。 然后再一个要知道就是 nest 它是一个与平台无关的框架啊,但是他默认啊,支持了这个 express 以及 firstly 啊,所以我们无需担心他第三方库的缺失啊,也就是啊,很多功能的话,我们直接可以用 express 里边的模 模块来实现啊,这就是 nest g s 的简单介绍。那接下来的话,我们看一下这个 nest g s 和 egg g s 的一些区别啊,那这个 nest g s 和 egg g s 都是比较优秀的。这个 note g s 框架啊,都是为企业级应用而生 啊,这个 x g s 啊,它是基于这个 coa next g s 默认是基于这个 express 啊,当然 next 也可以基于其他框架。 那这个 x 的文档的话啊,相比这个 nest g s 要优秀一些,因为 x 的话是我们国内啊开发的。这个 nest g s 的话,它是老外开发的啊,所以这个文档以及资源的话啊,这个 x 更优秀一些。 那关于这个约定方面的话啊,这个 x g s 其实比这个 next g s 也标准一些啊,我们知道这个 express 科瓦是 纳子 gs 社区啊,用的比较广泛的框架啊,简单并且容易扩展,非常适合个人项目啊,但是框架本身缺少这个约定标准的 mvc 啊,会有千奇百怪的写法 啊,所以的话啊啊,我们要学一下这个 egg g s 或者 nest g g s 啊,它都是按照约定进行开发的,但是啊,这个 e g g s 的话,相比这个 nest g s 这个约定更标准一些啊,更规范一些。 然后啊,这个面向对象方面的话啊,这个 next g s 要优于这个 egg g s 啊,因为我们知道 next g s 它是基于这个 text script 啊,并且啊,它啊很多东西是参考这个 angler 开发的啊, 如果你会这个 anger 或者 java 的话,学习这个 net g s 是非常容易的啊,下面的话,我们也列举了官方文档上给我们提供的 egg g s 特性以及 nest g s 的特性,那这个的话,我们就不读了啊,这就是这个啊, egg g s 以及 nest g s 的一些啊区别啊,这里边我们做了一些简单的对比啊。 ok, 那接下来的话,我们再给大家看一下 学习这个 nest g s 必备的基础啊,我们知道这个 nest g s 它是基于这个 type strip 以及 express 的啊,所以我们首先必须要有这个 not g s type strip express 基础啊,你才能学习我们这个 nest g s 啊,如果大家没有这个基础的话,你首先学习一下我们前边录制的这个 type script 啊,这个入门实战,然后这个免费教程以及这个 not g s express 啊,基础的免费教程啊,你要会这些东西,你才能学会我们这个 next g s。 ok, 那这个介绍 以及啊,学习 next gs 必备基础了解以后,那接下来的话,我们给大家看一下这个 next gs 的环境搭建以及创建运行这个 next gs 的项目。 那 nest gs 的话,它是 note gs 框架啊,所以我们在搭建 nest gs 环境之前,必须在电脑上安装 notegs 环境啊,推荐安装 notegs 最新稳定版本啊,也就是回头你安装一下这个版本啊,这个就是最新稳定版本。 ok, note gs 环境搭建成功以后,然后接下来的话啊,我们就可以用命令行工具来安装 nest c l l, 也就是 nest 的一个开发环境。 怎么安装呢啊?通过 n p m i g g 然后 at next g s 斜杠 c l i 就可以安装这个 next g s 环境啊,当然也可以通 通过 cnpm, 也可以通过样来安装我们这个 nest gs 的这个环境啊。那接下来的话,我们给大家演示一下啊,首先的话,打开我们这个命令行工具啊,在我们这个 windows 里边和麦克电脑里边都是一样的啊, 然后接下来的话啊,输入这个命令来安装我们这个啊。 net gs 的这个 c l i 啊,也叫脚手架工具啊啊,这里边的话,我们就用这个 c n p m 来安装,当然你也可以通过样来安装啊,那如果用 n p m 的话,可能会失败啊,所以我们推荐大家使用后边这两种方式 啊, ok, 我们安装一下,那这个 next gs c l i 就是我们这个 next g s 的这个环境啊,也就是它的一个脚手架工具。 ok, 看一下啊,安装完成了,那这个 c l i 安装完成以后,接下来我们就可以通过 next 命令 来创建我们这个项目啊,接下来的话,比如说我们想在地盘的这个 nest 目录里边来创建一个 nest demo 零幺的项目,那这时候的话,我们首先得进入这个地盘的 nest 目录啊,那这时候的话,我们就在这敲入这个 d 冒号啊,然后接下来 cd 到这个 nest 啊, cd 到 nest cd 进去以后,然后接下来的话,我们就可以在这里边来创建项目啊,那创建项目的话啊,通过 nest new 啊,来创建我们这个项目,那这里边的话我们输入 nest demo 零幺,然后回车 啊,回车以后啊,他这里边让我们选择安装依赖的这个,呃,叫工具啊,那这里边的话啊,可以是 npm 也可以是样啊,因为我们这个电脑上已经安装过这个样了啊,所以这里边的话我们就选择样 npm 的话啊,可能会失败,所以这里边 话我们推荐大家使用这个样啊,如果大家电脑上没有安装这个样的话啊,你可以通过 n p m 然后这里边来个 igar j, 然后这里边来个样啊,就可以安装这个样啊,也可以通过 c n p m 来安装这个样啊。 ok 啊,那这样的话我们这个项目就创建成功了啊,并且这里边这个依赖也安装成功了, 安装成功以后,然后接下来的话,我们 cd 到这个项目里边啊,你看一下它下边都有提示啊, cd 到这个 nest demo 零幺里边,然后运行这个叫呃样啊, raw start 或者 n p m raw 一个 start 就可以运行我们这个项目啊, s t a r t 啊,那接下来我们运行一下啊, y a r n 一二 raw s t a r t 啊 啊,刚才这个命令敲错了, ok, 那这样的话啊,他就会啊,把我们这个呃 nest 的项目启动啊,然后接下来的话,我们 在浏览器里边输入 local house 的冒号三千,就可以打开我们这个项目啊, local house 的冒号三千,看一下这里边输出一个啊, hollow word 对吧? 啊,这就是我们这个呃 nest 的一个项目就创建好了。创建好以后,然后接下来的话,我们导入到这个 vs code 里边啊,给大家分析一下这个 nest 的一个目录结构啊。啊,找到我们刚才创建的这个 nest demo 零幺, 然后把它打开啊,打开以后我们给大家看一下这里边的这个目录啊, note modules 的话,就是放我们这个模块的地方啊,然后接下来的话,下边有一个叫 package 点 jason 啊,这里边的话主要是 配置我们这个项目的版本号,项目名称啊,以及项目的一些元素剂啊,以及我们这个项目所需要的一些依赖啊,这个文件必须得知道。然后再接下来啊,这里边 还有一些,呃,还有一些 get 忽略的文件儿,还有我们这个 next c l i 的配置文件儿,以及一些其他的配置文件儿啊,这些你可以不用管,也就是这里边儿这个配置文件儿啊,我们要关注的就是这里边儿这个叫 package 这点儿 dancer 啊,其他的配置文件儿都可以不用管。 然后这里边还有两个文件夹啊,一个叫 src, 一个叫 test, test 的话你也可以不用管,它是我们测试相关的目录啊,这个 src 的话就是我们开发项目的目录啊, 这边的话默认有这么多文件啊,魅点 g s 的话就是我们这个 nes 的一个入口文件啊,然后再接下来的话,在呃魅点 g s 里边加载了这个 a p p model 啊, a p p model 的话是我们一个更模块,然后在这个更模块里边的话引入了这个控制器以及这个服务啊,更模块的话告诉这个 nest gs 如何组装这个应用啊,然后接下来我们再留 浏览器里边输入 local house 的三千,那其实访问的是谁呢?访问的是这个控制器里边的这个方法,然后在这个方法里边他又调用了服务里边的这个方法啊,所以这里边返回了一个 hello word 啊,然后这里边我们也可以改一下,改成一个叫你好 啊,你好啊, nest g s ok, 然后接下来运行一下啊,当然这样改完以后啊,他这个 nest 的程序并不会立马生效啊, 如果我们想要他改完立马生效的话,那这时候我们需要运行这个命令啊,看一下,叫 n p m 而撞 start, 冒号 d v, 那这样的话你 你改完代码以后他就会立马生效啊,那这时候我们再重新运行一下,叫 yard run 什么呢? yard run start, 然后这里边来个 d v 或者 n p m round start 啊,冒号 d v 都是可以的啊。 啊,那这样的话我们这个项目照样运行起来了啊,你好,奈斯特 gs, 然后这时候的话啊,你改一下这里边这个代码啊,改一下代码保存以后,那这时候他就会热加载啊,热加载看一下, 那这样的话,我们改完这个代码以后啊,就不需要重新运行我们这个项目了啊,你直接在这保存,然后接下来的话我们就可以看效果了啊,这就是我们刚才给大家讲的两个命令, 那这些命令的话,其实都是在我们这个 package 点 jason 里边配置的,你看一下啊, npm run star, 它就是执行的这个命令啊, n p m run 啊,这个 start 第一位执行的就是这个命令啊,当然 yeah roll start 和亚 roll start 第一位都是一个意思啊,就是我们刚才在这里边儿啊,是不是执行了一个叫 yeah run 啊, start 第一位啊,你也可以执行这个叫 n p m 啊, star 是第一位啊,这个都是一个意思啊啊,同样的可以运行啊,看一下是不是也可以运行我们这个项目啊, 这就是给大家讲的如何搭建 nest g s 环境以及创建 nest g s 的项目啊,那这个 nest g s 环境的话,我们只需要搭建一次,也就是你这个命令或者这个命令执行以后,后期的话,我们直接可以通过 nest 六来创建我们这个项目了啊。 next 能有创建项目的时候,然后接下来的话,我们选择一下安装这个模块的这个工具啊,选择完成以后他就会下载依赖,下载完成以后,那这时候的话我们就可以运行这个项目了啊,运行的话,我们 cd 到这个目录里边运行这个 eroster 冒号 dv 或者叫 n p m roll start dv 啊,都可以运行我们这个项目啊,也就是刚才给大家讲的这几个命令啊, n p m 或者啊鸭 roll, 但是第一位都是可以的啊。 ok, 然后我们又简单的给大家介绍了一下我们这个目录结构啊,我们要啊关注的目录就是这个 src 目录, src 目录就是我们这个开发目录啊,这里边的话啊,刚创建好的话,有这么几个文件 啊,有这个 mate gs, mate gs 的话是我们这个入口啊,在这个 mate gs 里边我们可以配置这个全局的中介件啊,啊,以及可以做一些啊配置平台的操作啊,比如说这里边我们可以加载这个 express 平台, 然后再接下来的话啊,在这个 a p p 里边加载了这个更模块啊,看一下在 a p b 里边加载了更模块,然后在更模块里边的话,定义了我们这个 a p p ctrl 以及 a p b swats 啊,如果你学过这个 angler 的话,这个代码啊和 angler 里边非常非常相似啊。然后接下来的话啊,如果 我们访问什么呢?如果我们访问一个叫 local host 三千啊,访问这个地址的话,它其实实际默认加载的是谁呢?实际默认加载的是不就是这个 app controller 里边对应的这个方法啊?你看一下我们刚才运行的时候,实际它加载的是这个 啊,那这里边的话啊,虽然他没有配置路由,但是他这里边会给我们自动适配路由啊,比如说你看一下我在这写个 get news 啊, get news, 然后在这里边的话就写一个叫 get news 啊,这个表示路由啊,你上边写个 news, 然后下边这个方法的话,你可以随意写啊,随意写,比如说就叫 news, 然后接下来的话,这里边我返回一个支付串啊,啊,支付串叫这是啊,这是 nest 里面自定义的方法啊,也叫页面啊, 也叫路由, ok, 也叫路由,那这时候我们给大家运行一下,看一下啊,啊,保存,保存以后,然后接下来的话,我们要啊调用这个方法的话,我们直接在这里边输入啊,对应的这个路由,也就是 news 啊, news, 那这里边的话,我们刚才结束了啊,我们再重新预习一下啊,预习起来以后你看一下啊,输入 locals 三七下边 news, 那这样的话是不是就加载了这个控制器里边对应的这个方法? ok, 那同理啊,同理应该能猜到,对吧?你可以继续配置我们这个路由啊,比如说这里边再来个,呃,叫 product, p r o d o c t 啊 product, 然后这里边叫 get product, 注意啊,上面这个的话是装饰器啊,如果大家不懂这个装饰器什么意思,回头看一下我们前边讲的这个 type script 这个代码啊,啊,讲一下啊, 看一下 typescrip 的这个教程啊,那这时候我们再预警一下这里边啊,输 product, 对吧? product, 它是不是就可以加载这 product? ok, 然后在这个 ctrl 里边的话,它又注入了这个服务啊, 也就是你看我们默认访问的时候,他其实调用的是什么呢?是不调用的是这个 swipes 里边这个,呃, get hello, 这个这个方法,那这里边我们也可以配置其他的方法啊,比如说叫 get product 啊, p r o d u c t 啊,然后这里边啊,他返回的类型是这个 stream 啊,这就是 type strip 的语法。然后这里边的话,我们必须得返回一个 stream 啊,返回 stream 啊,然后这里边写一个叫啊,商品啊,商品啊,服务,商品服务。 ok, 然后接下来的话,同样的我们在这里边可以调用我们刚才定义的这个方法啊,叫 res 点一个 a p p swift 啊, a p p swift 是不是在我们这里边引入了,在控制器里边引入并且注入了,然后调用里边的这个叫 get product。 ok, 那这时候我们在访问这个 product 路由的时候,他应该加载什么,是吧?加载商品服务啊。 ok, 啊,这就是啊,我们默认创建好项目的一个架构啊,他就是这样一个架构,以及他如何运行的啊?我们访问访问这个路由的时候啊,访问这个,呃,这个路由的时候啊,他首先加载的是控制器啊,以及访问这个页面,首先加载控制器,然后控制器里边又去调用了我们对应的这个服务啊。 ok, 这就是一个基本结构。当然啊,呃,正常的这个 next 项目的话啊,它是由模块组成的,也就是我们啊访问这个页面的时候啊,访问这个啊, local house 的冒号三七的时候,它首先啊 进入这个魅点 gs, 然后魅点 gs 的话这里边加载这个歌模块,然后歌模块里边的话他又去调用其他的模块啊,然后在其他的模块里边他又有什么呢?又有对应的这个啊,控制器以及对应的这个服务啊,也就是在其他的模块里边啊,他又有, 呃,又有我们刚才写的这些东西啊,复制一下,稍等一下,复制一下,看能不能复制过来啊?又有这些东西,就这个意思啊,就这个意思 啊,后边这个啊才是一个,呃,比较完整的啊。 next gs 一个架构,前边的话就是我们刚创建好的这个架构啊,大家首先了解一下, 然后后边的话我们再一点点给大家讲这个控制器,讲服务以及讲对应的这个模块啊。那这一点的话我们就给大家先讲到这里啊,这一点的话,首先给大家介绍了一下这个 nice gs 啊, 然后给大家讲了这个环境搭建以及创建运行 nest gs 项目啊,最后又给大家介绍了一下我们这个 nest gs 里边的这些文件啊,以及他的一个执行流程啊,执行流程啊,以及 nest 项目的一个基本结构啊,那这讲的话我们就讲到这啊。

今天是使用 next 加 ts 开发服务端的第三天,呃,我也是从零学习这两个技术啊,然后去做服务端的开发, 哎,我觉得这个东西啊,真的是太简单了,这个耐克斯特呢,几行代码就可以去写一个接口,真的是风装的特别到位,我觉得只要搞明白他的 sos 以及抗初了,还有猫斗啊,哎,我觉得这个问题就基本上你就可以写借口了,很容易啊。还有他的数据库的操作啊,你可以用一些第三方库, 你基本上你连色库都不用写,我原本还开始写什么塞莱克特星, fram 啊,英赛的英兔等等啊这样的色口语句,后来发现,哎,有一个第三方库你可以直接套到数据库啊,你直接比如说 你要查所有的数据翻的,哦,特别容易啊,哎,还有好多比如说像一些入餐的教宴啊,你可以定一个地铁哦,然后它里边可以去做用第三方包,也可以去做入餐的格式的教宴。哎,再说一下, ts 之前也没有用啊,那么为了这个项目我觉得也没有必要去单独的去学 ts 在这里边唯独用到 ts 就是他的类啊,以及他的什么,他的这个,呃,变量的类型对吧,其他的其实都没啥区别。 呃,总之啊,这个进展还是很顺利的哦,还有一个事情,就说我们前端在写代码的时候啊,都是服务端给我们提供过来的一个接口文档,大部分 都用的是这个死歪哥,对吧?哎呀,当时啊,我们就想这个死歪哥这文档他们是怎么搞的,对吧,也知道是用代码声称的,但也没想到他这玩意用代码声称这么简单, 也是有一个第三方包,对吧?啊,你只需要在相关的位置去做一个引用定义,哎呀,很快就可以生成一个很完善的 非常详细的一个斯外国文档啊,我觉得我身上的斯外国文档啊,是特别特别详细的,比好多服务端给的斯外国文档还不详细,哈哈。啊,我觉得, 呃,现在觉得越写越有意思,所以我也强烈建议啊,我们做前端的小伙伴一定得尝试,即使你不会录的 gs, 我觉得这个与你会什么录的 gs 没啥关系,听见没,你直接上手可以用它去搞一个哪怕很简单的几个接口啊, 走一遍这样的所有的流程,包括从他的漏油入餐、返回值、查询数据以及到文档的声称。 你会对你整个的开发有一个非常大的一个提升和认知,让你以后跟服务单的交互啊,会更得心应手啊。哎,好了,继续工作了。


不错, 肚子。摸摸肚子怎么啦?嗯,摸摸肚子好吗?摸摸肚子。 婆婆肚子疼吗?嗯。婆婆肚子疼吗?嗯。 睡觉。 哦,宝贝啊,你是肚子疼吗?嗯。宝宝。你哪疼呀?啊?哪里疼?嗯, 妈妈。 可怜的宝宝。 你。你在疑问什么呀?宝贝啊,你是肚子疼吗?我的宝宝。