317 lines
7.9 KiB
JavaScript
317 lines
7.9 KiB
JavaScript
const { log } = require("debug");
|
||
const _ = require("../import");
|
||
|
||
/**
|
||
* @api {post} /home/hotSales hotSales
|
||
* @apiDescription 获取九宫格下手机重点推荐的数据
|
||
* @apiName hotSales
|
||
* @apiGroup Home
|
||
* @apiSuccessExample {json} 请求成功的返回:
|
||
* {
|
||
* "status" : 200,
|
||
* "message" : "请求成功"
|
||
* "result" : "asjXzXxmnSp8TZGWiTSlJF8Gb...5LhYoHs86SEI2LBXrTZ9e/a4frZOWHZ"
|
||
* }
|
||
* @apiErrorExample {json} 请求失败的返回
|
||
* {
|
||
* "status": 404,
|
||
* "message" : "请求失败"
|
||
* "result": null
|
||
* }
|
||
* @apiSampleRequest http://127.0.0.1:9090/home/hotSales
|
||
* @apiVersion 1.0.0
|
||
*/
|
||
_.router.post('/hotSales', async function (req, res, next) {
|
||
|
||
res.json({
|
||
status: 200,
|
||
message: '请求成功',
|
||
result: [
|
||
{ wares_id: 113, src: 'https://fms.res.meizu.com/dms/2024/12/06/f4d1f706-f5c1-41c7-ac36-f8d55a044ec8.jpg' },
|
||
{ wares_id: 114, src: 'https://fms.res.meizu.com/dms/2025/01/22/7e9e15db-7b8e-44a0-8e9f-77c5e5a3b28d.png' },
|
||
{ wares_id: 115, src: 'https://fms.res.meizu.com/dms/2025/03/24/6d7b1e2c-b129-4d48-9aad-3afb57c334b4.jpg' },
|
||
]
|
||
});
|
||
});
|
||
|
||
|
||
/**
|
||
* @api {post} /home/index index
|
||
* @apiDescription 获取首页商品列表,默认返回20条数据(不需要参数,传空对象 {} 即可 )
|
||
* @apiName index
|
||
* @apiGroup Home
|
||
* @apiSuccessExample {json} 请求成功的返回:
|
||
* {
|
||
* "status" : 200,
|
||
* "message" : "请求成功"
|
||
* "result" : "asjXzXxmnSp8TZGWiTSlJF8Gb...5LhYoHs86SEI2LBXrTZ9e/a4frZOWHZ"
|
||
* }
|
||
* @apiErrorExample {json} 请求失败的返回
|
||
* {
|
||
* "status": 404,
|
||
* "message" : "请求失败"
|
||
* "result": null
|
||
* }
|
||
* @apiSampleRequest http://127.0.0.1:9090/home/index
|
||
* @apiVersion 1.0.0
|
||
*/
|
||
_.router.post('/index', async function (req, res, next) {
|
||
|
||
var data = await _.db.query({
|
||
sql: _.config.sql.getIndex,
|
||
data: []
|
||
})
|
||
|
||
data.forEach(v => {
|
||
v.wares_masterimg = JSON.parse(v.wares_masterimg);
|
||
v.wares_infoimg = JSON.parse(v.wares_infoimg);
|
||
v.wares_conf = JSON.parse(v.wares_conf);
|
||
})
|
||
|
||
res.json({
|
||
status: 200,
|
||
message: '请求成功',
|
||
result: data
|
||
});
|
||
});
|
||
|
||
|
||
/**
|
||
* @api {post} /home/banner banner
|
||
* @apiDescription 获取首页的banner数据
|
||
* @apiName banner
|
||
* @apiGroup Home
|
||
* @apiSuccessExample {json} 请求成功的返回:
|
||
* {
|
||
* "status" : 200,
|
||
* "message" : "请求成功"
|
||
* "result" : "asjXzXxmnSp8TZGWiTSlJF8Gb...5LhYoHs86SEI2LBXrTZ9e/a4frZOWHZ"
|
||
* }
|
||
* @apiErrorExample {json} 请求失败的返回
|
||
* {
|
||
* "status": 404,
|
||
* "message" : "请求失败"
|
||
* "result": null
|
||
* }
|
||
* @apiSampleRequest http://127.0.0.1:9090/home/banner
|
||
* @apiVersion 1.0.0
|
||
*/
|
||
_.router.post('/banner', async function (req, res, next) {
|
||
|
||
var data = await _.db.query({
|
||
sql: _.config.sql.getIndex,
|
||
data: []
|
||
});
|
||
|
||
var banner = []
|
||
data.forEach((v, i) => {
|
||
if (i < 3) {
|
||
banner.push(v);
|
||
}
|
||
});
|
||
|
||
|
||
banner.forEach((v, i) => {
|
||
switch (i) {
|
||
case 0:
|
||
v.banner = "https://img.pconline.com.cn/images/product/6448/644851/novalite-c_m2.jpg"
|
||
break;
|
||
case 1:
|
||
v.banner = "https://2c.zol-img.com.cn/product/199_800x600/122/cet0UsShO9wl.jpg";
|
||
break;
|
||
case 2:
|
||
v.banner = "https://2e.zol-img.com.cn/product/196_800x600/88/ceHLpcITEHhtw.jpg"
|
||
break;
|
||
}
|
||
})
|
||
|
||
console.log("banner: ", banner);
|
||
|
||
|
||
res.json({
|
||
status: 200,
|
||
message: '请求成功',
|
||
result: banner
|
||
});
|
||
});
|
||
|
||
|
||
/**
|
||
* @api {post} /home/recommend recommend
|
||
* @apiDescription 获取首页推荐分类的数据
|
||
* @apiName recommend
|
||
* @apiGroup Home
|
||
* @apiSuccessExample {json} 请求成功的返回:
|
||
* {
|
||
* "status" : 200,
|
||
* "message" : "请求成功"
|
||
* "result" : "asjXzXxmnSp8TZGWiTSlJF8Gb...5LhYoHs86SEI2LBXrTZ9e/a4frZOWHZ"
|
||
* }
|
||
* @apiErrorExample {json} 请求失败的返回
|
||
* {
|
||
* "status": 404,
|
||
* "message" : "请求失败"
|
||
* "result": null
|
||
* }
|
||
* @apiSampleRequest http://127.0.0.1:9090/home/recommend
|
||
* @apiVersion 1.0.0
|
||
*/
|
||
_.router.post('/recommend', async function (req, res, next) {
|
||
var recommend = [
|
||
{ id: 1, url: '/img/type_1.png', title: '限时白嫖' },
|
||
{ id: 2, url: '/img/type_2.png', title: '新品推荐' },
|
||
{ id: 3, url: '/img/type_3.png', title: '低价高配' },
|
||
{ id: 4, url: '/img/type_4.png', title: '超值特卖' }
|
||
];
|
||
|
||
res.json({
|
||
status: 200,
|
||
message: '请求成功',
|
||
result: recommend
|
||
});
|
||
});
|
||
|
||
|
||
/**
|
||
* @api {post} /home/info info
|
||
* @apiDescription 获取商品的详情接口
|
||
* @apiName info
|
||
* @apiGroup Home
|
||
* @apiParam {number} id 商品的id参数,从 /home/index 接口中获得 wares_id 作为id参数传入即可
|
||
* @apiSuccessExample {json} 请求成功的返回:
|
||
* {
|
||
* "status" : 200,
|
||
* "message" : "请求成功"
|
||
* "result" : "asjXzXxmnSp8TZGWiTSlJF8Gb...5LhYoHs86SEI2LBXrTZ9e/a4frZOWHZ"
|
||
* }
|
||
* @apiErrorExample {json} 请求失败的返回
|
||
* {
|
||
* "status": 404,
|
||
* "message" : "请求失败"
|
||
* "result": null
|
||
* }
|
||
* @apiSampleRequest http://127.0.0.1:9090/home/info
|
||
* @apiVersion 1.0.0
|
||
*/
|
||
_.router.post('/info', async function (req, res, next) {
|
||
var id = req.body.id;
|
||
|
||
var data = (await _.db.query({
|
||
sql: _.config.sql.getInfo,
|
||
data: [id]
|
||
}))[0]
|
||
|
||
data.wares_masterimg = JSON.parse(data.wares_masterimg);
|
||
data.wares_infoimg = JSON.parse(data.wares_infoimg);
|
||
data.wares_conf = JSON.parse(data.wares_conf);
|
||
|
||
let result = await _.db.query({
|
||
sql: 'SELECT * from wares ORDER BY wares_id LIMIT 6',
|
||
data: []
|
||
})
|
||
|
||
result.forEach(v => {
|
||
v.wares_masterimg = JSON.parse(v.wares_masterimg);
|
||
v.wares_infoimg = JSON.parse(v.wares_infoimg);
|
||
v.wares_conf = JSON.parse(v.wares_conf);
|
||
})
|
||
|
||
data.recommend_list = result
|
||
|
||
res.json({
|
||
status: 200,
|
||
message: '请求成功',
|
||
result: data
|
||
});
|
||
});
|
||
|
||
|
||
/**
|
||
* @api {post} /home/activity activity
|
||
* @apiDescription 获取首页轮播下活动分类商品的接口
|
||
* @apiName activity
|
||
* @apiGroup Home
|
||
* @apiParam {number} id 活动的id,取值对应为:1->限时白嫖,2->新品推荐,3->低价高配,4->超值特卖
|
||
* @apiSuccessExample {json} 请求成功的返回:
|
||
* {
|
||
* "status" : 200,
|
||
* "message" : "请求成功"
|
||
* "result" : "asjXzXxmnSp8TZGWiTSlJF8Gb...5LhYoHs86SEI2LBXrTZ9e/a4frZOWHZ"
|
||
* }
|
||
* @apiErrorExample {json} 请求失败的返回
|
||
* {
|
||
* "status": 404,
|
||
* "message" : "请求失败"
|
||
* "result": null
|
||
* }
|
||
* @apiSampleRequest http://127.0.0.1:9090/home/activity
|
||
* @apiVersion 1.0.0
|
||
*/
|
||
_.router.post('/activity', async function (req, res, next) {
|
||
var activity_id = req.body.id;
|
||
|
||
var data = await _.db.query({
|
||
sql: _.config.sql.getActivity,
|
||
data: [activity_id]
|
||
})
|
||
|
||
data.forEach(v => {
|
||
v.wares_masterimg = JSON.parse(v.wares_masterimg);
|
||
v.wares_infoimg = JSON.parse(v.wares_infoimg);
|
||
v.wares_conf = JSON.parse(v.wares_conf);
|
||
})
|
||
|
||
res.json({
|
||
status: 200,
|
||
message: '请求成功',
|
||
result: data
|
||
});
|
||
});
|
||
|
||
|
||
/**
|
||
* @api {post} /home/search search
|
||
* @apiDescription 搜索接口,用于首页搜索商品
|
||
* @apiName search
|
||
* @apiGroup Home
|
||
* @apiParam {string} keyword 搜索关键词,例如:小米
|
||
* @apiSuccessExample {json} 请求成功的返回:
|
||
* {
|
||
* "status" : 200,
|
||
* "message" : "请求成功"
|
||
* "result" : "asjXzXxmnSp8TZGWiTSlJF8Gb...5LhYoHs86SEI2LBXrTZ9e/a4frZOWHZ"
|
||
* }
|
||
* @apiErrorExample {json} 请求失败的返回
|
||
* {
|
||
* "status": 404,
|
||
* "message" : "请求失败"
|
||
* "result": null
|
||
* }
|
||
* @apiSampleRequest http://127.0.0.1:9090/home/search
|
||
* @apiVersion 1.0.0
|
||
*/
|
||
_.router.post('/search', async function (req, res, next) {
|
||
var keyword = req.body.keyword;
|
||
|
||
var data = await _.db.query({
|
||
sql: `SELECT * from wares where wares_title LIKE "%${keyword}%"`,
|
||
data: []
|
||
});
|
||
|
||
data.forEach(v => {
|
||
v.wares_masterimg = JSON.parse(v.wares_masterimg);
|
||
v.wares_infoimg = JSON.parse(v.wares_infoimg);
|
||
v.wares_conf = JSON.parse(v.wares_conf);
|
||
})
|
||
|
||
res.json({
|
||
status: 200,
|
||
message: '请求成功',
|
||
result: data
|
||
});
|
||
|
||
});
|
||
|
||
module.exports = _.router;
|
||
|