使用情况:
在很多页面获取到的数据相近,
区别只是多获取几个字段、多几个搜索条件、多关联几张表的时候。
后端就可以小小的偷个懒,
接口只写一个,前端使用search搜索器、with(关联)和 field来精准的获取需要的数据。
这样减少了接口的数量也减少了使用同一个接口导致获取了冗余的数据。
need_count: 0, // 0不需要total(总数)1需要
with_trashed: 0, // 0不需要获取删掉的数据1需要
search: { // 相当于添加搜索条件
id: this.id,
enable: 1
},
field: ['id', 'sn', 'sort', 'name'], // 加上额外需要获取的一些字段(需要注意的是:有一些字段在关联的表中,因此需要使用with关联上对应的表才能正确响应你添加的field中的那个字段)
with: ['category', 'sku'] // 关联上category和sku两个表,就可以field带上这两个表中的字段
接口文档会给出支持的search(搜索器)、支持的with(关联)、支持的field
示例:
支持的search(搜索器)
name 搜索表字段name(商品名称)
category_id 搜索表字段category_id(商品分类id)
foods_class 搜索字段foods_class(菜品类型 1 单品 2 套餐)
支持的with(关联)
category 关联出platform_goods_category表(platform_goods_category表的id字段与platform_goods表的category_id字段关联)
sku关联出platform_goods_sku表(platform_goods_sku表的goods_id字段与platform_goods表的id字段关联)
attribute关联出platform_goods_attribute表(platform_goods_attribute表的goods_id字段与platform_goods表的id字段关联)
this.$apis.getGoodsList({
search: {
brand_id: this.brandId,
foods_class: this.fromId
},
field: ['foods_class', 'id', 'name', 'sn', 'sort', 'enable'],
with: ['category', 'sku']
}).then(res => {})
简洁 (0.0)