@@ -5,13 +5,14 @@ var logger = require('morgan');
55var cookieParser = require ( 'cookie-parser' ) ;
66var bodyParser = require ( 'body-parser' ) ;
77var session = require ( 'express-session' ) ;
8- var articlListArr = require ( './dataModel/articalList' ) ;
8+ var user = require ( './dataModel/users' ) ;
9+
910
1011var register = require ( './routes/register' ) ;
1112var login = require ( './routes/login' ) ;
1213var showArticalList = require ( './routes/showArticalList' ) ;
1314var storeMyCartList = require ( './routes/storeMyCartList' ) ;
14- var getMyCartList = require ( './routes/getMyCartList' ) ;
15+ var getMyCartLists = require ( './routes/getMyCartList' ) ;
1516
1617
1718var mongoose = require ( 'mongoose' ) ;
@@ -25,30 +26,6 @@ db.once('open', function callback () {
2526
2627var app = express ( ) ;
2728
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-
5229// uncomment after placing your favicon in /public
5330//app.use(favicon(__dirname + '/public/favicon.ico'));
5431app . use ( logger ( 'dev' ) ) ;
@@ -57,15 +34,92 @@ app.use(bodyParser.urlencoded({ extended: false }));
5734app . use ( cookieParser ( '' ) ) ;
5835app . use ( session ( {
5936 secret : 'xiaolong' ,
60- cookie : { maxAge : 10000 }
37+ cookie : { maxAge : 10000000 }
6138} ) ) ;
6239app . use ( express . static ( path . join ( __dirname , 'public' ) ) ) ;
6340
41+ //注册
6442app . use ( '/register' , register ) ;
43+ //登陆
6544app . use ( '/login' , login ) ;
45+ //显示所有商品
6646app . use ( '/getArticalList' , showArticalList ) ;
67- app . use ( '/getMyCart' , getMyCartList ) ;
47+ //加入购物车
6848app . use ( '/storeMyCart' , storeMyCartList ) ;
49+ //读取我的购物车
50+ app . use ( '/getMyCart' , function ( req , res ) {
51+ var user_name = req . session . userName ;
52+ user . storeCartsObj . find ( { 'userName' :user_name } , function ( err , arr ) {
53+
54+ var newArr = [ ] ;
55+
56+ for ( var i = 0 ; i < arr . length ; i ++ ) {
57+ var json = arr [ i ] . toJSON ( ) ;
58+ json . count = 1 ;
59+ newArr . push ( json ) ;
60+ } ;
61+
62+ var newtoArr = reorganize ( newArr ) ;
63+ console . log ( newtoArr ) ;
64+
65+ res . status ( 200 ) . json ( {
66+ code :0 ,
67+ msg :newtoArr
68+ } ) ;
69+
70+ } ) ;
71+
72+ } ) ;
73+
74+ function reorganize ( arr ) {
75+ var newarr = [ ] ;
76+ console . log ( 'reorganize' ) ;
77+ for ( var i = 0 ; i < arr . length ; i ++ ) {
78+ if ( findarr ( newarr , arr [ i ] . articlId ) ) {
79+ var arr_get = findarr ( newarr , arr [ i ] . articlId ) ;
80+ var getcount = parseInt ( arr_get . count ) ;
81+ if ( ! getcount ) {
82+ getcount = 1 ;
83+ } else {
84+ getcount ++ ;
85+ } ;
86+ setarr ( newarr , arr [ i ] . articlId , {
87+ count :getcount
88+ } ) ;
89+ } else {
90+ newarr . push ( arr [ i ] ) ;
91+ } ;
92+ } ;
93+
94+ return newarr ;
95+ } ;
96+
97+ function findarr ( arr , n ) {
98+ console . log ( 'findarr' ) ;
99+ for ( var i = 0 ; i < arr . length ; i ++ ) {
100+ if ( arr [ i ] . articlId == n ) {
101+ return arr [ i ] ;
102+ } ;
103+ } ;
104+
105+ return false ;
106+ } ;
107+
108+ function setarr ( arr , n , json ) {
109+ console . log ( arr ) ;
110+ console . log ( n ) ;
111+ console . log ( json ) ;
112+ for ( var i = 0 ; i < arr . length ; i ++ ) {
113+ if ( arr [ i ] . articlId == n ) {
114+ for ( var attr in json ) {
115+ var jsonnow = arr [ i ] ;
116+ jsonnow . count = json [ attr ] ;
117+ console . log ( jsonnow ) ;
118+ //console.log(json[attr]);
119+ } ;
120+ } ;
121+ } ;
122+ } ;
69123
70124// catch 404 and forward to error handler
71125app . use ( function ( req , res , next ) {
0 commit comments