第 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()
})
源碼地址
在搭建項目前,根據自己需要下載本系列文章的源代碼