【Node.js】之项目准备和首页

(1) 准备项目

  • 生成框架:
npm i express-generator -g --save
express --view = ejs myapp
  • 安装包依赖
cd myapp
npm install
  • 启动项目
npm run start
  • 将db放进项目并下载mysql模块
npm i mysql

(2) 首页 banner接口

需要图片的地方需要开放静态资源

app.use("/image_source",express.static(path.join(__dirname, 'image_source')));

banner表

var express = require('express');
var DB = require('../utils/Db');
var {getMsg} = require('../utils/tool');
var router = express.Router();
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

//1.banner 请求
router.get("/banner",async (req,res)=>{
    // 把banner的数据从数据库里,拿出来
    // let  sql=`SELECT * FROM banner`
    // let sql=`SELECT id,CONCAT("http://localhost:3000/",coverimg) AS coverimg FROM banner`
    let sql=`SELECT id,CONCAT("${url}",coverimg) AS coverimg FROM banner`
    let [err,result] = await DB.query(sql)
    if(!err){
        res.send(getMsg("banner请求成功",200,result))
    }else{
        // res.send({msg:"请求失败,请稍后再试",status:500})
        res.send(getMsg("请求失败,请稍后再试",500))
    }
})
module.exports = router;

utils/tool.js

function getMsg(msg,status,data){
    if(status==200){
        return {msg,status,data}
    }else{
        return {msg,status}
    }
}
exports.getMsg=getMsg;

(3) 错误处理

// 404错误
app.use(function(req, res, next) {

  res.send(getMsg("路径错误",404))
});

// 非404的错误
app.use(function(err, req, res, next) {
  
  res.send(getMsg(err,500))
});

(4) 获取banner

// get banner information
router.get("/banner", async (req, res, next) => {
  // get banner info from database
  let sql = `SELECT id,CONCAT("${url}",coverimg) AS coverimg FROM banner`
  let [err, result] = await db.query(sql)
  if (!err) {
    res.send(getMsg("Banner success", 200, result))
  } else {
    next("Banner failure")  // 当调用这个的next的时候,程序会去寻找具有4个参数的中间件err,,,next
  }
})

返回:

{
"msg": "Banner success",
"status": 200,
"data": [
{
"id": 1,
"coverimg": "http://localhost:3000/image_source/home_loop_img/32407805826e4adbb35d03cb82afd0e8.png"
},
{
"id": 2,
"coverimg": "http://localhost:3000/image_source/home_loop_img/158217880112765841.jpg"
},
{
"id": 3,
"coverimg": "http://localhost:3000/image_source/home_loop_img/158218554377624177.jpg"
},
{
"id": 4,
"coverimg": "http://localhost:3000/image_source/home_loop_img/158218605663337136.jpg"
},
{
"id": 5,
"coverimg": "http://localhost:3000/image_source/home_loop_img/158224870698497558.jpg"
},
{
"id": 6,
"coverimg": "http://localhost:3000/image_source/home_loop_img/158224891879191249.jpg"
},
{
"id": 7,
"coverimg": "http://localhost:3000/image_source/home_loop_img/158225066085716872.jpg"
},
{
"id": 8,
"coverimg": "http://localhost:3000/image_source/home_loop_img/158233428702116474.jpg"
}
]
}

(5) 限时秒杀

router.get('/flashsale', async (req, res, next) => {
  // get flash_id from flash_sale
  let curTime = new Date('2021-01-12 13:00:00').getTime();
  let sql = `SELECT * FROM flash_sale WHERE begin_time <= ${curTime} and end_time >= ${curTime}`;
  let [err, result] = await db.query(sql);
  if (!err && result.length > 0) {
    let flash_id = result[0].flash_id;

    // get goods information from goods_list based on flash_id and goods_id
    let sql1 = `SELECT fp.goods_id, 
                    CONCAT("${url}",image_url) AS image_url,
                    goods_name, 
                    goods_price, assem_price
              FROM flash_product as fp
              JOIN goods_list as gl
              ON fp.goods_id = gl.goods_id
              WHERE fp.flash_id = "${flash_id}"
              ORDER BY rand()
              LIMIT 4`
    let [err1, result1] = await db.query(sql1)
    if (!err1 && result1.length > 0) {
      result[0].goods = result1
      res.send(getMsg('Flash sale success', 200, result))
    } else {
      next('Flash sale failure')
    }
  } else {
    next('Flash sale failure')
  }
  // res.send(result);
})

