Showing
12 changed files
with
118 additions
and
19 deletions
apps/home/controllers/coupons.js
0 → 100644
1 | +'use strict'; | ||
2 | +const headerModel = require('../../../doraemon/models/header'); // 头部model | ||
3 | + | ||
4 | +const index = (req, res) => { | ||
5 | + res.render('coupons', { | ||
6 | + module: 'home', | ||
7 | + page: 'coupons', | ||
8 | + pageHeader: headerModel.setNav({ | ||
9 | + navTitle: '优惠券' | ||
10 | + }), | ||
11 | + title: '优惠券', | ||
12 | + pageFooter: true, | ||
13 | + }); | ||
14 | +}; | ||
15 | + | ||
16 | +const couponData = (req, res) => { | ||
17 | +}; | ||
18 | + | ||
19 | +module.exports = { | ||
20 | + index, | ||
21 | + couponData | ||
22 | +}; |
@@ -92,21 +92,28 @@ exports.record = (req, res) => { | @@ -92,21 +92,28 @@ exports.record = (req, res) => { | ||
92 | }; | 92 | }; |
93 | 93 | ||
94 | exports.recordContent = (req, res, next) => { | 94 | exports.recordContent = (req, res, next) => { |
95 | - let uid = req.user.uid || 6228593; // TODO | 95 | + let uid = req.user.uid; |
96 | 96 | ||
97 | let udid = req.user.udid; | 97 | let udid = req.user.udid; |
98 | 98 | ||
99 | let page = req.query.page || 1; | 99 | let page = req.query.page || 1; |
100 | 100 | ||
101 | - let limit = 10; | 101 | + let limit = 30; |
102 | 102 | ||
103 | indexModel.recordContent(uid, udid, page, limit).then((result) => { | 103 | indexModel.recordContent(uid, udid, page, limit).then((result) => { |
104 | - res.render('browse-record-content', result); | 104 | + |
105 | + if (result.browseRecord && result.browseRecord.length === 0) { | ||
106 | + res.json(false); | ||
107 | + } else { | ||
108 | + res.render('browse-record-content', Object.assign({ | ||
109 | + layout: false | ||
110 | + }, result)); | ||
111 | + } | ||
105 | }).catch(next); | 112 | }).catch(next); |
106 | }; | 113 | }; |
107 | 114 | ||
108 | exports.delRecord = (req, res, next) => { | 115 | exports.delRecord = (req, res, next) => { |
109 | - let uid = req.user.uid || 6228593; // TODO | 116 | + let uid = req.user.uid; |
110 | 117 | ||
111 | let skn = req.user.skn || 0; | 118 | let skn = req.user.skn || 0; |
112 | 119 |
apps/home/models/coupons.js
0 → 100644
@@ -154,34 +154,34 @@ const recordContent = (uid, udid, page, limit) => { | @@ -154,34 +154,34 @@ const recordContent = (uid, udid, page, limit) => { | ||
154 | 154 | ||
155 | return api.get('', { | 155 | return api.get('', { |
156 | method: 'app.browse.product', | 156 | method: 'app.browse.product', |
157 | - uid: uid || 6228593, // TODO | 157 | + uid: uid, |
158 | limit: limit, | 158 | limit: limit, |
159 | page: page | 159 | page: page |
160 | }, {code: 200}).then((result) => { | 160 | }, {code: 200}).then((result) => { |
161 | 161 | ||
162 | - let resu = { | ||
163 | - browseRecord: [] | ||
164 | - }; | 162 | + let resu = {}; |
165 | 163 | ||
166 | if (result && result.code === 200) { | 164 | if (result && result.code === 200) { |
165 | + | ||
167 | let list = result; | 166 | let list = result; |
168 | 167 | ||
169 | - // 不能再查到结果了 | ||
170 | - if (page > 1 && list === []) { | 168 | + if (!result || page === '1' && result.data.total === 0) { |
169 | + resu.walkwayUrl = helpers.urlFormat('/product/new'); | ||
171 | resu.noRecord = true; | 170 | resu.noRecord = true; |
172 | - } | ||
173 | 171 | ||
174 | - if (result.data.total === 0) { | ||
175 | - resu.total = 0; | 172 | + return resu; |
176 | } | 173 | } |
177 | 174 | ||
175 | + if (list.data && list.data.product_list) { | ||
176 | + resu = { | ||
177 | + browseRecord: [] | ||
178 | + }; | ||
178 | 179 | ||
179 | _.forEach(list.data.product_list, function(val) { | 180 | _.forEach(list.data.product_list, function(val) { |
180 | let obj = { | 181 | let obj = { |
181 | productList: [] | 182 | productList: [] |
182 | }; | 183 | }; |
183 | 184 | ||
184 | - | ||
185 | obj = _.assign(obj, { | 185 | obj = _.assign(obj, { |
186 | product_name: val.product_name, | 186 | product_name: val.product_name, |
187 | product_skn: val.product_skn, | 187 | product_skn: val.product_skn, |
@@ -195,6 +195,8 @@ const recordContent = (uid, udid, page, limit) => { | @@ -195,6 +195,8 @@ const recordContent = (uid, udid, page, limit) => { | ||
195 | 195 | ||
196 | resu.browseRecord.push(obj); | 196 | resu.browseRecord.push(obj); |
197 | }); | 197 | }); |
198 | + } | ||
199 | + | ||
198 | return resu; | 200 | return resu; |
199 | } | 201 | } |
200 | }); | 202 | }); |
@@ -17,6 +17,7 @@ const favorite = require(`${cRoot}/favorite`); | @@ -17,6 +17,7 @@ const favorite = require(`${cRoot}/favorite`); | ||
17 | const orderController = require(`${cRoot}/order`); | 17 | const orderController = require(`${cRoot}/order`); |
18 | const orderDetailController = require(`${cRoot}/orderDetail`); | 18 | const orderDetailController = require(`${cRoot}/orderDetail`); |
19 | const currencyController = require(`${cRoot}/myCurrency`); | 19 | const currencyController = require(`${cRoot}/myCurrency`); |
20 | +const coupons = require(`${cRoot}/coupons`); | ||
20 | 21 | ||
21 | // const myDetail = require(`${cRoot}/myDetail); | 22 | // const myDetail = require(`${cRoot}/myDetail); |
22 | 23 | ||
@@ -63,4 +64,8 @@ router.get('/favBrand', favorite.favfavBrand); | @@ -63,4 +64,8 @@ router.get('/favBrand', favorite.favfavBrand); | ||
63 | // 取消收藏 | 64 | // 取消收藏 |
64 | router.post('/favoriteDel', favorite.favoriteDelete); | 65 | router.post('/favoriteDel', favorite.favoriteDelete); |
65 | 66 | ||
67 | +// 优惠券 | ||
68 | +router.get('/coupons', coupons.index); | ||
69 | +router.post('/couponData', coupons.couponData); | ||
70 | + | ||
66 | module.exports = router; | 71 | module.exports = router; |
apps/home/views/action/coupons.hbs
0 → 100644
@@ -45,9 +45,8 @@ function moreRecord(cb) { | @@ -45,9 +45,8 @@ function moreRecord(cb) { | ||
45 | page: page + 1 | 45 | page: page + 1 |
46 | }, | 46 | }, |
47 | success: function(data) { | 47 | success: function(data) { |
48 | - if (data === ' ') { | 48 | + if (!data) { |
49 | end = true; | 49 | end = true; |
50 | - | ||
51 | $more.addClass('hide'); | 50 | $more.addClass('hide'); |
52 | $noMore.removeClass('hide'); | 51 | $noMore.removeClass('hide'); |
53 | } else { | 52 | } else { |
public/js/home/coupons.page.js
0 → 100644
1 | +var $ = require('yoho-jquery'), | ||
2 | + Hammer = require('yoho-hammer'), | ||
3 | + ellipsis = require('yoho-mlellipsis'), | ||
4 | + loading = require('../plugin/loading'); | ||
5 | + | ||
6 | +var employ, | ||
7 | + statu = 0, | ||
8 | + page = 1; | ||
9 | + | ||
10 | +ellipsis.init(); | ||
11 | + | ||
12 | +function couponAJAX(statu, page) { | ||
13 | + return; | ||
14 | + loading.showLoadingMask(); | ||
15 | + $.ajax({ | ||
16 | + type: 'POST', | ||
17 | + url: '/home/couponData', | ||
18 | + dataType: 'html', | ||
19 | + data: { | ||
20 | + status: statu, | ||
21 | + page: page | ||
22 | + }, | ||
23 | + success: function(data) { | ||
24 | + $('#employ').append(data); | ||
25 | + window.rePosFooter(); | ||
26 | + loading.hideLoadingMask(); | ||
27 | + } | ||
28 | + }); | ||
29 | +} | ||
30 | + | ||
31 | +$('.yoho-footer').css('border-top', '1px solid #e0e0e0'); | ||
32 | +$('.employ span').each(function(index) { | ||
33 | + employ = new Hammer($('.employ span')[index]); | ||
34 | + employ.on('tap', function(e) { | ||
35 | + $('.employ span').removeClass('active').eq(index).addClass('active'); | ||
36 | + $('#employ').html(' '); | ||
37 | + statu = index; | ||
38 | + page = 1; | ||
39 | + couponAJAX(statu, page); | ||
40 | + window.rePosFooter(); | ||
41 | + }); | ||
42 | +}); | ||
43 | + | ||
44 | + | ||
45 | +function scrollHandler() { | ||
46 | + if ($(window).scrollTop() + $(window).height() > $('body').height() - 100) { | ||
47 | + page++; | ||
48 | + couponAJAX(statu, page); | ||
49 | + return; | ||
50 | + } | ||
51 | +} | ||
52 | + | ||
53 | +$(window).scroll(function() { | ||
54 | + window.requestAnimationFrame(scrollHandler); | ||
55 | +}); | ||
56 | + | ||
57 | +couponAJAX(statu, page); |
@@ -80,13 +80,13 @@ | @@ -80,13 +80,13 @@ | ||
80 | background: #fff; | 80 | background: #fff; |
81 | text-align: center; | 81 | text-align: center; |
82 | top: 50%; | 82 | top: 50%; |
83 | - margin-top: -220px; | 83 | + margin-top: 200px; |
84 | width: 100%; | 84 | width: 100%; |
85 | 85 | ||
86 | .icon { | 86 | .icon { |
87 | width: 196px; | 87 | width: 196px; |
88 | height: 207px; | 88 | height: 207px; |
89 | - background: resolve('me/no-record.png') no-repeat; | 89 | + background: resolve("me/no-record.png") no-repeat; |
90 | background-size: 100%; | 90 | background-size: 100%; |
91 | margin: 0 auto; | 91 | margin: 0 auto; |
92 | } | 92 | } |
@@ -2,7 +2,6 @@ | @@ -2,7 +2,6 @@ | ||
2 | @import "vip-grade"; | 2 | @import "vip-grade"; |
3 | @import "order"; | 3 | @import "order"; |
4 | @import "order-detail"; | 4 | @import "order-detail"; |
5 | -@import "coupons"; | ||
6 | @import "personal-details"; | 5 | @import "personal-details"; |
7 | @import "yoho-coin"; | 6 | @import "yoho-coin"; |
8 | @import "fav"; | 7 | @import "fav"; |
-
Please register or login to post a comment