Showing
17 changed files
with
402 additions
and
6 deletions
framework @ 119c247f
static/img/me/fav-s432b9a1e79.png
0 → 100644

5 KB
static/img/me/fav/fav-null.png
0 → 100644

6.39 KB
static/img/me/suggest-s8a27d3c01a.png
0 → 100644

516 Bytes
static/img/me/suggest/suggest-logo.png
0 → 100644

1.47 KB
static/js/me/fav.js
0 → 100644
1 | +/** | ||
2 | + * 个人中心--收藏 | ||
3 | + * @author: chenglong<chenglong.wang@yoho.cn> | ||
4 | + * @date: 2015/11/12 | ||
5 | + */ | ||
6 | + | ||
7 | +var $ = require('jquery'), | ||
8 | + Hammer = require('yoho.hammer'), | ||
9 | + lazyLoad = require('yoho.lazyload'); | ||
10 | + | ||
11 | +var $navLi = $('#fav-tab > li'), | ||
12 | + $favContainer = $('.fav-content'); | ||
13 | + | ||
14 | +var $curContainer = $favContainer.children('.fav-type').first();//保存当前显示的$favContainer | ||
15 | + | ||
16 | +var favTabHammer; | ||
17 | + | ||
18 | +//lazyLoad(); | ||
19 | + | ||
20 | +favTabHammer = new Hammer(document.getElementById('fav-tab')); | ||
21 | +favTabHammer.on('tap', function(e) { | ||
22 | + console.log(1); | ||
23 | + var $cur = $(e.target).closest('li'), | ||
24 | + index; | ||
25 | + | ||
26 | + if ($cur.length === 0 || $cur.hasClass('active')) { | ||
27 | + return; | ||
28 | + } | ||
29 | + | ||
30 | + index = $cur.index(); | ||
31 | + | ||
32 | + $navLi.filter('.active').removeClass('active'); | ||
33 | + $cur.addClass('active'); | ||
34 | + | ||
35 | + $curContainer.addClass('hide'); | ||
36 | + $curContainer = $favContainer.children(':eq(' + index + ')').removeClass('hide'); | ||
37 | +}); |
static/js/me/suggest.js
0 → 100644
1 | +/** | ||
2 | + * 个人中心--意见反馈 | ||
3 | + * @author: chenglong<chenglong.wang@yoho.cn> | ||
4 | + * @date: 2015/11/12 | ||
5 | + */ | ||
6 | + | ||
7 | +var $ = require('jquery'), | ||
8 | + Hammer = require('yoho.hammer'), | ||
9 | + lazyLoad = require('yoho.lazyload'); | ||
10 | + | ||
11 | +var $navLi = $('#fav-tab > li'), | ||
12 | + $favContainer = $('.fav-content'); | ||
13 | + | ||
14 | +var $curContainer = $favContainer.children('.fav-type').first();//保存当前显示的$favContainer | ||
15 | + | ||
16 | +var favTabHammer; | ||
17 | + | ||
18 | +//lazyLoad(); | ||
19 | + | ||
20 | +favTabHammer = new Hammer(document.getElementById('fav-tab')); | ||
21 | +favTabHammer.on('tap', function(e) { | ||
22 | + console.log(1); | ||
23 | + var $cur = $(e.target).closest('li'), | ||
24 | + index; | ||
25 | + | ||
26 | + if ($cur.length === 0 || $cur.hasClass('active')) { | ||
27 | + return; | ||
28 | + } | ||
29 | + | ||
30 | + index = $cur.index(); | ||
31 | + | ||
32 | + $navLi.filter('.active').removeClass('active'); | ||
33 | + $cur.addClass('active'); | ||
34 | + | ||
35 | + $curContainer.addClass('hide'); | ||
36 | + $curContainer = $favContainer.children(':eq(' + index + ')').removeClass('hide'); | ||
37 | +}); |
1 | +@charset "utf-8"; | ||
2 | + | ||
1 | @import "compass", "compass/reset"; | 3 | @import "compass", "compass/reset"; |
2 | $pxConvertRem: 40; | 4 | $pxConvertRem: 40; |
3 | 5 | ||
@@ -61,6 +63,9 @@ a { | @@ -61,6 +63,9 @@ a { | ||
61 | .hide { | 63 | .hide { |
62 | display: none; | 64 | display: none; |
63 | } | 65 | } |
66 | +#show { | ||
67 | + display: block; | ||
68 | +} | ||
64 | 69 | ||
65 | .overflow-hidden { | 70 | .overflow-hidden { |
66 | overflow: hidden; | 71 | overflow: hidden; |
@@ -122,4 +127,17 @@ a { | @@ -122,4 +127,17 @@ a { | ||
122 | background-size: pxToRem(sprite-width($map)) pxToRem(sprite-height($map)); | 127 | background-size: pxToRem(sprite-width($map)) pxToRem(sprite-height($map)); |
123 | } | 128 | } |
124 | 129 | ||
125 | -@import "layout/header", "layout/footer", "layout/footer_tab", "good", "filter", "loading", "passport/index", "guang/index", "home/index", "category/index", "product/index", "index/index", "shopping-cart/index", "me/index"; | 130 | +@import "layout/header"; |
131 | +@import "layout/footer"; | ||
132 | +@import "layout/footer_tab"; | ||
133 | +@import "good"; | ||
134 | +@import "filter"; | ||
135 | +@import "loading"; | ||
136 | +@import "passport/index"; | ||
137 | +@import "guang/index"; | ||
138 | +@import "home/index"; | ||
139 | +@import "category/index"; | ||
140 | +@import "product/index"; | ||
141 | +@import "index/index"; | ||
142 | +@import "shopping-cart/index"; | ||
143 | +@import "me/index"; //个人中心 |
static/sass/me/_fav.scss
0 → 100644
1 | +$fav: sprite-map("me/fav/*.png",$spacing: 5px); | ||
2 | + | ||
3 | +.yoho-favorite-page { | ||
4 | + width: 100%; | ||
5 | + height: auto; | ||
6 | + | ||
7 | + // 选项卡切换 | ||
8 | + .fav-tab { | ||
9 | + width: 100%; | ||
10 | + height: pxToRem(88px); | ||
11 | + line-height: pxToRem(88px); | ||
12 | + border-bottom: 1px solid #e0e0e0; | ||
13 | + color: #b0b0b0; | ||
14 | + font-size: pxToRem(26px); | ||
15 | + | ||
16 | + li { | ||
17 | + width: 50%; | ||
18 | + height: 100%; | ||
19 | + float: left; | ||
20 | + text-align: center; | ||
21 | + | ||
22 | + &.active { | ||
23 | + color: #444; | ||
24 | + } | ||
25 | + | ||
26 | + &:nth-last-of-type(1) { | ||
27 | + float: right; | ||
28 | + position: relative; | ||
29 | + | ||
30 | + &:after { | ||
31 | + content: ''; | ||
32 | + display: block; | ||
33 | + width: 1px; | ||
34 | + height: pxToRem(44px); | ||
35 | + position: absolute; | ||
36 | + left: 0; | ||
37 | + top: pxToRem(22px); | ||
38 | + background: #b0b0b0; | ||
39 | + } | ||
40 | + } | ||
41 | + } | ||
42 | + } | ||
43 | + | ||
44 | + //收藏主体 | ||
45 | + .fav-content { | ||
46 | + padding: 0 pxToRem(30px); | ||
47 | + | ||
48 | + .fav-null { | ||
49 | + font-size: pxToRem(22px); | ||
50 | + color: #444; | ||
51 | + display: block; | ||
52 | + margin-top: pxToRem(100px); | ||
53 | + text-align: center; | ||
54 | + | ||
55 | + &:before { | ||
56 | + content: ''; | ||
57 | + display: block; | ||
58 | + @include rem-sprite($fav, fav-null); | ||
59 | + width: pxToRem(image_width(sprite-file($fav, fav-null))); | ||
60 | + height: pxToRem(image_height(sprite-file($fav, fav-null))); | ||
61 | + | ||
62 | + margin: 0 auto pxToRem(45px) auto; | ||
63 | + } | ||
64 | + } | ||
65 | + | ||
66 | + .go-shopping { | ||
67 | + width: pxToRem(472px); | ||
68 | + height: pxToRem(88px); | ||
69 | + line-height: pxToRem(88px); | ||
70 | + margin: pxToRem(125px) auto 0 auto; | ||
71 | + background: #444; | ||
72 | + text-align: center; | ||
73 | + color: #fff; | ||
74 | + display: block; | ||
75 | + font-size: pxToRem(26px); | ||
76 | + } | ||
77 | + } | ||
78 | +} |
static/sass/me/_suggest.scss
0 → 100644
1 | +$suggest: sprite-map("me/suggest/*.png",$spacing: 5px); | ||
2 | + | ||
3 | +.yoho-suggest-page { | ||
4 | + width: 100%; | ||
5 | + height: auto; | ||
6 | + | ||
7 | + // 意见反馈头部 | ||
8 | + .suggest-header { | ||
9 | + text-align: center; | ||
10 | + color: #fff; | ||
11 | + font-size: pxToRem(26px); | ||
12 | + line-height: pxToRem(46px); | ||
13 | + overflow: hidden; | ||
14 | + padding-bottom: pxToRem(20px); | ||
15 | + | ||
16 | + @include background-image(linear-gradient(#383838, #505050)); | ||
17 | + | ||
18 | + &:before { | ||
19 | + content: ''; | ||
20 | + display: block; | ||
21 | + | ||
22 | + @include rem-sprite($suggest, suggest-logo); | ||
23 | + width: pxToRem(image_width(sprite-file($suggest, suggest-logo))); | ||
24 | + height: pxToRem(image_height(sprite-file($suggest, suggest-logo))); | ||
25 | + | ||
26 | + margin: pxToRem(10px) auto pxToRem(15px) auto; | ||
27 | + } | ||
28 | + } | ||
29 | + | ||
30 | + //意见反馈主体 | ||
31 | + .suggest-content { | ||
32 | + border-top: pxToRem(30px) solid #fff; | ||
33 | + | ||
34 | + .suggest-item { | ||
35 | + width: 100%; | ||
36 | + color: #444; | ||
37 | + border-top: 1px solid #e0e0e0; | ||
38 | + border-bottom: pxToRem(30px) solid #f0f0f0; | ||
39 | + | ||
40 | + > img { | ||
41 | + display: block; | ||
42 | + overflow: hidden; | ||
43 | + width: 100%; | ||
44 | + } | ||
45 | + | ||
46 | + > h2 { | ||
47 | + font-size: pxToRem(38px); | ||
48 | + margin: pxToRem(30px) 0 pxToRem(42px - 11px) 0; | ||
49 | + padding: 0 pxToRem(35px); | ||
50 | + } | ||
51 | + | ||
52 | + > p { | ||
53 | + font-size: pxToRem(26px); | ||
54 | + line-height: pxToRem(48px); | ||
55 | + padding: 0 pxToRem(35px); | ||
56 | + } | ||
57 | + | ||
58 | + .suggest-type { | ||
59 | + margin-top: pxToRem(29px - 11px); | ||
60 | + height: pxToRem(88px); | ||
61 | + line-height: pxToRem(88px); | ||
62 | + border-top: 1px solid #e0e0e0; | ||
63 | + border-bottom: 1px solid #e0e0e0; | ||
64 | + color: #b0b0b0; | ||
65 | + font-size: pxToRem(26px); | ||
66 | + display: none; | ||
67 | + | ||
68 | + > div { | ||
69 | + width: 50%; | ||
70 | + float: left; | ||
71 | + text-align: left; | ||
72 | + padding-left: pxToRem(128px); | ||
73 | + @include box-sizing(); | ||
74 | + | ||
75 | + &.active { | ||
76 | + color: #444; | ||
77 | + | ||
78 | + > span { | ||
79 | + display: inline-block; | ||
80 | + height: 100%; | ||
81 | + overflow: hidden; | ||
82 | + | ||
83 | + &:nth-of-type(1) { | ||
84 | + @include rotate(180deg); | ||
85 | + @include transition(transform .5); | ||
86 | + } | ||
87 | + } | ||
88 | + } | ||
89 | + | ||
90 | + &:nth-last-of-type(1) { | ||
91 | + padding-left: pxToRem(0); | ||
92 | + padding-right: pxToRem(128px); | ||
93 | + text-align: right; | ||
94 | + float: right; | ||
95 | + } | ||
96 | + } | ||
97 | + | ||
98 | + &.active { | ||
99 | + text-align: center; | ||
100 | + color: #444; | ||
101 | + } | ||
102 | + } | ||
103 | + } | ||
104 | + } | ||
105 | +} |
1 | +{{> layout/header}} | ||
2 | +<div class="yoho-favorite-page yoho-page"> | ||
3 | + {{# favorite}} | ||
4 | + <ul id="fav-tab" class="fav-tab"> | ||
5 | + <li class="active">收藏的商品</li> | ||
6 | + <li>收藏的品牌</li> | ||
7 | + </ul> | ||
8 | + <div class="fav-content"> | ||
9 | + <div class="fav-type"> | ||
10 | + {{# hasFavProduct}} | ||
11 | + | ||
12 | + {{/ hasFavProduct}} | ||
13 | + | ||
14 | + {{^ hasFavProduct}} | ||
15 | + <span class="fav-null">您暂无收藏任何商品</span> | ||
16 | + <a class="go-shopping" href="#">随便逛逛</a> | ||
17 | + {{/ hasFavProduct}} | ||
18 | + </div> | ||
19 | + <div class="fav-type hide"> | ||
20 | + {{# hasFavBrand}} | ||
21 | + | ||
22 | + {{/ hasFavBrand}} | ||
23 | + | ||
24 | + {{^ hasFavBrand}} | ||
25 | + <span class="fav-null">您暂无收藏任何品牌</span> | ||
26 | + <a class="go-shopping" href="#">随便逛逛</a> | ||
27 | + {{/ hasFavBrand}} | ||
28 | + </div> | ||
29 | + </div> | ||
30 | + {{/ favorite}} | ||
31 | +</div> | ||
32 | +{{> layout/footer}} |
1 | +{{> layout/header}} | ||
2 | +<div class="yoho-suggest-page yoho-page"> | ||
3 | + {{# suggest}} | ||
4 | + <h2 class="suggest-header"> | ||
5 | + 为了更好的改进我们的服务,提升用户体验,<br /> | ||
6 | + 我们希望了解您的意见和建议 | ||
7 | + </h2> | ||
8 | + | ||
9 | + <div class="suggest-content" id="suggest-content"> | ||
10 | + {{# suggestContent}} | ||
11 | + <div class="suggest-item"> | ||
12 | + <img src="{{imgUrl}}" alt=""/> | ||
13 | + <h2>{{title}}</h2> | ||
14 | + <p>{{content}}</p> | ||
15 | + | ||
16 | + <!--bad传true表示点了不靠谱,false表示没有任何动作--> | ||
17 | + <!--good传true表示点了靠谱,false表示没有任何动作--> | ||
18 | + <div id="{{^ good}}show{{/ good}}" class="suggest-type"> | ||
19 | + <div> | ||
20 | + <span class="iconfont"></span> | ||
21 | + <span>靠谱</span> | ||
22 | + </div> | ||
23 | + <div class="{{# bad}}active{{/ bad}}"> | ||
24 | + <span class="iconfont"></span> | ||
25 | + <span>不靠谱</span> | ||
26 | + </div> | ||
27 | + </div> | ||
28 | + | ||
29 | + <div id="{{# good}}show{{/ good}}" class="suggest-type active"> | ||
30 | + <span class="iconfont"></span> | ||
31 | + <span>靠谱,谢谢您的反馈</span> | ||
32 | + </div> | ||
33 | + </div> | ||
34 | + {{/ suggestContent}} | ||
35 | + </div> | ||
36 | + {{/ suggest}} | ||
37 | +</div> | ||
38 | +{{> layout/footer}} |
@@ -113,7 +113,20 @@ class HomeController extends AbstractAction | @@ -113,7 +113,20 @@ class HomeController extends AbstractAction | ||
113 | 113 | ||
114 | $favProducts = \Index\UserModel::getFavProductData($uid); | 114 | $favProducts = \Index\UserModel::getFavProductData($uid); |
115 | 115 | ||
116 | - print_r($favProducts); | 116 | + //print_r($favProducts); |
117 | + | ||
118 | + $this->_view->display('favorite', array( | ||
119 | + 'favPage' => true, | ||
120 | + 'pageHeader' => array( | ||
121 | + 'navBack' => true, | ||
122 | + 'navTitle' => '我的收藏', | ||
123 | + 'navHome' => true | ||
124 | + ), | ||
125 | + 'pageFooter' => true, | ||
126 | + 'favorite' => true, | ||
127 | + 'hasFavProduct' => false, | ||
128 | + 'hasFavBrand' => false | ||
129 | + )); | ||
117 | } | 130 | } |
118 | 131 | ||
119 | /** | 132 | /** |
@@ -206,7 +219,37 @@ class HomeController extends AbstractAction | @@ -206,7 +219,37 @@ class HomeController extends AbstractAction | ||
206 | 219 | ||
207 | $suggest = \Index\UserModel::getSuggestData($udid, $page, $limit); | 220 | $suggest = \Index\UserModel::getSuggestData($udid, $page, $limit); |
208 | 221 | ||
209 | - print_r($suggest); | 222 | + //print_r($suggest); |
223 | + $this->_view->display('suggest', array( | ||
224 | + 'suggestPage' => true, | ||
225 | + 'pageHeader' => array( | ||
226 | + 'navBack' => true, | ||
227 | + 'navTitle' => '意见反馈' | ||
228 | + ), | ||
229 | + 'pageFooter' => true, | ||
230 | + 'suggest' => true, | ||
231 | + 'suggestContent' => array( | ||
232 | + 0 => array( | ||
233 | + 'imgUrl' => 'http://img11.static.yhbimg.com/yhb-img01/2015/09/12/06/0115bdfeb4a7dca4b4bfdf0e850f82f2a1.jpg?imageView/2/w/640/h/240', | ||
234 | + 'title' => '为什么手机不能退换货?', | ||
235 | + 'content' => 'YOHO!有货的退换货承诺:自您签收商品7日内可以退货,15日内可以换货,在商品吊牌、标签、包装完整,不影响二次销售的情况下,YOHO!有货将为您办理退换货服务。', | ||
236 | + 'good' => true, | ||
237 | + 'bad' => false), | ||
238 | + 1 => array( | ||
239 | + 'imgUrl' => 'http://img11.static.yhbimg.com/yhb-img01/2015/09/12/06/0115bdfeb4a7dca4b4bfdf0e850f82f2a1.jpg?imageView/2/w/640/h/240', | ||
240 | + 'title' => '为什么手机不能退换货?', | ||
241 | + 'content' => 'YOHO!有货的退换货承诺:自您签收商品7日内可以退货,15日内可以换货,在商品吊牌、标签、包装完整,不影响二次销售的情况下,YOHO!有货将为您办理退换货服务。', | ||
242 | + 'good' => false, | ||
243 | + 'bad' => true), | ||
244 | + 2 => array( | ||
245 | + 'imgUrl' => 'http://img11.static.yhbimg.com/yhb-img01/2015/09/12/06/0115bdfeb4a7dca4b4bfdf0e850f82f2a1.jpg?imageView/2/w/640/h/240', | ||
246 | + 'title' => '为什么手机不能退换货?', | ||
247 | + 'content' => 'YOHO!有货的退换货承诺:自您签收商品7日内可以退货,15日内可以换货,在商品吊牌、标签、包装完整,不影响二次销售的情况下,YOHO!有货将为您办理退换货服务。', | ||
248 | + 'good' => false, | ||
249 | + 'bad' => false) | ||
250 | + ) | ||
251 | + )); | ||
252 | + | ||
210 | } | 253 | } |
211 | 254 | ||
212 | /** | 255 | /** |
@@ -181,7 +181,7 @@ class UserModel | @@ -181,7 +181,7 @@ class UserModel | ||
181 | 181 | ||
182 | // 调用接口获取地址数据 | 182 | // 调用接口获取地址数据 |
183 | $suggest = UserData::suggestData($udid, $page, $limit); | 183 | $suggest = UserData::suggestData($udid, $page, $limit); |
184 | - print_r($suggest); | 184 | + //print_r($suggest); |
185 | 185 | ||
186 | // 处理意见反馈数据 | 186 | // 处理意见反馈数据 |
187 | if (isset($suggest['data']) && !empty($suggest['data'])) { | 187 | if (isset($suggest['data']) && !empty($suggest['data'])) { |
-
Please register or login to post a comment