返回:

{
"msg": "Flash sale success",
"status": 200,
"data": [
{
"id": 1,
"flash_id": "8015e8de-d52d-457d-86f4-6e0c129b1ad2",
"begin_time": "1610424000000",
"end_time": "1610467199000",
"data": [
{
"goods_id": "1301565138010100001",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVsRAxSAOno_AAFPikIZ4OU829.jpg",
"goods_name": "140S/3丝光珠地提花扁机领男士短袖POLO衫 BYA18S-043",
"goods_price": 279,
"assem_price": 174.38
},
{
"goods_id": "1300435230060100001",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVoAGgqAXaeNAABinDpBheM774.jpg",
"goods_name": "加绒弹力仿牛仔紧身小黑裤77B1742030",
"goods_price": 299,
"assem_price": 0
},
{
"goods_id": "1301775374010100001",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1wR8fSABiL9AAF1A_YO-Pk089.jpg",
"goods_name": "女士百搭毛呢A字短半裙SC88218C",
"goods_price": 249,
"assem_price": 155.63
},
{
"goods_id": "1300435150060100001",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1s91F-ANw1CAADqAEfOePM979.jpg",
"goods_name": "中腰八分喇叭裤77B1722050",
"goods_price": 249,
"assem_price": 155.63
}
]
}
]
}

(6) 获取各大版块及其对应的三级目录和物品***

// four plates
router.get('/fourplates', async (req, res, next) => {
  // seek for third name from home and category_third
  let sql = `SELECT h.id, h.second_id, 
              CONCAT("${url}", h.image_url) AS image_url, 
              h.big_title, h.small_title, 
              ct.id, ct.third_id, 
              ct.third_name, ct.second_id 
             FROM home as h
             JOIN category_third as ct
             ON h.second_id = ct.second_id
             ORDER BY rand()
             LIMIT 8`
  let [err, result] = await db.query(sql)

  let promiseArr1 = [];
  let promiseArr2 = [];
  // 根据home表里的second_id,去category_third 
  // 三级分类里面找对应的三级分类名称,随机拿四个
  result.forEach(item => {
    // console.log(item);
    let second_id = item.second_id;
    let sql1 = `SELECT third_name FROM category_third 
      WHERE second_id = ${second_id} ORDER BY rand() LIMIT 4`
    let sql2 = `SELECT goods_id, goods_name, CONCAT("${url}",image_url) AS image_url, 
    goods_introduce, goods_manufacturer, goods_price, assem_price FROM goods_list WHERE second_id = ${second_id}
      ORDER BY rand() LIMIT 4`
    promiseArr1.push(db.query(sql1));
    promiseArr2.push(db.query(sql2));
    // console.log(promiseArr1);
  })
  // result1 get third_name
  let result1 = await Promise.all(promiseArr1);
  let result2 = await Promise.all(promiseArr2);
  // res.send(result2);
  result.forEach((item, index) => {
    // add third classification for the result 
    // console.log(item, index);
    item.third_name = result1[index][1]
    item.goods = result2[index][1]
  })
  if (!err) {
    res.send(getMsg("Four Plates success", 200, result))
  } else {
    next('Four plates failure')
  }
})

返回:

