【坚果商城实战系列学习】第 3-8 课:云开发之商品信息和主题商品数据实现

2019/11/30

第 3-8 课:云开发之商品信息和主题商品数据实现

因为前面做了大量的铺垫,越到后面我实现起来越简单,商品信息和主题商品目前只有两个路由,我就放在一遍文章里面写。

1 集合处理

fields 文件夹新建 productThemeField.js

//  指定返回结果中记录需返回的字段
module.exports = {
    PRODUCTTHEMEFIELD: {
       theme_type: true,
       product_theme: true,
       _id: false
    }
  }

2 业务层实现

service/productService.js

// 头部引入
const { PRODUCTTHEMEFIELD } = require('../fields/productThemeField.js')
/**
 * 获取单个商品
 * @param product_id 条件
 * @return 
 */
const getProductById = (product_id) => {
  return model.findById(PRODUCT, PRODUCTFIELD, product_id)
}
/**
 * 获取商品主题
 * @param product_theme 条件
 * @return 
 */
const getThemeProduct = (product_theme) => {
  let options = {product_theme:product_theme}
  return  model.query(PRODUCT, PRODUCTFIELD, options)
}

3 入口文件实现

/***************************    商品信息   *****************************************/  
// 获取商品信息
app.router('getProductById', async (ctx,next) =>{
  let product_id =  event.data.product_id
  ctx.data = await _productImg(product.getProductById(product_id))
  ctx.body = await returnUtil.success(ctx)
  await next()
})


/***************************    主题商品   *****************************************/  
// 获取主题商品列表
app.router('getThemeProduct', async (ctx,next) =>{
  // 前台传入主题类型    
  let theme_type = event.data.theme_type
  ctx.data = await _productItem(product.getThemeProduct(theme_type))
  ctx.body = await returnUtil.success(ctx)
  await next()
})

代码示例

本文示例代码访问下面查看仓库:


微信扫描二维码,关注一个有故事的程序员

(转载本站文章请注明作者和出处 山间木匠-mtcarpenter

Post Directory

扫码关注公众号:山间木匠
发送 290992
即可立即永久解锁本站全部文章