00:01
哈喽,各位小伙伴们大家好。那接下来啊,咱们呢,去完成收集平台属性的操作。那咱们呢,看一下的已经完成的这个项目。那首先说啊,用户啊,可以选择某一个一级分类,以及二级分类,以及相应的三级分类。那么当你选择完三级分类的某一个产品的时候,啊,那在底下这里啊,在table这里就可以展示相应的属性名称与属性值列表。那这里面呢,咱们的说一下子什么是属性名称,哎,属性名称。以及啊,还有什么属性值列表。那这里面呢,老师呢,给你们举一个例子。就比如说啊,在前台项目当中,咱们呢,是有卖手机的,哎,这个选项的。那对于手机而言啊,它呢,有一个属性就是什么呀,颜色。
01:00
那以及啊,也有它相应的属性值可能很多对吧,比如颜色呢,有粉色对吧,有红色哎,有蓝色等等等,哎蓝色等等。那所以说啊,什么是属性,就比如说颜色,那什么是相应的属性值,那比如说颜色有粉色对吧,有红色有蓝色,那这些就是相应的属性值。那咱们呢,稍微理解一下子,什么是属性名称与属性值列表。那咱们接下来要完成的是哪一部分呢?是这一部分。对于添加属性这里。那这里呢,咱们呢,看一下的。那首先说啊,就比如说老师呢,要新增一个属性名,比如说咱就是颜色。那你也可以给这个属性名称颜色啊,添加相应的属性值。对吧,当你一点击添加属性这个按钮的时候啊,那你会发现table的底是不是多了一行。
02:03
那你就可以书写你相应的属性值,比如说粉色。那当然你还可以接着添加相应的属性值,比如说来一个蓝色等等等。那当然像相应的属性与属性值,你这些数据你一定是要收集的,为什么呢?因为当你一点击保存按钮的时候,那一定是会向服务器发请求的。把相应的属性名称以及相应的属性值提交给服务器,那在这里是不是进行展示?那所以说啊,看一下咱们现在正在开发的这个项目。那首先说啊,那将来呢,你收集到的相应的属性名称,以及相应的属性值是要提交给服务器的。而我们目前而言啊,只是完成了相应的静态,那所以说啊,咱们呢,先把接口先给它写好。
03:01
那咱们呢,去找到咱们相应的API文件夹,那应该是API文件夹下的这个a tr对吧。那咱们这里面呢,再新增一个接口,那这个接口呢,咱们也写一下的注释,那这个是什么,是不是添加哎属性与属性值的接口。那咱们呢,去看一下子咱们在线的SW。得找到这个接口,他们应该是商品基础啊,接口这里面应该是哪个呢?应该是这个。叫做save at tr info save是保存吗?At tr是属性吗?Info,这不就是信息吗?对吧,是一个POS的接口。那咱们呢,把它相应的地址啊,咱呢先给他拷贝走,那这是咱们的地址。对吧,那以及请求啊,是post的请求。那你猜猜这个接口需不需要代餐的,那一定是需要代餐的,因为你需要把相应的属性名,以及相应的属性名的属性值是不是带给服务器。
04:10
所以说呢,一定是需要带参的对吧,那所以说啊,咱们去写下这个接口。Port。那咱呢,起个名字,比如说叫re EQ,叫adt tr对吧,那这个箭头函数啊,一定是要需要代参的,那咱们呢,就写一个date的,那将来呢,它是一个对象。对吧,为什么写date呢?因为咱们一会儿写request的时候可以KV一致省略V。对吧,那咱们就写咱们的request,那请求的地址,那就是咱刚刚拷贝过来的这一部分。以及什么请求应该呢是POS的请求。那以及携带的参数倍的KV一致,省略V。对吧,那对于这个接口所需要携带的参数啊,那这里面呢,咱们呢,也是需要说道说道。
05:02
对吧,那咱们呢,看一下这个接口所需要携带的参数,那老师呢,把它呢给你放到咱们这里,咱每周都说。那这些啊,是咱们需要携带给服务器的参数。那首先说对于添加一个属性啊,那一定是没有相应的ID的,因为咱们应该知道ID是由谁生成的,是由服务器中那个数据库生成的。对吧,所以ID呢,咱们可以给他干掉。那咱们呢,说说这几个需要携带的参数,以及这种格式需要注意。那首先说at tr name at tr是谁是属性,属性的名。对吧,那这个呢,是咱们需要携带的参数,对吧,这是携带参数的一个解释,那这个字段是什么?是咱们的属性名,哎,属性名。那以及啊,那这里面放的是啥,你看它的名字啊,叫做at tr value的list啥意思,是不是相应的这个属性名的所有的属性值。
06:04
对吧,那这块呢,咱们呢,也写一下这块是什么,是不是属性名称。中的啥是不是属性值,因为因为属性值,哎属性值可以是多个,就比如说颜色可以有有很多个,所以说因此哎需要的是啥?哎需要的是数组。那这里面将来这个数组里面所装的每个元素是一个对象,那这个对象就是什么,是不是每一个相应的属性值。对吧,那咱们这里面呢,说一下的ADTID是啥,它们应该是属性的,哎,属性的ID。什么意思呢?就是将来你的属性值有很多。对吧,咱就举个例子,比如说颜色,那它的属性值有粉色,有红色,有蓝色,有绿色,有青色,那这些属性值是归属于哪个属性。
07:02
所以说将来呢,要注意这个属性是有ID的,对吧,那你这个属性值里面的这个ad tr ID是谁放的,就是你相应的这个属性名的ID,就相当于告诉人家,哎,你这个属性值是归属于哪个属性名的。那以及这块是什么是相应的属性值。对不对吧,那以及这块呢,要注意cat GR ID,那这块呢,要注意这块呢,所需要携带的是几ID呢?是咱们的GR3ID。因为咱们应该知道啊,对于咱们的这个子组件,它会把相应的EID 2id 3d是不是传给副组件,那你要注意咱们携带的这个参数是几ID,是3ID。而咱们的这个字段,Category level啊,都是几,都是三。OK吧,因为你携带的是三级ID,而咱们的level level是啥?是不是为了区分你是几级ID对吧?那也是一样,服务器当中获取这些参数,它也要区分到底是几级ID,所以说level是几十三。
08:10
所以说呢,咱们对于这个接口呢,给他说一下好,那回到咱们正在开发这个项目当中。那咱们要注意了。那你看啊。咱们玩玩,那首先说比如说用户选择啊图书。对吧,电子书刊以及电子书,那当你添加属性之后,是不是跳到了这个结构当中,那你是不是要收集相应的属性名。对吧,以及相应的属性值一点击保存,是不是要向服务器发请求,把这些参数带给服务器。对不对吧,那所以说对于这些啊,属性名与属性值,咱们是需要收集的。那这个收集呢,相比而言呢,很简单,咱们看一下子回到咱们的组件当中。
09:00
对不找到咱们的这个a tr这里。对吧,哎,那咱们呢,一个一个来,那咱们呢,先说谁呢,先说这个收集,这个属性名,这个好收集,因为啊,因为它是一个表单元素,那咱们完全可以用VGA model去进行收集。那收集的数据放到哪儿啊,对吧,那所以说啊,咱们可以怎么办呢?可以这么办。回到咱们的这个组件当中,在这当中咱们再来一个属性。那这个属性是用于干什么的,是收集新增哎属性,或者是将来修改属性的。用的对吧,哎使用的。哎,使用的这块呢,一定要注意一件事什么事,那咱们目前而言只是说的是新增,那你要注意他还有一个业务就是修改。对不对,而修改的业务其实跟新增的结构是一模一样的,对吧,那你修改也是一样,比如说你修改某一个属性名称,比如说咱来个啥内存。
10:07
对吧,那你一点击保存你相应的字段提交给服务器也是一样的。对吧,所以说如果添加完事了,那修改也就完事了,所以说这块呢,一定要注意,那这里面的这个字段不仅仅在收集的时候会使用,那么在修改现有属性的时候也会使用到的。对吧,因为不管是添加的这个接口还是修改这个接口所带的字段都是一样。对吧,那所以说回到咱们这里,那咱们来一个起个名字,比如说就叫做at tr属性的音符。那相应的字段是谁,那不就是咱刚刚哎在aepi这里面写的这些字段。对吧,咱们找一下子,那这块呢,老师呢,要说一下子携带给服务器的这些字段呢,你不能自已瞎写,你需要看着接口去写。对吧,哎,当然啊,这个这些注释咱们是不需要at tr in否,那咱们呢,这样式的吧,老师呢,再先搞一下的,对吧,那咱们也做一下笔记就是它。
11:10
Co ctrl c,那咱们呢,把它呢给它拉过来,不就是它吗?那咱们呢,稍微格式化一下。那这里面呢,咱们也说一下,首先说at tr内幕是什么?是咱们收集到的相应的属性名。哎,属性名。对吧,哎,那以及底下的这个at tr value6list,这是不是相应的属性值。对吧,啊,因为。属性值可以有多个。因此用数组。对不对,那当然这些ID呢,咱们不需要。对不,那这个ID咱也给他干掉。那这块呢,要注意一件事,那咱们说一下子,那么每一个属性值啊,哎,每一个属性值那么都是一个对象。
12:01
都。是一个对象,那需要两个字段,一个叫at,一个是谁,一个是咱们相应的value name。那首先说at trid是啥?那么at trid呢,是相应啊,相应的属性名的ID,因为你得知道这些属性值是归属于哪个属性名的。那以及category ID,那T们应该是三级分类的ID,哎,三级分类的ID。那以及都是几级水平呢?都是,呃,都是LEVEL3,那这个是为了什么?服务器为什么需要这个字段,因为啊,因为。服务器也需要区分是几是几,是呃,几级ID。对吧,那咱三代表是不是三减A。对吧,那这里面呢,有一件事老师要说一下,说老师你看啊,这个呢,到时候咱们VGA model就可以搞定了,而这个呢,咱们到一会儿再说,那以前还有个同学说老师啊,那这个category ID等于零,咱这指定不对,那不应该是三级分类的ID吗?
13:11
而咱们三级分类的ID啊,将来是有的,你看一下啊,你看老师给你玩一下吧。咱们打开咱们的这个开发者工具,你盯住这儿啊。咱们把这个顺序老师给你倒饬倒饬你看啊。说老师啊,你这个三级分类ID这不就可以立即写了吗?为啥你看一级分类。二级分类三级分类。对不,那相应的123的ID是不是都有了。对吧,那你看就比如说举个例子说老师,当我一点击添加属性的时候,三级分类的ID已经有了,那我在这收集的时候,那这里能不能这么写,怎么写this.category cid。对吧,S3AD就这么写。那这里面呢,咱们也先不说行还是不行,那咱们看一下开发者工具,你看可不可以。对吧,哎,咱们看一下子这个字段啊,老师呢,把这给你打开对吧,盯住了啊盯住了。
14:07
一级分类。二级分类。对吧,一点击过来了,对吧,那咱们看一下有没有。你看有没有。他是没有。对吧,这块呢,一定要注意,你不能这么搞啊,你看老师再给你演示一下子,你看老师再给你演示一下子啊,你看这。我把这个给你挪下来。这个挪下来啊。喂,看这一级分类,二级分类,三级分类。说老师啊,现在的三级ID不已经有了吗?当你一点击的时候,诶,我不早已经收集完了吗?你看能这么写吗?对吧,为啥呢,这块呢,老师要说一下,你不能在这儿收集三级分类的ID,你别在这给我搞,因为咱们在基础的时候,咱们应该知道一件事,这块老师写一下子。第一个要注意的,哎,注意。
15:01
注意一对吧。别在date当中。收集啊三级分类的ID对吧,为什么。因为啊,咱们应该知道对象它存储数据是无序无序的存储的,哎,无序序列,哎,无序存储。什么意思呢,就是你在这收集数据的时候啊,你不能在这里给我写贼点category什么什么CD,因为咱们应该知道对象的这些属性,谁先谁后他不一定。因为咱们应该知道对象存储数据它是咋的,它是无序的,所以说千万别在这里面给我写贼点category ID。你就记住以后写数据的时候,收集数据的时候,别在这里面给我写贼是什么等于什么。OK吧,这块呢,一定一定要注意。那咱们先完成哪件事儿呢?先完成这件事,收集这个属性名称,这个好收集对吧,一个VGA model不就搞定了。
16:03
对吧,老师先给他干掉。对吧,给它挪下来,那这个属性你好,收集那VGA model不就完事了。那所以说啊,来回到咱们的代码当中。找到咱们的这个表单元素。对吧,这个上下结构老师呢,都该给你折上,给你折上应该底下这个对吧,不就这吗,看这不就这。那咱们要收集相应的属性名,那这块呢,咱就得搞了,那这给form来个啥,是不是来一个model。把你的数据收集到哪个对象,是不是收集到at tr info这个对象身上?那属性名称就好收集了,那就是啥微港model收集到哪,是不是收集到咱们的a tr info,哎,Info的哪个字段,是不是应该是咱们的AR内部这个字段。对不,那咱搞一下叫at tr name,那咱们呢,回到咱们的开发者工具当中去看一下属性名能不能收集到,对吧,咱们刷个新。
17:00
你看啊,咱们打开咱们的开发者工具,盯住咱们的a tr name,看这走123。没问题。那所以说咱们完成了收集属性名的操作。
我来说两句