{
"msg": "Four Plates success",
"status": 200,
"data": [
{
"id": 218,
"second_id": "472",
"image_url": "http://localhost:3000/image_source/home_small/01_159083047805770472.jpg",
"big_title": "疯抢2020元卷",
"small_title": "以旧换新补贴1000元",
"third_id": "473",
"third_name": [
{
"third_name": "摄影配件"
},
{
"third_name": "充电设备"
},
{
"third_name": "影音娱乐"
}
],
"goods": [
{
"goods_id": "1301805029060000001",
"goods_name": "充电器+充电宝二合一",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1tlybKAefE5AACxq0-yk2M377.jpg",
"goods_introduce": "既是充电器,又是充电宝,便携使用",
"goods_manufacturer": "飞利浦制造商直供",
"goods_price": 129,
"assem_price": 80.63
},
{
"goods_id": "1301805018060000001",
"goods_name": "多功能轻量便携三脚架",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1tWkomAQhy1AAE7k_fBVCQ755.jpg",
"goods_introduce": "360度全景云台、双校正系统、双阻尼旋钮、轻量便携",
"goods_manufacturer": "SONY制造商直供",
"goods_price": 399,
"assem_price": 249.38
},
{
"goods_id": "1301805016060000001",
"goods_name": "4K手机单反镜头微距广角二合一",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVrLDg6AWsQDAACNHgflRTo064.jpg",
"goods_introduce": "大视野范围、微距广角二合一、28层镀膜、高清4K",
"goods_manufacturer": "SONY制造商直供",
"goods_price": 189,
"assem_price": 118.13
},
{
"goods_id": "1301845016060000001",
"goods_name": "音思客 全金属有线动铁耳机",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFwmBnuAY4xqAAEkVZZjEiU231.jpg",
"goods_introduce": "CNC 全铝配件、动铁+动圈、可换高中低频耳帽头设计",
"goods_manufacturer": "JBL制造商直供",
"goods_price": 349,
"assem_price": 218.13
}
]
},
{
"id": 201,
"second_id": "372",
"image_url": "http://localhost:3000/image_source/home_small/07_156203761733786633.jpg",
"big_title": "生活家装",
"small_title": "只要9.9",
"third_id": "422",
"third_name": [
{
"third_name": "小工具"
},
{
"third_name": "开关插座"
},
{
"third_name": "锁具"
}
],
"goods": [
{
"goods_id": "1300665051000100001",
"goods_name": "必辉25件套棘轮螺丝批套装",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1kT4qSAWOGqAAF0jhuzdYE149.jpg",
"goods_introduce": "多种批头满足各种要求,手柄可调节长度",
"goods_manufacturer": "STANLEY制造商直供",
"goods_price": 85,
"assem_price": 0
},
{
"goods_id": "1301575002130000001",
"goods_name": "英式强磁门吸(地装)DS55",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFkaSgWAPxdeAAC3eOvtYrg391.jpg",
"goods_introduce": "造型百搭时尚,优质强磁 ,英式风格",
"goods_manufacturer": "YALE制造商直供",
"goods_price": 59,
"assem_price": 36.88
},
{
"goods_id": "1300665116000100001",
"goods_name": "多功能安全锤",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVq9-5KAEtU0AADM1fz3DX0596.jpg",
"goods_introduce": "独立设计师品牌/采用不锈钢和铝合金材质独特的设计理念/汽车应急实用工具",
"goods_manufacturer": "STANLEY制造商直供",
"goods_price": 149,
"assem_price": 0
},
{
"goods_id": "1301575003130000001",
"goods_name": "木门分体式门锁——九头蛇 ZX010圆盖钥匙孔把手总成",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1nVsxqAKvkGAAFBNGXRmUA162.jpg",
"goods_introduce": "七层电镀工艺,欧标锁体和纯铜欧标锁芯",
"goods_manufacturer": "YALE制造商直供",
"goods_price": 199,
"assem_price": 124.38
}
]
},
{
"id": 176,
"second_id": "534",
"image_url": "http://localhost:3000/image_source/home_small/04_158805770110411353.jpg",
"big_title": "厨房用品频道",
"small_title": "来了就送998",
"third_id": "566",
"third_name": [
{
"third_name": "咖啡机"
},
{
"third_name": "保鲜/计量电器"
},
{
"third_name": "水壶"
},
{
"third_name": "榨汁机/破壁机"
}
],
"goods": [
{
"goods_id": "1301475019080000001",
"goods_name": "智能婴儿暖奶器消毒热食蒸蛋六合一准确控温DK-BB1011",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1sIsvOADtBgAAFWXxcZIZ8521.jpg",
"goods_introduce": "3大暖奶模式,40度智能恒温全天候,婴儿审美设计,多重保护安全防干烧。",
"goods_manufacturer": "飞利浦制造商直供",
"goods_price": 179,
"assem_price": 0
},
{
"goods_id": "1301475010010000001",
"goods_name": "电烤箱电烤盘BBQ二合一煎烤一体机I0L DK-TO9431",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFpDVN2ADJW7AAEIj1Am7RY680.jpg",
"goods_introduce": "电烤箱电烤盘BBQ二合一 10L容量 上下石英发热管10秒速热",
"goods_manufacturer": "飞利浦制造商直供",
"goods_price": 199,
"assem_price": 0
},
{
"goods_id": "1302485008010000001",
"goods_name": "4L大容量智能电饭煲BRS-C19",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVw5r7eAJTSuAAEHfW-n11o858.jpg",
"goods_introduce": "4L大容量、美国华福不沾内胆、钢化防爆玻璃触摸面板数码管显示、24H预约",
"goods_manufacturer": "康宁制造商直供",
"goods_price": 368,
"assem_price": 0
},
{
"goods_id": "1301475004010000001",
"goods_name": "10秒强力磨豆机不锈钢杯拉丝机身 五谷杂粮磨粉机 DK-M1000",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVpEYzmAQ8zvAAFc70kNTdg997.jpg",
"goods_introduce": "强力电机10秒研磨 坚固钢杯 研磨咖啡五谷杂粮磨粉 四重安全保护",
"goods_manufacturer": "德龙制造商直供",
"goods_price": 129,
"assem_price": 80.63
}
]
},
{
"id": 180,
"second_id": "335",
"image_url": "http://localhost:3000/image_source/home_small/03_154708522623243257.jpg",
"big_title": "家用电器频道",
"small_title": "30天包退包换",
"third_id": "683",
"third_name": [
{
"third_name": "电视/配件"
},
{
"third_name": "清洁吸尘"
},
{
"third_name": "风扇"
},
{
"third_name": "体脂称"
}
],
"goods": [
{
"goods_id": "1301955001060100001",
"goods_name": "4K电视可移动伸缩挂架 需提前预约 安装免费 工程师带挂架上门",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVsUB-CAVdFkAADK8f4NoAo661.jpg",
"goods_introduce": "工字安全设计更稳固 5~15黄金倾角 ±90度宽臂摇摆 500万质量险",
"goods_manufacturer": "乐歌制造商直供",
"goods_price": 499,
"assem_price": 0
},
{
"goods_id": "1301955009010100001",
"goods_name": "H.Kloss设计师品牌 巴赫古典美学重低音音响边几(红黑旗舰款)",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1wEpsmATkCLAAFGFd0OiiQ511.jpg",
"goods_introduce": "双层旋转+无线充电+钢化玻璃面板+混纺刺绣+阳极氧化铝+胡桃木质腿",
"goods_manufacturer": "B&O制造商直供",
"goods_price": 2499,
"assem_price": 0
},
{
"goods_id": "1301895009010000001",
"goods_name": "智能健康轻便体重体脂秤",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFv3h7KAVSoKAABXq9vPjGc261.jpg",
"goods_introduce": "隐藏式LED显示 轻便体脂秤",
"goods_manufacturer": "德国B+B健康制造商直供",
"goods_price": 89,
"assem_price": 55.63
},
{
"goods_id": "1300495090010000001",
"goods_name": "必辉手持旅行居家小风扇",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVkvjkqATaaVAAFQ_0F0T-U073.jpg",
"goods_introduce": "随身携带使用,充电2小时吹风6小时",
"goods_manufacturer": "MUJI制造商直供",
"goods_price": 109,
"assem_price": 68.13
}
]
},
{
"id": 199,
"second_id": "370",
"image_url": "http://localhost:3000/image_source/home_small/08_154653870609348462.jpg",
"big_title": "家装频道",
"small_title": "保修30年",
"third_id": "417",
"third_name": [
{
"third_name": "挂钟/摆件"
},
{
"third_name": "相框/装饰画"
}
],
"goods": [
{
"goods_id": "1301525032000000002",
"goods_name": "《青瓦白墙》三联装饰画",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVmUAwqAX_D3AABfUWaR8wU558.jpg",
"goods_introduce": "新中式风情 色彩明朗雅素;搭配任意简约的中式家居",
"goods_manufacturer": "KARE DESIGN制造商直供",
"goods_price": 379,
"assem_price": 0
},
{
"goods_id": "1300495318000100001",
"goods_name": "芙洛丽电表装饰画",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFwGUtyAU4fLAADFSimaA4s835.jpg",
"goods_introduce": "环保材质,健康安全,既可遮挡电源开关又可作为装饰画,美观大方,实用性强",
"goods_manufacturer": "NITORI制造商直供",
"goods_price": 149,
"assem_price": 93.13
},
{
"goods_id": "1300495226010000001",
"goods_name": "相框4件套",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFrpNAmAHmP0AAF-pP3rSKA405.jpg",
"goods_introduce": "购买合适大小的画框,自己打印自由DIY搭配,为现代家居生活创造美传递美",
"goods_manufacturer": "NITORI制造商直供",
"goods_price": 79,
"assem_price": 0
},
{
"goods_id": "1301525009000100001",
"goods_name": "《清新水彩芭蕉叶》 双联挂画",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVka6OyAXEieAADUEu8nU_E099.jpg",
"goods_introduce": "绿植元素 清新养眼 耐看永不过时 适用于客厅 餐厅 卧室 走廊 书房",
"goods_manufacturer": "KARE DESIGN制造商直供",
"goods_price": 489,
"assem_price": 0
}
]
},
{
"id": 225,
"second_id": "430",
"image_url": "http://localhost:3000/image_source/home_small/06_159082687238715743.jpg",
"big_title": "汽车配件频道",
"small_title": "来了送洗车",
"third_id": "431",
"third_name": [
{
"third_name": "座垫脚垫/香薰"
},
{
"third_name": "腰靠颈枕"
}
],
"goods": [
{
"goods_id": "1301745044010100001",
"goods_name": "MUTO头层牛皮拼接碳纤维纹圆形2接方向盘套MT-8105-2J",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFsE4_OASWxlAAEiJ0vnJlg875.jpg",
"goods_introduce": "头层牛皮材质,手感细腻,碳纤维纹材质运用,源于奢华跑车元素灵感",
"goods_manufacturer": "BBA制造商直供",
"goods_price": 88,
"assem_price": 55
},
{
"goods_id": "1301745050010000001",
"goods_name": "MUTO雅系列太空棉汽车/家用/办公舒适抱枕靠枕YZ013/014",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVuDYHiAVWRjAAGMzjYcFN0361.jpg",
"goods_introduce": "柔软细腻constance新型材质,优质太空棉内胆,SGS环保检测与认证",
"goods_manufacturer": "BBA制造商直供",
"goods_price": 55,
"assem_price": 34.38
},
{
"goods_id": "1301745016010100001",
"goods_name": "MUTO人体工程学记忆棉立体支撑腰靠MT-JP005",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFmKafSAdwAFAADBzJl04Kw120.jpg",
"goods_introduce": "依据人体工程学,记忆棉内胆,两种材质任选",
"goods_manufacturer": "BBA制造商直供",
"goods_price": 78,
"assem_price": 48.75
},
{
"goods_id": "1301745004010000001",
"goods_name": "【配套】汽车骨形护颈枕头枕一对MT-TZ",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFthPAOACp7MAADionAWMGA198.jpg",
"goods_introduce": "倍耐超纤皮,人体工程学骨形结构",
"goods_manufacturer": "BBA制造商直供",
"goods_price": 68,
"assem_price": 0
}
]
},
{
"id": 178,
"second_id": "534",
"image_url": "http://localhost:3000/image_source/home_small/04_158805770110411353.jpg",
"big_title": "厨房用品频道",
"small_title": "来了就送998",
"third_id": "569",
"third_name": [
{
"third_name": "烹饪电器"
},
{
"third_name": "水壶"
},
{
"third_name": "榨汁机/破壁机"
},
{
"third_name": "咖啡机"
}
],
"goods": [
{
"goods_id": "1302485002010000001",
"goods_name": "一键全自动智能强力抽真空保鲜机封口机干湿油粉通用 BRS-A18",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVuu9PmAOIb3AAFcB578jvg553.jpg",
"goods_introduce": "一键智能抽真空封口、干湿油粉通用、强劲真空吸力、智能触摸面板多种封口模式",
"goods_manufacturer": "康宁制造商直供",
"goods_price": 269,
"assem_price": 168.13
},
{
"goods_id": "1301475016010000001",
"goods_name": "热旋风全钢机身电烤箱 33L大容量 旋转烤叉四层烤架带炉灯DK-TO01",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFwOJOKAN4O1AAF4Ubj14mY458.jpg",
"goods_introduce": "热风对流 全钢 33L大容量 旋转烤叉 带炉灯 四层烤架 上下独立温控",
"goods_manufacturer": "飞利浦制造商直供",
"goods_price": 399,
"assem_price": 0
},
{
"goods_id": "1301475007010000001",
"goods_name": "全钢机身面包机 大屏显示 直流静音电机 强劲和面18菜单DK-BM1358",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVuRH-GADmYPAAEVFbW9xJA536.jpg",
"goods_introduce": "全钢机身、18大菜单、直流静音电机强劲和面、大屏LED显示",
"goods_manufacturer": "飞利浦制造商直供",
"goods_price": 399,
"assem_price": 249.38
},
{
"goods_id": "1302485005010000001",
"goods_name": "500W强力绞肉机食物处理器BRS-A30",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFvTzliALb69AAFs2fifcXw679.jpg",
"goods_introduce": "500W大功率10秒快速碎食、304不锈钢机身、加厚玻璃碗、二档快慢调速",
"goods_manufacturer": "康宁制造商直供",
"goods_price": 169,
"assem_price": 105.63
}
]
},
{
"id": 198,
"second_id": "370",
"image_url": "http://localhost:3000/image_source/home_small/08_154653870609348462.jpg",
"big_title": "家装频道",
"small_title": "保修30年",
"third_id": "419",
"third_name": [
{
"third_name": "挂钟/摆件"
},
{
"third_name": "相框/装饰画"
}
],
"goods": [
{
"goods_id": "1301525065000100001",
"goods_name": "《海之阶梯》单副手绘挂画 140x70cm",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACW1r6Q6yAUkEKAAFvjrbPs7E209.jpg",
"goods_introduce": "题材百搭 全景横向构图,适用空间广泛 ,远近虚实结合,更有意境",
"goods_manufacturer": "KARE DESIGN制造商直供",
"goods_price": 529,
"assem_price": 0
},
{
"goods_id": "1301525014030100001",
"goods_name": "北欧风简约挂钟",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACYVkv3fqADUBHAAE0gf5nWwc517.jpg",
"goods_introduce": "简约设计,色彩搭配时尚,简约家居风格",
"goods_manufacturer": "HOME GOODS制造商直供",
"goods_price": 109,
"assem_price": 68.13
},
{
"goods_id": "1301525082000100001",
"goods_name": "《远山》单幅手绘挂画 80x120cm",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFv9-pGAZwDFAAEwMmBvWp0112.jpg",
"goods_introduce": "极简风格设计,灰蓝金色调,局部金箔银箔点缀,更显质感,适用空间广泛",
"goods_manufacturer": "KARE DESIGN制造商直供",
"goods_price": 569,
"assem_price": 355.63
},
{
"goods_id": "1301525002000100001",
"goods_name": "《小雏菊》单幅挂画",
"image_url": "http://localhost:3000/image_source/goods_loop_img/rBACVFkT4-SAbXgaAAD29yMTTkg940.jpg",
"goods_introduce": "色彩清新 层次丰富 艺术微喷 手绘点缀,适用客厅餐厅卧室走廊书房",
"goods_manufacturer": "KARE DESIGN制造商直供",
"goods_price": 229,
"assem_price": 0
}
]
}
]
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值