Procházet zdrojové kódy

Merge branch 'goods' of 121.43.114.153:/home/git/repositories/shopnc into goods

stanley-king před 9 roky
rodič
revize
dabce06cf5
36 změnil soubory, kde provedl 2165 přidání a 2 odebrání
  1. 1 1
      mobile/control/login.php
  2. 2 1
      mobile/control/member_buy.php
  3. 24 0
      shop/control/control.php
  4. 137 0
      shop/control/h5_hb.php
  5. 101 0
      shop/templates/default/h5_hb/bindtel.php
  6. 26 0
      shop/templates/default/h5_hb/mode.php
  7. 61 0
      shop/templates/default/h5_hb/over.php
  8. 100 0
      shop/templates/default/h5_hb/success.php
  9. 58 0
      shop/templates/default/layout/h5_hb/bindtel.php
  10. 403 0
      shop/templates/default/layout/h5_hb/css/base.css
  11. 155 0
      shop/templates/default/layout/h5_hb/css/bindtel.css
  12. 50 0
      shop/templates/default/layout/h5_hb/css/bomb.css
  13. 70 0
      shop/templates/default/layout/h5_hb/css/index_commcon.css
  14. 60 0
      shop/templates/default/layout/h5_hb/css/over.css
  15. 134 0
      shop/templates/default/layout/h5_hb/css/success.css
  16. binární
      shop/templates/default/layout/h5_hb/image/bag_head.png
  17. binární
      shop/templates/default/layout/h5_hb/image/bomb_bg.png
  18. binární
      shop/templates/default/layout/h5_hb/image/close.png
  19. binární
      shop/templates/default/layout/h5_hb/image/content.png
  20. binární
      shop/templates/default/layout/h5_hb/image/down.png
  21. binární
      shop/templates/default/layout/h5_hb/image/foot_bg.png
  22. binární
      shop/templates/default/layout/h5_hb/image/icon.png
  23. binární
      shop/templates/default/layout/h5_hb/image/loadicon.png
  24. binární
      shop/templates/default/layout/h5_hb/image/price_bg.png
  25. binární
      shop/templates/default/layout/h5_hb/image/rcope.png
  26. binární
      shop/templates/default/layout/h5_hb/image/rcope02.png
  27. binární
      shop/templates/default/layout/h5_hb/image/tel_icon.png
  28. binární
      shop/templates/default/layout/h5_hb/image/top_bg.png
  29. 157 0
      shop/templates/default/layout/h5_hb/js/rem.js
  30. 168 0
      shop/templates/default/layout/h5_hb/js/tel.js
  31. 112 0
      shop/templates/default/layout/h5_hb/js/tel_bak.js
  32. 161 0
      shop/templates/default/layout/h5_hb/js/touch.js
  33. 2 0
      shop/templates/default/layout/h5_hb/js/zepto.js
  34. 27 0
      shop/templates/default/layout/h5_hb/mode.php
  35. 61 0
      shop/templates/default/layout/h5_hb/over.php
  36. 95 0
      shop/templates/default/layout/h5_hb/success.php

+ 1 - 1
mobile/control/login.php

