Skip to content

Commit d04d202

Browse files
author
xiaolongXL
committed
update
1 parent da2b436 commit d04d202

30 files changed

Lines changed: 623 additions & 57 deletions

doc/demo/day1/shoppingCar/app.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,15 @@ var logger = require('morgan');
55
var cookieParser = require('cookie-parser');
66
var bodyParser = require('body-parser');
77
var session = require('express-session');
8+
var articlListArr = require('./dataModel/articalList');
9+
810
var register = require('./routes/register');
911
var login = require('./routes/login');
12+
var showArticalList = require('./routes/showArticalList');
13+
var storeMyCartList = require('./routes/storeMyCartList');
14+
var getMyCartList = require('./routes/getMyCartList');
15+
16+
1017
var mongoose = require('mongoose');
1118
mongoose.connect('mongodb://localhost:7000/mytest');
1219
var db = mongoose.connection;
@@ -18,6 +25,30 @@ db.once('open', function callback () {
1825

1926
var app = express();
2027

28+
//插入物品列表数据
29+
var articlSchema = mongoose.Schema({
30+
articlId:Number,
31+
name: String,
32+
price:Number
33+
});
34+
var articlObj = mongoose.model('articlForm', articlSchema);
35+
36+
articlObj.find(function(err,dataArr){
37+
if(!dataArr.length){
38+
//还没有物品列表数据,创建9个物品
39+
for(var i=0; i<8; i++){
40+
var item = new articlObj({
41+
articlId:i,
42+
name:articlListArr[i].name,
43+
price:articlListArr[i].price
44+
});
45+
item.save();
46+
};
47+
}else{
48+
console.log('list has exist');
49+
};
50+
});
51+
2152
// uncomment after placing your favicon in /public
2253
//app.use(favicon(__dirname + '/public/favicon.ico'));
2354
app.use(logger('dev'));
@@ -32,6 +63,9 @@ app.use(express.static(path.join(__dirname, 'public')));
3263

3364
app.use('/register', register);
3465
app.use('/login', login);
66+
app.use('/getArticalList', showArticalList);
67+
app.use('/getMyCart', getMyCartList);
68+
app.use('/storeMyCart', storeMyCartList);
3569

3670
// catch 404 and forward to error handler
3771
app.use(function(req, res, next) {
6 KB
Binary file not shown.
176 KB
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6673
1+
7658
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
var arr = [
2+
{
3+
name:'金喜善同款',
4+
price:500
5+
},
6+
{
7+
name:'新款加厚毛衣',
8+
price:2300
9+
},
10+
{
11+
name:'百搭打底裙',
12+
price:2400
13+
},
14+
{
15+
name:'坡跟短靴',
16+
price:3000
17+
},
18+
{
19+
name:'三折编织钱包',
20+
price:200
21+
},
22+
{
23+
name:'尹恩惠同款',
24+
price:400
25+
},
26+
{
27+
name:'3折流苏靴',
28+
price:3400
29+
},
30+
{
31+
name:'加绒小脚裤',
32+
price:22900
33+
}
34+
];
35+
36+
module.exports = arr;
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<title></title>
7+
<link rel="stylesheet" type="text/css" href="stylesheets/style.css">
8+
<link type="image/x-icon" href="favicon.ico" rel="icon">
9+
<script type="text/javascript" src="javascripts/jquery.js"></script>
10+
<script>
11+
window.onload = function(){
12+
13+
function reminder(msg){
14+
$('body').append('<div class="store_suc"></div>');
15+
$('.store_suc').html(msg).css('display','block').stop().animate({opacity:0.5},200,function(){
16+
var _this = this;
17+
setTimeout(function(){
18+
19+
$(_this).animate({opacity:0},200,function(){
20+
$(this).remove();
21+
});
22+
},1000);
23+
24+
});
25+
};
26+
27+
28+
$('.list').bind('click',function(ev){
29+
30+
var oEvent = ev || event;
31+
var oTarget = oEvent.target;
32+
var oLi = $(oTarget).closest('li');
33+
34+
if(oLi.hasClass('active')){
35+
oLi.removeClass('active');
36+
37+
}else{
38+
oLi.addClass('active');
39+
40+
};
41+
});
42+
43+
function showArticalList(){
44+
$.ajax({
45+
type: "POST",
46+
url: "http://localhost:3000/getArticalList",
47+
data: {
48+
49+
},
50+
dataType: "json",
51+
success: function(data){
52+
$('.list').css('display','block');
53+
if(data.code == 0){
54+
$('.list ul').html('');
55+
for(var i=0; i<data.msg.length; i++){
56+
var htmlarr = [
57+
'<li _id="'+data.msg[i].articlId+'">',
58+
'<div class="imgwarp"><img src="img/'+(data.msg[i].articlId+1)+'.jpg"></div>',
59+
'<p class="shoppingname">'+data.msg[i].name+'</p>',
60+
'<p class="money">$'+data.msg[i].price+'</p>',
61+
'</li>'
62+
];
63+
var html = htmlarr.join('');
64+
$('.list ul').append(html);
65+
};
66+
}else{
67+
reminder(data.msg);
68+
};
69+
}
70+
});
71+
};
72+
73+
$('#addBtn').click(function(){
74+
75+
if(!$('.list').length){
76+
return;
77+
};
78+
79+
if(!$('.list .active').length){
80+
reminder('请先选择商品');
81+
return;
82+
};
83+
var sendArr = [];
84+
for(var i=0; i<$('.list .active').length; i++){
85+
var parNum = parseInt($('.list .active').eq(i).attr('_id'));
86+
sendArr.push(parNum);
87+
};
88+
89+
$.ajax({
90+
type: "POST",
91+
url: "http://localhost:3000/storeMyCart",
92+
data: {
93+
storeId:sendArr.join('&')
94+
},
95+
dataType: "json",
96+
success: function(data){
97+
98+
if(data.code == 0){
99+
reminder('成功加入');
100+
}else{
101+
reminder(data.msg);
102+
};
103+
}
104+
});
105+
});
106+
107+
$('#showListBtn').click(function(){
108+
showArticalList();
109+
});
110+
$('.usrName').text(sessionStorage.userName);
111+
showArticalList();
112+
};
113+
</script>
114+
</head>
115+
<body>
116+
<header>ShoppingCart</header>
117+
<p class="usrMsg"><span>用户名:</span><span class="usrName"></span></p>
118+
<div class="btns">
119+
<div class="btnbox">
120+
<a id="addBtn" href="javascript:;">加入购物车</a>
121+
<a id="myCartBtn" href="myCart.html">我的购物车</a>
122+
<a id="showListBtn" href="javascript:;">商品列表</a>
123+
</div>
124+
</div>
125+
<div class="list">
126+
<ul>
127+
</ul>
128+
</div>
129+
</body>
130+
</html>

0 commit comments

Comments
 (0)