|
@@ -1,3 +1,69 @@
|
|
|
|
|
+const {paramFail, ServerError, success, controlError, searchSuccess} = require("~/server/tools/result");
|
|
|
const router = require('express').Router();
|
|
const router = require('express').Router();
|
|
|
|
|
+const c = require('~/server/control/product');
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 获取产品信息
|
|
|
|
|
+ * @param id path 产品id
|
|
|
|
|
+ */
|
|
|
|
|
+router.get('/product/:id', async (req, res) => {
|
|
|
|
|
+ try{
|
|
|
|
|
+ let err, result;
|
|
|
|
|
+ let {id} = req.params;
|
|
|
|
|
+ if(!id){
|
|
|
|
|
+ paramFail(res, "id is required");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ [err, result] = await c.getProductInfo(id);
|
|
|
|
|
+ if(err){ return controlError(res, err, null);}
|
|
|
|
|
+ success(res, result);
|
|
|
|
|
+ }catch (e) {
|
|
|
|
|
+ ServerError(res, null, e.message);
|
|
|
|
|
+ }
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 加载产品列表,根据类型
|
|
|
|
|
+ * @param key query 产品类别
|
|
|
|
|
+ * @param p query 页码
|
|
|
|
|
+ * @param l query 每页数量
|
|
|
|
|
+ */
|
|
|
|
|
+router.get('/products',
|
|
|
|
|
+ async (req, res) => {
|
|
|
|
|
+ try{
|
|
|
|
|
+ let err, result;
|
|
|
|
|
+ let {key, l, p} = req.query;
|
|
|
|
|
+ if(!key){
|
|
|
|
|
+ paramFail(res, "key is required");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ [err, result] = await c.loadProduct(key, p, l);
|
|
|
|
|
+ if(err){ return controlError(res, err, null);}
|
|
|
|
|
+ success(res, result);
|
|
|
|
|
+ }catch (e) {
|
|
|
|
|
+ ServerError(res, null, e.message);
|
|
|
|
|
+ }
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
|
|
+router.get(
|
|
|
|
|
+ '/products/search',
|
|
|
|
|
+ async (req, res) => {
|
|
|
|
|
+ try{
|
|
|
|
|
+ let err, result;
|
|
|
|
|
+ let {key, l, p, type} = req.query;
|
|
|
|
|
+ type = type || 'all';
|
|
|
|
|
+ [err, result] = await c.searchProduct(type, key, p, l);
|
|
|
|
|
+ if(err){ return controlError(res, err, null);}
|
|
|
|
|
+ searchSuccess(res,
|
|
|
|
|
+ result.data,
|
|
|
|
|
+ result.total,
|
|
|
|
|
+ result.key,
|
|
|
|
|
+ result.page,
|
|
|
|
|
+ result.limit,
|
|
|
|
|
+ );
|
|
|
|
|
+ }catch (e) {
|
|
|
|
|
+ ServerError(res, null, e.message);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
module.exports = { router };
|
|
module.exports = { router };
|