@@ -361,7 +361,7 @@ class loginControl extends mobileHomeControl
         $status = $sms->send($mobile, array('code' => $code, 'type' => Sms::register_code, 'time' => '5'));
         if ($status == 0) {
             $key = $this->gen_token_code($token);
-            wcache($key, array('code' => $code, 'mobile' => $mobile), 'member', $code_expire);
+            wcache($key, array('code' => $code, 'mobile' => $mobile), 'member', self::code_expire);
             joutput_data(NULL);
         } else {
             return joutput_error(errcode::ErrSms, "send error=" . $status);

+ 2 - 1
mobile/control/member_buy.php

@@ -65,7 +65,8 @@ class member_buyControl extends mobileMemberControl {
         $buy_list['store_cart_list'] = $store_cart_list;
         $buy_list['freight_hash'] = $result['freight_list'];
         $buy_list['address_info'] = $result['address_info'];
-        $buy_list['ifshow_offpay'] = $result['ifshow_offpay'];
+//        $buy_list['ifshow_offpay'] = $result['ifshow_offpay'];
+        $buy_list['ifshow_offpay'] = null;
         $buy_list['vat_hash'] = $result['vat_hash'];
         $buy_list['inv_info'] = $result['inv_info'];
         $buy_list['available_predeposit'] = $result['available_predeposit'];

+ 24 - 0
shop/control/control.php

@@ -262,6 +262,30 @@ class BaseHomeControl extends Control {
 
 }
 
+/********************************** H5页面内容 **********************************************/
+
+class BaseH5Control extends Control {
+
+    public function __construct(){
+//        //输出头部的公用信息
+//        $this->showLayout();
+//        //输出会员信息
+//        $this->getMemberAndGradeInfo(false);
+//
+//        Language::read('common,home_layout');
+
+        Tpl::setDir('h5_hb');
+
+//        Tpl::setLayout('home_layout');
+//
+//        if ($_GET['column'] && strtoupper(CHARSET) == 'GBK'){
+//            $_GET = Language::getGBK($_GET);
+//        }
+//        if(!C('site_status')) halt(C('closed_reason'));
+    }
+
+}
+
 /********************************** 购买流程父类 **********************************************/
 
 class BaseBuyControl extends Control {

+ 137 - 0
shop/control/h5_hb.php

@@ -0,0 +1,137 @@
+<?php
+/**
+ * Ʒ�ƻ�ȡ
+ */
+
+
+defined('InShopNC') or exit('Access Invalid!');
+
+class h5_hbControl extends BaseH5Control
+{
+    const home_url = SHOP_SITE_URL."/index.php";
+    const code_expire = 5; // 验证码获取时间
+
+    /**
+     * 首页-获取红包
+     */
+    public function modeOp()
+    {
+        try {
+
+            Model::beginTransaction();
+
+            // 查找一条记录
+            $condition['get_time'] = 0;
+            $condition['user_mobile'] = '';
+            $condition['bonus_type_id'] = 2;
+
+            // 此时记得加载lock
+            $result = Model()->table('user_bonus')->where($condition)->limit(1)->lock(true)->order('bonus_id asc')->select();
+
+            if (!empty($result)) {
+
+                // 将记录更新掉
+                $cond2['bonus_id'] = $result[0]['bonus_id'];
+                $update_info['get_time'] = TIMESTAMP;
+                $ret = Model()->table('user_bonus')->where($cond2)->update($update_info);
+
+                if ($ret) {
+                    Model::commit();
+                    Tpl::output('link', self::home_url . "?act=h5_hb&op=bindtel&bonus_sn={$result[0]['bonus_sn']}");
+                } else {
+                    Model::rollback();
+                    Tpl::output('link', self::home_url . "?act=h5_hb&op=over");
+                }
+            } else {
+                Model::rollback();
+                Tpl::output('link', self::home_url . "?act=h5_hb&op=over");
+            }
+        } catch (Exception $e) {
+            Model::rollback();
+            Tpl::output('link', self::home_url . "?act=h5_hb&op=over");
+        }
+
+        $bonus_value = $result[0]['bonus_value'];
+
+        Tpl::output('bonus_value', $bonus_value);
+        Tpl::showpage('mode', 'h5_hb/mode');
+
+    }
+
+    /**
+     * 绑定手机号
+     */
+    public function bindtelOp()
+    {
+        $bonus_sn = trim($_GET['bonus_sn']);
+        $condition['bonus_sn'] = $bonus_sn;
+
+        $result = Model()->table('user_bonus')->where($condition)->limit(1)->order('bonus_id asc')->select();
+
+        Tpl::output('link', self::home_url . "?act=h5_hb&op=success&bonus_sn={$bonus_sn}");
+        Tpl::output('get_code_link', self::home_url . "?act=h5_hb&op=getVerifyCode");
+        Tpl::output('verify_code_link', self::home_url . "?act=h5_hb&op=verifyCode");
+        Tpl::output('bonus_sn', $bonus_sn);
+        Tpl::output('bonus_value', $result[0]['bonus_value']);
+        Tpl::showpage('mode', 'h5_hb/bindtel');
+    }
+
+    public function getVerifyCodeOp()
+    {
+        $mobile = trim($_POST['phone_num']);
+        $key = trim($_POST['bonus_sn']);
+
+        if (!empty($mobile)) {
+            // 获取验证码
+            $sms = new Sms();
+            $code = makeSmscode();
+
+            $status = $sms->send($mobile, array('code' => $code, 'type' => Sms::register_code, 'time' => '5'));
+            if ($status == 0) {
+                wcache($key, array('code' => $code, 'mobile' => $mobile), 'member', self::code_expire);
+            } else {
+                Log::record("红包获取验证码出错", Log::ERR);
+            }
+        }
+    }
+
+    // 验证校验码
+    public function verifyCodeOp()
+    {
+
+        $mobile = trim($_POST['phone_num']);
+        $code = trim($_POST['verifyCode']);
+        $key = trim($_POST['bonus_sn']);
+
+        $ret = rcache($key, 'member');
+        if (empty($ret)) {
+            echo(false);
+            return;
+        }
+
+        if ($ret['code'] == $code && $ret['mobile'] == $mobile) {
+            $condition['bonus_sn'] = $key;
+            $update_info['user_mobile'] = $mobile;
+            $ret = Model()->table('user_bonus')->where($condition)->update($update_info);
+            if ($ret) {
+                echo(true);
+            } else {
+                echo(false);
+            }
+        } else {
+            echo(false);
+        }
+    }
+
+    // 红包抢完了
+    public function overOp()
+    {
+        Tpl::showpage('mode', 'h5_hb/over');
+    }
+
+    // 抢红包成功了
+    public function successOp()
+    {
+        Tpl::showpage('mode', 'h5_hb/success');
+    }
+}

+ 101 - 0
shop/templates/default/h5_hb/bindtel.php

@@ -0,0 +1,101 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>熊猫美妆红包</title>
+    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
+    <link rel="stylesheet" href="css/base.css"/>
+    <link rel="stylesheet" href="css/bindtel.css"/>
+    <link rel="stylesheet" href="css/bomb.css"/>
+</head>
+<body>
+<div class="fullPage" id="fullPage">
+    <div class="top">
+        <div class="center_box">
+            <div class="ropes center font14">
+                <s class="tel inline middle"></s><span>绑定礼包</span>
+            </div>
+            <div class="amount_box center">
+                <span class="amount_title inline font12">代金券</span>
+                <div class="amount font24 inline center">¥100</div>
+            </div>
+            <div class="input_box font12">
+                <div class="input_tel">
+                    <label>手机号:<input type="tel" class="inline font12" placeholder="请输入您的手机号码" id="tel_number"/></label>
+                </div>
+                <div class="validate">
+                    <label>获取验证码:<input type="text" class="inline font12"/></label>
+                    <div class="go_validate right center font12" id="hack">去获取</div>
+                </div>
+            </div>
+            <div class="center">
+                <a href=<?php echo($output['link']) ?> class="just_btn inline font17">去绑定</a>
+            </div>
+        </div>
+    </div>
+    <div class="footer"></div>
+    <div class="banner">
+        <div class="logo left"></div>
+        <div class="banner_title inline">
+            <p class="font15 center">立刻去下载(熊猫美妆)</p>
+            <p class="font12 center">开启你口袋里的化妆包吧</p>
+        </div>
+        <div class="down right"></div>
+    </div>
+</div>
+
+
+<script src="js/rem.js"></script>
+<script src="js/zepto.js"></script>
+<script src="js/touch.js"></script>
+<script type="text/javascript">
+
+
+    $(function(){
+        tel={
+            init:function(){
+                this.validate();
+            },
+            validate:function(){
+                var that=this;
+              $('#hack').on('touchstart',function(e){
+                    e.preventDefault();//阻止浏览器默认事件
+                    var telVal=$('#tel_number').val(),
+                        tel=new RegExp("^[1][3-8]+\\d{9}");
+                  console.log(tel.test(telVal));
+                  //验证输入手机规则
+                    if(telVal==''||(!tel.test(telVal))){
+                        that.appendDom();//插入HTML弹窗结构
+                    }
+                    else{
+                        return false;
+                    }
+              })
+            },
+            appendDom:function(){
+                var dom='<div class="bomb">'+
+                        '<div class="bomb_box">'+
+                        '<p class="center font14">请认真填写你的手机号</p>'+
+                        '<div class="btn">'+
+                        '<div class="left center">'+
+                        '<a href="javascript:void(0)" class="no inline center font14">不写了</a>'+
+                        '</div>'+
+                        '<div class="left center">'+
+                        '<a href="javascript:void(0)" class="remove inline center font14">这就写</a>'+
+                        '</div>'+
+                        '</div>'+
+                        '<div class="close" id="close"></div>'+
+                        '</div>'+
+                        '</div>';
+                $('#fullPage').append(dom);
+            },
+            close:function(){
+
+            }
+
+        };
+        tel.init();
+    })
+</script>
+</body>
+</html>

+ 26 - 0
shop/templates/default/h5_hb/mode.php

@@ -0,0 +1,26 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>熊猫美妆红包</title>
+    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
+    <link rel="stylesheet" href="css/base.css"/>
+    <link rel="stylesheet" href="css/index_commcon.css"/>
+</head>
+<body>
+    <div class="fullPage">
+        <div class="top">
+            <div class="rope"></div>
+            <div class="bag_header center font15">
+                <p>skyleao</p>
+                <p>送了你一个熊猫美妆红包</p>
+            </div>
+            <div class="bag_center center">
+                <a href=<?php echo("http://192.168.1.136/h5_hb/bindtel.php") ?> class="just_btn inline center font17">立即领取</a>
+            </div>
+        </div>
+        <div class="footer"></div>
+    </div>
+    <script src="js/rem.js"></script>
+</body>
+</html>

+ 61 - 0
shop/templates/default/h5_hb/over.php

@@ -0,0 +1,61 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>熊猫美妆红包</title>
+    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
+    <link rel="stylesheet" href="css/base.css"/>
+    <link rel="stylesheet" href="css/index_commcon.css"/>
+    <link rel="stylesheet" href="css/over.css"/>
+</head>
+<body>
+<div class="fullPage">
+    <div class="top">
+        <div class="rope"></div>
+        <div class="bag_header center font15">
+            <p>你来晚咯~红包已经抢走</p>
+        </div>
+        <div class="bag_center center">
+            <div class="ropes font14">促销推荐</div>
+            <div class="recommend">
+
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+    <div class="footer">
+
+    </div>
+</div>
+<script src="js/rem.js"></script>
+</body>
+</html>

+ 100 - 0
shop/templates/default/h5_hb/success.php

@@ -0,0 +1,100 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>熊猫美妆红包</title>
+    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
+    <link rel="stylesheet" href="css/base.css"/>
+    <link rel="stylesheet" href="css/index_commcon.css"/>
+    <link rel="stylesheet" href="css/success.css"/>
+</head>
+<body>
+<div class="fullPage">
+    <div class="top">
+        <div class="rope"></div>
+        <div class="bag_header center font14">
+            <p>你的代金券已经成功添加进账户立刻通过熊猫美妆去购物吧</p>
+        </div>
+        <div class="bag_center center">
+            <div class="ropes font14">促销推荐</div>
+            <div class="recommend">
+
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+    <div class="footer"></div>
+    <!--<div class="banner">-->
+        <!--<div class="logo left"></div>-->
+        <!--<div class="banner_title inline">-->
+            <!--<p class="font15 center">立刻去下载(熊猫美妆)</p>-->
+            <!--<p class="font12 center">开启你口袋里的化妆包吧</p>-->
+        <!--</div>-->
+        <!--<div class="down right"></div>-->
+    <!--</div>-->
+</div>
+<script src="js/rem.js"></script>
+<script>
+    document.querySelector('body').addEventListener('touchstart', function (ev) {
+        ev.preventDefault();
+    });
+</script>
+</body>
+</html>

+ 58 - 0
shop/templates/default/layout/h5_hb/bindtel.php

@@ -0,0 +1,58 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>熊猫美妆红包</title>
+    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/base.css"/>
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/bindtel.css"/>
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/bomb.css"/>
+</head>
+<body>
+<div class="fullPage" id="fullPage">
+    <div class="top">
+        <div class="center_box">
+            <div class="ropes center font14">
+                <s class="tel inline middle"></s><span>绑定礼包</span>
+            </div>
+            <div class="amount_box center">
+                <span class="amount_title inline font12">代金券</span>
+                <div class="amount font24 inline center"><?php echo($output['bonus_value'])?>元</div>
+            </div>
+            <div class="input_box font12">
+                <div class="input_tel">
+                    <label>手机号:<input type="tel" class="inline font12" placeholder="请输入您的手机号码" id="tel_number"/></label>
+                </div>
+                <div class="validate">
+                    <label>获取验证码:<input type="text" class="inline font12" id="yanz"/></label>
+                    <a href="javascript:void(0)" class="go_validate inline right center font12" id="hack">去获取</a>
+                </div>
+            </div>
+            <div class="center">
+                <a href="javascript:void(0)" class="just_btn inline font17" id="bind">绑定</a>
+                <input type="hidden" value=<?php echo($output['link']) ?> id="url">
+                <input type="hidden" value=<?php echo($output['get_code_link']) ?> id="get_code_link">
+                <input type="hidden" value=<?php echo($output['verify_code_link']) ?> id="verify_code_link">
+                <input type="hidden" value=<?php echo($output['bonus_sn']) ?> id="bonus_sn">
+            </div>
+        </div>
+    </div>
+
+    <div class="footer"></div>
+    <div class="banner center">
+        <div class="logo left"></div>
+        <div class="banner_title inline">
+            <p class="font15 center">立刻去下载(熊猫美妆)</p>
+            <p class="font12 center">开启你口袋里的化妆包吧</p>
+        </div>
+        <div class="down right"></div>
+    </div>
+</div>
+
+<script src="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/js/rem.js"></script>
+<script src="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/js/zepto.js"></script>
+<script src="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/js/touch.js"></script>
+<script src="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/js/tel.js"></script>
+
+</body>
+</html>

+ 403 - 0
shop/templates/default/layout/h5_hb/css/base.css

@@ -0,0 +1,403 @@
+@charset "UTF-8";
+/**
+ * base.css
+ * @author hgang
+ * Created 2015-12-30.
+ */
+/* line 5, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+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;
+}
+
+/* line 22, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+html {
+  line-height: 1;
+}
+
+/* line 24, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+ol, ul {
+  list-style: none;
+}
+
+/* line 26, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* line 28, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+caption, th, td {
+  text-align: left;
+  font-weight: normal;
+  vertical-align: middle;
+}
+
+/* line 30, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+q, blockquote {
+  quotes: none;
+}
+/* line 103, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+q:before, q:after, blockquote:before, blockquote:after {
+  content: "";
+  content: none;
+}
+
+/* line 32, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+a img {
+  border: none;
+}
+
+/* line 116, C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
+  display: block;
+}
+
+/**
+ * _font.scss
+ * @author Huwj
+ * Created 2015-08-18 16:40.
+ */
+/* 设置各种字号 */
+/* font-size: 11px; */
+/* line 9, ../../sass/_tool/_font.scss */
+.font9 {
+  font-size: 9px;
+}
+
+/* line 10, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font9 {
+  font-size: 27px;
+}
+
+/* line 13, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font9 {
+  font-size: 18px;
+}
+
+.font10 {
+  font-size: 10px;
+}
+
+/* line 10, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font10 {
+  font-size: 30px;
+}
+
+/* line 13, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font10 {
+  font-size: 20px;
+}
+
+.font11 {
+  font-size: 11px;
+}
+
+/* line 10, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font11 {
+  font-size: 33px;
+}
+
+/* line 13, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font11 {
+  font-size: 22px;
+}
+
+/* font-size: 12px; */
+/* line 17, ../../sass/_tool/_font.scss */
+.font12 {
+  font-size: 12px;
+}
+
+/* line 18, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font12 {
+  font-size: 36px;
+}
+
+/* line 21, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font12 {
+  font-size: 24px;
+}
+
+/* font-size: 14px; */
+/* line 26, ../../sass/_tool/_font.scss */
+.font14 {
+  font-size: 14px;
+}
+
+/* line 27, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font14 {
+  font-size: 42px;
+}
+
+/* line 30, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font14 {
+  font-size: 28px;
+}
+
+/* line 33, ../../sass/_tool/_font.scss */
+.font15 {
+  font-size: 15px;
+}
+
+/* line 34, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font15 {
+  font-size: 45px;
+}
+
+/* line 37, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font15 {
+  font-size: 30px;
+}
+
+/* font-size: 16px; */
+/* line 42, ../../sass/_tool/_font.scss */
+.font16 {
+  font-size: 16px;
+}
+
+/* line 43, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font16 {
+  font-size: 48px;
+}
+
+/* line 46, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font16 {
+  font-size: 32px;
+}
+
+.font17 {
+  font-size: 17px;
+}
+
+html[data-dpi="3"] body.iPhone .font17 {
+  font-size:51px;
+}
+
+/* line 55, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font17 {
+  font-size: 34px;
+}
+/* font-size: 18px; */
+/* line 51, ../../sass/_tool/_font.scss */
+.font18 {
+  font-size: 18px;
+}
+
+/* line 52, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font18 {
+  font-size: 54px;
+}
+
+/* line 55, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font18 {
+  font-size: 36px;
+}
+
+/* font-size: 20px; */
+/* line 60, ../../sass/_tool/_font.scss */
+.font20 {
+  font-size: 20px;
+}
+
+/* line 61, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font20 {
+  font-size: 60px;
+}
+
+/* line 64, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font20 {
+  font-size: 40px;
+}
+
+/* font-size: 22px; */
+/* line 69, ../../sass/_tool/_font.scss */
+.font22 {
+  font-size: 22px;
+}
+
+/* line 70, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font22 {
+  font-size: 66px;
+}
+
+/* line 73, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font22 {
+  font-size: 44px;
+}
+
+/* font-size: 24px; */
+/* line 78, ../../sass/_tool/_font.scss */
+.font24 {
+  font-size: 24px;
+}
+
+/* line 79, ../../sass/_tool/_font.scss */
+html[data-dpi="3"] body.iPhone .font24 {
+  font-size: 72px;
+}
+
+/* line 82, ../../sass/_tool/_font.scss */
+html[data-dpi="2"] body.iPhone .font24 {
+  font-size: 48px;
+}
+
+.font28 {
+  font-size:28px;
+}
+
+html[data-dpi="2"] body.iPhone .font28 {
+  font-size: 56px;
+}
+
+html[data-dpi="3"] body.iPhone .font28 {
+  font-size: 84px;
+}
+
+.font24 {
+  font-size:24px;
+}
+
+html[data-dpi="2"] body.iPhone .font24 {
+  font-size: 48px;
+}
+
+html[data-dpi="3"] body.iPhone .font24 {
+  font-size: 72px;
+}
+
+.font34 {
+  font-size:34px;
+}
+
+html[data-dpi="2"] body.iPhone .font34 {
+  font-size: 68px;
+}
+
+html[data-dpi="3"] body.iPhone .font34 {
+  font-size: 102px;
+}
+
+
+/* line 3, ../../sass/_tool/_footer.scss */
+footer {
+  background: #eeeeee;
+  text-align: center;
+}
+/* line 6, ../../sass/_tool/_footer.scss */
+footer .index_foot_content {
+  margin: 0 0 .47rem;
+  display: inline-block;
+}
+/* line 9, ../../sass/_tool/_footer.scss */
+footer .index_foot_content .version {
+  color: #989898;
+  margin-left: .4rem;
+}
+/* line 13, ../../sass/_tool/_footer.scss */
+footer .index_foot_content .line {
+  border-right: 1px solid #A99F9F;
+  padding-right: .4rem;
+}
+
+input[type="button"], input[type="submit"], input[type="reset"] {
+  -webkit-appearance: none;
+}
+
+textarea {  -webkit-appearance: none;}
+input {
+  vertical-align: middle;
+  border: none;
+}
+/* line 11, ../../sass/base/base.scss */
+img {
+  width: 100%;
+  height:100%;
+}
+
+select {
+  border: none;
+  -webkit-appearance: none;
+}
+/* line 15, ../../sass/base/base.scss */
+* {
+  box-sizing: border-box;
+}
+
+/* line 18, ../../sass/base/base.scss */
+html,
+body {
+  width: 100%;
+  min-height: 100%;
+  height: auto;
+}
+
+/* line 24, ../../sass/base/base.scss */
+.fullPage {
+  overflow: hidden;
+  width: 10rem;
+  height: auto;
+  margin: 0 auto;
+}
+
+/* line 30, ../../sass/base/base.scss */
+a {
+  text-decoration: none;
+}
+
+/*# sourceMappingURL=base.css.map */
+/*去除点击a btn 出现一个浅色的遮罩*/
+a,button,input,textarea{
+  /*-webkit-tap-highlight-color: rgba(0,0,0,0);*/
+/*-webkit-user-modify:read-write-plaintext-only;*/
+}
+/*禁止用户选择文字*/
+html{
+  -webkit-user-select:none
+}
+
+.center {
+  text-align: center;
+}
+
+
+.left {
+  float: left;
+}
+
+.middle {
+  vertical-align: middle;
+}
+.right {
+  float: right;
+}
+
+.price {
+  color: #f6467a;
+}
+.clear {
+  clear: both;
+}
+.inline {
+  display: inline-block;
+}
+
+
+
+

+ 155 - 0
shop/templates/default/layout/h5_hb/css/bindtel.css

@@ -0,0 +1,155 @@
+html {
+    background: #faf9d7;
+}
+.top {
+    height: 13.4rem;
+    width: 10rem;
+    background: url("../image/top_bg.png") no-repeat;
+    background-size: 100%;
+    padding-top: 2.42rem;
+    position: relative;
+    color: #fff;
+}
+.center_box {
+    width: 7.91rem;
+    margin: 0 auto;
+    overflow: hidden;
+    background: #e64774;
+    border-radius: 1rem;
+    padding-top: 0.64rem;
+    padding-bottom: 2.94rem;
+}
+.ropes {
+    width: 7.64rem;
+    height: 0.73rem;
+    line-height: 0.73rem;
+    margin: 0 auto;
+    background: url("../image/rcope02.png") no-repeat;
+    background-size: 100%;
+    color: #e86d97;
+}
+.tel {
+    width: 0.3rem;
+    height: 0.5rem;
+    background: url("../image/tel_icon.png") no-repeat;
+    background-size: 100%;
+    margin-right: 0.2rem;
+}
+.just_btn {
+    width: 4.8rem;
+    height: 1.3rem;
+    line-height: 1.3rem;
+    color: #c12b26;
+    background: #f6c36e;
+    border-radius: 0.31rem;
+    margin-top: 0.47rem;
+    box-shadow: 0 0.16rem 0 #c93666;
+}
+
+.amount_box {
+    margin-top: 0.66rem;
+    position: relative;
+}
+.amount_title {
+    width: 0.5rem;
+    position: absolute;
+    left: 0.35rem;
+    top: 0.1rem;
+    color: #84264c;
+}
+
+.amount {
+    width: 6.2rem;
+    height: 1.19rem;
+    line-height: 1.19rem;
+    border-radius: 5px;
+    letter-spacing: 0.05rem;
+    color: #d6356d;
+    background: -webkit-linear-gradient(left, #c3c4c4,#f9f9f9,#c3c4c4); /* Safari 5.1 - 6.0 */
+    background: -o-linear-gradient(right, #c3c4c4,#f9f9f9,#c3c4c4); /* Opera 11.1 - 12.0 */
+    background: -moz-linear-gradient(right, #c3c4c4,#f9f9f9,#c3c4c4); /* Firefox 3.6 - 15 */
+    background: linear-gradient(to right,#c3c4c4,#f9f9f9,#c3c4c4); /* ????? */
+}
+.input_tel,.validate {
+    width: 6.2rem;
+    height: 0.97rem;
+    line-height: 0.97rem;
+    margin: 0 auto;
+    padding-left: 0.2rem;
+    background: #fff;
+    color: #f2a2c1;
+    border-radius: 5px;
+}
+.input_tel input{
+    width: 4rem;
+}
+.validate {
+    margin-top: 0.25rem;
+}
+.input_box {
+    margin-top: 0.63rem;
+}
+.validate input {
+    width: 1.8rem;
+}
+.input_box input {
+    border: none;
+    color: #f2a2c1;
+}
+.go_validate {
+    background: #f5b7d0;
+    color: #fff;
+    border-radius: 10px;
+    height: 0.8rem;
+    width: 1.84rem;
+    line-height: 0.8rem;
+    margin-top: 0.1rem;
+    margin-right: 0.1rem;
+}
+.validate input,.input_box input{
+    height: 0.8rem;
+    background: #fff;
+    padding-left: 0.1rem;
+}
+.footer {
+    height: 2.3rem;
+    width: 100%;
+    background: url("../image/foot_bg.png") no-repeat;
+    background-size: 100% 100%;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
+
+
+.banner {
+    width: 100%;
+    height: 1.88rem;
+    line-height: 1.88rem;
+    background-color: rgba(247,195,110,0.8);
+    position: fixed;
+    bottom: 0;
+    left: 0;
+    color:#fff;
+}
+.banner_title {
+    width: 4.59rem;
+    line-height: 0.55rem;
+}
+.logo {
+    width: 1.5rem;
+    height: 1.5rem;
+    margin-top: 0.3rem;
+    margin-left: 0.73rem;
+    background: url("../image/icon.png") no-repeat;
+    background-size: 100%;
+}
+.down {
+    width: 1.25rem;
+    height: 1.25rem;
+    margin-top: 0.3rem;
+    margin-right: 0.73rem;
+    background: url("../image/down.png") no-repeat;
+    background-size: 100%;
+}

+ 50 - 0
shop/templates/default/layout/h5_hb/css/bomb.css

@@ -0,0 +1,50 @@
+.bomb {
+    height: 100%;
+    width: 100%;
+    background: rgba(0,0,0,0.5);
+    position: absolute;
+    top: 0;
+    left: 0;
+    z-index: 999;
+}
+.bomb_box {
+    width: 8.16rem;
+    height: 3.88rem;
+    margin: 0 auto;
+    background:url("../image/bomb_bg.png") no-repeat;
+    background-size: 100%;
+    position: relative;
+    margin-top: 1.69rem;
+    padding-top: 1.09rem;
+}
+.bomb_box p {
+    color: #858585;
+}
+.close {
+    width: 0.59rem;
+    height: 0.59rem;
+    position: absolute;
+    right: 0.2rem;
+    top: 0.2rem;
+    background: url('../image/close.png') no-repeat;
+    background-size: 100%
+}
+.btn div {
+    overflow: hidden;
+    margin-top: 0.5rem ;
+}
+.btn div a {
+    width: 2.44rem;
+    height: 0.94rem;
+    margin: 0 auto;
+    line-height: 0.94rem;
+    border-radius: 5px;
+}
+a.no {
+    background:#f6c36e;
+    color: #fff;
+}
+a.remove {
+    background: #e64774;
+    color: #fff;
+}

+ 70 - 0
shop/templates/default/layout/h5_hb/css/index_commcon.css

@@ -0,0 +1,70 @@
+body {
+    background: #faf9d7;
+}
+.top {
+    height: 13.4rem;
+    width: 10rem;
+    background: url("../image/top_bg.png") no-repeat;
+    background-size: 100%;
+    padding-top: 2.42rem;
+    position: relative;
+    color: #fff;
+}
+.rope {
+    width: 0.38rem;
+    height: 3.1rem;
+    position: absolute;
+    left: 4.83rem;
+    top: 0;
+    background: url("../image/rcope.png") no-repeat;
+    background-size: 100%;
+}
+.bag_header {
+    width: 7.75rem;
+    height: 4.81rem;
+    margin: 0 auto;
+    background: url("../image/bag_head.png") no-repeat;
+    background-size: 100%;
+    font-weight: normal;
+    padding-top: 1.13rem;
+}
+.bag_header p {
+    margin-bottom: 0.22rem;
+}
+
+.bag_center {
+    width: 7.75rem;
+    margin: -1px auto;
+    padding-top: 1.5rem;
+    padding-bottom: 2.66rem;
+    background: #e54674;
+    border-bottom-left-radius: 1.1rem;
+    border-bottom-right-radius: 1.1rem;
+}
+.just_btn {
+    width: 4.8rem;
+    height: 1.3rem;
+    line-height: 1.3rem;
+    color: #c12b26;
+    background: #f6c36e;
+    border-radius: 0.31rem;
+    box-shadow: 0 0.16rem 0 #c93666;
+}
+.recommend_box p {
+    width: 2.2rem;
+    height: 0.6rem;
+    margin: 0 auto;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    text-align: left;
+}
+.footer {
+    height: 2.3rem;
+    width: 100%;
+    background: url("../image/foot_bg.png") no-repeat;
+    background-size: 100% 100%;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}

+ 60 - 0
shop/templates/default/layout/h5_hb/css/over.css

@@ -0,0 +1,60 @@
+.top {
+    height: auto;
+}
+.bag_center {
+    padding-top: 0.1rem;
+    padding-bottom: 0.8rem;
+}
+.pro p {
+    line-height: 0.5rem;
+}
+
+.ropes {
+    width: 7.64rem;
+    height: 0.73rem;
+    line-height: 0.73rem;
+    margin: 0 auto;
+    background: url("../image/rcope02.png") no-repeat;
+    background-size: 100%;
+    color: #e86d97;
+}
+.recommend {
+    height: auto;
+    width: 6.34rem;
+    margin: 0 auto;
+    overflow: hidden;
+    background: #d6356d;
+    border-radius:5px;
+    padding-top: 0.2rem;
+    padding-bottom: 0.2rem;
+}
+.recommend_box {
+    width: 50%;
+}
+.recommend_box p {
+    line-height: 0.6rem;
+}
+.img_box {
+    width: 2.08rem;
+    height: 2.08rem;
+    margin: 0 auto;
+    padding: 0.17rem;
+    background: #f6c26e;
+    border-radius: 10px;
+}
+.img_border {
+    width: 1.7rem;
+    height: 1.7rem;
+    border: 2px solid #fff;
+}
+.ropes {
+    margin-top: 0.15rem;
+    margin-bottom: 0.2rem;
+}
+.price_box {
+    margin-top: -0.66rem;
+}
+.later {
+    text-decoration: line-through;
+    color: #e377a3;
+}

+ 134 - 0
shop/templates/default/layout/h5_hb/css/success.css

@@ -0,0 +1,134 @@
+html {
+    background: #faf9d7;
+}
+.top {
+   height: auto;
+}
+html,body {
+    min-height: 110%;
+}
+.bag_header p {
+    width: 5.18rem;
+    line-height: 0.5rem;
+    margin:0 auto 0.22rem auto;
+}
+.fullPage {
+    position: relative;
+}
+
+
+
+
+.bag_center {
+    padding-top: 0.1rem;
+    padding-bottom: 0.8rem;
+}
+
+
+.ropes {
+    width: 7.64rem;
+    height: 0.73rem;
+    line-height: 0.73rem;
+    margin: 0 auto;
+    background: url("../image/rcope02.png") no-repeat;
+    background-size: 100%;
+    color: #e86d97;
+}
+.recommend {
+    height: auto;
+    width: 6.34rem;
+    margin: 0 auto;
+    overflow: hidden;
+    background: #d6356d;
+    border-radius:5px;
+    padding-top: 0.2rem;
+}
+.recommend_box {
+    width: 50%;
+    padding-bottom: 0.2rem;
+}
+.recommend_box p {
+    width: 2.2rem;
+    height: 0.6rem;
+    margin: 0 auto;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    text-align: left;
+    line-height: 0.6rem;
+    color: #f8dfe8;
+}
+.recommend_title {
+    width: 2.2rem;
+    height: 0.6rem;
+    line-height: 0.6rem;
+    overflow: hidden;
+    margin: 0 auto;
+}
+.img_box {
+    width: 2.08rem;
+    height: 2.08rem;
+    margin: 0 auto;
+    padding: 0.17rem;
+    background: #f6c26e;
+    border-radius: 10px;
+}
+.img_border {
+    width: 1.7rem;
+    height: 1.7rem;
+    border: 2px solid #fff;
+}
+.ropes {
+    margin-top: 0.15rem;
+    margin-bottom: 0.2rem;
+}
+.price_box {
+    margin-top: -0.66rem;
+}
+.later {
+    text-decoration: line-through;
+    color: #e377a3;
+    padding-left: 0.1rem;
+}
+
+
+
+.banner {
+    width: 100%;
+    height: 1.88rem;
+    line-height: 1.88rem;
+    background-color: rgba(247,195,110,0.8);
+    position:fixed;
+    bottom: 0;
+    left: 0;
+    color:#fff;
+}
+.banner_title {
+    width: 4.59rem;
+    line-height: 0.55rem;
+}
+.logo {
+    width: 1.5rem;
+    height: 1.5rem;
+    margin-top: 0.3rem;
+    margin-left: 0.73rem;
+    background: url("../image/icon.png") no-repeat;
+    background-size: 100%;
+}
+.down {
+    width: 1.25rem;
+    height: 1.25rem;
+    margin-top: 0.3rem;
+    margin-right: 0.73rem;
+    background: url("../image/down.png") no-repeat;
+    background-size: 100%;
+}
+
+.footer {
+    position: static;
+    height: 2.3rem;
+    width: 100%;
+    background: url("../image/foot_bg.png") no-repeat;
+    background-size: 100% 100%;
+}
+

binární
shop/templates/default/layout/h5_hb/image/bag_head.png


binární
shop/templates/default/layout/h5_hb/image/bomb_bg.png


binární
shop/templates/default/layout/h5_hb/image/close.png


binární
shop/templates/default/layout/h5_hb/image/content.png


binární
shop/templates/default/layout/h5_hb/image/down.png


binární
shop/templates/default/layout/h5_hb/image/foot_bg.png


binární
shop/templates/default/layout/h5_hb/image/icon.png


binární
shop/templates/default/layout/h5_hb/image/loadicon.png


binární
shop/templates/default/layout/h5_hb/image/price_bg.png


binární
shop/templates/default/layout/h5_hb/image/rcope.png


binární
shop/templates/default/layout/h5_hb/image/rcope02.png


binární
shop/templates/default/layout/h5_hb/image/tel_icon.png


binární
shop/templates/default/layout/h5_hb/image/top_bg.png


+ 157 - 0
shop/templates/default/layout/h5_hb/js/rem.js

@@ -0,0 +1,157 @@
+/**
+ *  鉴于移动端设备参差不齐,
+ *  给页面排版带来了很多不便,
+ *  现在为了统一设置,
+ *  判断不同设备,
+ *  根据不同设备的分辨率,
+ *  以及其自身的DPI,
+ *  设置一个合适当前设备的rem值。
+ **/
+!function(window){
+
+    /*console.log(typeof define);
+     console.log(typeof module);
+     console.log(typeof exports);*/
+    var
+    // 使用一些文档原本就有的参数
+    //location = window.location,
+        document = window.document,
+    //docElm = document.documentElement,
+    // 设置版本号
+        setRem_version = '1.0.0',
+    //注册方法名
+        setRem = window.setRem || {};
+    //方法实现
+    setRem = {
+        init: function(opts){
+            /*console.log(opts);*/
+            //var def = opts === false ? false : true;
+            //if(def){
+            //    this.set();
+            //   // this.isComplete();
+            //    //this.test();
+            //}
+            //var def = ;
+            this.set(opts);
+        },
+        // isComplete: function(){
+        //     document.addEventListener('DOMContentLoaded', function(){
+        //         console.log('done');
+        //         if(document.getElementsByClassName){
+        //             console.log('zhichi');
+        //             // document.getElementsByClassName('fullpage')[0].style.height = '100%';
+        //         };
+
+        //     }, !1); 
+        // },
+        tool: function(){
+            //定义获得的dom存放对象
+            var domArr = {};
+            domArr.html = document.getElementsByTagName('html')[0];
+            domArr.head = document.getElementsByTagName('head')[0];
+            domArr.body = document.getElementsByTagName('body')[0];
+            return domArr;
+        },
+        device: function(){
+            //获取当前设备相关参数
+            var deviceArg = {};
+            //是什么设备iPhone OR Android OR iPad OR other
+            deviceArg.name = navigator.appVersion.indexOf('iPhone') > -1 ? 'iPhone' : 'other';
+            deviceArg.name = navigator.appVersion.indexOf('Android') > -1 ? 'Android' : deviceArg.name;
+            deviceArg.name = navigator.appVersion.indexOf('iPad') > -1 ? 'iPad' : deviceArg.name;
+            //当前设备的dpi是几何
+            deviceArg.dpi = window.devicePixelRatio;
+            //当前设备的宽度(单位px,但是是设备宽度,而非其分辨率)
+            //deviceArg.width = window.screen.width;
+
+            //getBoundingClientRect取到的是什么,
+            //为什么用这个,因为android设备取到的不准确特么的
+            deviceArg.width = document.getElementsByTagName('body')[0].getBoundingClientRect().width;
+            deviceArg.height = document.getElementsByTagName('body')[0].getBoundingClientRect().height;
+            //deviceArg.w = document.body.clientWidth;
+            //返回相关信息
+            //console.log(deviceArg);
+            //console.log(deviceArg);
+            return deviceArg;
+        },
+        create: function(opts, type, width,height, dpi){
+            //设置相关参数,拼接meta
+            var domVal = this.tool(),
+                remVal,
+                remHeight,
+                viewport = document.querySelector('meta[name="viewport"]');
+
+            //此属性为当前设备的dpi
+            domVal.html.setAttribute('data-dpi', dpi);
+            remVal = type === 'iPhone' ? width * dpi / 10
+                : (dpi > 1) && (width < 540) ? width / 10 : 540 / 10;
+            remHeight = type === 'iPhone' ? height * dpi / 10
+                : (dpi > 1) && (height < 540) ? height / 10 : 540 / 10;
+            dpi = type === 'iPhone' ? dpi : 1;
+            if (opts.redraw && type === 'iPhone'){
+                remVal = remVal / dpi;
+            }
+            domVal.html.style.fontSize = remVal+ 'px';
+
+            //console.log(remVal);
+            //这里不是dpi,,模仿淘宝,另有深意,粗浅的理解大概是设置的缩放比例。
+            domVal.html.setAttribute('data-dpr', dpi);
+
+            //为不同设备添加一个区分class
+            domVal.body.setAttribute('class', type + ' ' + type + '-height-' + height +' '+ type+ '-width-' +width);
+            //设置 viewport 各个属性
+            //viewport.setAttribute('name', 'viewport');
+            viewport.setAttribute('content', 'width=device-width'
+                + ', initial-scale='+ 1 / dpi
+                + ', maximum-scale=' + 1 / dpi
+                + ', minimum-scale=' + 1 / dpi
+                + ', user-scalable=no');
+            domVal.head.appendChild(viewport);
+
+
+        },
+        set: function(opts){
+
+            // console.log('go on');
+            var deviceVal = this.device();
+            if( deviceVal.name == 'iPhone' ){
+                this.create(opts, 'iPhone', deviceVal.width,deviceVal.height, deviceVal.dpi);
+            }else if( deviceVal.name == 'iPad' ){
+                this.create(opts, 'iPad', deviceVal.width,deviceVal.height, deviceVal.dpi);
+            }else if( deviceVal.name == 'Android' ){
+                this.create(opts, 'Android', deviceVal.width,deviceVal.height, deviceVal.dpi);
+            }else{
+                this.create(opts, 'other', deviceVal.width,deviceVal.height, deviceVal.dpi);
+            }
+            //t = setTimeout(function(){
+            //    document.getElementsByClassName('fullpage')[0].style.height = '100%';
+            //},100);
+            window.setRem = 'end';
+        }
+        // ,
+        // test: function(){
+        //  var testArr = {};
+        //  testArr.android = window.navigator.appVersion.match(/android/gi);
+        //  testArr.iphone = window.navigator.appVersion.match(/iphone/gi);
+        //  testArr.ai = (testArr.android, testArr.iphone);
+        //  console.log(testArr);
+        // }
+    };
+
+    // window.setRem = setRem;
+    setRem.init({redraw: false});
+    addEventListener('resize', function () {
+        setRem.init({redraw: true});
+    }, false);
+    //设置AMD模块依赖
+    if (typeof define === 'function' && define.amd) {
+        define('rem', [], function () {
+            return setRem;
+        })
+    }
+}(window);
+
+
+
+
+

+ 168 - 0
shop/templates/default/layout/h5_hb/js/tel.js

@@ -0,0 +1,168 @@
+$(function () {
+    tel = {
+        //总入口
+        init: function () {
+            var that = this;
+            that.validate('#hack', that.msg.no_tel, that.btnname.just_white);
+            //that.validate('#bind',that.msg.no_tel,that.btnname.just_white);
+            that.time('#hack');
+            that.close('#close');
+            that.close('#go');
+            that.active();
+            that.blurValidatetel();
+        },
+        //弹出信息
+        msg: {
+            no_tel: '请认真填写你的手机号',
+            no_yanz: '请填写验证码',
+            lg: '该手机已经领取过红包',
+            no_lq: '该手机不能领取红包',
+            verify_err: '验证码错误',
+            over: '该手机已经领取过红包',
+            no_pass: '该手机号不能领取红包'
+        },
+        //按钮信息
+        btnname: {
+            just_white: '这就写',
+            check: '知道了'
+        },
+        //判断验证顺序
+        b: false,
+        //插入验证结构
+        validate: function (id, msg, btnmsg, sj) {
+            var that = this;
+            $(id).on('touchstart', function (e) {
+                e.preventDefault();//阻止浏览器默认事件
+                var telVal = $('#tel_number').val(),
+                    tel = new RegExp("^[1][3-8]+\\d{9}");
+                //console.log(tel.test(telVal));
+                //验证输入手机规则
+                if (telVal == '' || (!tel.test(telVal))) {
+                    that.appendDom(msg, btnmsg);//插入HTML弹窗结构
+                    that.b = false;
+                }
+                else {
+                    that.b = true;
+                    return;
+                }
+            })
+        },
+        blurValidatetel: function () {
+            var that = this;
+            $("#tel_number").on('keyup', function () {
+                var thisVal = $(this).val(),
+                    tel = new RegExp("^[1][3-8]+\\d{9}");
+                if (thisVal == '' || (!tel.test(thisVal))) {
+                    return;
+                }
+                else {
+                    that.b = true;
+                }
+            })
+        },
+        //dom结构
+        appendDom: function (msg, btnmsg) {
+            var dom = '<div class="bomb" id="bomb">' +
+                '<div class="bomb_box">' +
+                '<p class="center font14">' + msg + '</p>' +
+                '<div class="btn center">' +
+                '<div>' +
+                '<a href="javascript:void(0)" class="remove inline font14" id="go">' + btnmsg + '</a>' +
+                '</div>' +
+                '</div>' +
+                '<div class="close" id="close"></div>' +
+                '</div>' +
+                '</div>';
+            $('#fullPage').append(dom);
+        },
+        //关闭弹出
+        close: function (id) {
+            $(id).live('touchstart', function (e) {
+                e.preventDefault();
+                $('#bomb').remove();
+            });
+        },
+        //倒计时
+        time: function (id, msg, btnmsg) {
+
+
+            var that = this,
+                times = function () {
+                    if (that.b == false) {
+                        return;
+                    }
+                    tel = $("#tel_number").val();
+                    sn = $("#bonus_sn").val();
+                    //alert(tel);
+                    $.post($("#get_code_link").val(), {
+                        phone_num: tel,
+                        bonus_sn: sn
+                    }), function (data, status) {
+                        return;
+                    };
+
+                    var yzVal = $('#yanz').val(),
+                        time = 60,
+                        a = setInterval(function () {
+                            time = time - 1;
+                            $(id).text(time);
+                            if (time == 0) {
+                                clearInterval(a);
+                                $(id).text('重新发送');
+                            }
+                        }, 1000);
+                };
+            $(id).on('touchstart', function () {
+                //判断倒计时是否开始了
+                var text = $(this).text();
+                if (text == '重新发送' || text == '去获取') {
+                    times();
+                }
+                else {
+                    return;
+                }
+            })
+        },
+        //验证码验证
+        active: function () {
+            var that = this;
+            $('#bind').on('touchstart', function () {
+                var b = that.b,
+                    yanzVal = $('#yanz').val();
+                if (b == false && yanzVal == '') {
+                    that.appendDom(that.msg.no_tel, that.btnname.just_white);
+                }
+                else {
+                    if (yanzVal == '') {
+                        that.appendDom(that.msg.no_yanz, that.btnname.just_white);
+                    }
+                    else {
+                        var yanzVal = $("#yanz").val();
+                        var tel = $("#tel_number").val();
+                        var alink = $("#url").val();
+                        var bonus_sn = $("#bonus_sn").val();
+
+                        $.post($("#verify_code_link").val(), {
+                            phone_num: tel,
+                            verifyCode: yanzVal,
+                            bonus_sn: bonus_sn
+                        }, function (data, status) {
+                            //alert(data+status);
+
+                            if (data) {
+                                location.href = alink + "&phone_num=" + tel + "&verifyCode=" + yanzVal;
+                            } else {
+                                that.appendDom(that.msg.verify_err, that.btnname.just_white);
+                            }
+                        });
+
+                        return;
+                    }
+                }
+
+
+            })
+        }
+    };
+    tel.init();
+});

+ 112 - 0
shop/templates/default/layout/h5_hb/js/tel_bak.js

@@ -0,0 +1,112 @@
+$(function(){
+    tel={
+        //总入口
+        init:function(){
+            var that=this;
+            that.validate('#hack',that.msg.no_tel,that.btnname.just_white);
+            that.validate('#bind',that.msg.no_tel,that.btnname.just_white);
+            that.time('#hack');
+            that.close('#close');
+            that.close('#go');
+            that.active();
+        },
+        //弹出信息
+        msg:{
+            no_tel:'请认真填写你的手机号',
+            no_yanz:'请填写验证码',
+            lg:'该手机已经领取过红包',
+            no_lq:'该手机不能领取红包',
+            remove:'获取验证码哦',
+            over:'该手机已经领取过红包',
+            no_pass:'该手机号不能领取红包'
+        },
+        //按钮信息
+        btnname:{
+            just_white:'这就写',
+            check:'知道了'
+        },
+        //判断验证顺序
+        b:false,
+        //插入验证结构
+        validate:function(id,msg,btnmsg){
+            var that=this;
+            $(id).on('touchstart',function(e){
+                e.preventDefault();//阻止浏览器默认事件
+                var telVal=$('#tel_number').val(),
+                    tel=new RegExp("^[1][3-8]+\\d{9}");
+                //console.log(tel.test(telVal));
+                //验证输入手机规则
+                if(telVal==''||(!tel.test(telVal))){
+                    that.appendDom(msg,btnmsg);//插入HTML弹窗结构
+                    that.b=false;
+                }
+                else{
+                    that.b=true;
+                    return;
+                }
+            })
+        },
+        //dom结构
+        appendDom:function(msg,btnmsg){
+            var dom='<div class="bomb" id="bomb">'+
+                '<div class="bomb_box">'+
+                '<p class="center font14">'+msg+'</p>'+
+                '<div class="btn center">'+
+                '<div>'+
+                '<a href="javascript:void(0)" class="remove inline font14" id="go">'+btnmsg+'</a>'+
+                '</div>'+
+                '</div>'+
+                '<div class="close" id="close"></div>'+
+                '</div>'+
+                '</div>';
+            $('#fullPage').append(dom);
+        },
+        //关闭弹出
+        close:function(id){
+            $(id).live('touchstart',function(e){
+                e.preventDefault();
+                $('#bomb').remove();
+            });
+        },
+        //倒计时
+        time:function(id,msg,btnmsg){
+            var that=this,
+                times=function(){
+                    if(that.b==false){
+                        return;
+                    }
+                    var yzVal=$('#yanz').val(),
+                        time=60,
+                        a=setInterval(function(){
+                            time=time-1;
+                            $(id).text(time);
+                            if(time==0) {
+                                clearInterval(a);
+                                $(id).text('重新发送');
+                            }
+                        },1000);
+                };
+            $(id).on('touchstart',function(){
+                //判断倒计时是否开始了
+                var text=$(this).text();
+                if(text=='重新发送'||text=='去获取'){
+                    times();
+                }
+                else{
+                    return;
+                }
+            })
+        },
+        //验证码验证
+        active:function(){
+            var that=this;
+           $('#bind').on('touchstart',function(){
+               if(that.b==true&&$('#yanz').val()==''){
+                   that.appendDom(that.msg.no_yanz,that.btnname.just_white);
+               }
+
+           })
+        }
+    };
+    tel.init();
+});

+ 161 - 0
shop/templates/default/layout/h5_hb/js/touch.js

@@ -0,0 +1,161 @@
+;(function($){
+    var touch = {},
+        touchTimeout, tapTimeout, swipeTimeout, longTapTimeout,
+        longTapDelay = 750,
+        gesture
+
+    function swipeDirection(x1, x2, y1, y2) {
+        return Math.abs(x1 - x2) >=
+        Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down')
+    }
+
+    function longTap() {
+        longTapTimeout = null
+        if (touch.last) {
+            touch.el.trigger('longTap')
+            touch = {}
+        }
+    }
+
+    function cancelLongTap() {
+        if (longTapTimeout) clearTimeout(longTapTimeout)
+        longTapTimeout = null
+    }
+
+    function cancelAll() {
+        if (touchTimeout) clearTimeout(touchTimeout)
+        if (tapTimeout) clearTimeout(tapTimeout)
+        if (swipeTimeout) clearTimeout(swipeTimeout)
+        if (longTapTimeout) clearTimeout(longTapTimeout)
+        touchTimeout = tapTimeout = swipeTimeout = longTapTimeout = null
+        touch = {}
+    }
+
+    function isPrimaryTouch(event){
+        return (event.pointerType == 'touch' ||
+            event.pointerType == event.MSPOINTER_TYPE_TOUCH)
+            && event.isPrimary
+    }
+
+    function isPointerEventType(e, type){
+        return (e.type == 'pointer'+type ||
+        e.type.toLowerCase() == 'mspointer'+type)
+    }
+
+    $(document).ready(function(){
+        var now, delta, deltaX = 0, deltaY = 0, firstTouch, _isPointerType
+
+        if ('MSGesture' in window) {
+            gesture = new MSGesture()
+            gesture.target = document.body
+        }
+
+        $(document)
+            .bind('MSGestureEnd', function(e){
+                var swipeDirectionFromVelocity =
+                    e.velocityX > 1 ? 'Right' : e.velocityX < -1 ? 'Left' : e.velocityY > 1 ? 'Down' : e.velocityY < -1 ? 'Up' : null;
+                if (swipeDirectionFromVelocity) {
+                    touch.el.trigger('swipe')
+                    touch.el.trigger('swipe'+ swipeDirectionFromVelocity)
+                }
+            })
+            .on('touchstart MSPointerDown pointerdown', function(e){
+                if((_isPointerType = isPointerEventType(e, 'down')) &&
+                    !isPrimaryTouch(e)) return
+                firstTouch = _isPointerType ? e : e.touches[0]
+                if (e.touches && e.touches.length === 1 && touch.x2) {
+                    // Clear out touch movement data if we have it sticking around
+                    // This can occur if touchcancel doesn't fire due to preventDefault, etc.
+                    touch.x2 = undefined
+                    touch.y2 = undefined
+                }
+                now = Date.now()
+                delta = now - (touch.last || now)
+                touch.el = $('tagName' in firstTouch.target ?
+                    firstTouch.target : firstTouch.target.parentNode)
+                touchTimeout && clearTimeout(touchTimeout)
+                touch.x1 = firstTouch.pageX
+                touch.y1 = firstTouch.pageY
+                if (delta > 0 && delta <= 250) touch.isDoubleTap = true
+                touch.last = now
+                longTapTimeout = setTimeout(longTap, longTapDelay)
+                // adds the current touch contact for IE gesture recognition
+                if (gesture && _isPointerType) gesture.addPointer(e.pointerId);
+            })
+            .on('touchmove MSPointerMove pointermove', function(e){
+                if((_isPointerType = isPointerEventType(e, 'move')) &&
+                    !isPrimaryTouch(e)) return
+                firstTouch = _isPointerType ? e : e.touches[0]
+                cancelLongTap()
+                touch.x2 = firstTouch.pageX
+                touch.y2 = firstTouch.pageY
+
+                deltaX += Math.abs(touch.x1 - touch.x2)
+                deltaY += Math.abs(touch.y1 - touch.y2)
+            })
+            .on('touchend MSPointerUp pointerup', function(e){
+                if((_isPointerType = isPointerEventType(e, 'up')) &&
+                    !isPrimaryTouch(e)) return
+                cancelLongTap()
+
+                // swipe
+                if ((touch.x2 && Math.abs(touch.x1 - touch.x2) > 30) ||
+                    (touch.y2 && Math.abs(touch.y1 - touch.y2) > 30))
+
+                    swipeTimeout = setTimeout(function() {
+                        touch.el.trigger('swipe')
+                        touch.el.trigger('swipe' + (swipeDirection(touch.x1, touch.x2, touch.y1, touch.y2)))
+                        touch = {}
+                    }, 0)
+
+                // normal tap
+                else if ('last' in touch)
+                // don't fire tap when delta position changed by more than 30 pixels,
+                // for instance when moving to a point and back to origin
+                    if (deltaX < 30 && deltaY < 30) {
+                        // delay by one tick so we can cancel the 'tap' event if 'scroll' fires
+                        // ('tap' fires before 'scroll')
+                        tapTimeout = setTimeout(function() {
+
+                            // trigger universal 'tap' with the option to cancelTouch()
+                            // (cancelTouch cancels processing of single vs double taps for faster 'tap' response)
+                            var event = $.Event('tap')
+                            event.cancelTouch = cancelAll
+                            touch.el.trigger(event)
+
+                            // trigger double tap immediately
+                            if (touch.isDoubleTap) {
+                                if (touch.el) touch.el.trigger('doubleTap')
+                                touch = {}
+                            }
+
+                            // trigger single tap after 250ms of inactivity
+                            else {
+                                touchTimeout = setTimeout(function(){
+                                    touchTimeout = null
+                                    if (touch.el) touch.el.trigger('singleTap')
+                                    touch = {}
+                                }, 250)
+                            }
+                        }, 0)
+                    } else {
+                        touch = {}
+                    }
+                deltaX = deltaY = 0
+
+            })
+            // when the browser window loses focus,
+            // for example when a modal dialog is shown,
+            // cancel all ongoing events
+            .on('touchcancel MSPointerCancel pointercancel', cancelAll)
+
+        // scrolling the window indicates intention of the user
+        // to scroll, not tap or swipe, so cancel all ongoing events
+        $(window).on('scroll', cancelAll)
+    })
+
+    ;['swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown',
+        'doubleTap', 'tap', 'singleTap', 'longTap'].forEach(function(eventName){
+            $.fn[eventName] = function(callback){ return this.on(eventName, callback) }
+        })
+})(Zepto)

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 2 - 0
shop/templates/default/layout/h5_hb/js/zepto.js


+ 27 - 0
shop/templates/default/layout/h5_hb/mode.php

@@ -0,0 +1,27 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>熊猫美妆红包</title>
+    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/base.css"/>
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/index_commcon.css"/>
+</head>
+<body>
+<div class="fullPage">
+    <div class="top">
+        <div class="rope"></div>
+        <div class="bag_header center font15">
+            <p>江海苗</p>
+
+            <p>送了你一个熊猫美妆红包</p>
+        </div>
+        <div class="bag_center center">
+            <a href=<?php echo($output['link']) ?> class="just_btn inline center font17">立即领取</a>
+        </div>
+    </div>
+    <div class="footer"></div>
+</div>
+<script src="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/js/rem.js"></script>
+</body>
+</html>

+ 61 - 0
shop/templates/default/layout/h5_hb/over.php

@@ -0,0 +1,61 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>熊猫美妆红包</title>
+    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/base.css"/>
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/index_commcon.css"/>
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/over.css"/>
+</head>
+<body>
+<div class="fullPage">
+    <div class="top">
+        <div class="rope"></div>
+        <div class="bag_header center font15">
+            <p>你来晚咯~红包已经抢走</p>
+        </div>
+        <div class="bag_center center">
+            <div class="ropes font14">促销推荐</div>
+            <div class="recommend">
+
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+    <div class="footer">
+
+    </div>
+</div>
+<script src="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/js/rem.js"></script>
+</body>
+</html>

+ 95 - 0
shop/templates/default/layout/h5_hb/success.php

@@ -0,0 +1,95 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>熊猫美妆红包</title>
+    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/base.css"/>
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/index_commcon.css"/>
+    <link rel="stylesheet" href="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/css/success.css"/>
+</head>
+<body>
+<div class="fullPage">
+    <div class="top">
+        <div class="rope"></div>
+        <div class="bag_header center font14">
+            <p>你的代金券已经成功添加进账户立刻通过熊猫美妆去购物吧</p>
+        </div>
+        <div class="bag_center center">
+            <div class="ropes font14">促销推荐</div>
+            <div class="recommend">
+
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+                <div class="recommend_box left">
+                    <div class="img_box">
+                        <div class="img_border">
+                            <img src="image/loadicon.png" alt=""/>
+                        </div>
+                    </div>
+                    <div class="recommend_title font9">
+                        <p>兰芝BB气垫保湿霜兰芝BB气垫保湿霜</p>
+                    </div>
+                    <div class="price_box">
+                        <span class="font10">¥240元</span><span class="later font9">¥240元</span>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+    </div>
+    <div class="footer"></div>
+    <div class="banner center">
+    <div class="logo left"></div>
+    <div class="banner_title inline center">
+        <p class="font15 center">立刻去下载(熊猫美妆)</p>
+        <p class="font12 center">开启你口袋里的化妆包吧</p>
+    </div>
+    <div class="down right"></div>
+</div>
+</div>
+<script src="<?php echo SHOP_TEMPLATES_URL;?>/layout/h5_hb/js/rem.js"></script>
+</body>
+</html>