国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

node和vue實現商城用戶地址模塊

2024-05-06 15:27:30
字體:
來源:轉載
供稿:網友

本文為大家分享了node和vue商城用戶地址模塊的實現,供大家參考,具體內容如下

server/models/user.js

var mongoose = require('mongoose')var userSchema = mongoose.Schema({  "userId":String,  // 用戶Id  "userName":String, // 用戶名  "userPwd":String, // 用戶密碼  "orderList":Array, // 訂單列表  "cartList":[ // 購物車列表    {      "productId": String, // 商品Id      "productName": String, // 商品名稱      "salePrice":String, // 商品價格      "productImage":String, // 圖片地址      "checked":String, // 是否選中      "productNum":String // 商品數量    }  ],  "addressList":[ // 用戶地址列表   {    "addressId": String,    "userName": String,    "streetName": String,    "postCode": Number,    "tel": Number,    "isDefault": Boolean   }  ]}); // 通過module.exports進行輸出,這樣才能加載到 三個參數分別是 模型名,userSchema名,管理數據庫集合名module.exports = mongoose.model("User",userSchema,"users");

server/routes/users.js

var express = require('express');var router = express.Router(); var User = require('./../models/user'); /* GET users listing. */router.get('/', function(req, res, next) { res.send('respond with a resource');}); router.get('/test', function(req, res, next) { res.send('test');}); // 登錄router.post('/login', function(req, res, next) { // 獲取前端傳過來的參數 post方式用req.Body形式獲取參數 var param = {  userName:req.body.userName,  userPwd:req.body.userPwd } User.findOne(param, function(err,doc) {  if(err){   res.json({    status:"1",    msg:err.message   });  }else{    if(doc){     res.cookie("userId",doc.userId,{ // 將用戶信息存入cookie      path:'/',      maxAge: 1000*60*60     });      res.cookie("userName",doc.userName, {      path:'/',      maxAge: 1000*60*60     });     // req.session.user = doc; // 將用戶信息存入session     res.json({      status:'0',      msg:'',      result:{       userName:doc.userName      }     })    }  } });}); // 登出接口router.post("/logout", function (req,res,next) { res.cookie("userId", "", { // 登出將userId設置為""  path:"/",  maxAge:-1 // 設置位過期 }) res.json({  status:"0",  msg:'',  result:'' })}) // 校驗用戶信息router.get("/checkLogin", function (req,res,next) {  if(req.cookies.userId){   res.json({    status:'0',    msg:'',    result: req.cookies.userName || '' // 獲取cookeie req.cookies.屬性   });  }else{ // 取不到就說明當前沒有登錄   res.json({    status:'1',    msg:'未登錄',    result:''   });  }}) // 查詢當前用戶的購物車數據router.get("/cartList", function (req,res,next) { var userId = req.cookies.userId; console.log(userId); User.findOne({userId:userId}, function (err,doc) {   if(err){    res.json({     status:'1',     msg:err.message,     result:''    });   }else{     if(doc){      res.json({       status:'0',       msg:'',       result:doc.cartList      });     }   } });}); // 購物車刪除router.post("/cartDel", function (req,res,next) { // 獲取瀏覽器的cookie 以及用戶傳遞過來的參數 productId var userId = req.cookies.userId,productId = req.body.productId; User.update({  userId:userId },{  $pull:{   'cartList':{    'productId':productId   }  } }, function (err,doc) {  if(err){   res.json({    status:'1',    msg:err.message,    result:''   });  }else{   res.json({    status:'0',    msg:'',    result:'suc'   });  } });}); //修改購物車商品數量router.post("/cartEdit", function (req,res,next) { var userId = req.cookies.userId,   // 獲取用戶客戶端的userId   productId = req.body.productId, // 獲取用戶傳的參數商品id   productNum = req.body.productNum, // 獲取用戶傳的參數商品id   checked = req.body.checked;    // 獲取用戶傳的參數是否選中 User.update({  "userId":userId,  "cartList.productId":productId},{  "cartList.$.productNum":productNum,  "cartList.$.checked":checked, }, function (err,doc) {  if(err){   res.json({    status:'1',    msg:err.message,    result:''   });  }else{   res.json({    status:'0',    msg:'',    result:'suc'   });  } })}); // 商品全選不選router.post("/editCheckAll", function (req,res,next) { var userId = req.cookies.userId,   checkAll = req.body.checkAll?'1':'0'; User.findOne({userId:userId}, function (err,user) {  if(err){   res.json({    status:'1',    msg:err.message,    result:''   });  }else{   if(user){    user.cartList.forEach((item)=>{     item.checked = checkAll;    })    user.save(function (err1,doc) {      if(err1){       res.json({        status:'1',        msg:err1,message,        result:''       });      }else{       res.json({        status:'0',        msg:'',        result:'suc'       });      }    })   }  } });}); // 用戶地址模塊開始-----------------------------------------------------------------------------------------------// 查詢用戶地址接口router.get("/addressList", function (req,res,next) { var userId = req.cookies.userId; User.findOne({userId:userId}, function (err,doc) {  if(err){   res.json({    status:'1',    msg:err.message,    result:''   });  }else{   res.json({    status:'0',    msg:'',    result:doc.addressList   });  } })}); // 設置默認地址router.post("/setDefault", function (req,res,next) { var userId = req.cookies.userId,   addressId = req.body.addressId; if(!addressId){  res.json({   status:'1003',   msg:'addressId is null',   result:''  }); }else{  User.findOne({userId:userId}, function (err,doc) {   if(err){    res.json({     status:'1',     msg:err.message,     result:''    });   }else{    var addressList = doc.addressList;    addressList.forEach((item)=>{     if(item.addressId == addressId){       item.isDefault = true;     }else{      item.isDefault = false;     }    });     doc.save(function (err1,doc1) {     if(err){      res.json({       status:'1',       msg:err.message,       result:''      });     }else{       res.json({        status:'0',        msg:'',        result:''       });     }    })   }  }); }}); // 刪除地址接口 router.post("/delAddress", function (req,res,next) { var userId = req.cookies.userId,addressId = req.body.addressId; User.update({  userId:userId },{  $pull:{ // 刪除子文檔元素   'addressList':{    'addressId':addressId   }  } }, function (err,doc) {   if(err){    res.json({      status:'1',      msg:err.message,      result:''    });   }else{    res.json({     status:'0',     msg:'',     result:''    });   } });});// 用戶地址模塊開始-----------------------------------------------------------------------------------------------  module.exports = router;            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 墨脱县| 略阳县| 屏南县| 广灵县| 买车| 股票| 卢湾区| 抚松县| 遵化市| 广平县| 五大连池市| 重庆市| 浦江县| 城市| 卫辉市| 绥阳县| 冀州市| 灌阳县| 民勤县| 澳门| 临沂市| 东莞市| 吉隆县| 交口县| 韩城市| 湟中县| 班戈县| 孟连| 青冈县| 和硕县| 航空| 神池县| 资兴市| 吴忠市| 伊宁县| 德钦县| 濮阳市| 湟中县| 五大连池市| 横峰县| 论坛|