diff --git a/apps/channel/views/action/channel.hbs b/apps/channel/views/action/channel.hbs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/apps/channel/views/action/channel.hbs
diff --git a/dispatch.js b/dispatch.js
index 8391fab..89ffaa1 100644
--- a/dispatch.js
+++ b/dispatch.js
@@ -9,5 +9,5 @@ module.exports = app => {
     // 公共服务
 
     // 业务模块
-    app.get('/', require('./apps/channel'));
+    app.use(require('./apps/channel')); // 频道页
 };
diff --git a/doraemon/views/layout.hbs b/doraemon/views/layout.hbs
index 8bb631c..475d64e 100644
--- a/doraemon/views/layout.hbs
+++ b/doraemon/views/layout.hbs
@@ -15,25 +15,23 @@
         <link rel="dns-prefetch" href="//img12.static.yhbimg.com">
         <link rel="dns-prefetch" href="//img13.static.yhbimg.com">
         {{#if devEnv}}
-            <link rel="stylesheet" href="//localhost:5002/css/index.css">
+            <link rel="stylesheet" href="//localhost:5003/css/index.css">
         {{^}}
-            <link rel="stylesheet" href="//cdn.yoho.cn/yohobuy-node/{{version}}/index.css">
+            <link rel="stylesheet" href="//cdn.yoho.cn/yohoblk-node/{{version}}/index.css">
         {{/if}}
     </head>
     <body>
         {{> header}}
-        {{#if pageErr}}
-            {{> 404}}
+
+        {{{body}}}
+
+        {{!-- {{> footer}} --}}
+        {{#if devEnv}}
+            <script src="//localhost:5003/libs.js"></script>
+            <script src="//localhost:5003/{{module}}.{{page}}.js"></script>
         {{^}}
-            {{{body}}}
-        {{/if}}
-        {{> footer}}
-        {{#if devEnv}}
-            <script src="//localhost:5002/libs.js"></script>
-            <script src="//localhost:5002/{{module}}.{{page}}.js"></script>
-        {{^}}
-            <script src="//cdn.yoho.cn/yohobuy-node/{{version}}/libs.js"></script>
-            <script src="//cdn.yoho.cn/yohobuy-node/{{version}}/{{module}}.{{page}}.js"></script>
+            <script src="//cdn.yoho.cn/yohoblk-node/{{version}}/libs.js"></script>
+            <script src="//cdn.yoho.cn/yohoblk-node/{{version}}/{{module}}.{{page}}.js"></script>
         {{/if}}
     </body>
 </html>
diff --git a/doraemon/views/partial/header.hbs b/doraemon/views/partial/header.hbs
new file mode 100644
index 0000000..2f97d2d
--- /dev/null
+++ b/doraemon/views/partial/header.hbs
@@ -0,0 +1,48 @@
+{{# pageHeader}}
+<div class="yoho-header">
+    <div class="center-content">
+        <div class="yoho-group-map">
+            <span class="iconfont">&#xe600;</span>
+            <a href="javascript:;">YOHO!BLK</a>
+            <ul class="yoho-group">
+                {{# yohoGroup}}
+                <li>
+                    <a href="{{link}}" data-en="{{en}}" data-cn="{{cn}}">{{en}}</a>
+                </li>
+                {{/ yohoGroup}}
+            </ul>
+        </div>
+        <div class="header-tools right">
+            <ul>
+                <li>登录 | 注册</li>
+                <li>
+                    <a href="#">个人中心</a>
+                </li>
+                <li>
+                    <a href="#">帮助中心</a>
+                </li>
+                <li class="tag-phone">
+                    <span class="tools-icon icon-phone"></span>
+                    手机版
+                    <div class="down-app-box sub-wrapper">
+                        <div class="down-qr"></div>
+                        <p>扫描二维码<br>下载YOHO!BLK手机客户端</p>
+                        <a href="#" class="more-app">更多客户端下载请点击</a>
+                    </div>
+                </li>
+                <li class="tag-bag">
+                    <span class="tools-icon icon-bag">
+                        <b class="bag-num">1</b>
+                    </span>
+                    购物袋
+                    <div class="mini-bag-box sub-wrapper">
+                        <div class="bag-content">
+                            您的购物,袋暂无商品
+                        </div>
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>
+{{/ pageHeader}}
diff --git a/public/font/iconfont.eot b/public/font/iconfont.eot
index 3be1ea2..944f20c 100644
Binary files a/public/font/iconfont.eot and b/public/font/iconfont.eot differ
diff --git a/public/font/iconfont.svg b/public/font/iconfont.svg
index 9469326..b969d38 100644
--- a/public/font/iconfont.svg
+++ b/public/font/iconfont.svg
@@ -2,11 +2,11 @@
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
 <svg xmlns="http://www.w3.org/2000/svg">
 <metadata>
-Created by FontForge 20120731 at Tue Jun  7 15:10:09 2016
+Created by FontForge 20120731 at Wed Jun 29 12:53:43 2016
  By admin
 </metadata>
 <defs>
-<font id="iconfont" horiz-adv-x="1024" >
+<font id="iconfont" horiz-adv-x="374" >
   <font-face 
     font-family="iconfont"
     font-weight="500"
@@ -16,14 +16,14 @@ Created by FontForge 20120731 at Tue Jun  7 15:10:09 2016
     ascent="896"
     descent="-128"
     x-height="792"
-    bbox="0 -212 1158 896"
+    bbox="34 -31 956 792"
     underline-thickness="50"
     underline-position="-100"
-    unicode-range="U+0078-E619"
+    unicode-range="U+0078-E600"
   />
-<missing-glyph horiz-adv-x="374" 
+<missing-glyph 
 d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" />
-    <glyph glyph-name=".notdef" horiz-adv-x="374" 
+    <glyph glyph-name=".notdef" 
 d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" />
     <glyph glyph-name=".null" horiz-adv-x="0" 
  />
@@ -33,68 +33,8 @@ d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" />
 d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
 t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
 t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
-    <glyph glyph-name="uniE600" unicode="&#xe600;" horiz-adv-x="1048" 
-d="M832 -126.5q0 -35.5 -25 -60.5t-60.5 -25t-60.5 25t-25 60.5t25 60.5t60.5 25t60.5 -25t25 -60.5zM533 -126.5q0 -35.5 -25 -60.5t-60 -25t-60 25t-25 60.5t25 60.5t60 25t60 -25t25 -60.5zM277 620l-35 159q-3 14 -15 23.5t-27 9.5h-147q-22 0 -37.5 -15.5t-15.5 -37.5
-t15.5 -38t37.5 -16h54l157 -627q6 -25 25.5 -40t44.5 -15h527q25 0 44.5 15t25.5 40l113 452q9 34 -13 62t-57 28h-697z" />
-    <glyph glyph-name="uniE601" unicode="&#xe601;" 
-d="M505 337l2 -2q2 -1 3.5 -1t3.5 1l430 364q2 2 1 5.5t-5 3.5h-435h-424q-4 0 -5 -3.5t1 -5.5zM72 669q-3 2 -6 0.5t-3 -4.5v-584q0 -4 3.5 -5t5.5 1l288 346zM953 669.5q-3 1.5 -5 -0.5l-288 -246l287 -346q3 -2 6 -1t3 5v584q0 3 -3 4.5zM641 406l-131 -111l-5 5
-l-125 103l-275 -328q-2 -3 -1 -6t5 -3h396h407q4 0 5 3t-1 6z" />
-    <glyph glyph-name="uniE602" unicode="&#xe602;" horiz-adv-x="1048" 
-d="M297.5 528q-20.5 0 -35 -14.5t-14.5 -35t14.5 -35.5t35 -15t35.5 15t15 35.5t-15 35t-35.5 14.5zM381 251q0 96 84 164t202 68t202 -68t84 -163.5t-84 -163.5t-202 -68t-202 68t-84 163zM286 251q0 -17 2 -35v1q-88 42 -140.5 114t-52.5 157t51.5 157t139.5 114t192 42
-q142 0 249.5 -76.5t128.5 -189.5q-88 43 -189 43q-104 0 -191.5 -43.5t-138.5 -119t-51 -164.5zM953 36q95 93 95 215t-94 214q2 20 2 23q0 111 -64 205t-174.5 148.5t-240 54.5t-239.5 -54.5t-174 -148.5t-64 -205q0 -78 33 -148.5t93 -125.5l-77 -123q-8 -12 -6.5 -26
-t10.5 -25q13 -15 32 -15q9 0 18 4l180 80q4 2 7 4q20 -7 39 -12q48 -80 138.5 -128t199.5 -48q75 0 145 25q1 -1 2 -1l140 -62q8 -4 17 -4q20 0 32 15q10 10 11 24t-7 26zM527 282q-16 0 -27.5 -11t-11.5 -27t11.5 -27.5t27.5 -11.5t27.5 11.5t11.5 27.5t-11.5 27t-27.5 11z
-M667 282q-16 0 -27.5 -11t-11.5 -27t11.5 -27.5t27.5 -11.5t27.5 11.5t11.5 27.5t-11.5 27t-27.5 11zM806 282q-16 0 -27 -11t-11 -27t11 -27.5t27 -11.5t27.5 11.5t11.5 27.5t-11.5 27t-27.5 11z" />
-    <glyph glyph-name="uniE603" unicode="&#xe603;" horiz-adv-x="1158" 
-d="M1069 181h-245v378h132l113 -169v-209zM1158 417l-155 231h-268v-467h-45v508q0 20 -14 34t-34 14h-63l-67 -89h89v-467h-512v467h45l22 89h-108q-20 0 -34 -14t-14 -34v-549q0 -20 14 -34t34 -14h139q-33 -37 -33 -87q0 -53 37.5 -91t91 -38t91.5 38t38 91q0 50 -34 87
-h264h191q-34 -37 -34 -87q0 -53 38 -91t91.5 -38t91 38t37.5 91q0 50 -33 87h134v325zM326 668q-89 -153 -94 -296v-12h129v12q0 43 17 112q17 68 39 116q27 61 67.5 118t62.5 79l4 3v96h-390l-2 -114h245q-33 -40 -78 -114z" />
-    <glyph glyph-name="uniE604" unicode="&#xe604;" 
-d="M875 126l-363 -164l-363 164v610q247 75 363 75t363 -75v-610zM930 808q-34 11 -84.5 26t-159.5 38.5t-174 23.5t-174 -23.5t-159.5 -38.5t-84.5 -26q-14 -4 -22 -15.5t-8 -25.5v-669q0 -27 25 -39l405 -183q9 -3 18 -3t18 3l405 183q25 12 25 39v669q0 14 -8 25.5
-t-22 15.5zM751 552v83h-473v-83h206v-298h-72v237h-87v-237h-66v-84h506v84h-193v119h151v83h-151v96h179z" />
-    <glyph glyph-name="uniE605" unicode="&#xe605;" 
-d="M903 577l-68 69l-388 -388l-231 230l-68 -68l299 -298l65 65z" />
-    <glyph glyph-name="uniE606" unicode="&#xe606;" 
-d="M512 599q47 0 88 -18t72 -49t49 -72t18 -89q0 -46 -18 -87t-49 -72t-72 -49t-88 -18t-88 18t-72 49t-49 72t-18 87q0 48 18 89t49 72t72 49t88 18v0zM512 599z" />
-    <glyph glyph-name="uniE607" unicode="&#xe607;" 
-d="M797 219.5q0 -7.5 -5 -13.5l-29 -28q-6 -6 -13.5 -6t-12.5 6l-225 224l-224 -224q-6 -6 -13.5 -6t-13.5 6l-28 28q-6 6 -6 13.5t6 13.5l266 266q6 6 13.5 6t12.5 -6l267 -266q5 -6 5 -13.5z" />
-    <glyph glyph-name="uniE608" unicode="&#xe608;" 
-d="M284 15q-14 -14 -14 -33t13.5 -32.5t32.5 -13.5t32 14l397 401q13 14 13 33t-13 33l-397 401q-13 14 -32 14t-32.5 -13.5t-13.5 -32.5t13 -33l351 -369l-350 -369v0zM284 15z" />
-    <glyph glyph-name="uniE609" unicode="&#xe609;" 
-d="M745 753q13 14 13 33t-13.5 32.5t-32.5 13.5t-32 -14l-396 -401q-14 -14 -14 -33t14 -33l396 -401q14 -14 32.5 -14t32 13.5t13.5 32.5t-13 33l-351 369l351 369v0zM745 753z" />
-    <glyph glyph-name="uniE60A" unicode="&#xe60a;" 
-d="M512.5 750q-12.5 0 -21.5 -9t-9 -22v-311h-249q-12 0 -21.5 -9t-9.5 -22t9.5 -22t21.5 -9h280q12 0 21.5 9t9.5 22v342q0 13 -9.5 22t-22 9zM513 874q-101 0 -193 -39.5t-158.5 -105.5t-106 -158t-39.5 -193t39.5 -193t106 -158.5t158.5 -105.5t193 -39t192.5 39
-t158 105.5t106 158.5t39.5 193t-39.5 193t-106 158t-158 105.5t-192.5 39.5zM513 -56q-118 0 -218 58t-158.5 158t-58.5 218t58.5 218t158.5 158t218 58t218 -58t158 -158t58 -218t-58 -218t-158 -158t-218 -58z" />
-    <glyph glyph-name="uniE60B" unicode="&#xe60b;" 
-d="M286 509l-46 -45l272 -272l272 272l-46 45l-226 -226z" />
-    <glyph glyph-name="uniE60C" unicode="&#xe60c;" 
-d="M387 158l45 -46l272 272l-272 272l-45 -46l226 -226z" />
-    <glyph glyph-name="uniE60D" unicode="&#xe60d;" 
-d="M766 193l-196 192l196 192l-61 60l-196 -193l-196 193l-60 -60l196 -192l-196 -192l60 -59l196 192l196 -192z" />
-    <glyph glyph-name="uniE60E" unicode="&#xe60e;" 
-d="M704 665l-41 39l-343 -320l343 -320l41 39l-301 281z" />
-    <glyph glyph-name="uniE60F" unicode="&#xe60f;" 
-d="M892 125l-236 236q54 77 54 172q0 124 -87 211t-210.5 87t-211 -87t-87.5 -211t87.5 -211t210.5 -87q95 0 173 55l236 -236q16 -17 38 -18t37 14t14 37t-18 38zM213 533q0 82 58.5 140.5t140.5 58.5t140.5 -58.5t58.5 -140.5t-58.5 -140.5t-140.5 -58.5t-140.5 58.5
-t-58.5 140.5z" />
-    <glyph glyph-name="uniE610" unicode="&#xe610;" 
-d="M512 77l-439 614h878z" />
-    <glyph glyph-name="uniE611" unicode="&#xe611;" horiz-adv-x="1173" 
-d="M569 607q-28 66 -74 108.5t-95 56.5t-100 2.5t-91.5 -45t-66 -94t-26.5 -137.5q0 -36 8.5 -67.5t26 -58t35.5 -47t46.5 -41t49 -34t52.5 -32.5t48 -30q71 -47 124.5 -106.5t63.5 -93.5q7 31 62.5 92t124.5 110q19 14 55.5 36.5t61 38.5t55 42.5t49 52t31.5 62.5t13 79
-q0 76 -26.5 136t-67 92t-92 42.5t-101 -4t-94.5 -56t-72 -104.5z" />
-    <glyph glyph-name="uniE612" unicode="&#xe612;" 
-d="M0 896h1024v-1024h-1024v1024zM85 -43h854v854h-854v-854z" />
-    <glyph glyph-name="uniE613" unicode="&#xe613;" 
-d="M1024 -128h-1024v1024h1024v-1024zM947 674l-34 34q-13 13 -30 13t-30 -13l-486 -495l-196 205q-13 13 -30 13t-30 -13l-34 -34q-13 -13 -13 -30t13 -30l256 -256q23 -22 51 -8q9 0 9 8l546 546q18 13 20 30.5t-12 29.5z" />
-    <glyph glyph-name="uniE614" unicode="&#xe614;" 
-d="M160 996zM865 247q0 -18 -13 -31l-308 -308q-13 -13 -31 -13t-31 13l-309 308q-13 13 -13 31t13.5 31t30.5 13h617q18 0 31 -13t13 -31zM865 511q0 -18 -13 -31t-31 -13h-617q-18 0 -31 13t-13 31t13 31l309 309q13 13 31 13t31 -13l308 -309q13 -13 13 -31z" />
-    <glyph glyph-name="uniE615" unicode="&#xe615;" 
-d="M951 77h-878l439 614z" />
-    <glyph glyph-name="uniE616" unicode="&#xe616;" 
-d="M877 896h-730q-61 0 -104 -43t-43 -104v-730q0 -61 43 -104t104 -43h730q61 0 104 43t43 104v730q0 61 -43 104t-104 43zM939 19q0 -26 -18 -44t-44 -18h-730q-26 0 -44 18t-18 44v730q0 26 18 44t44 18h730q26 0 44 -18t18 -44v-730z" />
-    <glyph glyph-name="uniE617" unicode="&#xe617;" 
-d="M939 -128h-854q-35 0 -60 25t-25 60v854q0 35 25 60t60 25h854q35 0 60 -25t25 -60v-854q0 -35 -25 -60t-60 -25zM939 789q0 10 -6 16t-16 6h-810q-10 0 -16 -6t-6 -16v-810q0 -10 6 -16t16 -6h810q10 0 16 6t6 16v810zM457 183q-10 -12 -30.5 -12t-29.5 12l-171 171
-q-13 10 -13 30q0 18 12.5 30.5t30.5 12.5q20 0 30 -13l141 -141l311 312q13 12 30 12q18 0 30.5 -12.5t12.5 -29.5q0 -21 -13 -30z" />
-    <glyph glyph-name="uniE618" unicode="&#xe618;" horiz-adv-x="1000" 
-d="M662 662v-499l-299 250zM662 662z" />
-    <glyph glyph-name="uniE619" unicode="&#xe619;" 
-d="M384 640v-513l321 257z" />
+    <glyph glyph-name="uniE600" unicode="&#xe600;" horiz-adv-x="1024" 
+d="M900 660h-776q-8 0 -14 -6t-6 -14v-21q0 -8 6 -14t14 -6h776q8 0 14 6t6 14v21q0 8 -6 14t-14 6zM900 415h-776q-8 0 -14 -6t-6 -15v-20q0 -9 6 -15t14 -6h776q8 0 14 6t6 15v20q0 9 -6 15t-14 6zM900 169h-776q-8 0 -14 -6t-6 -14v-21q0 -8 6 -14t14 -6h776q8 0 14 6
+t6 14v21q0 8 -6 14t-14 6z" />
   </font>
 </defs></svg>
diff --git a/public/font/iconfont.ttf b/public/font/iconfont.ttf
index eafa37f..f054039 100644
Binary files a/public/font/iconfont.ttf and b/public/font/iconfont.ttf differ
diff --git a/public/font/iconfont.woff b/public/font/iconfont.woff
index 310bced..290f9ca 100644
Binary files a/public/font/iconfont.woff and b/public/font/iconfont.woff differ
diff --git a/public/img/layout/bag.png b/public/img/layout/bag.png
new file mode 100644
index 0000000..aac601b
Binary files /dev/null and b/public/img/layout/bag.png differ
diff --git a/public/img/layout/blk-logo.png b/public/img/layout/blk-logo.png
new file mode 100644
index 0000000..0ff0aee
Binary files /dev/null and b/public/img/layout/blk-logo.png differ
diff --git a/public/img/layout/phone.png b/public/img/layout/phone.png
new file mode 100644
index 0000000..03101ba
Binary files /dev/null and b/public/img/layout/phone.png differ
diff --git a/public/img/layout/qr.png b/public/img/layout/qr.png
new file mode 100644
index 0000000..f9c6bd3
Binary files /dev/null and b/public/img/layout/qr.png differ
diff --git a/public/img/sprite.layout.png b/public/img/sprite.layout.png
new file mode 100644
index 0000000..98d8888
Binary files /dev/null and b/public/img/sprite.layout.png differ
diff --git a/public/scss/common/_common.css b/public/scss/common/_common.css
new file mode 100644
index 0000000..1e041c9
--- /dev/null
+++ b/public/scss/common/_common.css
@@ -0,0 +1,309 @@
+@use postcss-clearfix ;
+
+/* Reset End */
+.clearfix {
+    clear: fix;
+}
+
+body {
+    font-family: arial, "Microsoft YaHei";
+}
+
+@font-face {
+    font-family: "iconfont";
+    src: resolve('iconfont.eot');
+    src: resolve('iconfont.eot?#iefix') format('embedded-opentype'), resolve('iconfont.woff') format('woff'), resolve('iconfont.ttf') format('truetype'), resolve('iconfont.svg#iconfont') format('svg');
+}
+
+.iconfont {
+    font-family: "iconfont" !important;
+    font-size: 16px;
+    font-style: normal;
+    text-decoration: none;
+    -webkit-font-smoothing: antialiased;
+    -webkit-text-stroke-width: 0.2px;
+    -moz-osx-font-smoothing: grayscale;
+}
+
+.center-content {
+    width: 1150px;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+.min-screen .center-content {
+    width: 990px;
+}
+
+.left,
+.pull-left {
+    float: left;
+}
+
+.right,
+.pull-right {
+    float: right;
+}
+
+.center {
+    text-align: center;
+}
+
+.hide {
+    display: none !important;
+}
+
+a:focus,
+input,
+textarea {
+    outline: none;
+}
+
+a {
+    text-decoration: none;
+    color: #000;
+}
+
+.body-mask {
+    position: absolute;
+    z-index: 100;
+    background: #000;
+    opacity: 0.2;
+    top: 0;
+    left: 0;
+}
+
+@define-mixin ellipsis {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+
+/*
+公共样式
+*/
+.g-list {
+    li {
+        float: left;
+        a {
+            position: relative;
+            display: block;
+            overflow: hidden;
+            img {
+                width: 100%;
+                height: 100%;
+            }
+        }
+    }
+}
+
+.yoho-page {
+    .floor-header {
+        position: relative;
+        margin: 80px 0 40px;
+
+        .floor-title {
+            margin: 0 auto;
+            width: 298px;
+            height: 31px;
+            line-height: 31px;
+            border: 1px solid #000;
+            font-size: 16px;
+            text-align: center;
+        }
+
+        .header-navs {
+            position: absolute;
+            padding: 10px 0;
+            top: 0;
+            right: 0;
+            font-size: 14px;
+
+            li {
+                float: left;
+                padding: 1px 15px;
+                border-left: 1px solid #ccc;
+
+                &:first-child {
+                    border-left: none;
+                }
+
+                &:hover {
+                    text-decoration: underline;
+                }
+
+                a {
+                    color: #333;
+                }
+            }
+        }
+    }
+}
+
+/*
+热门推荐模板样式
+*/
+.home-page {
+    .tpl-recommend {
+        width: 100%;
+        position: relative;
+        a {
+            display: block;
+            img {
+                display: block;
+                width: 100%;
+                height: 100%;
+            }
+        }
+        .tpl-body {
+            margin-bottom: 8px;
+        }
+        .tpl-nav {
+            float: left;
+            overflow: hidden;
+            .tpl-keywords {
+                margin-bottom: 8px;
+            }
+
+            .tpl-category {
+                padding: 10px 0;
+                background-color: #f8f8f8;
+                overflow: hidden;
+
+                a {
+                    float: left;
+                    width: 50%;
+                    text-align: center;
+                    color: #000;
+                    overflow: hidden;
+                }
+            }
+        }
+        .tpl-brands {
+            float: left;
+            overflow: hidden;
+            margin-left: 8px;
+            li {
+                margin-top: 8px;
+            }
+        }
+        .tpl-types {
+            float: left;
+            overflow: hidden;
+            margin-top: -8px;
+            width: 579px;
+
+            li {
+                float: left;
+                margin-left: 8px;
+                margin-top: 8px;
+
+                a {
+                    width: 185px;
+                    height: 248px;
+                }
+            }
+        }
+        .tpl-products {
+            overflow: hidden;
+            margin-left: -10px;
+            li {
+                float: left;
+                margin-left: 10px;
+
+                a {
+                    width: 222px;
+                    height: 298px;
+                }
+            }
+        }
+
+        .tpl-nav {
+            width: 185px;
+
+            .keywords0,
+            .keywords1,
+            .keywords2 {
+                margin-bottom: 10px;
+                height: 76px;
+            }
+            .keywords2 {
+                margin-bottom: 0;
+            }
+            .tpl-category {
+                height: 228px;
+
+                a {
+                    height: 38px;
+                    line-height: 38px;
+                    font-size: 14px;
+                }
+            }
+        }
+
+        .tpl-brands {
+            width: 378px;
+            height: 512px;
+
+            li a {
+                height: 248px;
+            }
+        }
+    }
+}
+
+/*
+人气单品
+*/
+.home-page .flash-sale {
+    .flash-sale-list {
+        margin-left: -10px;
+        a {
+            height: 340px;
+            width: 560px;
+        }
+        li {
+            margin: 10px;
+        }
+
+        .flash-sale-banner {
+            position: relative;
+            height: 260px;
+        }
+
+        .flash-sale-bottom {
+            height: 78px;
+            position: relative;
+            border: 1px solid #000;
+            border-top-style: none;
+        }
+        p.flash-sale-count {
+            position: absolute;
+            left: 50px;
+            top: 20px;
+        }
+
+        p.flash-sale-name {
+            position: absolute;
+            left: 120px;
+            top: 20px;
+        }
+        p.flash-sale-timer {
+            position: absolute;
+            left: 50px;
+            top: 50px;
+        }
+
+        .flash-sale-logo {
+            position: absolute;
+            right: 50px;
+            width: 100px;
+            height: 80px;
+            img {
+                width: 100px;
+                height: 50px;
+                margin-top: 15px;
+            }
+        }
+    }
+}
diff --git a/public/scss/common/_header.css b/public/scss/common/_header.css
new file mode 100644
index 0000000..f4a8376
--- /dev/null
+++ b/public/scss/common/_header.css
@@ -0,0 +1,150 @@
+.yoho-header {
+    height: 50px;
+    line-height: 50px;
+    font-size: 12px;
+
+    .yoho-group-map {
+        padding-right: 2px;
+        display: inline-block;
+        position: relative;
+
+        .iconfont {
+            font-size: 18px;
+            position: relative;
+            top: -1px;
+        }
+
+        a {
+            vertical-align: top;
+        }
+
+        .yoho-group {
+            font-size: 14px;
+            display: none;
+        }
+
+        &:hover {
+            height: 48px;
+            border-bottom: 2px solid #9a9a9a;
+
+            > * {
+                color: #9a9a9a;
+            }
+
+            .yoho-group {
+                display: block;
+            }
+        }
+
+        .yoho-group {
+            border: 1px solid #eee;
+            line-height: 32px;
+            padding: 20px 0;
+            position: absolute;
+            top: 50px;
+
+            li {
+                width: 170px;
+                padding-left: 20px;
+                font-weight: bold;
+            }
+
+        }
+    }
+
+    .header-tools {
+        li {
+            float: left;
+            padding: 0 2px;
+            margin: 0 12px;
+        }
+
+        .tag-phone,
+        .tag-bag {
+            padding-right: 6px;
+            margin-right: 8px;
+            position: relative;
+
+            &:hover {
+                color: #9a9a9a;
+                height: 48px;
+                border-bottom: 2px solid #9a9a9a;
+                cursor: default;
+            }
+
+            &:hover .sub-wrapper {
+                display: block;
+            }
+        }
+
+        .tools-icon {
+            width: 20px;
+            height: 20px;
+            display: inline-block;
+            vertical-align: middle;
+            position: relative;
+            top: -1px;
+        }
+
+        .icon-phone {
+            background-image: url('/layout/phone.png');
+        }
+
+        .icon-bag {
+            background-image: url('/layout/bag.png');
+            line-height: 22px;
+            text-align: center;
+        }
+
+        .bag-num {
+            font-size: 12px;
+            font-weight: bold;
+            color: #fff;
+            display: inline-block;
+            transform: scale(0.8, 0.8);
+        }
+
+        .down-app-box {
+            width: 230px;
+            color: #000;
+            font-size: 14px;
+            padding: 20px 0;
+            margin-left: -86px;
+            line-height: 1.5;
+            border: 1px solid #eee;
+            position: absolute;
+            text-align: center;
+            display: none;
+
+            .down-qr {
+                display: inline-block;
+                width: 138px;
+                height: 138px;
+                background-image: resolve('layout/qr.png');
+            }
+
+            p {
+                margin: 20px 0;
+            }
+
+            .more-app {
+                color: #ccc;
+            }
+        }
+
+        .mini-bag-box {
+            padding: 18px;
+            border: 1px solid #eee;
+            position: absolute;
+            right: 0;
+            display: none;
+
+            .bag-content {
+                width: 240px;
+                padding: 110px 0;
+                text-align: center;
+            }
+
+        }
+    }
+}
diff --git a/public/scss/common/_index.css b/public/scss/common/_index.css
new file mode 100644
index 0000000..ca6afac
--- /dev/null
+++ b/public/scss/common/_index.css
@@ -0,0 +1,3 @@
+@import "reset";
+@import "common";
+@import "header";
diff --git a/public/scss/common/_reset.css b/public/scss/common/_reset.css
new file mode 100644
index 0000000..7d0f0f4
--- /dev/null
+++ b/public/scss/common/_reset.css
@@ -0,0 +1,144 @@
+
+html,
+body,
+div,
+span,
+applet,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+a,
+abbr,
+acronym,
+address,
+big,
+cite,
+code,
+del,
+dfn,
+em,
+img,
+ins,
+kbd,
+q,
+s,
+samp,
+small,
+strike,
+strong,
+sub,
+sup,
+tt,
+var,
+b,
+u,
+i,
+center,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td,
+article,
+aside,
+canvas,
+details,
+embed,
+figure,
+figcaption,
+footer,
+header,
+hgroup,
+menu,
+nav,
+output,
+ruby,
+section,
+summary,
+time,
+mark,
+audio,
+video {
+    margin: 0;
+    padding: 0;
+    border: 0;
+    font: inherit;
+    font-size: 100%;
+    vertical-align: baseline;
+}
+
+html {
+    line-height: 1;
+}
+
+ol,
+ul {
+    list-style: none;
+}
+
+table {
+    border-collapse: collapse;
+    border-spacing: 0;
+}
+
+caption,
+th,
+td {
+    text-align: left;
+    font-weight: normal;
+    vertical-align: middle;
+}
+
+q,
+blockquote {
+    quotes: none;
+}
+
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+    content: "";
+    content: none;
+}
+
+a img {
+    border: none;
+}
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+    display: block;
+}
diff --git a/public/scss/index.css b/public/scss/index.css
new file mode 100644
index 0000000..d5667b7
--- /dev/null
+++ b/public/scss/index.css
@@ -0,0 +1,6 @@
+@charset "utf-8";
+
+/* 公共 */
+@import "common/index";
+
+/* 模块 */