尚品汇后台管理项目SPU模块和SKU模块的实现


前言

尚硅谷SPU和SKU模块的实现思路,业务思路和实现思路


一、SPU模块

1.SPU列表的展示

(1)页面图片
在这里插入图片描述

(2)业务背景
SPU概念
首先通俗介绍下SPU是啥,是标准产品单元,例如: iPhone X 就是一个SPU,与商家、颜色、款式、规格、套餐等都无关。 就好比手机发布会中,说我们今年推出了一款新的手机,型号为iphone11,而不会说我们今年推出了iphone 11 128g 玫瑰金、iphone 11 128g 深空灰等等。一个具体产品型号所专有的特性。

(3)实现思路
静态页面实现:
element-ui中的el-card显示带阴影背景的卡片效果;利用了写好的三级联动组件。
el-button实现按钮的样式效果。el-table实现列表的效果。
el-pagination实现分页的效果。
动态数据实现思路
1)三级分类菜单选中某一项的时候,调用查找SPU的,因为是父组件调用子组件,子组件需要使用自定义事件向父组件传值,category3Id这个值。
2)前端书写调用后端的api模块中的spu,并向外暴露,view文件夹中使用该接口
spu.js

import request from '@/utils/request'

//获取spu列表的接口,/admin/product/page/limit/category3Id get
export const reqSpuList = (page,limit,category3Id) => request({
  url: `/background/admin/product/${page}/${limit}`,
  method: 'get',
  params:{
    category3Id
  }
})

index.js

// 向外部统一暴露数据
import * as trademark from './product/tradeMark'
import * as attr from './product/attr'
import * as spu from './product/spu'
// import * as sku from './product/sku'

//对外暴露
export default{
  trademark,
  attr,
  spu,
  // sku

}

main.js

import API from '@/api';
Vue.prototype.$API = API;

3)该页面调用接口时,如果成功就展示数据并在上方给出,失败就显示失败的提示
4)三级目录选中后才让它可用,之前为不可用状态,参考(4)中3)
(4)改来改去,才正确的小细节,逻辑分析一下
1)三级联动组件,选择以后想再次修改,比如,选择一级菜单是,二级和三级菜单数据要清零,再次选中三级菜单的选项时,再次查询SPU列表

getCategoryId({ categoryId, level }) {
      if (level === 1) {
        this.category1Id = categoryId;
        this.category2Id = "";
      } else if (level === 2) {
        this.category2Id = categoryId;
        this.category3Id = "";
      } else {
        this.category3Id = categoryId;
        // this.attrInfo.categoryId = categoryId;
        // this.attrInfo.categoryLevel = level;
        this.getSpuList();
      }
    },
2)使用el-pagination,哪一页修改了或每页修改的条数被修改了,如何修改vue中的数据,卡片组件都两个函数可以获取到改变成哪一页或目前每页显示条数。
<el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :page-sizes="[5, 10, 20, 30]"
      :page-size="limit"
      :current-page.sync="page"
      layout="prev, pager, next, jumper,->,sizes,total"
      :total="total">
    </el-pagination>
export default {
  name: 'Spu',
method: {
    handleSizeChange(value){
      this.limit = value;
      this.getSpuList()
    },
    handleCurrentChange(value){
      this.page = value;
      this.getSpuList()
    }
}
}

3)控制按钮显隐试了很多次才试对,会有缓存吗

<el-button type="primary" icon="el-icon-plus" size="mini" @click="addSPU" :disabled="!category3Id">添加SPU</el-button>

(5)可访问的接口

/admin/product/ p a g e / {page}/ page/{limit}
比如: http://82.156.205.62:9261/admin/product/1/3?category3Id=61
返回数据
在这里插入图片描述

2.SPU的添加

二、SKU模块

持续更新中

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值