Authored by lore-w

收藏、意见反馈

framework @ 119c247f
1 -Subproject commit 75bbc3b075de19f239532f60c5995d06c5f814e2 1 +Subproject commit 119c247f5cf929aa1e059e40609bb16dd6b58f05
@@ -5,3 +5,4 @@ @@ -5,3 +5,4 @@
5 */ 5 */
6 6
7 require('./order'); 7 require('./order');
  8 +require('./fav');
  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 +/**
  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"; //个人中心
  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 +}
1 -@import "home", "vip-grade", "order", "personal-details", "yoho-coin", "recommend-for-you";  
  1 +@import "home", "vip-grade", "order", "personal-details", "yoho-coin", "recommend-for-you", "fav", "suggest";
  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">&#xe601;</span>
  21 + <span>靠谱</span>
  22 + </div>
  23 + <div class="{{# bad}}active{{/ bad}}">
  24 + <span class="iconfont">&#xe601;</span>
  25 + <span>不靠谱</span>
  26 + </div>
  27 + </div>
  28 +
  29 + <div id="{{# good}}show{{/ good}}" class="suggest-type active">
  30 + <span class="iconfont">&#xe601;</span>
  31 + <span>靠谱,谢谢您的反馈</span>
  32 + </div>
  33 + </div>
  34 + {{/ suggestContent}}
  35 + </div>
  36 + {{/ suggest}}
  37 +</div>
  38 +{{> layout/footer}}
@@ -202,3 +202,10 @@ @@ -202,3 +202,10 @@
202 seajs.use('js/me/order'); 202 seajs.use('js/me/order');
203 </script> 203 </script>
204 {{/if}} 204 {{/if}}
  205 +
  206 +{{!-- 个人中心: 商品收藏&品牌收藏 --}}
  207 +{{#if favPage}}
  208 +<script>
  209 + seajs.use('js/me/fav');
  210 +</script>
  211 +{{/if}}
@@ -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'])) {