00:00
下来继续完成。商城后台管理API。我们缺失的一些功能。先来看一个。后台管理的一个模板啊。啊,这个是前端部分这个页面对吧,它需要的这些数据就需要从我们的API里面去获取,对不对?好,那比如这个是产品的一个列表是不是啊,但是我们却少了一个什么东西呢。少了一个左侧的一个菜单。是吧,你看。前端他并不知道我们这个后端都写了哪些功能,哪哪些菜单,所以说这些菜单我们也也要能有一个接口,让用户能请求到,并且这个一级,二级,三级这些层级关系我们也要要给。这个前端使用的时候给他处理好。啊,所以今天我们就来完成一个菜单管理的一个API啊,首先啊,我们说到这个功能,大家可能会先想到哦,创建模型创建表对吧。啊,但是我们仔细分析的话,你会发现。
01:00
它也是一个1233级的一个结构是不是。我们之前写过一个分类管理的功能,它是不是也是这个123级的一个分类的一个结构。啊,那我们有没有就是一种可能,我们去用这个分类表去完成我们的菜单与管理。而不用再去重新去创建表、创建模型这么复杂。对吧,啊,当然是有可以的啊。来看一下我们的分类表。找下。分类表的签约文件。Grade对吧,好。那这个时候我们就可以看到啊,其实我们如果写菜单管理这个功能的话,它跟这个分类的表结构差不多的是不是。对不对啊,所以我们怎么样能用上这个分类表呢?并且啊,还和商品的这个分类。就是不会混在一起。那也就是说我们商品分类要用这个表啊,我们的菜单管理也要用这个表。是不是?
02:00
这个时候我们只要加一个字段进行区分就可以了,比如我们加一个分组的一个字段。可以吧,好。当然你为这个表增加字段,不要直接去改这个迁移啊,你要改这个迁移的话,你还要重新执行所有迁移啊,这样的话,你之前我们添加这些数据都没了,你还要重新添加是不是啊,我们增加表字段的话,可以再写一个啊,增加表字段的一个迁移文件就可以了,就类似于我们给用户表去添加。啊,这个是否被锁定的这个字段的时候是一样的啊好,接下来我们为分类表去添加一个group的一个字段。好吧,啊,实际上这个名称也需要改一改,改不改都可以啊。来创建一个迁移。Art make。Migration。接着是我们迁移的名字啊,是abd,添加某个字段group,然后是to某个表。
03:01
啊,去这个表里面啊。然后。Tablet。杠杠。Table等于指定我们要关联的这个表is啊,我们这个表是带S的。啊,这样就创建了这么一个迁移文件。看一下啊。啊,就是给它去加一个分组的一个字段。太宝。嗯,分组我们用。是类型吧。分组。给一个。嗯,给一个默认值啊。默认值啊,是商品的,商品的这个分类。好,接着我们写我们的这个分组啊,有一个。
04:02
故字是是商品的这个分类啊,商品分类。啊,接着再写一个什么呢?没有啊,我们的是菜单。菜单。这样我们执行一下迁移,为我们的表增加一个字段。我给一个默认值的这个好处是啊,就是之前我们创建的这些商品的分类,它会自动去加上那个值。叫什么?啊,如果我们是一个新的一个。项目。就是重新运行这些迁移的话,其实这个默认值给不给都可以啊。接下来运行迁移生成啊,就是给这个表增加一个字段,我们先打开这个分类表看一下。啊,现在是这个样子的啊,这个样子的。来运行迁移。这个没有结束,我们就CTRLC结束掉,P pan。MIG。
05:01
好,签完成,来刷新一下这个表。啊,他在最后啊在最后。啊,如果我们不想把它放到最后,可以给它加上这个。啊after啊,就是在某个字段后面,我们先这样吧。是不是因为我给了这个default,所以说原有的数据都会给到这个值。有了这个字段啊,接下来去创建一个控制器,用来进行。这个菜单管理相关的一些。功能。窗帘空气啊。一个菜单管理的控制性啊。接着去写我们的这个路由。其实你来分析一下我们的菜单管理和分类管理,真正的差别只有哪?
06:02
啊,其实只有列表这里啊,只有列表这里。啊,你不管是添加也好,还是。这个。详情也好,都是根据这个ID直接就拿到对应的数据的一个详情就可以了,是吧,包括这个更新。知道吧。啊,包括这金油和启用都是一样的是不是,所以我们只需要去啊写一个呃,这个菜单的一个列表就可以了,其他的都可以去。啊,使用分类的原有的这些接口。是不是一样的啊。那。建一个路由啊。接着在下面写。直接复制这个吧。没有啊。
07:03
Index方法。啊,这个控制器。让他继承base controller啊。接下来去干什么呢,去?复制一下啊,他这个。这个分类的这个列表。嗯,改成菜单列表啊。啊,我们还有什么要改呢?还有就是说辅助函数要改,我们要单独为菜单去写两个辅助函数啊,一个是缓存所有的这个菜单,一个是缓存没有被禁用的一个菜单。叫什么?来呃,去找到我们的这个help辅助函数这里。
08:07
那这个这个也得改啊,这个。我们要给一个group。嗯,默认让你使用。分类的这个啊。这里是个Y。等于这个group。也就是说我们加了一个默认值的话,不会对我们现有的啊这个分类产生影响,看哪个是给现有的这个分类。啊,这里去建立缓存了,是不是这两个是不是我们把这两个方法改一改啊。也就是一个是缓存,所有的一个是缓存,就是说被禁用的啊,我们要。
09:01
啊参数呢,你传不传都行啊,传不传都行,因为这边给到这个默认的是不是。啊。这个呃,因为默认的呢,我们是。先写的group后写的,所以这里我们用到的这个space的话,你这个第一个参数就省略不掉了,你就必须得给了。哎,我们。要这个,嗯,商品的这个分组的一个分类。就什么,然后是啊,状态等于一的。这个想给给就就不想给就不给都可以啊啊,因为呃,都用他两个默认值,就是查这个这个商品的,然后是呃。就是全部的嘛。那接下来复制一下这两个啊。去我们菜单写两个分类啊。
10:03
菜单。改一改名字啊,看写C-menu和我们之前的商品的分类,为了做一个区分啊,所以改一改这个,改一改这个名字。嗯。那这里就应该是传菜单这个分组啊,传菜单这个分组。还有这个K也改一改。那接下来这个也改一改啊,加上一个没有。嗯,调这个方法呢,也要传这个没有了。M1N啊。嗯,这个我们也给他加上吧,啊,这个我们去拿商品的。啊,商品的所有的这个。分类的数据吗?那下面这两个菜单是不是菜单的,我们传的是没有嘛,因为统一是使用的这个方法进行查询的嘛。
11:02
啊,就通过这group进行区分的,这里加上了group的查询条件,对吧,查的是分列表嘛,通过group进行分组。啊,这个状态不用管它状态就是说禁用和没禁用嘛,好。嗯,既然我们加了两个新的一个缓存的话。有一个清空啊,清空分类缓存的,那我们就还得再写两个。要把这个菜单相应的这个缓存给清掉是吧,一个nnu。再写一个,没有。好,这样我们。辅助函数这里就写完了,那其实。啊,这个控制器这里就比较好写了。啊,直接就是。呃,我们调我们菜单。相关的两个缓存就可以了啊。一个是没有,一个是没有。对不对。不用传参数啊,因为我们在这个辅助函数里面,因为通过不同的名字就传了一个不同的一个参数。
12:02
啊,传了有不同的它。看到了吗?啊,所以我们在使用的时候就不用再去传这个参数了啊,这是做了缓存的啊。就是说呃,当有缓存的时候直接使用缓存,没有缓存的时候去调这个方法查询分类相关的数据,并且进行缓存起来是不是。实际上。啊。就说我是把它都拆开了,方便我们去使用,你还可以把它这两个方法给合到一起吗。啊,不是这两个是比如说菜单相关的这两个合在一起嘛,然后加一个判断嘛,从一个类型去获取不同的就是所有的啊,还是说只拿这个正常显示的,没被禁用的,是不是它们两个也可以合啊,也可以合到一起都可以啊,你想写到一起的话,写到一起,但是那样代码可能会多一点,还要加一些判断啊,这样拆开写的话,我们用到哪个时候直接去用啊,根据名字我们就知道我们缓存的内容是什么,也是比较方便的。啊,而且公共的查询方法我们已经在这里提取好了啊,这是我们的帮助函数这里。
13:01
啊。嗯,接下来我们进行测试啊。看一看。啊,我们的这个菜单列表能不能拿到可以吧。来。重新登录一下,因为好久没有登录了。先把talking给加上。把这个给换掉。接着。写我们的地址。API前缀。前缀,然后是没有。可以看到正常请求啊,但是没有数据。因为我们没有那个分组的数据是不是。那你来看看。我们之前的分类的这个列表能不能用啊。
14:05
正常的啊。就是没有talking,把talking加上去了。是不是正常的分类?接下来我们去啊添加。啊,一个菜单啊,添加一个菜单。说到添加的话,因为我们的数据库。就是表的这个设计多了一个啊这个字段是不是,所以在添加的时候我们要做一些调整。找到这个添加指令。Check的,这里是进行了表单的验证对吧。这历史验证的内幕啊。因为我们的。啊,这个group。他有默认值,所以不给的话,就它会默认创建商品的这个分类是不是。好,那呃,但是这里我还是要获取到。
15:03
获取到这个。获取分组啊。因为最终最终我返回的这个数据,它会直接批量的去插入到这个分类里面吗,是不是。你看批量的插数的分类里面,所以我如果想添加菜单菜单,我必定要提交这个分组的一个数据。清楚吧。啊。等于。Request。Group。这样的话啊,这里给个默认值吧,也给个默认值。最后我把group也返回回去啊。
16:02
啊,这样不管是进行添加的时候,或者进行更新的时候,都会把我们的进行啊维护上。是吧,啊,只有这个。嗯。我们去添加菜单的时候,会验证这个字段啊,你要是不不给这个字段呢,就会啊,默认的是创建商品的一个分类。添加完成了,那接下来我们去添加一个菜单啊。使用POS的方式。api.test API。前缀不得命前缀。Great啊,Post去向这个地址添加,它有两个参数。到底里面这里去写,把认证给打开。
17:02
包的里面传一个name。比如我们的商品管理啊,这个分组。啊,先写一个用户管理的一个分组吧,先创建一个顶级的啊。用户管理。啊,Group啊,我们用没有。接下来。提交一下试试啊。201创建成功啊,先看数据库。刷新一下。是不是有了一个。这个啊,这个字段为什么没变呢。是因为看一看。啊,我们的空气这里啊,虽然。我们这里返回了这个格,这个字段是不是。对吧,然后也进行了。你看的时候把字段都加进去了,对不对。啊,但是。我们没有干什么,没有进行。他的这个。允许批量复制的字段,你如果不把这个批量复制字段设置进去,就这个字段是不会被添加和修改的。
18:01
啊,知道吧,我们之前讲那个这个受保护的这个可赔偿负责计算就说过。这个问题啊啊,那把它加上我们再进行尝试啊,当然数据库的这个啊,先手动改一下吧。啊,先手动改一下吧。用户管理。啊,顶级的一个分类也是。再建一个商品管理的顶级分类。还是这个类型啊,还是这个分组来创建。201创建成功再次来看我们的数据库。这回就对了是吧?啊,之前我们没有插入进来,是因为我们没有给它的模型设置这个可批量负责字段。啊,那接下来去看一看列表。好,这个是我们菜单的这个列表啊。是不是两条拿到了。对不对。啊,那接下来我去禁用一条,比如把这个12条禁用掉。
19:05
都是可以去调这个分类的,这个方法的派,然后api.test。API里面的S。啊,就是它这个方法是金融和金嘛。把ID改成11,我们禁用11这一条的,禁用11这一条的。然后生的。啊,权限啊。给加上。是不是成功,然后来刷新一下数据库。你看这条啊,这条是不是用户管理被禁用了,那接下来。呃,再去看我们的这个。列表。啊,菜单列表。是不是被金的那条就没了啊,如果我们加个type等于二。是不是就显示所有的,你看这个毕竟也有对吧?啊,其实这个呃功能我们其实都已经测试过,就是写分类的时候已经测试过好多次了啊,只不过现在是我们多加了一个字段,再把这个分类的,还有我们这个的啊菜单的都给测一遍。
20:12
听什么啊,接下来我们把它恢复啊,再请求一下他把它恢复。是不是都有了,这个你不加也油有了啊,不加热菜不也油,因为它这个状态已经恢复了。啊。这样其实我们的菜单管理。啊,就写完了,功能是写完了。啊,接下来要去干什么呢?嗯,因为我们表加了字段。对吧,表下的字段,所以要去,呃,更新一下我们的文档,我们的文档。然后分类相关的这个文档,API文档呢,不用去更新,因为我们你看看分类这里的代码,我们为了就是说去兼容这块的代码,这块代码什么都没改,对不对。而且为了兼容这一块的分类,这块的代码,凡是涉及到格的地方。
21:04
啊,都给了默认值是不是。凡是这个都给了默认值,甚至ha号里面我们也给了默认值。给默认值就是为了我们不去调整这个分类的一个。代码啊,所以说这块没有什么要变动的啊。啊,就是表结构这块需要变动,我们去把文档补一补啊。表结构就是我们的数据字典。在你修改完内容之后,要及时去更新你的文档。不要给使用文档的使用这个造成这个困扰。找到分了这里。好,我们去编辑它,去加一个我们的格字段。啊。分组啊分组。
22:01
他有一个默认值,它的默认值是,嗯。默认是这个啊,默认值是这个商品的这个分组啊。商品分组。菜单菜单分组啊,这两个。保存一下啊好,这个文档就完成了,接着呃,API文档的话。不用更新啊,因为没有。对分类进行很大的一个更改,只不过我们要新增啊,新增这个菜单管理相关的一些文档就可以了。啊,接下来我们想一个问题啊,什么问题呢。像菜单呀,或者分类这样的一些数据,我们一般。啊,就是说提前会把它给创建好,然后在部署项目的时候,直接把数据给导入进去。而不是说我们项目部署好已经上线了,再一个一个去手动添加分类啊,添加这些菜单是吧。
23:03
啊啊,那我们总不能也不至于就是这么low啊,就是说放到一个表里面,最后啊,把这个表哎导出来,等项目上线的时候再导进去是不是。我们可以利用level的数据迁移。数据迁移文件呢,会载。这个database里面的。C里面啊,这样我们运行迁移命令,就可以把数据给我们迁移到指定的一个。表里面。是不是来接着创建我们的迁移文件。Artist。Make。没有啊。回撤。这里会给我们多一个牵引啊,在这里面写我们的牵引。哎,这里写我们的。代码就是填充啊填充。
24:03
菜单数据。嗯。这里就是我们去写,我们要插入数据库的啊,插入菜单里面的一些数据就可以了。我就拿一个来举例。嗯,剩下的就是在。课下里大家填充上就可以了啊。我们都拿一个用户管理来举例啊。我们第一个数组。这个数组里面写我们所有的菜单信息啊,当然它也是一个数组。啊,就写我们多个的这个。彩灯信息先写我们一级的,就这数字里面先写我们一级的。一级的有什么,有一个内,还有我们的用户管理,对吧,接着。啊,它有一个group。这个group我们要写好啊,它是没有为了和这个。
25:03
菜单的分类做区分嘛,是不是。啊,这两个就可以了。嗯,把level也写上吧。PID写上零顶级的嘛,是一级对吧,它还有。子集,哎,子集,它的子集就是二级的这个分类。知道吗?他自己就二级的菜单二,不是二级的菜单啊,二级的菜单呢,它也是一个数组。啊,当然它这里面的这个字段呢,就和我们的这个是一样的。就是和我们这个是一样的。复制一下。当然我们这个是用户管理里面的用户添加。是不是?啊,或者添加用户菜单的话,我们不用做到三级,做到二级就可以了。哎,PID啊,他的这个PID呢,是他他的这个ID,但是他这个ID我们还不知道呢。
26:03
是不是只有创建完成这个数据之后,我们才能得到它的这个PI,就说ID才能作为它的PID。好,这里先先那个。先那个先不写。先不写。到我们创建的时候,再添加它的这个子集就不要了。哎,我们就做两级就够了啊。嗯。那他有多个。添加啊,这个我们作为用户列表吧。这个是添加用户。用户还有什么功能?有一个锁定用户是不是。锁定用户,它不算是菜单锁定用户的话呢。它是属于这个一个功能,这个我先不写啊,就是我们可能出现在左侧的菜单都有什么,来看一下路由。
27:01
找到用户控制器这块。啊,路由的这个用户这块。禁用和启用不用管。嗯,资源管理器。去瞅眼。列表我们需要一个菜单啊,详情不需要。禁用和启用。啊,也就是说这个用户的话啊。只有一个列表需要这个导航啊,就是我们的这个菜单嘛,这里啊看这里就是这个菜单嘛,你看用户的话。只有一个这个用户列表需要,是不是我们没写添加用户的功能嘛,对不对啊。所以说。找到我们的前移类啊,这个也就不要了。哎,这个用户的就完了,用户管理它只有一个用户列表的一个子菜单,那我们再写一个吧,因为这个太少了。再写一个分类管理的啊。
28:02
也是这个组啊,分类管理有分类列表。还有一个是添加分类。啊。差不多了,这两个就够了啊,就是展示在左侧的列表嘛,左左侧菜单一个添加分类,一个分类列表就够了,你像编辑啊,还有其他的页面是在这个页面里面去去操作这个功能啊,这个不是我们左侧的这个菜单,我们现在写的这个数据是左侧的这个菜单。清楚吧。那既然东西比较少的话,我们就全部写完吧,好吧,就按照这个路由来全部写完。用户的没了啊,分类的没了。接着是我们那个。商品的啊。找到这个迁移的这东西。来写下商品的。
29:02
商品管理有一个商品列表。有一个添加商品。没了吧,应该就是这两个。把这些其他的都关掉啊。商品管理。接着看评价,评价呢啊,评价只有一个列表。来。复制一下。评价管理。啊,评价只有一个列表啊,这个就不要了。平台列表。接着看。订单啊,订单有一个也是只有一个列表。因为我们的功能比较简单。粮食商业的一个项目,比较大的一功能,还有各种统计啊,还有各种状态啊。
30:05
订单管理订单列表。接着我又复制了,一个复制一个去写。啊,轮播图的管理,啊,轮播图的这个管理轮播图。嗯。它有添加啊。所以要有两个啊。轮播管理。一个是轮播图的列表,你再写一个添加轮播图的。复制错了啊,你要复制它。停下轮播。
31:03
接下来再来一个啊。最后是我们的菜单管理。菜单管理也是。有这个添加有这个列表啊。好了,我们的菜单就定义完了,就大概有这些啊。我们这只定了一个啊,三位的一个数组啊,就是这是一级的一个分类。啊,这是我们的一级的一个菜单,顶级的一个菜单。咱们拿图来对比啊,就是我们这样。这样顶级的菜单啊。比如说拿这个页面啊,这样顶级的菜单。好,这是顶级的菜单。啊,接着这里面它有这个子集啊,子集呢。啊,就是他可能有的二级的一些菜单,比如。我们的用户是不是有用户列表和用户添加。
32:00
你看这里,比如说我们这个顶级,这是二级,它就有这些菜单啊。好,这个只是定义了一个数组啊,我们再想办法去把这个数组呢去。去循环这个速度插入数据后啊。哎,循环分类数组。菜单数组插入数据库啊。佛一起。倒没有。嗯,为了大家不好区分啊,这里我给它改成5万啊一级的。也就是我们现在迭代的是这个一级的,是不是一级这个分类对不对,我们要把它给插入数据库。啊,使用可瑞的就行,只有这些受保护的才会被插进去,这个自然会自动过滤掉,对不对。知道吧,你看我们的分类的模型,来找一找。
33:00
分类的这个模型,它是不是只接收这四个段?啊,所以我们直接使用就可以啊。创建谁呢?直接把这个万啊一级的这个给放进去,这样就创建了一个顶级的一个。这个菜单啊,然后虽然它这个里面啊,它有一个这个丘这个字段,但是我们这个可批量赋值的没有写它是不是它会自动过掉,不用管它啊,它的创建成功的结果会返回一个创建的这个分类的一个对象啊。啊。写个5万吧。就是顶级的这个菜单的一个对象,接着我们要把它的这个子集,你看球的里面的这个子集去插到。就是说用他的这个PID对吧,用他的ID作为PID是不是。是不是这样的?嗯,好。
34:03
来继续写啊。所有的啊。PID肯定就是它的ID,然后把它啊给插进去,但是这里面的数组呢,我们还要处理一下给他。呃,去。加上这个PID的这个字段。是不是你还要循环去加入是比较麻烦。想一想。看看模型里面我们有什么,模型里面是不是有一个求顿的一个关联,对吧,用PID和ID进行关联的吗?我们可不可以用这个模型关联去添加它的这个字集?是可以的啊。啊,如果不清楚的,你可以去翻一翻手册啊,手册你看到这个模型关联这里都有介绍。比如说模型关联这里。来找到这个关联的这个插入。看到了吗?使用这个模型的这个关联是可以啊,对它进行这个插入的,它会自动去维护这个关联的这个字段。
35:05
明白了没有?啊。你看这里它关联的是POSID嘛,我们这里进行关联的是什么?是PID,也就是说如果我们使用这个模型的它的这个丘顿的这个关联的这个方法的话啊,这个模型关联的方法的话,它会自动帮我们去维持这个PD字段,不用去循环,我们再给他去加这个字段。清楚了吧,好,来,接着来尝试啊。啊,一定要是用这个方法。使用这个方法的。Insert吧,试试啊,因为insert是可以直接支持这个数组的。那哪个数组呢,就是我们这个弯里面啊,弯里面的这个数组它。
36:00
啊,也就是把它啊这这个数组直接放到这个银色的,银色的可以多次,就是批量查数据的嘛,查出多条吗。那接下来我们来运行迁移看一看行不行啊,如果报错的话,我们再改嘛,再调整。呃,打开我们的数据库啊,同时看着数据。这两条我就先删掉了啊。接着去运行迁移,运行迁移p p artisan DB,冒号C,然后杠杠class指定我们要执行的迁移,如果不指定的话呢,它会默认去执行。嗯,那个他有一个database。啊,Database,它会默认执行这个文件啊这个文件。啊,所以我们去指定我们要执行这个这个迁移的一个类啊。就是填充的一个类。
37:00
Menu。来回撤。看一下这个报错信息啊,它是。处理这个。啊,还是处理模型的时候这块插入有问题啊,这个这个还是不能带这个额外的一个字段啊。不能带这样的一个多维的一个数组,所以我们把这个丘疹要删掉。UN site。One里面的求把这个字段给删掉啊,但是你这里删掉之后,你这后面就没法用了。啊,所以在删掉之前,我们先定义一个变量啊,先把这个值给取出来再去删。兄弟们啊,这时候这里面直接使用这个值就可以了啊,这样就行了。好,来试一下啊。啊,成功了,好来刷新一下数据库。
38:00
是不是数据加入进来了,但是你会发现这个PID都是零。说明这个PID有问题啊,没有插入进来,我把这个删掉嘛,但这个肯定是有问题的。啊,那有问题只可能出现在哪,我们这个方法用错了。就是对关联的模型进行插入的时候,让它自动维护关联的键,应该使用的不是这个方法,我们去翻一翻手册啊,翻一翻手册。嗯。往往下找啊,保存方法这里是保存一条的,你看如果保存多条,可以使用save money对不对,但是save money呢,它支持它里面你要放这个模型的一个实例。是吧,往下接着找。叫新增的方法啊,我们是使用create创建的,是支持速度对不对,然后它还有一个添加多个的create是吧,所以我们应该用这个方法,它就能帮我们维持模型关联的那个键,也就是我们的这个PID这个键。换一换方法。再来执行一下,哎,之前的数据,因为已经删了嘛,也是成功的,看一看表。
39:01
数据是有了这个PID是不是也给我们自己加上了啊,这样我们去添加数据比较方便的。是不是使用模型的关联,然后使用它的create money去给我们的这个模型添加它的这个关联的一个类。而不用你再去循环,在它里面去加PID字段。那样的代码就写的太多了。好,嗯。这是我们的菜单啊,菜单我们就。进来了。对吧。加入进来了啊,但是。他加入进来的呢,啊,我们如果还有缓存存在的话,就会出现一个缓存的一个问题,所以。啊,找到我们的help,看看哪里是清除这个分类缓存的。有一个这个清空所有分类的缓存是吧。好,我们。就是说在执行迁移成功之后啊,调一下这个方法清空缓存啊。
40:04
调一下这个函数。这样就可以了,我们先把那个先给删掉啊,这些先给删掉。是从用户管理这开始的。好,明白了是吧,来再来执行一下。因为我们在执行成功之后,把缓存给清掉了啊,这时候我们去测试,去访问这个列表就可以拿到。我们的这个列表了。Talking过期了。来是不是看我们的用户管理里面有一个用户列表是不是,然后分类管理里面有分类的列表,还有这个添加分类,哎,这样一个层级的关系,这样一个API,我们把这个数据返回给。
41:01
啊,这个前端前端他就可以拿着接口去做这个页面的一个展示啊,就可以去循环出来去显示这些数据。但是在实际的使用中。我们做前后端分析的项目,比如说前端是拿VIVO写的话啊,或者拿原来写的话。他们可以去用自己的一个啊root去管理这些路由,还有这些导航,不一定会用到我们的提供的这个接口啊。这里写这个例子,主要是为了让大家去练一练这个数据填充啊。把我们的数据填充给使用上去,填充一些系统。啊,本来就就是说在上线之前啊,在我们部署系统的时候,就本来要填充那些系统的一些数据。
我来说两句