浏览代码

Merge branch 'master' of http://git.iamberry.com/liujiankang/static

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
qihanjiao 7 年之前
父节点
当前提交
d3c091b96b
共有 95 个文件被更改,包括 45459 次插入45436 次删除
  1. 487 487
      aiberle/------废弃页面------add_machine.html
  2. 479 479
      aiberle/add-warranty_card.html
  3. 58 58
      aiberle/brand-story.html
  4. 359 359
      aiberle/clearing.html
  5. 193 193
      aiberle/coupon_list.html
  6. 63 63
      aiberle/css/icons-extra.css
  7. 135 135
      aiberle/css/mui.dtpicker.css
  8. 122 122
      aiberle/css/mui.imageviewer.css
  9. 4 4
      aiberle/css/mui.min.css
  10. 84 84
      aiberle/css/mui.picker.css
  11. 6 6
      aiberle/css/mui.picker.min.css
  12. 63 63
      aiberle/css/mui.poppicker.css
  13. 114 114
      aiberle/customer-service.html
  14. 191 191
      aiberle/development-history.html
  15. 212 212
      aiberle/exchange-goods.html
  16. 65 65
      aiberle/get-warranty_card.html
  17. 11547 11547
      aiberle/js/city.data-3.js
  18. 1604 1604
      aiberle/js/city.data.js
  19. 4 4
      aiberle/js/jquery-2.1.1.min.js
  20. 866 866
      aiberle/js/jquery.autocompleter.js
  21. 8 8
      aiberle/js/jquery.autocompleter.min.js
  22. 267 267
      aiberle/js/mui.imageViewer.js
  23. 115 115
      aiberle/js/mui.lazyload.img.js
  24. 326 326
      aiberle/js/mui.lazyload.js
  25. 8 8
      aiberle/js/mui.min.js
  26. 388 388
      aiberle/js/mui.picker.js
  27. 6 6
      aiberle/js/mui.picker.min.js
  28. 159 159
      aiberle/js/mui.poppicker.js
  29. 381 381
      aiberle/js/mui.previewimage.js
  30. 627 627
      aiberle/js/mui.view.js
  31. 321 321
      aiberle/js/mui.zoom.js
  32. 263 263
      aiberle/js/wechat-utils-1.0.js
  33. 106 106
      aiberle/jzcz.html
  34. 115 115
      aiberle/localStorage&sessionStorage.html
  35. 213 213
      aiberle/logistics-massage.html
  36. 168 168
      aiberle/my-warranty_card.html
  37. 415 415
      aiberle/order-details.html
  38. 64 64
      aiberle/pay-win.html
  39. 148 148
      aiberle/pro-details-test.html
  40. 391 391
      aiberle/pro-details.html
  41. 24 1
      aiberle/pro-list.html
  42. 61 61
      aiberle/question-and-answer.html
  43. 395 395
      aiberle/shopping-cart.html
  44. 72 72
      aiberle/understanding-brands.html
  45. 511 511
      aiberle/watero-faq.html
  46. 72 72
      tooth/add-tooth.html
  47. 400 400
      tooth/clearing.html
  48. 114 114
      tooth/coupon_list.html
  49. 55 55
      tooth/css/iconfont.css
  50. 63 63
      tooth/css/icons-extra.css
  51. 135 135
      tooth/css/mui.dtpicker.css
  52. 122 122
      tooth/css/mui.imageviewer.css
  53. 4 4
      tooth/css/mui.min.css
  54. 84 84
      tooth/css/mui.picker.css
  55. 6 6
      tooth/css/mui.picker.min.css
  56. 63 63
      tooth/css/mui.poppicker.css
  57. 8 8
      tooth/css/rp.txt
  58. 11 11
      tooth/css/swiper.min.css
  59. 114 114
      tooth/customer-service.html
  60. 210 210
      tooth/exchange-goods.html
  61. 54 54
      tooth/follow-me.html
  62. 413 413
      tooth/integral-log.html
  63. 11547 11547
      tooth/js/city.data-3.js
  64. 1604 1604
      tooth/js/city.data.js
  65. 4 4
      tooth/js/jquery-2.1.1.min.js
  66. 866 866
      tooth/js/jquery.autocompleter.js
  67. 8 8
      tooth/js/jquery.autocompleter.min.js
  68. 430 430
      tooth/js/main.js
  69. 402 402
      tooth/js/main.js.bak
  70. 267 267
      tooth/js/mui.imageViewer.js
  71. 115 115
      tooth/js/mui.lazyload.img.js
  72. 326 326
      tooth/js/mui.lazyload.js
  73. 8 8
      tooth/js/mui.min.js
  74. 388 388
      tooth/js/mui.picker.js
  75. 6 6
      tooth/js/mui.picker.min.js
  76. 159 159
      tooth/js/mui.poppicker.js
  77. 381 381
      tooth/js/mui.previewimage.js
  78. 627 627
      tooth/js/mui.view.js
  79. 321 321
      tooth/js/mui.zoom.js
  80. 13 13
      tooth/js/swiper.min.js
  81. 263 263
      tooth/js/wechat-utils-1.0.js
  82. 213 213
      tooth/logistics-massage.html
  83. 54 54
      tooth/member-follow-me.html
  84. 402 402
      tooth/my-center.html
  85. 163 163
      tooth/my-tooth.html
  86. 252 252
      tooth/my-vip-message.html
  87. 66 66
      tooth/only-refunds.html
  88. 403 403
      tooth/order-details.html
  89. 375 375
      tooth/order-list.html
  90. 454 454
      tooth/pro-details.html
  91. 207 207
      tooth/pro-list.html
  92. 92 92
      tooth/refund-of-refunds.html
  93. 354 354
      tooth/register-vip.html
  94. 377 377
      tooth/shopping-cart.html
  95. 176 176
      tooth/welfare-service.html

+ 487 - 487
aiberle/------废弃页面------add_machine.html

@@ -1,487 +1,487 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<meta charset="UTF-8">
-	<title>领取质保卡</title>
-	<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-	<meta name="apple-mobile-web-app-capable" content="yes">
-	<meta name="apple-mobile-web-app-status-bar-style" content="black">
-	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/css/mui.min.css?v=2017092601" />
-	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/css/mui.picker.min.css?v=2017092601" />
-	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/new/css/iconfont.css?v=2017092601" />
-	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/css/style.css?v=2017092601" />
-	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/new/css/personal_information.css?v=2017092601" />
-	<style>
-		h4{margin-top:5px;margin-bottom: 5px;font-size: 20px;}
-		.btn-pull-code{position: absolute;right: 10px;top:7px;height:34px;padding:0 6px;border-radius: 5px; line-height: 34px;font-size: 12px; color: #fff; background: #24cae9;}
-		.btn-pull-code .active{background: #c8c8c8;}
-		.icon-fuxuankuang a{color: #24cae9;}
-		.icon-yanse,.icon-youhui,.icon-fuxuankuang,.icon-jiage,.icon-songhuo{font-size: 15px;padding-left: 22px;}
-		.icon-yanse:before,.icon-fuxuankuang:before,.icon-youhui:before,.icon-jiage:before,.icon-songhuo:before{font-size: 18px;color: #24cae9;position: absolute;left: 0;width: 20px;height: 18px;}
-		.try_price{color: #f1436c;}
-		.ul_radio{width: 100%;}
-		.ul_radio li{width:21%;height: 55px;margin: 0 1%;border: 1px solid rgba(0,0,0,.1);border-radius: 5px; display: inline-block;position: relative;font-family:"iconfont" !important;font-style:normal;-webkit-font-smoothing: antialiased;}
-		.ul_radio .active:after{position: absolute;right: 0;bottom: 0;content: "\e66f";color: #f1436c;line-height: 1;font-size: 20px;}
-
-		.head-img {position: absolute;bottom: 15px;right: 13px;width: 60px;height: 60px;border-radius: 30px;border: 3px solid #E5E5E5;}
-		.mui-table-view .mui-media .mui-media-body{height: 41px;line-height: 41px;color: #333;}
-		.mui-table-view .mui-media .mui-media-body>span{color: #f1436c;}
-		.my-table-view-try{border-top: .6em solid #f0f0f0;border-bottom: .6em solid #f0f0f0;padding-bottom: 10px;}
-		.my-table-view-try .mui-table-view-cell{padding:10px 13px 10px 30px !important;font-size: 12px;}
-		.mui-table-view-cell:after,.mui-table-view:before,.mui-table-view:after,.mui-input-group .mui-input-row:after,.mui-input-group:before,.mui-input-group:after{display: none;}
-		.mui-table-view-cell>a:not(.mui-btn){color: #666;margin: -15px -15px;}
-		.mui-table-view-cell>a .mui-pull-right{color: #999;font-size: 14px;}
-		#btn_submit{color: #fff;padding: 10px 0;font-size: 18px;background: #24cae9;width: 70%;margin:40px auto 0 auto;}
-		.mui-btn-block.mui-active,.btn-pull-code.mui-active{background-color: #c8c8c8 !important;}
-		.icon-fuxuankuang.mui-active:before{color: #c8c8c8;}
-		.mui-content-padded{margin: 10px 13px;}
-		.tips{padding: 25px 10px;background: #36a4c6;text-align: center;color: #fff;}
-		.mui-input-group .mui-input-row {height: 50px;padding: 5px 0;border: 1px solid rgba(0,0,0,.1); margin:10px 0;}
-		.mui-input-row label{color: #666;width:27%;font-size: 15px;}
-		.mui-input-row label~input{width:73%;}
-		.mui-input-row label~input::-webkit-input-placeholder{font-size: 15px;}
-		.triangle-down {width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;}
-		.my-arrowright{position: absolute;right: 18px;top: 28px;color: #666;pointer-events:none;}
-		.mui-btn-red{background-color: #e9004c;}
-		.icon-saoma{position: absolute;right: 0;top:0;padding: 12px;color: #55c0dc;}
-		.mui-icon-arrowdown{position: absolute;right: 0;top:0;padding: 12px;color: #999;pointer-events: none;}
-	</style>
-</head>
-<body style="background: #fff;">
-<div class="loading-bg">
-	<div class="mui-loading">
-		<div class="mui-spinner">
-		</div>
-		&nbsp;&nbsp;加载中...
-	</div>
-</div>
-
-<div class="mui-content" style="background: #fff;">
-	<div class="tips more">
-		<h4>现在完善机器信息!</h4>
-		<span>尊享WaterO全面服务保障</span>
-		<div></div>
-	</div>
-	<div class="mui-content-padded">
-		<div><span class="iconfont icon-dingwei" style="color: #f00;"></span>地址:<span id="wx-ads"></span></div>
-		<form class="mui-input-group">
-			<div class="mui-input-row">
-				<label>姓名</label>
-				<input type="text" maxlength="12" class="mui-input-clear" placeholder="请填写您的姓名" id="ipt-name">
-			</div>
-			<div class="mui-input-row">
-				<label>邮箱</label>
-				<input type="text" maxlength="32" class="mui-input-clear" placeholder="请填写您的邮箱" id="ipt-email">
-			</div>
-			<div class="mui-input-row">
-				<label>水质</label>
-				<input type="text"  placeholder="请选择您的水质范围" id="ipt-water" txtvalue="" readonly="readonly">
-			</div>
-			<div class="mui-input-row">
-				<label>手机号</label>
-				<input type="tel" maxlength="11" class="mui-input-clear" placeholder="请填写物流发货时预留的手机号" id="ipt-phone">
-			</div>
-			<div class="mui-input-row">
-				<label>验&nbsp;&nbsp;证&nbsp;&nbsp;码</label>
-				<input type="text" maxlength="4" placeholder="请输入验证码" id="ipt-code">
-				<span class="btn-pull-code" id="pull-code">获取验证码</span>
-			</div>
-			<div id="div_message" style="display: none;">
-				<label style="color: red;"><b>*注意:</b><label id="txt_message">请填写与您物流信息相符的联系电话,否则将会无法识别您的产品信息</label></label>
-			</div>
-
-		</form>
-	</div>
-	<div class="mui-content-padded">
-		<button type="button" data-loading-icon="mui-spinner mui-spinner-custom" data-loading-text="提交中" class="mui-btn mui-btn-block mui-btn-outlined mui-active" id="btn_submit" disabled="disabled" >提交</button>
-	</div>
-</div>
-
-<script src="//s.iamberry.com/wateroPF/js/mui.min.js?v=2016101701"></script>
-<script src="//s.iamberry.com/wateroPF/js/mui.picker.min.js"></script>
-<script src="//s.iamberry.com/wateroPF/js/jquery-2.1.1.min.js"></script>
-<script src="//s.iamberry.com/wateroPF/js/shop/main.js?v=2016101701"></script>
-<script src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
-<script src="//s.iamberry.com/wateroPF/js/shop/wechat-utils-1.0.js"></script>
-<script type="text/javascript">
-
-    var check = false,alert_msg='';
-    var mobile=/^(13|14|15|18)[0-9]{9}$/; //手机号码
-    var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
-    var email=/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,18}$/;
-    var code = /^[0-9]{4}$/; //数字
-    var numberProvince = null;
-    var numberCity = null;
-    var numberDistrict = null;
-    var num = getParam("num");
-    mui.ready(function(){
-        check_warranty();
-        //选择示例
-        var userPicker = new mui.PopPicker();
-        userPicker.setData([{
-            value: '1',
-            text: '0-100 TDS'
-        }, {
-            value: '2',
-            text: '101-250 TDS'
-        }, {
-            value: '3',
-            text: '251-500 TDS'
-        }, {
-            value: '4',
-            text: '501 TDS 以上 '
-        }]);
-        var showUserPickerButton = document.getElementById('ipt-water');
-        showUserPickerButton.addEventListener('tap', function(event) {
-            userPicker.show(function(items) {
-                document.getElementById('ipt-water').value = items[0].text;
-                $('#ipt-water').attr('txtvalue',items[0].value);
-                var txt_message = '';
-                switch (items[0].value) {
-                    case '1':
-                        txt_message = '您家水质良好。';
-                        break;
-                    case '2':
-                        txt_message = '您家水质偏差,WaterO可彻底净化,请使用柠檬酸每3个月清洗。';
-                        break;
-                    case '3':
-                        txt_message = '您家水质较差,WaterO可彻底净化,请使用柠檬酸每2个月清洗。';
-                        break;
-                    case '4':
-                        txt_message = '您家水质很差,WaterO可彻底净化,请使用柠檬酸每1个月清洗。';
-                        break;
-                }
-                $('#txt_message').html(txt_message);
-                $('#div_message').show();
-            });
-        }, false);
-        document.querySelector('.loading-bg').style.display='none';
-    });
-
-    function check_warranty() {
-        if (num != 1) {
-            window.location.href = base_path + '/qrcode/_add_warranty';
-		}
-
-        /*$.ajax({
-            type: 'get',
-            url: base_path + '/qrcode/check_warranty',
-            dataType: 'json',
-            timeout: 15000,
-            success: function(dt) {
-                if(dt.status){
-                    if (!dt.data) {
-                        mui.openWindow({
-                            url: '/wateroPF/view/guanzhu.html'
-                        })
-					}
-                } else {
-                    mui.openWindow({
-                        url: '/wateroPF/view/guanzhu.html'
-                    })
-				}
-            },
-            error: function(xhr, type, errorThrown) {
-                mui.openWindow({
-                    url: '/wateroPF/view/guanzhu.html'
-                })
-                console.log("请检查网络或刷新页面重试!");
-            }
-        });*/
-	}
-
-    wx.ready(function () {
-        // 7.2 获取当前地理位置
-        wx.getLocation({
-            success: function (res) {
-                var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
-                var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
-                var speed = res.speed; // 速度,以米/每秒计
-                var accuracy = res.accuracy; // 位置精度
-                getlocation(latitude,longitude);
-            },
-            cancel: function (res) {
-                $("#wx-ads").text('定位失败');
-            }
-        });
-    });
-
-    function getlocation(latitude,longitude){
-        var data_array = {
-            "latitude":latitude,
-			"longitude":longitude
-        };
-        $.ajax({
-            type: 'get',
-            url: base_path + '/qrcode/get_location_by_qq',
-			data:data_array,
-            dataType: 'json',
-            timeout: 15000,
-            success: function(dt) {
-                if(dt.status){
-                    numberProvince = dt.data.numberProvince;
-                    numberCity = dt.data.numberCity;
-                    numberDistrict = dt.data.numberDistrict;
-                    $("#wx-ads").text(numberProvince+"-"+numberCity+"-"+numberDistrict);
-                }
-            },
-            error: function(xhr, type, errorThrown) {
-                console.log("请检查网络或刷新页面重试!");
-            }
-        });
-    }
-    mui('body').on('tap', '#btn_submit', function() {
-        change_input();
-        if(check){
-            console.log("提交");
-            mui(this).button('loading');
-            setTimeout(function() {
-                mui(this).button('reset');
-            }.bind(this), 2000);
-            //mui.alert("本批watero试用机为新机,请您在试用过程中足够爱惜,切勿刮划机身及损坏包装,感谢您的配合!");
-            var data_array = {
-                "userTel":$('#ipt-phone').val()
-            };
-            $.ajax({
-                type: 'post',
-                url: base_path + '/qrcode/select_efast_order_num',
-                data:data_array,
-                dataType: 'json',
-                timeout: 15000,
-                success: function(dt) {
-                    if (dt.status) {
-                        var num = dt.data.num;
-                        var txtTime = dt.data.txtTime;
-                        var text = '';
-                        if (dt.data.num > 0) {
-                            text = '您有'+ dt.data.num + '个订单,是否确认领取质保卡?';
-                        } else {
-                            mui.alert('未搜索到订单,请确认后提交,如有疑问,请联系公众号客服!');
-                            return;
-                        }
-                        var btnArray = ['否', '是'];
-                        mui.confirm(text, '提示', btnArray, function(e) {
-                            if (e.index == 1) {
-                                var data_all = {
-                                    "phoneCode":$('#ipt-code').val(),
-                                    "userName":$('#ipt-name').val(),
-                                    "userTel":$('#ipt-phone').val(),
-                                    "userEmail":$('#ipt-email').val(),
-                                    "numberWatero":$('#ipt-water').attr('txtvalue'),
-                                    "numberProvince":numberProvince,
-                                    "numberCity":numberCity,
-                                    "numberDistrict":numberDistrict,
-                                    "txtTime":txtTime
-                                };
-                                $.ajax({
-                                    type: 'post',
-                                    url: base_path + '/qrcode/add_warranty_card',
-                                    data:data_all,
-                                    dataType: 'json',
-                                    timeout: 15000,
-                                    success: function(dt) {
-                                        if (dt.status) {
-                                            mui.openWindow({
-                                                url: '/wateroPF/view/warranty_card.html'
-                                            })
-                                        } else {
-                                            mui.alert(dt.message);
-                                        }
-                                    },
-                                    error: function(xhr, type, errorThrown) {
-                                        mui.alert("请检查网络或刷新页面重试!");
-                                    }
-                                });
-                            }
-                        });
-                    } else {
-                        mui.alert(dt.message);
-                    }
-                },
-                error: function(xhr, type, errorThrown) {
-                    mui.alert("请检查网络或刷新页面重试!");
-                }
-            });
-        }else{
-            console.log("未通过");
-            mui.alert(alert_msg);
-        }
-    });
-    mui('body').on('tap', '#xieyi-dalog', function() {
-        mui.openWindow({
-            url: 'try_xieyi.html'
-        });
-    });
-    $(".ul_radio li").each(function() {
-        $(this).on("click", function() {
-            $(this).addClass("active");
-            $(this).siblings().removeClass("active");
-        });
-    });
-    $(document).on('tap', '#btn-tongyi', function() {
-        var btn_submit=$("#btn_submit");
-        console.log($(this).hasClass("mui-active"));
-        if($(this).hasClass("mui-active")){
-            $(this).removeClass("mui-active");
-            btn_submit.removeClass("mui-active");
-        }else{
-            $(this).addClass("mui-active");
-            btn_submit.addClass("mui-active");
-        }
-    });
-    $(document).on('tap', '#pull-code', function() {
-        if($("#ipt-phone").val().trim()=="" &&(!$("#pull-code").hasClass("mui-active"))){
-            mui.alert("请填写手机号码");
-            return;
-        }else{
-            if(!mobile.test($("#ipt-phone").val().trim())){
-                mui.alert("手机号码不正确,请重新填写");
-                return;
-            }else{
-                if($(this).hasClass("mui-active")){
-                    mui.alert();
-                    return;
-                }else{
-                    $(this).addClass("mui-active");
-                    $('#btn_submit').removeClass("mui-active");
-                    $('#btn_submit').removeAttr("disabled");
-                    settime("pull-code");
-                    $.ajax({
-                        type: 'post',
-                        url: base_path + '/qrcode/send_phone_code',
-                        data:{
-                            "phone" : $("#ipt-phone").val()
-                        },
-                        dataType: 'json',
-                        timeout: 15000,
-                        success: function(dt) {
-                        },
-                        error: function(xhr, type, errorThrown) {
-                            mui.alert("请检查网络或刷新页面重试!");
-                        }
-                    });
-                }
-            }
-        }
-    });
-    var countdown=60;
-    function settime(val) {
-        pullid=dc(val);
-        if (countdown == 0) {
-            pullid.removeAttribute("disabled");
-            pullid.className='btn-pull-code';
-            pullid.innerText="获取验证码";
-            countdown = 60;
-            return false;
-        } else {
-            pullid.setAttribute("disabled", true);
-            pullid.className='btn-pull-code mui-active';
-            pullid.innerText="重新发送(" + countdown + ")";
-            countdown--;
-        }
-        setTimeout(function() {
-            settime(val)
-        },1000)
-    }
-    function change_input() {
-        //活动暂时结束   下次开启时注释这段代码就好了
-		/*alert_msg="活动已暂停,开始时间请联系客服";
-		 check=false;
-		 return false;*/
-
-
-        $(".mui-input-group input").each(function(index) {
-            switch ($(this).attr("id")){
-                case "ipt-name":
-                    if($(this).val().trim()==""){
-                        alert_msg="请填写姓名";
-                        check=false;
-                        return false;
-                    }else{
-                        if(uname.test($(this).val())) {
-                            check=true;
-                        }else{
-                            alert_msg="姓名格式不正确,请重新填写";
-                            check=false;
-                            return false;
-                        }
-                    }
-                    break;
-                case "ipt-email":
-                    if($(this).val().trim()==""){
-                        alert_msg="请填写您的邮箱";
-                        check=false;
-                        return false;
-                    }else{
-                        if(email.test($(this).val())) {
-                            check=true;
-                        }else{
-                            alert_msg="邮箱格式不正确,请重新填写";
-                            check=false;
-                            return false;
-                        }
-                    }
-                    break;
-                case "ipt-phone":
-                    if($(this).val().trim()==""){
-                        alert_msg="请填写手机号";
-                        check=false;
-                        return false;
-                    }else{
-                        if(mobile.test($(this).val().trim())) {
-                            check=true;
-                        }else{
-                            alert_msg="手机号码不正确,请重新填写";
-                            check=false;
-                            return false;
-                        }
-                    }
-                    break;
-                case "ipt-code":
-                    if($(this).val().trim()==""){
-                        alert_msg="请填写验证码";
-                        check=false;
-                        return false;
-                    }else{
-                        if(code.test($(this).val().trim())) {
-                            check=true;
-                        }else{
-                            alert_msg="验证码格式不正确,请重新填写";
-                            check=false;
-                            return false;
-                        }
-                    }
-                    break;
-                default:
-                    break;
-            }
-        });
-        var btn_submit = dc('btn_submit');
-        if(check) {
-            console.log("通过")
-        } else {
-            console.log(alert_msg);
-        }
-    }
-
-
-    var flag = false;
-    var mask = mui.createMask(function() {
-        return flag;
-    }); //callback为用户点击蒙版时自动执行的回调;
-    mui('body').on('tap', '#ipt-date', function() {
-        var th = this;
-        var picker = new mui.DtPicker({
-            type: "date", //设置日历初始视图模式
-            beginDate: new Date(2016, 7, 1), //设置开始日期
-            endDate: new Date() //设置结束日期
-        });
-        console.log(picker)
-        picker.show(function(rs) {
-            th.value = rs.text;
-            picker.dispose();
-        });
-    });
-</script>
-</body>
-</html>
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="UTF-8">
+	<title>领取质保卡</title>
+	<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+	<meta name="apple-mobile-web-app-capable" content="yes">
+	<meta name="apple-mobile-web-app-status-bar-style" content="black">
+	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/css/mui.min.css?v=2017092601" />
+	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/css/mui.picker.min.css?v=2017092601" />
+	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/new/css/iconfont.css?v=2017092601" />
+	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/css/style.css?v=2017092601" />
+	<link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/new/css/personal_information.css?v=2017092601" />
+	<style>
+		h4{margin-top:5px;margin-bottom: 5px;font-size: 20px;}
+		.btn-pull-code{position: absolute;right: 10px;top:7px;height:34px;padding:0 6px;border-radius: 5px; line-height: 34px;font-size: 12px; color: #fff; background: #24cae9;}
+		.btn-pull-code .active{background: #c8c8c8;}
+		.icon-fuxuankuang a{color: #24cae9;}
+		.icon-yanse,.icon-youhui,.icon-fuxuankuang,.icon-jiage,.icon-songhuo{font-size: 15px;padding-left: 22px;}
+		.icon-yanse:before,.icon-fuxuankuang:before,.icon-youhui:before,.icon-jiage:before,.icon-songhuo:before{font-size: 18px;color: #24cae9;position: absolute;left: 0;width: 20px;height: 18px;}
+		.try_price{color: #f1436c;}
+		.ul_radio{width: 100%;}
+		.ul_radio li{width:21%;height: 55px;margin: 0 1%;border: 1px solid rgba(0,0,0,.1);border-radius: 5px; display: inline-block;position: relative;font-family:"iconfont" !important;font-style:normal;-webkit-font-smoothing: antialiased;}
+		.ul_radio .active:after{position: absolute;right: 0;bottom: 0;content: "\e66f";color: #f1436c;line-height: 1;font-size: 20px;}
+
+		.head-img {position: absolute;bottom: 15px;right: 13px;width: 60px;height: 60px;border-radius: 30px;border: 3px solid #E5E5E5;}
+		.mui-table-view .mui-media .mui-media-body{height: 41px;line-height: 41px;color: #333;}
+		.mui-table-view .mui-media .mui-media-body>span{color: #f1436c;}
+		.my-table-view-try{border-top: .6em solid #f0f0f0;border-bottom: .6em solid #f0f0f0;padding-bottom: 10px;}
+		.my-table-view-try .mui-table-view-cell{padding:10px 13px 10px 30px !important;font-size: 12px;}
+		.mui-table-view-cell:after,.mui-table-view:before,.mui-table-view:after,.mui-input-group .mui-input-row:after,.mui-input-group:before,.mui-input-group:after{display: none;}
+		.mui-table-view-cell>a:not(.mui-btn){color: #666;margin: -15px -15px;}
+		.mui-table-view-cell>a .mui-pull-right{color: #999;font-size: 14px;}
+		#btn_submit{color: #fff;padding: 10px 0;font-size: 18px;background: #24cae9;width: 70%;margin:40px auto 0 auto;}
+		.mui-btn-block.mui-active,.btn-pull-code.mui-active{background-color: #c8c8c8 !important;}
+		.icon-fuxuankuang.mui-active:before{color: #c8c8c8;}
+		.mui-content-padded{margin: 10px 13px;}
+		.tips{padding: 25px 10px;background: #36a4c6;text-align: center;color: #fff;}
+		.mui-input-group .mui-input-row {height: 50px;padding: 5px 0;border: 1px solid rgba(0,0,0,.1); margin:10px 0;}
+		.mui-input-row label{color: #666;width:27%;font-size: 15px;}
+		.mui-input-row label~input{width:73%;}
+		.mui-input-row label~input::-webkit-input-placeholder{font-size: 15px;}
+		.triangle-down {width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;}
+		.my-arrowright{position: absolute;right: 18px;top: 28px;color: #666;pointer-events:none;}
+		.mui-btn-red{background-color: #e9004c;}
+		.icon-saoma{position: absolute;right: 0;top:0;padding: 12px;color: #55c0dc;}
+		.mui-icon-arrowdown{position: absolute;right: 0;top:0;padding: 12px;color: #999;pointer-events: none;}
+	</style>
+</head>
+<body style="background: #fff;">
+<div class="loading-bg">
+	<div class="mui-loading">
+		<div class="mui-spinner">
+		</div>
+		&nbsp;&nbsp;加载中...
+	</div>
+</div>
+
+<div class="mui-content" style="background: #fff;">
+	<div class="tips more">
+		<h4>现在完善机器信息!</h4>
+		<span>尊享WaterO全面服务保障</span>
+		<div></div>
+	</div>
+	<div class="mui-content-padded">
+		<div><span class="iconfont icon-dingwei" style="color: #f00;"></span>地址:<span id="wx-ads"></span></div>
+		<form class="mui-input-group">
+			<div class="mui-input-row">
+				<label>姓名</label>
+				<input type="text" maxlength="12" class="mui-input-clear" placeholder="请填写您的姓名" id="ipt-name">
+			</div>
+			<div class="mui-input-row">
+				<label>邮箱</label>
+				<input type="text" maxlength="32" class="mui-input-clear" placeholder="请填写您的邮箱" id="ipt-email">
+			</div>
+			<div class="mui-input-row">
+				<label>水质</label>
+				<input type="text"  placeholder="请选择您的水质范围" id="ipt-water" txtvalue="" readonly="readonly">
+			</div>
+			<div class="mui-input-row">
+				<label>手机号</label>
+				<input type="tel" maxlength="11" class="mui-input-clear" placeholder="请填写物流发货时预留的手机号" id="ipt-phone">
+			</div>
+			<div class="mui-input-row">
+				<label>验&nbsp;&nbsp;证&nbsp;&nbsp;码</label>
+				<input type="text" maxlength="4" placeholder="请输入验证码" id="ipt-code">
+				<span class="btn-pull-code" id="pull-code">获取验证码</span>
+			</div>
+			<div id="div_message" style="display: none;">
+				<label style="color: red;"><b>*注意:</b><label id="txt_message">请填写与您物流信息相符的联系电话,否则将会无法识别您的产品信息</label></label>
+			</div>
+
+		</form>
+	</div>
+	<div class="mui-content-padded">
+		<button type="button" data-loading-icon="mui-spinner mui-spinner-custom" data-loading-text="提交中" class="mui-btn mui-btn-block mui-btn-outlined mui-active" id="btn_submit" disabled="disabled" >提交</button>
+	</div>
+</div>
+
+<script src="//s.iamberry.com/wateroPF/js/mui.min.js?v=2016101701"></script>
+<script src="//s.iamberry.com/wateroPF/js/mui.picker.min.js"></script>
+<script src="//s.iamberry.com/wateroPF/js/jquery-2.1.1.min.js"></script>
+<script src="//s.iamberry.com/wateroPF/js/shop/main.js?v=2016101701"></script>
+<script src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
+<script src="//s.iamberry.com/wateroPF/js/shop/wechat-utils-1.0.js"></script>
+<script type="text/javascript">
+
+    var check = false,alert_msg='';
+    var mobile=/^(13|14|15|18)[0-9]{9}$/; //手机号码
+    var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
+    var email=/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,18}$/;
+    var code = /^[0-9]{4}$/; //数字
+    var numberProvince = null;
+    var numberCity = null;
+    var numberDistrict = null;
+    var num = getParam("num");
+    mui.ready(function(){
+        check_warranty();
+        //选择示例
+        var userPicker = new mui.PopPicker();
+        userPicker.setData([{
+            value: '1',
+            text: '0-100 TDS'
+        }, {
+            value: '2',
+            text: '101-250 TDS'
+        }, {
+            value: '3',
+            text: '251-500 TDS'
+        }, {
+            value: '4',
+            text: '501 TDS 以上 '
+        }]);
+        var showUserPickerButton = document.getElementById('ipt-water');
+        showUserPickerButton.addEventListener('tap', function(event) {
+            userPicker.show(function(items) {
+                document.getElementById('ipt-water').value = items[0].text;
+                $('#ipt-water').attr('txtvalue',items[0].value);
+                var txt_message = '';
+                switch (items[0].value) {
+                    case '1':
+                        txt_message = '您家水质良好。';
+                        break;
+                    case '2':
+                        txt_message = '您家水质偏差,WaterO可彻底净化,请使用柠檬酸每3个月清洗。';
+                        break;
+                    case '3':
+                        txt_message = '您家水质较差,WaterO可彻底净化,请使用柠檬酸每2个月清洗。';
+                        break;
+                    case '4':
+                        txt_message = '您家水质很差,WaterO可彻底净化,请使用柠檬酸每1个月清洗。';
+                        break;
+                }
+                $('#txt_message').html(txt_message);
+                $('#div_message').show();
+            });
+        }, false);
+        document.querySelector('.loading-bg').style.display='none';
+    });
+
+    function check_warranty() {
+        if (num != 1) {
+            window.location.href = base_path + '/qrcode/_add_warranty';
+		}
+
+        /*$.ajax({
+            type: 'get',
+            url: base_path + '/qrcode/check_warranty',
+            dataType: 'json',
+            timeout: 15000,
+            success: function(dt) {
+                if(dt.status){
+                    if (!dt.data) {
+                        mui.openWindow({
+                            url: '/wateroPF/view/guanzhu.html'
+                        })
+					}
+                } else {
+                    mui.openWindow({
+                        url: '/wateroPF/view/guanzhu.html'
+                    })
+				}
+            },
+            error: function(xhr, type, errorThrown) {
+                mui.openWindow({
+                    url: '/wateroPF/view/guanzhu.html'
+                })
+                console.log("请检查网络或刷新页面重试!");
+            }
+        });*/
+	}
+
+    wx.ready(function () {
+        // 7.2 获取当前地理位置
+        wx.getLocation({
+            success: function (res) {
+                var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
+                var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
+                var speed = res.speed; // 速度,以米/每秒计
+                var accuracy = res.accuracy; // 位置精度
+                getlocation(latitude,longitude);
+            },
+            cancel: function (res) {
+                $("#wx-ads").text('定位失败');
+            }
+        });
+    });
+
+    function getlocation(latitude,longitude){
+        var data_array = {
+            "latitude":latitude,
+			"longitude":longitude
+        };
+        $.ajax({
+            type: 'get',
+            url: base_path + '/qrcode/get_location_by_qq',
+			data:data_array,
+            dataType: 'json',
+            timeout: 15000,
+            success: function(dt) {
+                if(dt.status){
+                    numberProvince = dt.data.numberProvince;
+                    numberCity = dt.data.numberCity;
+                    numberDistrict = dt.data.numberDistrict;
+                    $("#wx-ads").text(numberProvince+"-"+numberCity+"-"+numberDistrict);
+                }
+            },
+            error: function(xhr, type, errorThrown) {
+                console.log("请检查网络或刷新页面重试!");
+            }
+        });
+    }
+    mui('body').on('tap', '#btn_submit', function() {
+        change_input();
+        if(check){
+            console.log("提交");
+            mui(this).button('loading');
+            setTimeout(function() {
+                mui(this).button('reset');
+            }.bind(this), 2000);
+            //mui.alert("本批watero试用机为新机,请您在试用过程中足够爱惜,切勿刮划机身及损坏包装,感谢您的配合!");
+            var data_array = {
+                "userTel":$('#ipt-phone').val()
+            };
+            $.ajax({
+                type: 'post',
+                url: base_path + '/qrcode/select_efast_order_num',
+                data:data_array,
+                dataType: 'json',
+                timeout: 15000,
+                success: function(dt) {
+                    if (dt.status) {
+                        var num = dt.data.num;
+                        var txtTime = dt.data.txtTime;
+                        var text = '';
+                        if (dt.data.num > 0) {
+                            text = '您有'+ dt.data.num + '个订单,是否确认领取质保卡?';
+                        } else {
+                            mui.alert('未搜索到订单,请确认后提交,如有疑问,请联系公众号客服!');
+                            return;
+                        }
+                        var btnArray = ['否', '是'];
+                        mui.confirm(text, '提示', btnArray, function(e) {
+                            if (e.index == 1) {
+                                var data_all = {
+                                    "phoneCode":$('#ipt-code').val(),
+                                    "userName":$('#ipt-name').val(),
+                                    "userTel":$('#ipt-phone').val(),
+                                    "userEmail":$('#ipt-email').val(),
+                                    "numberWatero":$('#ipt-water').attr('txtvalue'),
+                                    "numberProvince":numberProvince,
+                                    "numberCity":numberCity,
+                                    "numberDistrict":numberDistrict,
+                                    "txtTime":txtTime
+                                };
+                                $.ajax({
+                                    type: 'post',
+                                    url: base_path + '/qrcode/add_warranty_card',
+                                    data:data_all,
+                                    dataType: 'json',
+                                    timeout: 15000,
+                                    success: function(dt) {
+                                        if (dt.status) {
+                                            mui.openWindow({
+                                                url: '/wateroPF/view/warranty_card.html'
+                                            })
+                                        } else {
+                                            mui.alert(dt.message);
+                                        }
+                                    },
+                                    error: function(xhr, type, errorThrown) {
+                                        mui.alert("请检查网络或刷新页面重试!");
+                                    }
+                                });
+                            }
+                        });
+                    } else {
+                        mui.alert(dt.message);
+                    }
+                },
+                error: function(xhr, type, errorThrown) {
+                    mui.alert("请检查网络或刷新页面重试!");
+                }
+            });
+        }else{
+            console.log("未通过");
+            mui.alert(alert_msg);
+        }
+    });
+    mui('body').on('tap', '#xieyi-dalog', function() {
+        mui.openWindow({
+            url: 'try_xieyi.html'
+        });
+    });
+    $(".ul_radio li").each(function() {
+        $(this).on("click", function() {
+            $(this).addClass("active");
+            $(this).siblings().removeClass("active");
+        });
+    });
+    $(document).on('tap', '#btn-tongyi', function() {
+        var btn_submit=$("#btn_submit");
+        console.log($(this).hasClass("mui-active"));
+        if($(this).hasClass("mui-active")){
+            $(this).removeClass("mui-active");
+            btn_submit.removeClass("mui-active");
+        }else{
+            $(this).addClass("mui-active");
+            btn_submit.addClass("mui-active");
+        }
+    });
+    $(document).on('tap', '#pull-code', function() {
+        if($("#ipt-phone").val().trim()=="" &&(!$("#pull-code").hasClass("mui-active"))){
+            mui.alert("请填写手机号码");
+            return;
+        }else{
+            if(!mobile.test($("#ipt-phone").val().trim())){
+                mui.alert("手机号码不正确,请重新填写");
+                return;
+            }else{
+                if($(this).hasClass("mui-active")){
+                    mui.alert();
+                    return;
+                }else{
+                    $(this).addClass("mui-active");
+                    $('#btn_submit').removeClass("mui-active");
+                    $('#btn_submit').removeAttr("disabled");
+                    settime("pull-code");
+                    $.ajax({
+                        type: 'post',
+                        url: base_path + '/qrcode/send_phone_code',
+                        data:{
+                            "phone" : $("#ipt-phone").val()
+                        },
+                        dataType: 'json',
+                        timeout: 15000,
+                        success: function(dt) {
+                        },
+                        error: function(xhr, type, errorThrown) {
+                            mui.alert("请检查网络或刷新页面重试!");
+                        }
+                    });
+                }
+            }
+        }
+    });
+    var countdown=60;
+    function settime(val) {
+        pullid=dc(val);
+        if (countdown == 0) {
+            pullid.removeAttribute("disabled");
+            pullid.className='btn-pull-code';
+            pullid.innerText="获取验证码";
+            countdown = 60;
+            return false;
+        } else {
+            pullid.setAttribute("disabled", true);
+            pullid.className='btn-pull-code mui-active';
+            pullid.innerText="重新发送(" + countdown + ")";
+            countdown--;
+        }
+        setTimeout(function() {
+            settime(val)
+        },1000)
+    }
+    function change_input() {
+        //活动暂时结束   下次开启时注释这段代码就好了
+		/*alert_msg="活动已暂停,开始时间请联系客服";
+		 check=false;
+		 return false;*/
+
+
+        $(".mui-input-group input").each(function(index) {
+            switch ($(this).attr("id")){
+                case "ipt-name":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写姓名";
+                        check=false;
+                        return false;
+                    }else{
+                        if(uname.test($(this).val())) {
+                            check=true;
+                        }else{
+                            alert_msg="姓名格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                case "ipt-email":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写您的邮箱";
+                        check=false;
+                        return false;
+                    }else{
+                        if(email.test($(this).val())) {
+                            check=true;
+                        }else{
+                            alert_msg="邮箱格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                case "ipt-phone":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写手机号";
+                        check=false;
+                        return false;
+                    }else{
+                        if(mobile.test($(this).val().trim())) {
+                            check=true;
+                        }else{
+                            alert_msg="手机号码不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                case "ipt-code":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写验证码";
+                        check=false;
+                        return false;
+                    }else{
+                        if(code.test($(this).val().trim())) {
+                            check=true;
+                        }else{
+                            alert_msg="验证码格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                default:
+                    break;
+            }
+        });
+        var btn_submit = dc('btn_submit');
+        if(check) {
+            console.log("通过")
+        } else {
+            console.log(alert_msg);
+        }
+    }
+
+
+    var flag = false;
+    var mask = mui.createMask(function() {
+        return flag;
+    }); //callback为用户点击蒙版时自动执行的回调;
+    mui('body').on('tap', '#ipt-date', function() {
+        var th = this;
+        var picker = new mui.DtPicker({
+            type: "date", //设置日历初始视图模式
+            beginDate: new Date(2016, 7, 1), //设置开始日期
+            endDate: new Date() //设置结束日期
+        });
+        console.log(picker)
+        picker.show(function(rs) {
+            th.value = rs.text;
+            picker.dispose();
+        });
+    });
+</script>
+</body>
+</html>

+ 479 - 479
aiberle/add-warranty_card.html

@@ -1,480 +1,480 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>添加质保卡</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/mui.picker.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-//				WeixinJSBridge.call('hideOptionMenu');
-//			});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div style="position: relative;">
-				<img width="100%" src="images/top-1.png" />
-				<div style="position: absolute;left: 0; top: 45%;-webkit-transform: translateY(-50%);width: 100%;text-align: center;">
-					<h4>现在完善产品信息</h4>
-					<p>享受优质售后服务</p>
-				</div>
-			</div>
-			<div class="mui-content-padded"><span class="iconfont icon-dingwei" style="font-size: 16px;color: #d78b82;"></span> 地址:<span id="wx-ads"></span></div>
-			<form class="mui-input-group card-input-group">
-					<div class="mui-input-row">
-						<label>姓 名</label>
-						<input type="text" class="mui-input-clear" placeholder="请填写您的收货姓名" id="ipt-name">
-					</div>
-					<div class="mui-input-row">
-						<label>邮 箱</label>
-						<input type="text" class="mui-input-clear" placeholder="请填写您的邮箱信息" id="ipt-email">
-					</div>
-					<div class="mui-input-row">
-						<label>水 质</label>
-						<input type="text" readonly="readonly" placeholder="请选择您的水质范围" id="ipt-water">
-						<span class="mui-icon mui-icon-arrowdown" style="position: absolute;right: 7px;top:6px;color: #bbb;"></span>
-					</div>
-					<div class="mui-input-row">
-						<label>手机号</label>
-						<input type="tel" class="mui-input-clear" maxlength="11" placeholder="请填写您的手机号" id="ipt-phone">
-					</div>
-					<div class="mui-input-row">
-						<label>验证码</label>
-						<input style="width: 30%;float: left;" type="tel" maxlength="4" placeholder="填写验证码" id="ipt-code">
-						<button class="btn-pull-code" disabled="disabled" type="button" id="pull-code">获取验证码</button>
-					</div>
-				</form>
-		</div>
-		<footer class="mui-bar mui-bar-tab">
-			<button type="button" data-loading-icon="mui-spinner mui-spinner-custom" data-loading-text="提交中" class="my-btn-submit" disabled="disabled" id="btn_submit">提交</button>
-		</footer>
-		<!-- 加载ing -->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>加载中...</p>
-		</div>
-		<!-- 加载ing END -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/mui.picker.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-	var check = false,alert_msg='';
-    var mobile=/^(13|14|15|18)[0-9]{9}$/; //手机号码
-    var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
-    var email=/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,18}$/;
-    var code = /^[0-9]{4}$/; //数字
-    var numberProvince = null;
-    var numberCity = null;
-    var numberDistrict = null;
-    var countdown=60;
-    var num = getParam("num");
-    mui.ready(function(){
-    	if(!window.localStorage) {
-			alert("浏览器不支持localStorage");
-		} else {
-    	var codedata = JSON.parse(localStorage.getItem('pull-code-data'));
-    	if(codedata!=null){
-    		var dates=new Date();
-    		$("#ipt-phone").val(codedata.phone);
-    		if(codedata.codeTime>0){
-    			if(((dates.getTime()/1000)-codedata.updateTime)<codedata.codeTime){
-    				countdown=(codedata.codeTime-(parseInt(dates.getTime()/1000)-codedata.updateTime))+1;
-    				settime("pull-code");
-    			}else{
-    				$("#pull-code").removeAttr("disabled");
-    			}
-    			$('#btn_submit').removeAttr("disabled");
-    		}else{
-    			$("#pull-code").removeAttr("disabled");
-    		}
-    	}
-    	}
-		
-        //check_warranty();
-        //选择示例
-        var userPicker = new mui.PopPicker();
-        userPicker.setData([{
-            value: '1',
-            text: '0-100 TDS'
-        }, {
-            value: '2',
-            text: '101-250 TDS'
-        }, {
-            value: '3',
-            text: '251-500 TDS'
-        }, {
-            value: '4',
-            text: '501 TDS 以上 '
-        }]);
-        var showUserPickerButton = document.getElementById('ipt-water');
-        showUserPickerButton.addEventListener('tap', function(event) {
-            userPicker.show(function(items) {
-                document.getElementById('ipt-water').value = items[0].text;
-                $('#ipt-water').attr('txtvalue',items[0].value);
-                var txt_message = '';
-                switch (items[0].value) {
-                    case '1':
-                        txt_message = '您家水质良好。';
-                        break;
-                    case '2':
-                        txt_message = '您家水质偏差,WaterO可彻底净化,请使用柠檬酸每3个月清洗。';
-                        break;
-                    case '3':
-                        txt_message = '您家水质较差,WaterO可彻底净化,请使用柠檬酸每2个月清洗。';
-                        break;
-                    case '4':
-                        txt_message = '您家水质很差,WaterO可彻底净化,请使用柠檬酸每1个月清洗。';
-                        break;
-                }
-                $('#txt_message').html(txt_message);
-                $('#div_message').show();
-            });
-        }, false);
-       $(".loading").hide().css("opacity", "0");
-       console.log(generateMixed(99));
-    });
-
-    function check_warranty() {
-        if (num != 1) {
-            window.location.href = base_path + '/qrcode/_add_warranty';
-		}
-
-        /*$.ajax({
-            type: 'get',
-            url: base_path + '/qrcode/check_warranty',
-            dataType: 'json',
-            timeout: 15000,
-            success: function(dt) {
-                if(dt.status){
-                    if (!dt.data) {
-                        mui.openWindow({
-                            url: '/wateroPF/view/guanzhu.html'
-                        })
-					}
-                } else {
-                    mui.openWindow({
-                        url: '/wateroPF/view/guanzhu.html'
-                    })
-				}
-            },
-            error: function(xhr, type, errorThrown) {
-                mui.openWindow({
-                    url: '/wateroPF/view/guanzhu.html'
-                })
-                console.log("请检查网络或刷新页面重试!");
-            }
-        });*/
-	}
-
- /**   wx.ready(function () {
-        // 7.2 获取当前地理位置
-        wx.getLocation({
-            success: function (res) {
-                var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
-                var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
-                var speed = res.speed; // 速度,以米/每秒计
-                var accuracy = res.accuracy; // 位置精度
-                getlocation(latitude,longitude);
-            },
-            cancel: function (res) {
-                $("#wx-ads").text('定位失败');
-            }
-        });
-   }); **/
-
-    function getlocation(latitude,longitude){
-        var data_array = {
-            "latitude":latitude,
-			"longitude":longitude
-        };
-        $.ajax({
-            type: 'get',
-            url: base_path + '/qrcode/get_location_by_qq',
-			data:data_array,
-            dataType: 'json',
-            timeout: 15000,
-            success: function(dt) {
-                if(dt.status){
-                    numberProvince = dt.data.numberProvince;
-                    numberCity = dt.data.numberCity;
-                    numberDistrict = dt.data.numberDistrict;
-                    $("#wx-ads").text(numberProvince+"-"+numberCity+"-"+numberDistrict);
-                }
-            },
-            error: function(xhr, type, errorThrown) {
-                console.log("请检查网络或刷新页面重试!");
-            }
-        });
-    }
-    mui('body').on('tap', '#btn_submit', function() {
-        change_input();
-        if(check){
-            console.log("提交");
-            mui(this).button('loading');
-            setTimeout(function() {
-                mui(this).button('reset');
-            }.bind(this), 2000);
-            //mui.alert("本批watero试用机为新机,请您在试用过程中足够爱惜,切勿刮划机身及损坏包装,感谢您的配合!");
-            var data_array = {
-                "userTel":$('#ipt-phone').val()
-            };
-            $.ajax({
-                type: 'post',
-                url: base_path + '/qrcode/select_efast_order_num',
-                data:data_array,
-                dataType: 'json',
-                timeout: 15000,
-                success: function(dt) {
-                    if (dt.status) {
-                        var num = dt.data.num;
-                        var txtTime = dt.data.txtTime;
-                        var text = '';
-                        if (dt.data.num > 0) {
-                            text = '您有'+ dt.data.num + '个订单,是否确认领取质保卡?';
-                        } else {
-                            mui.alert('未搜索到订单,请确认后提交,如有疑问,请联系公众号客服!');
-                            return;
-                        }
-                        var btnArray = ['否', '是'];
-                        mui.confirm(text, '提示', btnArray, function(e) {
-                            if (e.index == 1) {
-                                var data_all = {
-                                    "phoneCode":$('#ipt-code').val(),
-                                    "userName":$('#ipt-name').val(),
-                                    "userTel":$('#ipt-phone').val(),
-                                    "userEmail":$('#ipt-email').val(),
-                                    "numberWatero":$('#ipt-water').attr('txtvalue'),
-                                    "numberProvince":numberProvince,
-                                    "numberCity":numberCity,
-                                    "numberDistrict":numberDistrict,
-                                    "txtTime":txtTime
-                                };
-                                $.ajax({
-                                    type: 'post',
-                                    url: base_path + '/qrcode/add_warranty_card',
-                                    data:data_all,
-                                    dataType: 'json',
-                                    timeout: 15000,
-                                    success: function(dt) {
-                                        if (dt.status) {
-                                            mui.openWindow({
-                                                url: '/wateroPF/view/warranty_card.html'
-                                            })
-                                        } else {
-                                            mui.alert(dt.message);
-                                        }
-                                    },
-                                    error: function(xhr, type, errorThrown) {
-                                        mui.alert("请检查网络或刷新页面重试!");
-                                    }
-                                });
-                            }
-                        });
-                    } else {
-                        mui.alert(dt.message);
-                    }
-                },
-                error: function(xhr, type, errorThrown) {
-                    mui.alert("请检查网络或刷新页面重试!");
-                }
-            });
-        }else{
-            console.log("未通过");
-            mui.alert(alert_msg);
-        }
-    });
-
-    $(document).on('tap', '#pull-code', function() {
-        if($("#ipt-phone").val().trim()=="" &&(!$("#pull-code").hasClass("mui-active"))){
-            mui.alert("请填写手机号码");
-            return;
-        }else{
-            if(!mobile.test($("#ipt-phone").val().trim())){
-                mui.alert("手机号码不正确,请重新填写");
-                return;
-            }else{
-                if($(this).hasClass("mui-active")){
-                    mui.alert();
-                    return;
-                }else{
-                    $(this).addClass("mui-active");
-                    $('#btn_submit').removeAttr("disabled");
-                    settime("pull-code");
-
-				if(!window.localStorage) {
-					alert("浏览器不支持localStorage");
-				} else {
-					var dates=new Date();
-					//自定义json数据
-					var obj = {
-						"phone": $("#ipt-phone").val().trim(),
-						"codeTime": countdown,
-						"updateTime":parseInt(dates.getTime()/1000)
-					};
-					//json格式化插入    
-					localStorage.setItem('pull-code-data', JSON.stringify(obj));
-				}
-//                  $.ajax({
-//                      type: 'post',
-//                      url: base_path + '/qrcode/send_phone_code',
-//                      data:{
-//                          "phone" : $("#ipt-phone").val()
-//                      },
-//                      dataType: 'json',
-//                      timeout: 15000,
-//                      success: function(dt) {
-//                      },
-//                      error: function(xhr, type, errorThrown) {
-//                          mui.alert("请检查网络或刷新页面重试!");
-//                      }
-//                  });
-                }
-            }
-        }
-    });
-    
-    function settime(val) {
-        pullid=dc(val);
-        if (countdown == 0) {
-            pullid.removeAttribute("disabled");
-            pullid.className='btn-pull-code';
-            pullid.innerText="获取验证码";
-            countdown = 60;
-            return false;
-        } else {
-        	countdown--;
-            pullid.setAttribute("disabled","disabled");
-            pullid.className='btn-pull-code mui-active';
-            pullid.innerText="重新发送(" + countdown + ")";           
-        }
-        setTimeout(function() {
-            settime(val)
-        },1000);
-        
-        if(!window.localStorage) {
-			alert("浏览器不支持localStorage");
-		} else {
-        //检查值是否存在
-		if(localStorage.getItem("pull-code-data") != null) {
-			var dates=new Date();
-			var codedata=JSON.parse(localStorage.getItem('pull-code-data'));
-			var edit = JSON.stringify({
-			"phone": codedata.phone,	
-			"codeTime": countdown,
-			"updateTime":parseInt(dates.getTime()/1000)
-			});
-			//改,即重新给变量赋值
-			localStorage.setItem("pull-code-data", edit);
-		}
-		}
-    }
-    function change_input() {
-        //活动暂时结束   下次开启时注释这段代码就好了
-		/*alert_msg="活动已暂停,开始时间请联系客服";
-		 check=false;
-		 return false;*/
-
-
-        $(".mui-input-group input").each(function(index) {
-            switch ($(this).attr("id")){
-                case "ipt-name":
-                    if($(this).val().trim()==""){
-                        alert_msg="请填写姓名";
-                        check=false;
-                        return false;
-                    }else{
-                        if(uname.test($(this).val())) {
-                            check=true;
-                        }else{
-                            alert_msg="姓名格式不正确,请重新填写";
-                            check=false;
-                            return false;
-                        }
-                    }
-                    break;
-                case "ipt-email":
-                    if($(this).val().trim()==""){
-                        alert_msg="请填写您的邮箱";
-                        check=false;
-                        return false;
-                    }else{
-                        if(email.test($(this).val())) {
-                            check=true;
-                        }else{
-                            alert_msg="邮箱格式不正确,请重新填写";
-                            check=false;
-                            return false;
-                        }
-                    }
-                    break;
-                case "ipt-phone":
-                    if($(this).val().trim()==""){
-                        alert_msg="请填写手机号";
-                        check=false;
-                        return false;
-                    }else{
-                        if(mobile.test($(this).val().trim())) {
-                            check=true;
-                        }else{
-                            alert_msg="手机号码不正确,请重新填写";
-                            check=false;
-                            return false;
-                        }
-                    }
-                    break;
-                case "ipt-code":
-                    if($(this).val().trim()==""){
-                        alert_msg="请填写验证码";
-                        check=false;
-                        return false;
-                    }else{
-                        if(code.test($(this).val().trim())) {
-                            check=true;
-                        }else{
-                            alert_msg="验证码格式不正确,请重新填写";
-                            check=false;
-                            return false;
-                        }
-                    }
-                    break;
-                default:
-                    break;
-            }
-        });
-        if(check) {
-            console.log("通过")
-        } else {
-            console.log(alert_msg);
-        }
-    }
-    
-    //实时监听文本框字数
-			document.getElementById("ipt-phone").addEventListener("input", function() {
-				var phone = this.value;
-				var mobile = /^(13|14|15|17|18)[0-9]{9}$/; //手机号码
-				if(phone.length == 11) {
-					if(mobile.test(phone) && countdown==60) {
-						$("#pull-code").removeAttr("disabled");
-					} else {
-						$("#pull-code").attr("disabled", "disabled");
-					}
-				} else {
-					$("#pull-code").attr("disabled", "disabled");
-					$("#btn_submit").attr("disabled", "disabled");
-				}
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>添加质保卡</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/mui.picker.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+//				WeixinJSBridge.call('hideOptionMenu');
+//			});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div style="position: relative;">
+				<img width="100%" src="images/top-1.png" />
+				<div style="position: absolute;left: 0; top: 45%;-webkit-transform: translateY(-50%);width: 100%;text-align: center;">
+					<h4>现在完善产品信息</h4>
+					<p>享受优质售后服务</p>
+				</div>
+			</div>
+			<div class="mui-content-padded"><span class="iconfont icon-dingwei" style="font-size: 16px;color: #d78b82;"></span> 地址:<span id="wx-ads"></span></div>
+			<form class="mui-input-group card-input-group">
+					<div class="mui-input-row">
+						<label>姓 名</label>
+						<input type="text" class="mui-input-clear" placeholder="请填写您的收货姓名" id="ipt-name">
+					</div>
+					<div class="mui-input-row">
+						<label>邮 箱</label>
+						<input type="text" class="mui-input-clear" placeholder="请填写您的邮箱信息" id="ipt-email">
+					</div>
+					<div class="mui-input-row">
+						<label>水 质</label>
+						<input type="text" readonly="readonly" placeholder="请选择您的水质范围" id="ipt-water">
+						<span class="mui-icon mui-icon-arrowdown" style="position: absolute;right: 7px;top:6px;color: #bbb;"></span>
+					</div>
+					<div class="mui-input-row">
+						<label>手机号</label>
+						<input type="tel" class="mui-input-clear" maxlength="11" placeholder="请填写您的手机号" id="ipt-phone">
+					</div>
+					<div class="mui-input-row">
+						<label>验证码</label>
+						<input style="width: 30%;float: left;" type="tel" maxlength="4" placeholder="填写验证码" id="ipt-code">
+						<button class="btn-pull-code" disabled="disabled" type="button" id="pull-code">获取验证码</button>
+					</div>
+				</form>
+		</div>
+		<footer class="mui-bar mui-bar-tab">
+			<button type="button" data-loading-icon="mui-spinner mui-spinner-custom" data-loading-text="提交中" class="my-btn-submit" disabled="disabled" id="btn_submit">提交</button>
+		</footer>
+		<!-- 加载ing -->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>加载中...</p>
+		</div>
+		<!-- 加载ing END -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/mui.picker.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+	var check = false,alert_msg='';
+    var mobile=/^(13|14|15|18)[0-9]{9}$/; //手机号码
+    var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
+    var email=/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,18}$/;
+    var code = /^[0-9]{4}$/; //数字
+    var numberProvince = null;
+    var numberCity = null;
+    var numberDistrict = null;
+    var countdown=60;
+    var num = getParam("num");
+    mui.ready(function(){
+    	if(!window.localStorage) {
+			alert("浏览器不支持localStorage");
+		} else {
+    	var codedata = JSON.parse(localStorage.getItem('pull-code-data'));
+    	if(codedata!=null){
+    		var dates=new Date();
+    		$("#ipt-phone").val(codedata.phone);
+    		if(codedata.codeTime>0){
+    			if(((dates.getTime()/1000)-codedata.updateTime)<codedata.codeTime){
+    				countdown=(codedata.codeTime-(parseInt(dates.getTime()/1000)-codedata.updateTime))+1;
+    				settime("pull-code");
+    			}else{
+    				$("#pull-code").removeAttr("disabled");
+    			}
+    			$('#btn_submit').removeAttr("disabled");
+    		}else{
+    			$("#pull-code").removeAttr("disabled");
+    		}
+    	}
+    	}
+		
+        //check_warranty();
+        //选择示例
+        var userPicker = new mui.PopPicker();
+        userPicker.setData([{
+            value: '1',
+            text: '0-100 TDS'
+        }, {
+            value: '2',
+            text: '101-250 TDS'
+        }, {
+            value: '3',
+            text: '251-500 TDS'
+        }, {
+            value: '4',
+            text: '501 TDS 以上 '
+        }]);
+        var showUserPickerButton = document.getElementById('ipt-water');
+        showUserPickerButton.addEventListener('tap', function(event) {
+            userPicker.show(function(items) {
+                document.getElementById('ipt-water').value = items[0].text;
+                $('#ipt-water').attr('txtvalue',items[0].value);
+                var txt_message = '';
+                switch (items[0].value) {
+                    case '1':
+                        txt_message = '您家水质良好。';
+                        break;
+                    case '2':
+                        txt_message = '您家水质偏差,WaterO可彻底净化,请使用柠檬酸每3个月清洗。';
+                        break;
+                    case '3':
+                        txt_message = '您家水质较差,WaterO可彻底净化,请使用柠檬酸每2个月清洗。';
+                        break;
+                    case '4':
+                        txt_message = '您家水质很差,WaterO可彻底净化,请使用柠檬酸每1个月清洗。';
+                        break;
+                }
+                $('#txt_message').html(txt_message);
+                $('#div_message').show();
+            });
+        }, false);
+       $(".loading").hide().css("opacity", "0");
+       console.log(generateMixed(99));
+    });
+
+    function check_warranty() {
+        if (num != 1) {
+            window.location.href = base_path + '/qrcode/_add_warranty';
+		}
+
+        /*$.ajax({
+            type: 'get',
+            url: base_path + '/qrcode/check_warranty',
+            dataType: 'json',
+            timeout: 15000,
+            success: function(dt) {
+                if(dt.status){
+                    if (!dt.data) {
+                        mui.openWindow({
+                            url: '/wateroPF/view/guanzhu.html'
+                        })
+					}
+                } else {
+                    mui.openWindow({
+                        url: '/wateroPF/view/guanzhu.html'
+                    })
+				}
+            },
+            error: function(xhr, type, errorThrown) {
+                mui.openWindow({
+                    url: '/wateroPF/view/guanzhu.html'
+                })
+                console.log("请检查网络或刷新页面重试!");
+            }
+        });*/
+	}
+
+ /**   wx.ready(function () {
+        // 7.2 获取当前地理位置
+        wx.getLocation({
+            success: function (res) {
+                var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
+                var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
+                var speed = res.speed; // 速度,以米/每秒计
+                var accuracy = res.accuracy; // 位置精度
+                getlocation(latitude,longitude);
+            },
+            cancel: function (res) {
+                $("#wx-ads").text('定位失败');
+            }
+        });
+   }); **/
+
+    function getlocation(latitude,longitude){
+        var data_array = {
+            "latitude":latitude,
+			"longitude":longitude
+        };
+        $.ajax({
+            type: 'get',
+            url: base_path + '/qrcode/get_location_by_qq',
+			data:data_array,
+            dataType: 'json',
+            timeout: 15000,
+            success: function(dt) {
+                if(dt.status){
+                    numberProvince = dt.data.numberProvince;
+                    numberCity = dt.data.numberCity;
+                    numberDistrict = dt.data.numberDistrict;
+                    $("#wx-ads").text(numberProvince+"-"+numberCity+"-"+numberDistrict);
+                }
+            },
+            error: function(xhr, type, errorThrown) {
+                console.log("请检查网络或刷新页面重试!");
+            }
+        });
+    }
+    mui('body').on('tap', '#btn_submit', function() {
+        change_input();
+        if(check){
+            console.log("提交");
+            mui(this).button('loading');
+            setTimeout(function() {
+                mui(this).button('reset');
+            }.bind(this), 2000);
+            //mui.alert("本批watero试用机为新机,请您在试用过程中足够爱惜,切勿刮划机身及损坏包装,感谢您的配合!");
+            var data_array = {
+                "userTel":$('#ipt-phone').val()
+            };
+            $.ajax({
+                type: 'post',
+                url: base_path + '/qrcode/select_efast_order_num',
+                data:data_array,
+                dataType: 'json',
+                timeout: 15000,
+                success: function(dt) {
+                    if (dt.status) {
+                        var num = dt.data.num;
+                        var txtTime = dt.data.txtTime;
+                        var text = '';
+                        if (dt.data.num > 0) {
+                            text = '您有'+ dt.data.num + '个订单,是否确认领取质保卡?';
+                        } else {
+                            mui.alert('未搜索到订单,请确认后提交,如有疑问,请联系公众号客服!');
+                            return;
+                        }
+                        var btnArray = ['否', '是'];
+                        mui.confirm(text, '提示', btnArray, function(e) {
+                            if (e.index == 1) {
+                                var data_all = {
+                                    "phoneCode":$('#ipt-code').val(),
+                                    "userName":$('#ipt-name').val(),
+                                    "userTel":$('#ipt-phone').val(),
+                                    "userEmail":$('#ipt-email').val(),
+                                    "numberWatero":$('#ipt-water').attr('txtvalue'),
+                                    "numberProvince":numberProvince,
+                                    "numberCity":numberCity,
+                                    "numberDistrict":numberDistrict,
+                                    "txtTime":txtTime
+                                };
+                                $.ajax({
+                                    type: 'post',
+                                    url: base_path + '/qrcode/add_warranty_card',
+                                    data:data_all,
+                                    dataType: 'json',
+                                    timeout: 15000,
+                                    success: function(dt) {
+                                        if (dt.status) {
+                                            mui.openWindow({
+                                                url: '/wateroPF/view/warranty_card.html'
+                                            })
+                                        } else {
+                                            mui.alert(dt.message);
+                                        }
+                                    },
+                                    error: function(xhr, type, errorThrown) {
+                                        mui.alert("请检查网络或刷新页面重试!");
+                                    }
+                                });
+                            }
+                        });
+                    } else {
+                        mui.alert(dt.message);
+                    }
+                },
+                error: function(xhr, type, errorThrown) {
+                    mui.alert("请检查网络或刷新页面重试!");
+                }
+            });
+        }else{
+            console.log("未通过");
+            mui.alert(alert_msg);
+        }
+    });
+
+    $(document).on('tap', '#pull-code', function() {
+        if($("#ipt-phone").val().trim()=="" &&(!$("#pull-code").hasClass("mui-active"))){
+            mui.alert("请填写手机号码");
+            return;
+        }else{
+            if(!mobile.test($("#ipt-phone").val().trim())){
+                mui.alert("手机号码不正确,请重新填写");
+                return;
+            }else{
+                if($(this).hasClass("mui-active")){
+                    mui.alert();
+                    return;
+                }else{
+                    $(this).addClass("mui-active");
+                    $('#btn_submit').removeAttr("disabled");
+                    settime("pull-code");
+
+				if(!window.localStorage) {
+					alert("浏览器不支持localStorage");
+				} else {
+					var dates=new Date();
+					//自定义json数据
+					var obj = {
+						"phone": $("#ipt-phone").val().trim(),
+						"codeTime": countdown,
+						"updateTime":parseInt(dates.getTime()/1000)
+					};
+					//json格式化插入    
+					localStorage.setItem('pull-code-data', JSON.stringify(obj));
+				}
+//                  $.ajax({
+//                      type: 'post',
+//                      url: base_path + '/qrcode/send_phone_code',
+//                      data:{
+//                          "phone" : $("#ipt-phone").val()
+//                      },
+//                      dataType: 'json',
+//                      timeout: 15000,
+//                      success: function(dt) {
+//                      },
+//                      error: function(xhr, type, errorThrown) {
+//                          mui.alert("请检查网络或刷新页面重试!");
+//                      }
+//                  });
+                }
+            }
+        }
+    });
+    
+    function settime(val) {
+        pullid=dc(val);
+        if (countdown == 0) {
+            pullid.removeAttribute("disabled");
+            pullid.className='btn-pull-code';
+            pullid.innerText="获取验证码";
+            countdown = 60;
+            return false;
+        } else {
+        	countdown--;
+            pullid.setAttribute("disabled","disabled");
+            pullid.className='btn-pull-code mui-active';
+            pullid.innerText="重新发送(" + countdown + ")";           
+        }
+        setTimeout(function() {
+            settime(val)
+        },1000);
+        
+        if(!window.localStorage) {
+			alert("浏览器不支持localStorage");
+		} else {
+        //检查值是否存在
+		if(localStorage.getItem("pull-code-data") != null) {
+			var dates=new Date();
+			var codedata=JSON.parse(localStorage.getItem('pull-code-data'));
+			var edit = JSON.stringify({
+			"phone": codedata.phone,	
+			"codeTime": countdown,
+			"updateTime":parseInt(dates.getTime()/1000)
+			});
+			//改,即重新给变量赋值
+			localStorage.setItem("pull-code-data", edit);
+		}
+		}
+    }
+    function change_input() {
+        //活动暂时结束   下次开启时注释这段代码就好了
+		/*alert_msg="活动已暂停,开始时间请联系客服";
+		 check=false;
+		 return false;*/
+
+
+        $(".mui-input-group input").each(function(index) {
+            switch ($(this).attr("id")){
+                case "ipt-name":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写姓名";
+                        check=false;
+                        return false;
+                    }else{
+                        if(uname.test($(this).val())) {
+                            check=true;
+                        }else{
+                            alert_msg="姓名格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                case "ipt-email":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写您的邮箱";
+                        check=false;
+                        return false;
+                    }else{
+                        if(email.test($(this).val())) {
+                            check=true;
+                        }else{
+                            alert_msg="邮箱格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                case "ipt-phone":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写手机号";
+                        check=false;
+                        return false;
+                    }else{
+                        if(mobile.test($(this).val().trim())) {
+                            check=true;
+                        }else{
+                            alert_msg="手机号码不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                case "ipt-code":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写验证码";
+                        check=false;
+                        return false;
+                    }else{
+                        if(code.test($(this).val().trim())) {
+                            check=true;
+                        }else{
+                            alert_msg="验证码格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                default:
+                    break;
+            }
+        });
+        if(check) {
+            console.log("通过")
+        } else {
+            console.log(alert_msg);
+        }
+    }
+    
+    //实时监听文本框字数
+			document.getElementById("ipt-phone").addEventListener("input", function() {
+				var phone = this.value;
+				var mobile = /^(13|14|15|17|18)[0-9]{9}$/; //手机号码
+				if(phone.length == 11) {
+					if(mobile.test(phone) && countdown==60) {
+						$("#pull-code").removeAttr("disabled");
+					} else {
+						$("#pull-code").attr("disabled", "disabled");
+					}
+				} else {
+					$("#pull-code").attr("disabled", "disabled");
+					$("#btn_submit").attr("disabled", "disabled");
+				}
+			});
+		</script>
+	</body>
+
 </html>

文件差异内容过多而无法显示
+ 58 - 58
aiberle/brand-story.html


文件差异内容过多而无法显示
+ 359 - 359
aiberle/clearing.html


文件差异内容过多而无法显示
+ 193 - 193
aiberle/coupon_list.html


+ 63 - 63
aiberle/css/icons-extra.css

@@ -1,63 +1,63 @@
-@font-face {
-    font-family: MuiiconSpread;
-    font-weight: normal;
-    font-style: normal;
-    src:  url('../fonts/mui-icons-extra.ttf') format('truetype'); /* iOS 4.1- */
-}
-.mui-icon-extra
-{
-    font-family: MuiiconSpread;
-    font-size: 24px;
-    font-weight: normal;
-    font-style: normal;
-    line-height: 1;
-    display: inline-block;
-    text-decoration: none;
-    -webkit-font-smoothing: antialiased;
-}
-.mui-icon-extra-cold:before { content: "\e500"; }
-.mui-icon-extra-share:before { content: "\e200"; }
-.mui-icon-extra-class:before { content: "\e118"; }
-.mui-icon-extra-custom:before { content: "\e117"; }
-.mui-icon-extra-new:before { content: "\e103"; }
-.mui-icon-extra-card:before { content: "\e104"; }
-.mui-icon-extra-grech:before { content: "\e105"; }
-.mui-icon-extra-trend:before { content: "\e106"; }
-.mui-icon-extra-filter:before { content: "\e207"; }
-.mui-icon-extra-holiday:before { content: "\e300"; }
-.mui-icon-extra-cart:before { content: "\e107"; }
-.mui-icon-extra-heart:before { content: "\e180"; }
-.mui-icon-extra-computer:before { content: "\e600"; }
-.mui-icon-extra-express:before { content: "\e108"; }
-.mui-icon-extra-gift:before { content: "\e109"; }
-.mui-icon-extra-gold:before { content: "\e102"; }
-.mui-icon-extra-lamp:before { content: "\e601"; }
-.mui-icon-extra-rank:before { content: "\e110"; }
-.mui-icon-extra-notice:before { content: "\e111"; }
-.mui-icon-extra-sweep:before { content: "\e202"; }
-.mui-icon-extra-arrowleftcricle:before { content: "\e401"; }
-.mui-icon-extra-dictionary:before { content: "\e602"; }
-.mui-icon-extra-heart-filled:before { content: "\e119"; }
-.mui-icon-extra-xiaoshuo:before { content: "\e607"; }
-.mui-icon-extra-top:before { content: "\e403"; }
-.mui-icon-extra-people:before { content: "\e203"; }
-.mui-icon-extra-topic:before { content: "\e603"; }
-.mui-icon-extra-hotel:before { content: "\e301"; }
-.mui-icon-extra-like:before { content: "\e206"; }
-.mui-icon-extra-regist:before { content: "\e201"; }
-.mui-icon-extra-order:before { content: "\e113"; }
-.mui-icon-extra-alipay:before { content: "\e114"; }
-.mui-icon-extra-find:before { content: "\e400"; }
-.mui-icon-extra-arrowrightcricle:before { content: "\e402"; }
-.mui-icon-extra-calendar:before { content: "\e115"; }
-.mui-icon-extra-prech:before { content: "\e116"; }
-.mui-icon-extra-cate:before { content: "\e501"; }
-.mui-icon-extra-comment:before { content: "\e209"; }
-.mui-icon-extra-at:before { content: "\e208"; }
-.mui-icon-extra-addpeople:before { content: "\e204"; }
-.mui-icon-extra-peoples:before { content: "\e205"; }
-.mui-icon-extra-calc:before { content: "\e101"; }
-.mui-icon-extra-classroom:before { content: "\e604"; }
-.mui-icon-extra-phone:before { content: "\e404"; }
-.mui-icon-extra-university:before { content: "\e605"; }
-.mui-icon-extra-outline:before { content: "\e606"; }
+@font-face {
+    font-family: MuiiconSpread;
+    font-weight: normal;
+    font-style: normal;
+    src:  url('../fonts/mui-icons-extra.ttf') format('truetype'); /* iOS 4.1- */
+}
+.mui-icon-extra
+{
+    font-family: MuiiconSpread;
+    font-size: 24px;
+    font-weight: normal;
+    font-style: normal;
+    line-height: 1;
+    display: inline-block;
+    text-decoration: none;
+    -webkit-font-smoothing: antialiased;
+}
+.mui-icon-extra-cold:before { content: "\e500"; }
+.mui-icon-extra-share:before { content: "\e200"; }
+.mui-icon-extra-class:before { content: "\e118"; }
+.mui-icon-extra-custom:before { content: "\e117"; }
+.mui-icon-extra-new:before { content: "\e103"; }
+.mui-icon-extra-card:before { content: "\e104"; }
+.mui-icon-extra-grech:before { content: "\e105"; }
+.mui-icon-extra-trend:before { content: "\e106"; }
+.mui-icon-extra-filter:before { content: "\e207"; }
+.mui-icon-extra-holiday:before { content: "\e300"; }
+.mui-icon-extra-cart:before { content: "\e107"; }
+.mui-icon-extra-heart:before { content: "\e180"; }
+.mui-icon-extra-computer:before { content: "\e600"; }
+.mui-icon-extra-express:before { content: "\e108"; }
+.mui-icon-extra-gift:before { content: "\e109"; }
+.mui-icon-extra-gold:before { content: "\e102"; }
+.mui-icon-extra-lamp:before { content: "\e601"; }
+.mui-icon-extra-rank:before { content: "\e110"; }
+.mui-icon-extra-notice:before { content: "\e111"; }
+.mui-icon-extra-sweep:before { content: "\e202"; }
+.mui-icon-extra-arrowleftcricle:before { content: "\e401"; }
+.mui-icon-extra-dictionary:before { content: "\e602"; }
+.mui-icon-extra-heart-filled:before { content: "\e119"; }
+.mui-icon-extra-xiaoshuo:before { content: "\e607"; }
+.mui-icon-extra-top:before { content: "\e403"; }
+.mui-icon-extra-people:before { content: "\e203"; }
+.mui-icon-extra-topic:before { content: "\e603"; }
+.mui-icon-extra-hotel:before { content: "\e301"; }
+.mui-icon-extra-like:before { content: "\e206"; }
+.mui-icon-extra-regist:before { content: "\e201"; }
+.mui-icon-extra-order:before { content: "\e113"; }
+.mui-icon-extra-alipay:before { content: "\e114"; }
+.mui-icon-extra-find:before { content: "\e400"; }
+.mui-icon-extra-arrowrightcricle:before { content: "\e402"; }
+.mui-icon-extra-calendar:before { content: "\e115"; }
+.mui-icon-extra-prech:before { content: "\e116"; }
+.mui-icon-extra-cate:before { content: "\e501"; }
+.mui-icon-extra-comment:before { content: "\e209"; }
+.mui-icon-extra-at:before { content: "\e208"; }
+.mui-icon-extra-addpeople:before { content: "\e204"; }
+.mui-icon-extra-peoples:before { content: "\e205"; }
+.mui-icon-extra-calc:before { content: "\e101"; }
+.mui-icon-extra-classroom:before { content: "\e604"; }
+.mui-icon-extra-phone:before { content: "\e404"; }
+.mui-icon-extra-university:before { content: "\e605"; }
+.mui-icon-extra-outline:before { content: "\e606"; }

+ 135 - 135
aiberle/css/mui.dtpicker.css

@@ -1,136 +1,136 @@
-.mui-dtpicker {
-	position: fixed;
-	left: 0px;
-	width: 100%;
-	z-index: 999999;
-	background-color: #eee;
-	border-top: solid 1px #ccc;
-	box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1);
-	-webkit-transition: .3s;
-	bottom: 0px;
-	-webkit-transform: translateY(300px);
-}
-.mui-dtpicker.mui-active {
-	-webkit-transform: translateY(0px);
-}
-/*用于将 html body 禁止滚动条*/
-
-.mui-dtpicker-active-for-page {
-	overflow: hidden !important;
-}
-.mui-android-5-1 .mui-dtpicker {
-	bottom: -300px;
-	-webkit-transition-property: bottom;
-	-webkit-transform: none;
-}
-.mui-android-5-1 .mui-dtpicker.mui-active {
-	bottom: 0px;
-	-webkit-transition-property: bottom;
-	-webkit-transform: none;
-}
-.mui-dtpicker-header {
-	padding: 6px;
-	font-size: 14px;
-	color: #888;
-}
-.mui-dtpicker-header button {
-	font-size: 12px;
-	padding: 5px 10px;
-}
-.mui-dtpicker-header button:last-child {
-	float: right;
-}
-.mui-dtpicker-body {
-	position: relative;
-	width: 100%;
-	height: 200px;
-	/*border-top: solid 1px #eee;
-	background-color: #fff;*/
-}
-.mui-ios .mui-dtpicker-body {
-	-webkit-perspective: 1200px;
-	perspective: 1200px;
-	-webkit-transform-style: preserve-3d;
-	transform-style: preserve-3d;
-}
-.mui-dtpicker-title h5 {
-	display: inline-block;
-	width: 20%;
-	margin: 0px;
-	padding: 8px;
-	text-align: center;
-	border-top: solid 1px #ddd;
-	background-color: #f0f0f0;
-	border-bottom: solid 1px #ccc;
-}
-.mui-dtpicker .mui-picker {
-	width: 20%;
-	height: 100%;
-	margin: 0px;
-	float: left;
-	border: none;
-}
-/*年月日时分*/
-
-[data-type="datetime"] .mui-picker,
-[data-type="time"] .mui-dtpicker-title h5 {
-	width: 20%;
-}
-[data-type="datetime"] [data-id="picker-h"],
-[data-type="datetime"] [data-id="title-h"] {
-	border-left: dotted 1px #ccc;
-}
-/*年月日*/
-
-[data-type="date"] .mui-picker,
-[data-type="date"] .mui-dtpicker-title h5 {
-	width: 33.3%;
-}
-[data-type="date"] [data-id="picker-h"],
-[data-type="date"] [data-id="picker-i"],
-[data-type="date"] [data-id="title-h"],
-[data-type="date"] [data-id="title-i"] {
-	display: none;
-}
-/*年月日时*/
-
-[data-type="hour"] .mui-picker,
-[data-type="hour"] .mui-dtpicker-title h5 {
-	width: 25%;
-}
-[data-type="hour"] [data-id="picker-i"],
-[data-type="hour"] [data-id="title-i"] {
-	display: none;
-}
-[data-type="hour"] [data-id="picker-h"],
-[data-type="hour"] [data-id="title-h"] {
-	border-left: dotted 1px #ccc;
-}
-/*时分*/
-
-[data-type="time"] .mui-picker,
-[data-type="time"] .mui-dtpicker-title h5 {
-	width: 50%;
-}
-[data-type="time"] [data-id="picker-y"],
-[data-type="time"] [data-id="picker-m"],
-[data-type="time"] [data-id="picker-d"],
-[data-type="time"] [data-id="title-y"],
-[data-type="time"] [data-id="title-m"],
-[data-type="time"] [data-id="title-d"] {
-	display: none;
-}
-/*年月*/
-
-[data-type="month"] .mui-picker,
-[data-type="month"] .mui-dtpicker-title h5 {
-	width: 50%;
-}
-[data-type="month"] [data-id="picker-d"],
-[data-type="month"] [data-id="picker-h"],
-[data-type="month"] [data-id="picker-i"],
-[data-type="month"] [data-id="title-d"],
-[data-type="month"] [data-id="title-h"],
-[data-type="month"] [data-id="title-i"] {
-	display: none;
+.mui-dtpicker {
+	position: fixed;
+	left: 0px;
+	width: 100%;
+	z-index: 999999;
+	background-color: #eee;
+	border-top: solid 1px #ccc;
+	box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1);
+	-webkit-transition: .3s;
+	bottom: 0px;
+	-webkit-transform: translateY(300px);
+}
+.mui-dtpicker.mui-active {
+	-webkit-transform: translateY(0px);
+}
+/*用于将 html body 禁止滚动条*/
+
+.mui-dtpicker-active-for-page {
+	overflow: hidden !important;
+}
+.mui-android-5-1 .mui-dtpicker {
+	bottom: -300px;
+	-webkit-transition-property: bottom;
+	-webkit-transform: none;
+}
+.mui-android-5-1 .mui-dtpicker.mui-active {
+	bottom: 0px;
+	-webkit-transition-property: bottom;
+	-webkit-transform: none;
+}
+.mui-dtpicker-header {
+	padding: 6px;
+	font-size: 14px;
+	color: #888;
+}
+.mui-dtpicker-header button {
+	font-size: 12px;
+	padding: 5px 10px;
+}
+.mui-dtpicker-header button:last-child {
+	float: right;
+}
+.mui-dtpicker-body {
+	position: relative;
+	width: 100%;
+	height: 200px;
+	/*border-top: solid 1px #eee;
+	background-color: #fff;*/
+}
+.mui-ios .mui-dtpicker-body {
+	-webkit-perspective: 1200px;
+	perspective: 1200px;
+	-webkit-transform-style: preserve-3d;
+	transform-style: preserve-3d;
+}
+.mui-dtpicker-title h5 {
+	display: inline-block;
+	width: 20%;
+	margin: 0px;
+	padding: 8px;
+	text-align: center;
+	border-top: solid 1px #ddd;
+	background-color: #f0f0f0;
+	border-bottom: solid 1px #ccc;
+}
+.mui-dtpicker .mui-picker {
+	width: 20%;
+	height: 100%;
+	margin: 0px;
+	float: left;
+	border: none;
+}
+/*年月日时分*/
+
+[data-type="datetime"] .mui-picker,
+[data-type="time"] .mui-dtpicker-title h5 {
+	width: 20%;
+}
+[data-type="datetime"] [data-id="picker-h"],
+[data-type="datetime"] [data-id="title-h"] {
+	border-left: dotted 1px #ccc;
+}
+/*年月日*/
+
+[data-type="date"] .mui-picker,
+[data-type="date"] .mui-dtpicker-title h5 {
+	width: 33.3%;
+}
+[data-type="date"] [data-id="picker-h"],
+[data-type="date"] [data-id="picker-i"],
+[data-type="date"] [data-id="title-h"],
+[data-type="date"] [data-id="title-i"] {
+	display: none;
+}
+/*年月日时*/
+
+[data-type="hour"] .mui-picker,
+[data-type="hour"] .mui-dtpicker-title h5 {
+	width: 25%;
+}
+[data-type="hour"] [data-id="picker-i"],
+[data-type="hour"] [data-id="title-i"] {
+	display: none;
+}
+[data-type="hour"] [data-id="picker-h"],
+[data-type="hour"] [data-id="title-h"] {
+	border-left: dotted 1px #ccc;
+}
+/*时分*/
+
+[data-type="time"] .mui-picker,
+[data-type="time"] .mui-dtpicker-title h5 {
+	width: 50%;
+}
+[data-type="time"] [data-id="picker-y"],
+[data-type="time"] [data-id="picker-m"],
+[data-type="time"] [data-id="picker-d"],
+[data-type="time"] [data-id="title-y"],
+[data-type="time"] [data-id="title-m"],
+[data-type="time"] [data-id="title-d"] {
+	display: none;
+}
+/*年月*/
+
+[data-type="month"] .mui-picker,
+[data-type="month"] .mui-dtpicker-title h5 {
+	width: 50%;
+}
+[data-type="month"] [data-id="picker-d"],
+[data-type="month"] [data-id="picker-h"],
+[data-type="month"] [data-id="picker-i"],
+[data-type="month"] [data-id="title-d"],
+[data-type="month"] [data-id="title-h"],
+[data-type="month"] [data-id="title-i"] {
+	display: none;
 }

+ 122 - 122
aiberle/css/mui.imageviewer.css

@@ -1,123 +1,123 @@
-.mui-imageviewer {
-	position: absolute;
-	position: fixed;
-	background-color: rgba(0, 0, 0, 0.9);
-	width: 100%;
-	height: 100%;
-	z-index: 99;
-	left: 0px;
-	top: 0px;
-	display: none;
-	opacity: 0;
-	-webkit-transition: all 0.6s ease-in-out;
-	transition: all 0.6s ease-in-out;
-	-webkit-transform-style: preserve-3d;
-	-webkit-backface-visibility: hidden;
-	overflow: hidden;
-	margin: 0px;
-	padding: 0px;
-	box-sizing: border-box;
-}
-.mui-imageviewer-mask {
-	position: absolute;
-	z-index: 11;
-	width: 100%;
-	height: 100%;
-	left: 0px;
-	top: 0px;
-	display: none;
-}
-.mui-imageviewer .mui-imageviewer-header {
-	position: absolute;
-	height: 45px;
-	width: 100%;
-	left: 0px;
-	top: 0px;
-	z-index: 10;
-	background-color: rgba(0, 0, 0, 0.5);
-	margin: 0px;
-	padding: 0px;
-	box-sizing: border-box;
-}
-.mui-imageviewer .mui-imageviewer-state {
-	display: block;
-	width: 100%;
-	height: 100%;
-	line-height: 100%;
-	color: #eee;
-	text-align: center;
-	font-size: 16px;
-	padding: 15px;
-}
-.mui-imageviewer .mui-imageviewer-header .mui-imageviewer-close {
-	position: absolute;
-	top: 5px;
-	right: 5px;
-	font-size: 32px;
-	color: #aaa;
-}
-.mui-imageviewer .mui-imageviewer-header .mui-imageviewer-close:active {
-	color: #FF5053;
-}
-.mui-imageviewer .mui-imageviewer-item {
-	width: 100%;
-	height: 100%;
-	left: 0px;
-	top: 0px;
-	position: absolute;
-	z-index: 0;
-	margin: 0px;
-	padding: 0px;
-	box-sizing: border-box;
-	-webkit-transition: -webkit-transform 500ms ease-in-out;
-	transition: transform 500ms ease-in-out;
-	display: table;
-	overflow: hidden;
-}
-.mui-imageviewer .mui-imageviewer-item-center {
-	-webkit-transform: translateX(0);
-	transform: translateX(0);
-}
-.mui-imageviewer .mui-imageviewer-item-left {
-	-webkit-transform: translateX(-100%);
-	transform: translateX(-100%);
-}
-.mui-imageviewer .mui-imageviewer-item-right {
-	-webkit-transform: translateX(100%);
-	transform: translateX(100%);
-}
-.mui-imageviewer .mui-imageviewer-item span {
-	display: table-cell;
-	text-align: center;
-	vertical-align: middle;
-	line-height: 100%;
-	font-size: 100%;
-	margin: 0px;
-	padding: 0px;
-	box-sizing: border-box;
-	overflow: auto;
-}
-.mui-imageviewer .mui-imageviewer-item img {
-	backface-visibility: hidden;
-	transform-origin: 50% 50% 0px;
-	max-width: 100%;
-}
-.mui-imageviewer-left,
-.mui-imageviewer-right {
-	position: absolute;
-	z-index: 2;
-	color: #aaa;
-	top: 50%;
-	margin-top: -18px;
-	font-size: 36px;
-}
-.mui-imageviewer-left {
-	left: 5px;
-}
-.mui-imageviewer-right {
-	right: 5px;
-}
-.mui-imageviewer-left:active,
-.mui-imageviewer-right:active {
-	color: #fff;
+.mui-imageviewer {
+	position: absolute;
+	position: fixed;
+	background-color: rgba(0, 0, 0, 0.9);
+	width: 100%;
+	height: 100%;
+	z-index: 99;
+	left: 0px;
+	top: 0px;
+	display: none;
+	opacity: 0;
+	-webkit-transition: all 0.6s ease-in-out;
+	transition: all 0.6s ease-in-out;
+	-webkit-transform-style: preserve-3d;
+	-webkit-backface-visibility: hidden;
+	overflow: hidden;
+	margin: 0px;
+	padding: 0px;
+	box-sizing: border-box;
+}
+.mui-imageviewer-mask {
+	position: absolute;
+	z-index: 11;
+	width: 100%;
+	height: 100%;
+	left: 0px;
+	top: 0px;
+	display: none;
+}
+.mui-imageviewer .mui-imageviewer-header {
+	position: absolute;
+	height: 45px;
+	width: 100%;
+	left: 0px;
+	top: 0px;
+	z-index: 10;
+	background-color: rgba(0, 0, 0, 0.5);
+	margin: 0px;
+	padding: 0px;
+	box-sizing: border-box;
+}
+.mui-imageviewer .mui-imageviewer-state {
+	display: block;
+	width: 100%;
+	height: 100%;
+	line-height: 100%;
+	color: #eee;
+	text-align: center;
+	font-size: 16px;
+	padding: 15px;
+}
+.mui-imageviewer .mui-imageviewer-header .mui-imageviewer-close {
+	position: absolute;
+	top: 5px;
+	right: 5px;
+	font-size: 32px;
+	color: #aaa;
+}
+.mui-imageviewer .mui-imageviewer-header .mui-imageviewer-close:active {
+	color: #FF5053;
+}
+.mui-imageviewer .mui-imageviewer-item {
+	width: 100%;
+	height: 100%;
+	left: 0px;
+	top: 0px;
+	position: absolute;
+	z-index: 0;
+	margin: 0px;
+	padding: 0px;
+	box-sizing: border-box;
+	-webkit-transition: -webkit-transform 500ms ease-in-out;
+	transition: transform 500ms ease-in-out;
+	display: table;
+	overflow: hidden;
+}
+.mui-imageviewer .mui-imageviewer-item-center {
+	-webkit-transform: translateX(0);
+	transform: translateX(0);
+}
+.mui-imageviewer .mui-imageviewer-item-left {
+	-webkit-transform: translateX(-100%);
+	transform: translateX(-100%);
+}
+.mui-imageviewer .mui-imageviewer-item-right {
+	-webkit-transform: translateX(100%);
+	transform: translateX(100%);
+}
+.mui-imageviewer .mui-imageviewer-item span {
+	display: table-cell;
+	text-align: center;
+	vertical-align: middle;
+	line-height: 100%;
+	font-size: 100%;
+	margin: 0px;
+	padding: 0px;
+	box-sizing: border-box;
+	overflow: auto;
+}
+.mui-imageviewer .mui-imageviewer-item img {
+	backface-visibility: hidden;
+	transform-origin: 50% 50% 0px;
+	max-width: 100%;
+}
+.mui-imageviewer-left,
+.mui-imageviewer-right {
+	position: absolute;
+	z-index: 2;
+	color: #aaa;
+	top: 50%;
+	margin-top: -18px;
+	font-size: 36px;
+}
+.mui-imageviewer-left {
+	left: 5px;
+}
+.mui-imageviewer-right {
+	right: 5px;
+}
+.mui-imageviewer-left:active,
+.mui-imageviewer-right:active {
+	color: #fff;
 }

文件差异内容过多而无法显示
+ 4 - 4
aiberle/css/mui.min.css


+ 84 - 84
aiberle/css/mui.picker.css

@@ -1,85 +1,85 @@
-/**
- * 选择列表插件
- * varstion 2.0.0
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-.mui-picker {
-    background-color: #ddd;
-    position: relative;
-    height: 200px;
-    overflow: hidden;
-    border: solid 1px rgba(0, 0, 0, 0.1);
-    -webkit-user-select: none;
-    user-select: none;
-    box-sizing: border-box;
-}
-.mui-picker-inner {
-    box-sizing: border-box;
-    position: relative;
-    width: 100%;
-    height: 100%;
-    overflow: hidden;
-    -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);
-    -webkit-mask-box-image: linear-gradient(top, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);
-}
-.mui-pciker-list,
-.mui-pciker-rule {
-    box-sizing: border-box;
-    padding: 0px;
-    margin: 0px;
-    width: 100%;
-    height: 36px;
-    line-height: 36px;
-    position: absolute;
-    left: 0px;
-    top: 50%;
-    margin-top: -18px;
-}
-.mui-pciker-rule-bg {
-    z-index: 0;
-    /*background-color: #cfd5da;*/
-}
-.mui-pciker-rule-ft {
-    z-index: 2;
-    border-top: solid 1px rgba(0, 0, 0, 0.1);
-    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
-    /*-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);*/
-    /*box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);*/
-}
-.mui-pciker-list {
-    z-index: 1;
-    -webkit-transform-style: preserve-3d;
-    transform-style: preserve-3d;
-    -webkit-transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
-    transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
-}
-.mui-pciker-list li {
-    width: 100%;
-    height: 100%;
-    position: absolute;
-    text-align: center;
-    vertical-align: middle;
-    -webkit-backface-visibility: hidden;
-    backface-visibility: hidden;
-    overflow: hidden;
-    box-sizing: border-box;
-    font-size: 16px;
-    font-family: "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
-    color: #888;
-    padding: 0px 8px;
-    white-space: nowrap;
-    -webkit-text-overflow: ellipsis;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    cursor: default;
-    visibility: hidden;
-}
-.mui-pciker-list li.highlight,
-.mui-pciker-list li.visible {
-    visibility: visible;
-}
-.mui-pciker-list li.highlight {
-    color: #222;
+/**
+ * 选择列表插件
+ * varstion 2.0.0
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+.mui-picker {
+    background-color: #ddd;
+    position: relative;
+    height: 200px;
+    overflow: hidden;
+    border: solid 1px rgba(0, 0, 0, 0.1);
+    -webkit-user-select: none;
+    user-select: none;
+    box-sizing: border-box;
+}
+.mui-picker-inner {
+    box-sizing: border-box;
+    position: relative;
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);
+    -webkit-mask-box-image: linear-gradient(top, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);
+}
+.mui-pciker-list,
+.mui-pciker-rule {
+    box-sizing: border-box;
+    padding: 0px;
+    margin: 0px;
+    width: 100%;
+    height: 36px;
+    line-height: 36px;
+    position: absolute;
+    left: 0px;
+    top: 50%;
+    margin-top: -18px;
+}
+.mui-pciker-rule-bg {
+    z-index: 0;
+    /*background-color: #cfd5da;*/
+}
+.mui-pciker-rule-ft {
+    z-index: 2;
+    border-top: solid 1px rgba(0, 0, 0, 0.1);
+    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
+    /*-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);*/
+    /*box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);*/
+}
+.mui-pciker-list {
+    z-index: 1;
+    -webkit-transform-style: preserve-3d;
+    transform-style: preserve-3d;
+    -webkit-transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
+    transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
+}
+.mui-pciker-list li {
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    text-align: center;
+    vertical-align: middle;
+    -webkit-backface-visibility: hidden;
+    backface-visibility: hidden;
+    overflow: hidden;
+    box-sizing: border-box;
+    font-size: 16px;
+    font-family: "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
+    color: #888;
+    padding: 0px 8px;
+    white-space: nowrap;
+    -webkit-text-overflow: ellipsis;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    cursor: default;
+    visibility: hidden;
+}
+.mui-pciker-list li.highlight,
+.mui-pciker-list li.visible {
+    visibility: visible;
+}
+.mui-pciker-list li.highlight {
+    color: #222;
 }

文件差异内容过多而无法显示
+ 6 - 6
aiberle/css/mui.picker.min.css


+ 63 - 63
aiberle/css/mui.poppicker.css

@@ -1,64 +1,64 @@
-.mui-poppicker {
-	position: fixed;
-	left: 0px;
-	width: 100%;
-	z-index: 999;
-	background-color: #eee;
-	border-top: solid 1px #ccc;
-	box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1);
-	-webkit-transition: .3s;
-	bottom: 0px;
-	-webkit-transform: translateY(300px);
-}
-.mui-poppicker.mui-active {
-	-webkit-transform: translateY(0px);
-}
-.mui-android-5-1 .mui-poppicker {
-	bottom: -300px;
-	-webkit-transition-property: bottom;
-	-webkit-transform: none;
-}
-.mui-android-5-1 .mui-poppicker.mui-active {
-	bottom: 0px;
-	-webkit-transition-property: bottom;
-	-webkit-transform: none;
-}
-.mui-poppicker-header {
-	padding: 6px;
-	font-size: 14px;
-	color: #888;
-}
-.mui-poppicker-header .mui-btn {
-	font-size: 12px;
-	padding: 5px 10px;
-}
-.mui-poppicker-btn-cancel {
-	float: left;
-}
-.mui-poppicker-btn-ok {
-	float: right;
-}
-.mui-poppicker-clear {
-	clear: both;
-	height: 0px;
-	line-height: 0px;
-	font-size: 0px;
-	overflow: hidden;
-}
-.mui-poppicker-body {
-	position: relative;
-	width: 100%;
-	height: 200px;
-	border-top: solid 1px #ddd;
-	/*-webkit-perspective: 1200px;
-	perspective: 1200px;
-	-webkit-transform-style: preserve-3d;
-	transform-style: preserve-3d;*/
-}
-.mui-poppicker-body .mui-picker {
-	width: 100%;
-	height: 100%;
-	margin: 0px;
-	border: none;
-	float: left;
+.mui-poppicker {
+	position: fixed;
+	left: 0px;
+	width: 100%;
+	z-index: 999;
+	background-color: #eee;
+	border-top: solid 1px #ccc;
+	box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1);
+	-webkit-transition: .3s;
+	bottom: 0px;
+	-webkit-transform: translateY(300px);
+}
+.mui-poppicker.mui-active {
+	-webkit-transform: translateY(0px);
+}
+.mui-android-5-1 .mui-poppicker {
+	bottom: -300px;
+	-webkit-transition-property: bottom;
+	-webkit-transform: none;
+}
+.mui-android-5-1 .mui-poppicker.mui-active {
+	bottom: 0px;
+	-webkit-transition-property: bottom;
+	-webkit-transform: none;
+}
+.mui-poppicker-header {
+	padding: 6px;
+	font-size: 14px;
+	color: #888;
+}
+.mui-poppicker-header .mui-btn {
+	font-size: 12px;
+	padding: 5px 10px;
+}
+.mui-poppicker-btn-cancel {
+	float: left;
+}
+.mui-poppicker-btn-ok {
+	float: right;
+}
+.mui-poppicker-clear {
+	clear: both;
+	height: 0px;
+	line-height: 0px;
+	font-size: 0px;
+	overflow: hidden;
+}
+.mui-poppicker-body {
+	position: relative;
+	width: 100%;
+	height: 200px;
+	border-top: solid 1px #ddd;
+	/*-webkit-perspective: 1200px;
+	perspective: 1200px;
+	-webkit-transform-style: preserve-3d;
+	transform-style: preserve-3d;*/
+}
+.mui-poppicker-body .mui-picker {
+	width: 100%;
+	height: 100%;
+	margin: 0px;
+	border: none;
+	float: left;
 }

+ 114 - 114
aiberle/customer-service.html

@@ -1,115 +1,115 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>申请售后</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script>
-			//屏蔽分享
-//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-//				WeixinJSBridge.call('hideOptionMenu');
-//			});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="clearing-box">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
-
-				</ul>
-				<br />
-				<ul class="mui-table-view cusomer-ul">
-					<li class="mui-table-view-cell mui-media" id="retreat">
-						<a class="mui-navigate-right order_process"  newStatus="2"><div class="mui-media-body">仅退款<p class="mui-ellipsis">还未收到货,并与客服协商同意后</p></div></a>
-					</li>
-					<li class="mui-table-view-cell mui-media" id="returnOfGoods">
-						<a class="mui-navigate-right order_process" newStatus="4"><div class="mui-media-body">退货退款<p class="mui-ellipsis">已收到货,需联系客服寄回已收货物</p></div></a>
-					</li>
-					<li class="mui-table-view-cell mui-media" id="exchangeGood">
-						<a class="mui-navigate-right order_process" newStatus="7"><div class="mui-media-body">申请换货<p class="mui-ellipsis">已收到货,需联系客服获得寄换地址</p></div></a>
-					</li>
-				</ul>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			var orderId = getParam("orderId");//从URL带过来的订单id
-			var status = 0;
-			//dom加载完毕
-			mui.ready(function() {
-				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
-					data: {
-						"orderId": orderId
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt);
-							var order = dt.data
-							status = order.salesStatus; //赋值状态
-							if(status == 2){
-								$("#retreat").show();
-								$("#returnOfGoods").hide();
-								$("#exchangeGood").hide();
-							}else if(status == 5){
-								$("#retreat").hide();
-								$("#returnOfGoods").show();
-								$("#exchangeGood").show();
-							}
-							var str = "";
-							mui.each(order.orderItemList, function(index) {
-								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ (this.itemProductDiscount / 100).toFixed(2) +'</div></div></div>';
-							});
-							document.querySelector('.shopping-cart-list').innerHTML = str;
-							
-							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-				
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-			});
-			
-			/*申请退款*/
-			$(document).on('tap', '.order_process', function() {
-				var newStatus =  $(this).attr("newStatus");
-				location.href = "exchange-goods.html?orderId=" + orderId + "&newStatus=" + newStatus;
-			})
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>申请售后</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script>
+			//屏蔽分享
+//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+//				WeixinJSBridge.call('hideOptionMenu');
+//			});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="clearing-box">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
+
+				</ul>
+				<br />
+				<ul class="mui-table-view cusomer-ul">
+					<li class="mui-table-view-cell mui-media" id="retreat">
+						<a class="mui-navigate-right order_process"  newStatus="2"><div class="mui-media-body">仅退款<p class="mui-ellipsis">还未收到货,并与客服协商同意后</p></div></a>
+					</li>
+					<li class="mui-table-view-cell mui-media" id="returnOfGoods">
+						<a class="mui-navigate-right order_process" newStatus="4"><div class="mui-media-body">退货退款<p class="mui-ellipsis">已收到货,需联系客服寄回已收货物</p></div></a>
+					</li>
+					<li class="mui-table-view-cell mui-media" id="exchangeGood">
+						<a class="mui-navigate-right order_process" newStatus="7"><div class="mui-media-body">申请换货<p class="mui-ellipsis">已收到货,需联系客服获得寄换地址</p></div></a>
+					</li>
+				</ul>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			var orderId = getParam("orderId");//从URL带过来的订单id
+			var status = 0;
+			//dom加载完毕
+			mui.ready(function() {
+				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
+					data: {
+						"orderId": orderId
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt);
+							var order = dt.data
+							status = order.salesStatus; //赋值状态
+							if(status == 2){
+								$("#retreat").show();
+								$("#returnOfGoods").hide();
+								$("#exchangeGood").hide();
+							}else if(status == 5){
+								$("#retreat").hide();
+								$("#returnOfGoods").show();
+								$("#exchangeGood").show();
+							}
+							var str = "";
+							mui.each(order.orderItemList, function(index) {
+								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ (this.itemProductDiscount / 100).toFixed(2) +'</div></div></div>';
+							});
+							document.querySelector('.shopping-cart-list').innerHTML = str;
+							
+							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+				
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+			});
+			
+			/*申请退款*/
+			$(document).on('tap', '.order_process', function() {
+				var newStatus =  $(this).attr("newStatus");
+				location.href = "exchange-goods.html?orderId=" + orderId + "&newStatus=" + newStatus;
+			})
+		</script>
+	</body>
+
 </html>

+ 191 - 191
aiberle/development-history.html

@@ -1,191 +1,191 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>Aiberle历程</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-				<style>
-			article, section, time, aside {
-				display: block;
-			}
-			.point-time {
-				content: "";
-				position: absolute;
-				width: 16px;
-				height: 16px;
-				top: 45%;
-				left:5%;
-				background: #fff;
-				margin-left: -7px;
-				border-radius: 50%;
-				border: 4px solid #958570;
-			}
-			.content {
-				width: 100%;
-				margin: 0 auto;
-			}
-			.content article {
-				position: relative;
-			}
-			.content article > h3 {
-				width: 100%;
-				height: 20px;
-				line-height: 20px;
-				text-align: left;
-				text-indent: 3%;
-				font-size: 1.4em;
-				color: #fff;
-				padding: 10px 0 20px;
-				background-color: #dd6d01;
-			}
-			.content article section {
-				padding: 0;
-				position: relative;
-			}
-			.content article section:before {
-				content: "";
-				width: 2px;
-				top: 0;
-				bottom: 0;
-				left: 5%;
-				background: #e6e6e6;
-				position: absolute;
-			}
-			/*.content article section:last-child:before {
-				display: none;
-			}*/
-			.content article section time {
-				width: 12%;
-				display: block;
-				position: absolute;
-				top: 44%;
-				left: 8%;
-			}
-			.content article section time > span {
-				display: block;
-				text-align: center;
-			}
-			.content article section aside {
-				color: #3a3a38;
-				margin-left: 20%;
-			}
-			.content article section .brief {
-				color: #9f9f9f;
-			}
-			.content article section .things {
-				padding: 10px 10px 0 0;
-				position: relative;
-			}
-			.content article section .things img {
-				width: 100%;
-				display: block;
-			}
-		</style>
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-	<body style="background: #fff;">
-	<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
-	</div>
-	<div class="mui-content" style="background: #fff;">
-			<div class="content">
-					<article>
-						<section>
-							<span class="point-time"></span>
-							<time datetime="2006">
-								<span>2006</span>
-							</time>
-							<aside>
-								<p class="things">
-									<img src="images/pp-time.jpg" />
-									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2006.png" />
-								</p>
-							</aside>
-						</section>
-						<section>
-							<span class="point-time"></span>
-							<time datetime="2007">
-								<span>2007</span>
-							</time>
-							<aside>
-								<p class="things">
-									<img src="images/pp-time.jpg" />
-									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2007.png" />
-								</p>
-							</aside>
-						</section>
-						<section>
-							<span class="point-time"></span>
-							<time datetime="2011">
-								<span>2011</span>
-							</time>
-							<aside>
-								<p class="things">
-									<img src="images/pp-time.jpg" />
-									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2011.png" />
-								</p>
-							</aside>
-						</section>
-						<section>
-							<span class="point-time point-green"></span>
-							<time datetime="2014">
-								<span>2014</span>
-							</time>
-							<aside>
-								<p class="things">
-									<img src="images/pp-time.jpg" />
-									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2014.png" />
-								</p>
-							</aside>
-						</section>
-						<section>
-							<span class="point-time"></span>
-							<time datetime="2016">
-								<span>2016</span>
-							</time>
-							<aside>
-								<p class="things">
-									<img src="images/pp-time.jpg" />
-									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2016.png" />
-								</p>
-							</aside>
-						</section>
-						<section style="padding-bottom: 10px;">
-							<span class="point-time"></span>
-							<time datetime="2017">
-								<span>2017</span>
-							</time>
-							<aside>
-								<p class="things">
-									<img src="images/pp-time.jpg" />
-									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2017.png" />
-								</p>
-							</aside>
-						</section>
-					</article>
-				</div>
-	</div>
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript">
-	mui.ready(function(){
-		document.querySelector('.loading-bg').style.display='none';
-	});
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>Aiberle历程</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+				<style>
+			article, section, time, aside {
+				display: block;
+			}
+			.point-time {
+				content: "";
+				position: absolute;
+				width: 16px;
+				height: 16px;
+				top: 45%;
+				left:5%;
+				background: #fff;
+				margin-left: -7px;
+				border-radius: 50%;
+				border: 4px solid #958570;
+			}
+			.content {
+				width: 100%;
+				margin: 0 auto;
+			}
+			.content article {
+				position: relative;
+			}
+			.content article > h3 {
+				width: 100%;
+				height: 20px;
+				line-height: 20px;
+				text-align: left;
+				text-indent: 3%;
+				font-size: 1.4em;
+				color: #fff;
+				padding: 10px 0 20px;
+				background-color: #dd6d01;
+			}
+			.content article section {
+				padding: 0;
+				position: relative;
+			}
+			.content article section:before {
+				content: "";
+				width: 2px;
+				top: 0;
+				bottom: 0;
+				left: 5%;
+				background: #e6e6e6;
+				position: absolute;
+			}
+			/*.content article section:last-child:before {
+				display: none;
+			}*/
+			.content article section time {
+				width: 12%;
+				display: block;
+				position: absolute;
+				top: 44%;
+				left: 8%;
+			}
+			.content article section time > span {
+				display: block;
+				text-align: center;
+			}
+			.content article section aside {
+				color: #3a3a38;
+				margin-left: 20%;
+			}
+			.content article section .brief {
+				color: #9f9f9f;
+			}
+			.content article section .things {
+				padding: 10px 10px 0 0;
+				position: relative;
+			}
+			.content article section .things img {
+				width: 100%;
+				display: block;
+			}
+		</style>
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+	<body style="background: #fff;">
+	<div class="loading-bg">
+			<div class="mui-loading">
+				<div class="mui-spinner">
+				</div>
+				&nbsp;&nbsp;加载中...
+			</div>
+	</div>
+	<div class="mui-content" style="background: #fff;">
+			<div class="content">
+					<article>
+						<section>
+							<span class="point-time"></span>
+							<time datetime="2006">
+								<span>2006</span>
+							</time>
+							<aside>
+								<p class="things">
+									<img src="images/pp-time.jpg" />
+									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2006.png" />
+								</p>
+							</aside>
+						</section>
+						<section>
+							<span class="point-time"></span>
+							<time datetime="2007">
+								<span>2007</span>
+							</time>
+							<aside>
+								<p class="things">
+									<img src="images/pp-time.jpg" />
+									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2007.png" />
+								</p>
+							</aside>
+						</section>
+						<section>
+							<span class="point-time"></span>
+							<time datetime="2011">
+								<span>2011</span>
+							</time>
+							<aside>
+								<p class="things">
+									<img src="images/pp-time.jpg" />
+									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2011.png" />
+								</p>
+							</aside>
+						</section>
+						<section>
+							<span class="point-time point-green"></span>
+							<time datetime="2014">
+								<span>2014</span>
+							</time>
+							<aside>
+								<p class="things">
+									<img src="images/pp-time.jpg" />
+									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2014.png" />
+								</p>
+							</aside>
+						</section>
+						<section>
+							<span class="point-time"></span>
+							<time datetime="2016">
+								<span>2016</span>
+							</time>
+							<aside>
+								<p class="things">
+									<img src="images/pp-time.jpg" />
+									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2016.png" />
+								</p>
+							</aside>
+						</section>
+						<section style="padding-bottom: 10px;">
+							<span class="point-time"></span>
+							<time datetime="2017">
+								<span>2017</span>
+							</time>
+							<aside>
+								<p class="things">
+									<img src="images/pp-time.jpg" />
+									<img style="position: absolute;top: 0;left: 0;width: 100%;" src="images/pp-time-2017.png" />
+								</p>
+							</aside>
+						</section>
+					</article>
+				</div>
+	</div>
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript">
+	mui.ready(function(){
+		document.querySelector('.loading-bg').style.display='none';
+	});
+	</script>
+	</body>
+</html>

+ 212 - 212
aiberle/exchange-goods.html

@@ -1,213 +1,213 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>我要售后</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script>
-			//屏蔽分享
-//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-//				WeixinJSBridge.call('hideOptionMenu');
-//			});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="clearing-box">
-				<!--换货列表-->
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
-					
-				</ul>
-				<br/>
-				<ul class="mui-table-view cusomer-ul">
-					<li>
-						<div class="mui-input-row">
-						<label class="lbl-remarks"><span id="nameMsg"></span></label>
-						<input class="ipt-remarks" type="text" placeholder="" id="remark">
-					</div>
-					</li>
-				</ul>
-				</div>
-			<div class="address-cantainner" id="addressInfo">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
-					<li class="mui-table-view-cell">
-						<div class="mui-table">							
-							<!--微信地址-->
-							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
-								<p><span class="iconfont icon-dingwei"></span></p>
-							</div>
-							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
-								<div>收货人:杨春有 <span class="mui-pull-right">13592708169</span></div>
-								<p>收货地址:东莞清溪三中金龙工业区徐福记对面优尼雅 电子科技</p>
-							</div>
-						</div>
-					</li>
-				</ul>
-			</div>
-			<div class="clearing-box">
-				<br />
-				<p id="msg"></p>
-				<br />
-				<div class="mui-content-padded mui-text-center">
-					<button type="button" class="my-btn-black" id="orderUpdateStatus">提交</button>
-				</div>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			var orderId = getParam("orderId");//从URL带过来的订单id
-			var newStatus = getParam("newStatus"); //2:退款   4:退货       7:换货
-			var status = 0;
-			//dom加载完毕
-			mui.ready(function() {
-				
-				var nameMsg = "";
-				if(newStatus == 2){
-					$("#nameMsg").html("退款原因");
-					$("#remark").attr("placeholder","请填写您的退款原因");
-				}else if(newStatus == 4){
-					$("#nameMsg").html("退货原因");
-					$("#remark").attr("placeholder","请填写您的退货原因");
-				}else if(newStatus == 7){
-					$("#nameMsg").html("换货原因");
-					$("#remark").attr("placeholder","请填写您的换货原因");
-				}
-				
-				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
-					data: {
-						"orderId": orderId
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt);
-							var order = dt.data
-							status = order.salesStatus; //赋值状态
-							if(status == 2){
-								$("#addressInfo").hide();
-								$("#msg").html("提示:提交审核成功后,退款金额为您实付金额,当实付金额不为0时,您实付金额将在3个工作日内退款到原支付账户。");
-							}else if(newStatus == 4){  //退货退款
-								$("#addressInfo").show();
-								$("#msg").html("<p>提示:</p><p>1:提交成功后,需联系客服并寄回产品,且将寄回单号和 寄件人信息提供给客服、方便核实</p><p>2:我们收到退回产品后,将立即为您退款,当实付金额不为0时,您实付金额将在3个工作日内退款到原支付账户。</p>" );
-							}else if(newStatus == 7){ 
-								$("#addressInfo").show();
-								$("#msg").html("提示:提交成功后,需联系客服并寄回产品,并且将寄回单号和 寄件人信息、需要更换的机器信息一起提供给客服" );
-							}
-							var str = "";
-							mui.each(order.orderItemList, function(index) {
-								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ (this.itemProductDiscount / 100).toFixed(2) +'</div></div></div>';
-							});
-							document.querySelector('.shopping-cart-list').innerHTML = str;
-							
-							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-				
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-			});
-			
-			
-			/*提交*/
-			$(document).on('tap', '#orderUpdateStatus', function() {
-				var remark = $("#remark").val();
-				remark=remark.replace(/(^\s*)|(\s*$)/g, "");
-				if(remark !=null && remark.trim().length != 0 && typeof(remark)!="undefined"){
-					//if(remark){
-					//}
-					
-//					var remark = $("#textarea").val();
-					var ch_en_num = /^[A-Za-z0-9 _\[\]\【\】\{\}\{\}\(\)\(\)\《\》\<\>\,\,\.\。\、\!\!\~\·\@\#\¥\$\%\^\…\&\—\:\:\;\;\‘\’\'\'\"\"\“\”\?\?\-\=\|\*\s\+\-\u4e00-\u9fa5]{0,100}$/;
-	
-					if(ch_en_num.test(remark)) {
-						console.log("退款验证通过")
-					} else {
-						mui.alert("内容格式错误!仅支持中/英文,数字,普通符号");
-						return false;
-					}
-					updateOrderStatus(orderId,newStatus,remark);
-				}else{
-					var info = "";
-					if(newStatus == 2){
-						info = "请填写您的退款原因";
-					}else if(newStatus == 4){
-						info = "请填写您的退货原因";
-					}else if(newStatus == 7){
-						info = "请填写您的换货原因";
-					}
-					mui.alert(info);
-				}
-			})
-			
-			
-			/*修改状态*/
-			function updateOrderStatus(orderId, status, remark) {
-				var msg = "";
-			 	$.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
-					data: {
-						"status": status, //更改后的状态
-						"orderId": orderId, //订单id
-						"remark": remark
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.resultCode == 200) {
-							console.log(dt);
-							mui.alert('您的申请已提交,如有疑问请联系客服人员!',"提醒",function(){
-								location.href = "order-details.html?orderId="+orderId;
-							});
-							
-						} else{
-							mui.alert(dt.message);
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("提交失败!网络错误");
-					}
-				});
-			}
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>我要售后</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script>
+			//屏蔽分享
+//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+//				WeixinJSBridge.call('hideOptionMenu');
+//			});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="clearing-box">
+				<!--换货列表-->
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
+					
+				</ul>
+				<br/>
+				<ul class="mui-table-view cusomer-ul">
+					<li>
+						<div class="mui-input-row">
+						<label class="lbl-remarks"><span id="nameMsg"></span></label>
+						<input class="ipt-remarks" type="text" placeholder="" id="remark">
+					</div>
+					</li>
+				</ul>
+				</div>
+			<div class="address-cantainner" id="addressInfo">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
+					<li class="mui-table-view-cell">
+						<div class="mui-table">							
+							<!--微信地址-->
+							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
+								<p><span class="iconfont icon-dingwei"></span></p>
+							</div>
+							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
+								<div>收货人:杨春有 <span class="mui-pull-right">13592708169</span></div>
+								<p>收货地址:东莞清溪三中金龙工业区徐福记对面优尼雅 电子科技</p>
+							</div>
+						</div>
+					</li>
+				</ul>
+			</div>
+			<div class="clearing-box">
+				<br />
+				<p id="msg"></p>
+				<br />
+				<div class="mui-content-padded mui-text-center">
+					<button type="button" class="my-btn-black" id="orderUpdateStatus">提交</button>
+				</div>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			var orderId = getParam("orderId");//从URL带过来的订单id
+			var newStatus = getParam("newStatus"); //2:退款   4:退货       7:换货
+			var status = 0;
+			//dom加载完毕
+			mui.ready(function() {
+				
+				var nameMsg = "";
+				if(newStatus == 2){
+					$("#nameMsg").html("退款原因");
+					$("#remark").attr("placeholder","请填写您的退款原因");
+				}else if(newStatus == 4){
+					$("#nameMsg").html("退货原因");
+					$("#remark").attr("placeholder","请填写您的退货原因");
+				}else if(newStatus == 7){
+					$("#nameMsg").html("换货原因");
+					$("#remark").attr("placeholder","请填写您的换货原因");
+				}
+				
+				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
+					data: {
+						"orderId": orderId
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt);
+							var order = dt.data
+							status = order.salesStatus; //赋值状态
+							if(status == 2){
+								$("#addressInfo").hide();
+								$("#msg").html("提示:提交审核成功后,退款金额为您实付金额,当实付金额不为0时,您实付金额将在3个工作日内退款到原支付账户。");
+							}else if(newStatus == 4){  //退货退款
+								$("#addressInfo").show();
+								$("#msg").html("<p>提示:</p><p>1:提交成功后,需联系客服并寄回产品,且将寄回单号和 寄件人信息提供给客服、方便核实</p><p>2:我们收到退回产品后,将立即为您退款,当实付金额不为0时,您实付金额将在3个工作日内退款到原支付账户。</p>" );
+							}else if(newStatus == 7){ 
+								$("#addressInfo").show();
+								$("#msg").html("提示:提交成功后,需联系客服并寄回产品,并且将寄回单号和 寄件人信息、需要更换的机器信息一起提供给客服" );
+							}
+							var str = "";
+							mui.each(order.orderItemList, function(index) {
+								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ (this.itemProductDiscount / 100).toFixed(2) +'</div></div></div>';
+							});
+							document.querySelector('.shopping-cart-list').innerHTML = str;
+							
+							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+				
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+			});
+			
+			
+			/*提交*/
+			$(document).on('tap', '#orderUpdateStatus', function() {
+				var remark = $("#remark").val();
+				remark=remark.replace(/(^\s*)|(\s*$)/g, "");
+				if(remark !=null && remark.trim().length != 0 && typeof(remark)!="undefined"){
+					//if(remark){
+					//}
+					
+//					var remark = $("#textarea").val();
+					var ch_en_num = /^[A-Za-z0-9 _\[\]\【\】\{\}\{\}\(\)\(\)\《\》\<\>\,\,\.\。\、\!\!\~\·\@\#\¥\$\%\^\…\&\—\:\:\;\;\‘\’\'\'\"\"\“\”\?\?\-\=\|\*\s\+\-\u4e00-\u9fa5]{0,100}$/;
+	
+					if(ch_en_num.test(remark)) {
+						console.log("退款验证通过")
+					} else {
+						mui.alert("内容格式错误!仅支持中/英文,数字,普通符号");
+						return false;
+					}
+					updateOrderStatus(orderId,newStatus,remark);
+				}else{
+					var info = "";
+					if(newStatus == 2){
+						info = "请填写您的退款原因";
+					}else if(newStatus == 4){
+						info = "请填写您的退货原因";
+					}else if(newStatus == 7){
+						info = "请填写您的换货原因";
+					}
+					mui.alert(info);
+				}
+			})
+			
+			
+			/*修改状态*/
+			function updateOrderStatus(orderId, status, remark) {
+				var msg = "";
+			 	$.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
+					data: {
+						"status": status, //更改后的状态
+						"orderId": orderId, //订单id
+						"remark": remark
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.resultCode == 200) {
+							console.log(dt);
+							mui.alert('您的申请已提交,如有疑问请联系客服人员!',"提醒",function(){
+								location.href = "order-details.html?orderId="+orderId;
+							});
+							
+						} else{
+							mui.alert(dt.message);
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("提交失败!网络错误");
+					}
+				});
+			}
+		</script>
+	</body>
+
 </html>

+ 65 - 65
aiberle/get-warranty_card.html

@@ -1,65 +1,65 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>领取质保卡</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-//				WeixinJSBridge.call('hideOptionMenu');
-//			});
-		</script>
-	</head>
-	<body style="background: #fff;">
-	<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
-	</div>
-			<div class="mui-content" style="background: #fff;">
-				<div style="background-color: #f1f1f1;height:220px;text-align: center;padding: 50px 0;">
-				<div style="padding: 5px;background-color: #3bbf64;width:50px;height: 50px;line-height: 42px; margin: 15px auto;border-radius: 50%;">
-					<span class="iconfont icon-zhibaoqia" style="color: #fff;font-size: 30px;"></span>
-				</div>
-				<h4> 关注aiberle公众号</h4>
-				<p>领取质保卡</p>
-				</div>
-				<div style="margin:-40px auto 0 auto;width:240px;text-align: center;">
-					<img width="160px" src="images/qrcode.png" />
-					<p>
-					长按识别,关注aiberle公众号<br /> 随时查看质保时间
-				</p>
-				</div>	
-				<div style="padding: 20px 0;width: 80%;margin:50px auto 0 auto;text-align: left;">
-					<div style="margin-bottom: 15px;color: #727171;font-size: 16px;">领取质保卡方式:</div>
-					<p>1、关注公众号后,前往会员中心领取</p>
-					<p>2、关注公众号后,再次扫描领取质保卡二维码</p>
-				</div>
-			</div>
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript" src="js/main.js"></script>
-	<script type="text/javascript">
-	mui.ready(function(){
-		console.log("页面加载完毕")
-		document.querySelector('.loading-bg').style.display='none';
-
-	});
-	
-	mui('body').on('tap','.go_order_details',function(){
-		mui.openWindow({
-			url: 'order_details.html'
-		});
-	});
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>领取质保卡</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+//				WeixinJSBridge.call('hideOptionMenu');
+//			});
+		</script>
+	</head>
+	<body style="background: #fff;">
+	<div class="loading-bg">
+			<div class="mui-loading">
+				<div class="mui-spinner">
+				</div>
+				&nbsp;&nbsp;加载中...
+			</div>
+	</div>
+			<div class="mui-content" style="background: #fff;">
+				<div style="background-color: #f1f1f1;height:220px;text-align: center;padding: 50px 0;">
+				<div style="padding: 5px;background-color: #3bbf64;width:50px;height: 50px;line-height: 42px; margin: 15px auto;border-radius: 50%;">
+					<span class="iconfont icon-zhibaoqia" style="color: #fff;font-size: 30px;"></span>
+				</div>
+				<h4> 关注aiberle公众号</h4>
+				<p>领取质保卡</p>
+				</div>
+				<div style="margin:-40px auto 0 auto;width:240px;text-align: center;">
+					<img width="160px" src="images/qrcode.png" />
+					<p>
+					长按识别,关注aiberle公众号<br /> 随时查看质保时间
+				</p>
+				</div>	
+				<div style="padding: 20px 0;width: 80%;margin:50px auto 0 auto;text-align: left;">
+					<div style="margin-bottom: 15px;color: #727171;font-size: 16px;">领取质保卡方式:</div>
+					<p>1、关注公众号后,前往会员中心领取</p>
+					<p>2、关注公众号后,再次扫描领取质保卡二维码</p>
+				</div>
+			</div>
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript" src="js/main.js"></script>
+	<script type="text/javascript">
+	mui.ready(function(){
+		console.log("页面加载完毕")
+		document.querySelector('.loading-bg').style.display='none';
+
+	});
+	
+	mui('body').on('tap','.go_order_details',function(){
+		mui.openWindow({
+			url: 'order_details.html'
+		});
+	});
+	</script>
+	</body>
+</html>

文件差异内容过多而无法显示
+ 11547 - 11547
aiberle/js/city.data-3.js


文件差异内容过多而无法显示
+ 1604 - 1604
aiberle/js/city.data.js


文件差异内容过多而无法显示
+ 4 - 4
aiberle/js/jquery-2.1.1.min.js


文件差异内容过多而无法显示
+ 866 - 866
aiberle/js/jquery.autocompleter.js


文件差异内容过多而无法显示
+ 8 - 8
aiberle/js/jquery.autocompleter.min.js


+ 267 - 267
aiberle/js/mui.imageViewer.js

@@ -1,268 +1,268 @@
-/**
- * 图片预览组件
- * varstion 0.4.0
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-(function($, document) {
-
-	$.init({
-		gestureConfig: {
-			tap: true, //默认为true
-			doubletap: true, //默认为false
-			longtap: true, //默认为false
-			swipe: true, //默认为true
-			drag: true, //默认为true
-			hold: true, //默认为false,不监听
-			release: true //默认为false,不监听
-		}
-	});
-
-	var touchSupport = ('ontouchstart' in document);
-	var tapEventName = touchSupport ? 'tap' : 'click';
-	var enterEventName = touchSupport ? 'tap' : 'click';
-	var imageClassName = $.className('image');
-
-
-	//创建DOM (此函数是否可放在 mui.js 中)
-	$.dom = function(str) {
-		if (!$.__create_dom_div__) {
-			$.__create_dom_div__ = document.createElement('div');
-		}
-		$.__create_dom_div__.innerHTML = str;
-		return $.__create_dom_div__.childNodes;
-	};
-
-	//图片预览组件类
-	var ImageViewer = $.ImageViewer = $.Class.extend({
-		//构造函数
-		init: function(selector, options) {
-			var self = this;
-			self.options = options || {};
-			self.selector = selector || 'img';
-			if (self.options.dbl) {
-				enterEventName = touchSupport ? 'doubletap' : 'dblclick';
-			}
-			self.findAllImage();
-			self.createViewer();
-			self.bindEvent();
-		},
-		//创建图片预览组件的整体 UI
-		createViewer: function() {
-			var self = this;
-			self.viewer = $.dom("<div class='mui-imageviewer'><div class='mui-imageviewer-mask'></div><div class='mui-imageviewer-header'><i class='mui-icon mui-icon-closeempty mui-imageviewer-close'></i><span class='mui-imageviewer-state'></span></div><i class='mui-icon mui-icon-arrowleft  mui-imageviewer-left'></i><i class='mui-icon mui-icon-arrowright mui-imageviewer-right'></i></div>");
-			self.viewer = self.viewer[0] || self.viewer;
-			//self.viewer.style.height = screen.height;
-			self.closeButton = self.viewer.querySelector('.mui-imageviewer-close');
-			self.state = self.viewer.querySelector('.mui-imageviewer-state');
-			self.leftButton = self.viewer.querySelector('.mui-imageviewer-left');
-			self.rightButton = self.viewer.querySelector('.mui-imageviewer-right');
-			self.mask = self.viewer.querySelector('.mui-imageviewer-mask');
-			document.body.appendChild(self.viewer);
-		},
-		//查找所有符合的图片
-		findAllImage: function() {
-			var self = this;
-			self.images = [].slice.call($(self.selector));
-		},
-		//检查图片是否为启动预览的图片
-		checkImage: function(target) {
-			var self = this;
-			if (target.tagName !== 'IMG') return false;
-			return self.images.some(function(image) {
-				return image == target;
-			});
-		},
-		//绑定事件
-		bindEvent: function() {
-			var self = this;
-			//绑定图片 tap 事件
-			document.addEventListener(enterEventName, function(event) {
-				if (!self.viewer) return;
-				var target = event.target;
-				if (!self.checkImage(target)) return;
-				self.viewer.style.display = 'block';
-				setTimeout(function() {
-					self.viewer.style.opacity = 1;
-				}, 0);
-				self.index = self.images.indexOf(target);
-				self.currentItem = self.createImage(self.index);
-			}, false);
-			//关系按钮事件
-			self.closeButton.addEventListener(tapEventName, function(event) {
-				self.viewer.style.opacity = 0;
-				setTimeout(function() {
-					self.viewer.style.display = 'none';
-					self.disposeImage(true);
-				}, 600);
-				event.preventDefault();
-				event.cancelBubble = true;
-			}, false);
-			//处理左右按钮
-			self.leftButton.addEventListener(tapEventName, function() {
-				self.prev();
-			}, false);
-			self.rightButton.addEventListener(tapEventName, function() {
-				self.next();
-			}, false);
-			//处理划动
-			self.mask.addEventListener($.EVENT_MOVE, function(event) {
-				event.preventDefault();
-				event.cancelBubble = true;
-			}, false);
-			self.viewer.addEventListener('swipeleft', function(event) {
-				if (self.scaleValue == 1) self.next();
-				event.preventDefault();
-				event.cancelBubble = true;
-			}, false);
-			self.viewer.addEventListener('swiperight', function(event) {
-				if (self.scaleValue == 1) self.prev();
-				event.preventDefault();
-				event.cancelBubble = true;
-			}, false);
-			//处理缩放开始
-			self.viewer.addEventListener($.EVENT_START, function(event) {
-				var touches = event.touches;
-				if (touches.length == 2) {
-					var p1 = touches[0];
-					var p2 = touches[1];
-					var x = p1.pageX - p2.pageX; //x1-x2
-					var y = p1.pageY - p2.pageY; //y1-y2
-					self.scaleStart = Math.sqrt(x * x + y * y);
-					self.isMultiTouch = true;
-				} else if (touches.length = 1) {
-					self.dragStart = touches[0];
-				}
-			}, false);
-			self.viewer.addEventListener($.EVENT_MOVE, function(event) {
-				var img = self.currentItem.querySelector('img');
-				var touches = event.changedTouches;
-				if (touches.length == 2) {
-					event.preventDefault();
-					event.cancelBubble = true;
-					var p1 = touches[0];
-					var p2 = touches[1];
-					var x = p1.pageX - p2.pageX;
-					var y = p1.pageY - p2.pageY;
-					self.scaleEnd = Math.sqrt(x * x + y * y);
-					self._scaleValue = (self.scaleValue * (self.scaleEnd / self.scaleStart));
-					//self.state.innerText = self._scaleValue;
-					img.style.webkitTransform = "scale(" + self._scaleValue + "," + self._scaleValue + ") "; // + " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
-				} else if (!self.isMultiTouch && touches.length == 1 && self.scaleValue != 1) {
-					event.preventDefault();
-					event.cancelBubble = true;
-					self.dragEnd = touches[0];
-					self._dragX = self.dragX + (self.dragEnd.pageX - self.dragStart.pageX);
-					self._dragY = self.dragY + (self.dragEnd.pageY - self.dragStart.pageY);
-					img.style.marginLeft = self._dragX + 'px';
-					img.style.marginTop = self._dragY + 'px';
-					//img.style.transform = "translate(" + self._dragX + "px," + self._dragY + "px) " + " scale(" + self.scaleValue || 1 + "," + self.scaleValue || 1 + ")";
-				}
-			}, false);
-			self.viewer.addEventListener($.EVENT_END, function() {
-				self.scaleValue = self._scaleValue || self.scaleValue;
-				self._scaleValue = null;
-				self.dragX = self._dragX;
-				self.dragY = self._dragY;
-				self._dragX = null;
-				self._dragY = null;
-				var touches = event.touches;
-				self.isMultiTouch = (touches.length != 0);
-			});
-			// doubletap 好像不能用
-			self.viewer.addEventListener('doubletap', function() {
-				var img = self.currentItem.querySelector('img');
-				if (self.scaleValue === 1) {
-					self.scaleValue = 2;
-				} else {
-					self.scaleValue = 1;
-				}
-				self.dragX = 0;
-				self.dragY = 0;
-				img.style.marginLeft = self.dragX + 'px';
-				img.style.marginTop = self.dragY + 'px';
-				img.style.webkitTransform = "scale(" + self.scaleValue + "," + self.scaleValue + ") "; //+ " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
-				self.viewer.__tap_num = 0;
-			}, false);
-			//处理缩放结束
-		},
-		//下一张图片
-		next: function() {
-			var self = this;
-			self.mask.style.display = 'block';
-			self.index++;
-			var newItem = self.createImage(self.index, 'right');
-			setTimeout(function() {
-				self.currentItem.classList.remove('mui-imageviewer-item-center');
-				self.currentItem.classList.add('mui-imageviewer-item-left');
-				newItem.classList.remove('mui-imageviewer-item-right');
-				newItem.classList.add('mui-imageviewer-item-center');
-				self.oldItem = self.currentItem;
-				self.currentItem = newItem;
-				// TODO: 临时,稍候将调整
-				setTimeout(function() {
-					self.disposeImage();
-					self.mask.style.display = 'none';
-				}, 600);
-			}, 25);
-		},
-		//上一张图片
-		prev: function() {
-			var self = this;
-			self.mask.style.display = 'block';
-			self.index--;
-			var newItem = self.createImage(self.index, 'left');
-			setTimeout(function() {
-				self.currentItem.classList.remove('mui-imageviewer-item-center');
-				self.currentItem.classList.add('mui-imageviewer-item-right');
-				newItem.classList.remove('mui-imageviewer-item-left');
-				newItem.classList.add('mui-imageviewer-item-center');
-				self.oldItem = self.currentItem;
-				self.currentItem = newItem;
-				// TODO: 临时,稍候将调整
-				setTimeout(function() {
-					self.disposeImage();
-					self.mask.style.display = 'none';
-				}, 600);
-			}, 25);
-		},
-		//释放不显示的图片
-		disposeImage: function(all) {
-			var sel = '.mui-imageviewer-item-left,.mui-imageviewer-item-right';
-			if (all) sel += ",.mui-imageviewer-item";
-			var willdisposes = $(sel);
-			willdisposes.each(function(i, item) {
-				if (item.parentNode && item.parentNode.removeChild)
-					item.parentNode.removeChild(item, true);
-			});
-		},
-		//创建一个图片
-		createImage: function(index, type) {
-			var self = this;
-			type = type || 'center';
-			if (index < 0) index = self.images.length - 1;
-			if (index > self.images.length - 1) index = 0;
-			self.index = index;
-			var item = $.dom("<div class='mui-imageviewer-item'></div>")[0];
-			item.appendChild($.dom('<span><img src="' + self.images[self.index].src + '"/></span>')[0]);
-			item.classList.add('mui-imageviewer-item-' + type);
-			self.viewer.appendChild(item);
-			self.state.innerText = (self.index + 1) + "/" + self.images.length;
-			//重置初始缩放比例
-			self.scaleValue = 1;
-			self.dragX = 0;
-			self.dragY = 0;
-			return item;
-		}
-	});
-
-	$.imageViewer = function(selector, options) {
-		return new ImageViewer(selector, options);
-	};
-
-	$.ready(function() {
-		$.imageViewer('.' + imageClassName);
-	});
-
+/**
+ * 图片预览组件
+ * varstion 0.4.0
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+(function($, document) {
+
+	$.init({
+		gestureConfig: {
+			tap: true, //默认为true
+			doubletap: true, //默认为false
+			longtap: true, //默认为false
+			swipe: true, //默认为true
+			drag: true, //默认为true
+			hold: true, //默认为false,不监听
+			release: true //默认为false,不监听
+		}
+	});
+
+	var touchSupport = ('ontouchstart' in document);
+	var tapEventName = touchSupport ? 'tap' : 'click';
+	var enterEventName = touchSupport ? 'tap' : 'click';
+	var imageClassName = $.className('image');
+
+
+	//创建DOM (此函数是否可放在 mui.js 中)
+	$.dom = function(str) {
+		if (!$.__create_dom_div__) {
+			$.__create_dom_div__ = document.createElement('div');
+		}
+		$.__create_dom_div__.innerHTML = str;
+		return $.__create_dom_div__.childNodes;
+	};
+
+	//图片预览组件类
+	var ImageViewer = $.ImageViewer = $.Class.extend({
+		//构造函数
+		init: function(selector, options) {
+			var self = this;
+			self.options = options || {};
+			self.selector = selector || 'img';
+			if (self.options.dbl) {
+				enterEventName = touchSupport ? 'doubletap' : 'dblclick';
+			}
+			self.findAllImage();
+			self.createViewer();
+			self.bindEvent();
+		},
+		//创建图片预览组件的整体 UI
+		createViewer: function() {
+			var self = this;
+			self.viewer = $.dom("<div class='mui-imageviewer'><div class='mui-imageviewer-mask'></div><div class='mui-imageviewer-header'><i class='mui-icon mui-icon-closeempty mui-imageviewer-close'></i><span class='mui-imageviewer-state'></span></div><i class='mui-icon mui-icon-arrowleft  mui-imageviewer-left'></i><i class='mui-icon mui-icon-arrowright mui-imageviewer-right'></i></div>");
+			self.viewer = self.viewer[0] || self.viewer;
+			//self.viewer.style.height = screen.height;
+			self.closeButton = self.viewer.querySelector('.mui-imageviewer-close');
+			self.state = self.viewer.querySelector('.mui-imageviewer-state');
+			self.leftButton = self.viewer.querySelector('.mui-imageviewer-left');
+			self.rightButton = self.viewer.querySelector('.mui-imageviewer-right');
+			self.mask = self.viewer.querySelector('.mui-imageviewer-mask');
+			document.body.appendChild(self.viewer);
+		},
+		//查找所有符合的图片
+		findAllImage: function() {
+			var self = this;
+			self.images = [].slice.call($(self.selector));
+		},
+		//检查图片是否为启动预览的图片
+		checkImage: function(target) {
+			var self = this;
+			if (target.tagName !== 'IMG') return false;
+			return self.images.some(function(image) {
+				return image == target;
+			});
+		},
+		//绑定事件
+		bindEvent: function() {
+			var self = this;
+			//绑定图片 tap 事件
+			document.addEventListener(enterEventName, function(event) {
+				if (!self.viewer) return;
+				var target = event.target;
+				if (!self.checkImage(target)) return;
+				self.viewer.style.display = 'block';
+				setTimeout(function() {
+					self.viewer.style.opacity = 1;
+				}, 0);
+				self.index = self.images.indexOf(target);
+				self.currentItem = self.createImage(self.index);
+			}, false);
+			//关系按钮事件
+			self.closeButton.addEventListener(tapEventName, function(event) {
+				self.viewer.style.opacity = 0;
+				setTimeout(function() {
+					self.viewer.style.display = 'none';
+					self.disposeImage(true);
+				}, 600);
+				event.preventDefault();
+				event.cancelBubble = true;
+			}, false);
+			//处理左右按钮
+			self.leftButton.addEventListener(tapEventName, function() {
+				self.prev();
+			}, false);
+			self.rightButton.addEventListener(tapEventName, function() {
+				self.next();
+			}, false);
+			//处理划动
+			self.mask.addEventListener($.EVENT_MOVE, function(event) {
+				event.preventDefault();
+				event.cancelBubble = true;
+			}, false);
+			self.viewer.addEventListener('swipeleft', function(event) {
+				if (self.scaleValue == 1) self.next();
+				event.preventDefault();
+				event.cancelBubble = true;
+			}, false);
+			self.viewer.addEventListener('swiperight', function(event) {
+				if (self.scaleValue == 1) self.prev();
+				event.preventDefault();
+				event.cancelBubble = true;
+			}, false);
+			//处理缩放开始
+			self.viewer.addEventListener($.EVENT_START, function(event) {
+				var touches = event.touches;
+				if (touches.length == 2) {
+					var p1 = touches[0];
+					var p2 = touches[1];
+					var x = p1.pageX - p2.pageX; //x1-x2
+					var y = p1.pageY - p2.pageY; //y1-y2
+					self.scaleStart = Math.sqrt(x * x + y * y);
+					self.isMultiTouch = true;
+				} else if (touches.length = 1) {
+					self.dragStart = touches[0];
+				}
+			}, false);
+			self.viewer.addEventListener($.EVENT_MOVE, function(event) {
+				var img = self.currentItem.querySelector('img');
+				var touches = event.changedTouches;
+				if (touches.length == 2) {
+					event.preventDefault();
+					event.cancelBubble = true;
+					var p1 = touches[0];
+					var p2 = touches[1];
+					var x = p1.pageX - p2.pageX;
+					var y = p1.pageY - p2.pageY;
+					self.scaleEnd = Math.sqrt(x * x + y * y);
+					self._scaleValue = (self.scaleValue * (self.scaleEnd / self.scaleStart));
+					//self.state.innerText = self._scaleValue;
+					img.style.webkitTransform = "scale(" + self._scaleValue + "," + self._scaleValue + ") "; // + " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
+				} else if (!self.isMultiTouch && touches.length == 1 && self.scaleValue != 1) {
+					event.preventDefault();
+					event.cancelBubble = true;
+					self.dragEnd = touches[0];
+					self._dragX = self.dragX + (self.dragEnd.pageX - self.dragStart.pageX);
+					self._dragY = self.dragY + (self.dragEnd.pageY - self.dragStart.pageY);
+					img.style.marginLeft = self._dragX + 'px';
+					img.style.marginTop = self._dragY + 'px';
+					//img.style.transform = "translate(" + self._dragX + "px," + self._dragY + "px) " + " scale(" + self.scaleValue || 1 + "," + self.scaleValue || 1 + ")";
+				}
+			}, false);
+			self.viewer.addEventListener($.EVENT_END, function() {
+				self.scaleValue = self._scaleValue || self.scaleValue;
+				self._scaleValue = null;
+				self.dragX = self._dragX;
+				self.dragY = self._dragY;
+				self._dragX = null;
+				self._dragY = null;
+				var touches = event.touches;
+				self.isMultiTouch = (touches.length != 0);
+			});
+			// doubletap 好像不能用
+			self.viewer.addEventListener('doubletap', function() {
+				var img = self.currentItem.querySelector('img');
+				if (self.scaleValue === 1) {
+					self.scaleValue = 2;
+				} else {
+					self.scaleValue = 1;
+				}
+				self.dragX = 0;
+				self.dragY = 0;
+				img.style.marginLeft = self.dragX + 'px';
+				img.style.marginTop = self.dragY + 'px';
+				img.style.webkitTransform = "scale(" + self.scaleValue + "," + self.scaleValue + ") "; //+ " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
+				self.viewer.__tap_num = 0;
+			}, false);
+			//处理缩放结束
+		},
+		//下一张图片
+		next: function() {
+			var self = this;
+			self.mask.style.display = 'block';
+			self.index++;
+			var newItem = self.createImage(self.index, 'right');
+			setTimeout(function() {
+				self.currentItem.classList.remove('mui-imageviewer-item-center');
+				self.currentItem.classList.add('mui-imageviewer-item-left');
+				newItem.classList.remove('mui-imageviewer-item-right');
+				newItem.classList.add('mui-imageviewer-item-center');
+				self.oldItem = self.currentItem;
+				self.currentItem = newItem;
+				// TODO: 临时,稍候将调整
+				setTimeout(function() {
+					self.disposeImage();
+					self.mask.style.display = 'none';
+				}, 600);
+			}, 25);
+		},
+		//上一张图片
+		prev: function() {
+			var self = this;
+			self.mask.style.display = 'block';
+			self.index--;
+			var newItem = self.createImage(self.index, 'left');
+			setTimeout(function() {
+				self.currentItem.classList.remove('mui-imageviewer-item-center');
+				self.currentItem.classList.add('mui-imageviewer-item-right');
+				newItem.classList.remove('mui-imageviewer-item-left');
+				newItem.classList.add('mui-imageviewer-item-center');
+				self.oldItem = self.currentItem;
+				self.currentItem = newItem;
+				// TODO: 临时,稍候将调整
+				setTimeout(function() {
+					self.disposeImage();
+					self.mask.style.display = 'none';
+				}, 600);
+			}, 25);
+		},
+		//释放不显示的图片
+		disposeImage: function(all) {
+			var sel = '.mui-imageviewer-item-left,.mui-imageviewer-item-right';
+			if (all) sel += ",.mui-imageviewer-item";
+			var willdisposes = $(sel);
+			willdisposes.each(function(i, item) {
+				if (item.parentNode && item.parentNode.removeChild)
+					item.parentNode.removeChild(item, true);
+			});
+		},
+		//创建一个图片
+		createImage: function(index, type) {
+			var self = this;
+			type = type || 'center';
+			if (index < 0) index = self.images.length - 1;
+			if (index > self.images.length - 1) index = 0;
+			self.index = index;
+			var item = $.dom("<div class='mui-imageviewer-item'></div>")[0];
+			item.appendChild($.dom('<span><img src="' + self.images[self.index].src + '"/></span>')[0]);
+			item.classList.add('mui-imageviewer-item-' + type);
+			self.viewer.appendChild(item);
+			self.state.innerText = (self.index + 1) + "/" + self.images.length;
+			//重置初始缩放比例
+			self.scaleValue = 1;
+			self.dragX = 0;
+			self.dragY = 0;
+			return item;
+		}
+	});
+
+	$.imageViewer = function(selector, options) {
+		return new ImageViewer(selector, options);
+	};
+
+	$.ready(function() {
+		$.imageViewer('.' + imageClassName);
+	});
+
 }(mui, document));

+ 115 - 115
aiberle/js/mui.lazyload.img.js

@@ -1,116 +1,116 @@
-(function($, window, document) {
-	var ImageLazyload = $.Lazyload.extend({
-		init: function(element, options) {
-			this._super(element, options);
-		},
-		_init: function() {
-			this.options.selector = '[data-lazyload]';
-			this._super();
-		},
-		_set: function(element, uri) {
-			if (element.tagName === 'IMG') {
-				element.src = uri;
-			} else {
-				element.style.backgroundImage = "url(" + uri + ")";
-			}
-		},
-		_hasPlaceholder: function(element) {
-			if (element.offsetWidth) {
-				if (element.tagName === 'IMG') {
-					return !!element.src;
-				} else {
-					return !!element.style.backgroundImage;
-				}
-			}
-			return false;
-		},
-		_addPlaceHolder: function(element) {
-			var self = this;
-			if (element.tagName === 'IMG') {
-				self._counter++;
-				element.onload = function() {
-					self._counter--;
-					self.addCallback(element, self.handle);
-					this.onload = null;
-				};
-				self.onPlaceHolder(function(placeholder) {
-					self._set(element, placeholder);
-				});
-			} else {
-				element.style.backgroundImage = "url(" + self.options.placeholder + ")";
-			}
-		},
-		addElement: function(element) {
-			var self = this;
-			var uri = element.getAttribute('data-lazyload');
-			if (uri) {
-				if (self._hasPlaceholder(element)) {
-					self.addCallback(element, self.handle);
-				} else {
-					self.onPlaceHolder = self._createLoader(function(callback) {
-						var img = new Image();
-						var placeholder = self.options.placeholder;
-						img.src = placeholder;
-						img.onload = img.onerror = function() {
-							callback(placeholder);
-						};
-					});
-					self._addPlaceHolder(element);
-				}
-				return true;
-			}
-			return false;
-		},
-		set: function(element, uri) {
-			var self = this;
-			var img = new Image();
-			img.onload = function() {
-				self._set(element, uri);
-				$.trigger(self.element, 'success', {
-					element: element,
-					uri: uri
-				});
-			};
-			img.onerror = function() {
-				$.trigger(self.element, 'error', {
-					element: element,
-					uri: uri
-				});
-			};
-			img.src = uri;
-			element.removeAttribute('data-lazyload'); //只尝试一次,后续可能支持多次尝试
-		},
-		handle: function(element, key) {
-			var uri = element.getAttribute('data-lazyload');
-			if (uri) {
-				this.set(element, uri);
-				//element.parentNode.parentNode.setAttribute('data-lazyload', 'true'); //debug
-			}
-		},
-		destroy: function() {
-			this._super();
-			this.element.removeAttribute('data-imageLazyload');
-		}
-
-	});
-	$.fn.imageLazyload = function(options) {
-		var lazyloadApis = [];
-		this.each(function() {
-			var self = this;
-			var lazyloadApi = null;
-			if (self === document || self === window) {
-				self = document.body;
-			}
-			var id = self.getAttribute('data-imageLazyload');
-			if (!id) {
-				id = ++$.uuid;
-				$.data[id] = lazyloadApi = new ImageLazyload(self, options);
-				self.setAttribute('data-imageLazyload', id);
-			} else {
-				lazyloadApi = $.data[id];
-			}
-			lazyloadApis.push(lazyloadApi);
-		});
-		return lazyloadApis.length === 1 ? lazyloadApis[0] : lazyloadApis;
-	}
+(function($, window, document) {
+	var ImageLazyload = $.Lazyload.extend({
+		init: function(element, options) {
+			this._super(element, options);
+		},
+		_init: function() {
+			this.options.selector = '[data-lazyload]';
+			this._super();
+		},
+		_set: function(element, uri) {
+			if (element.tagName === 'IMG') {
+				element.src = uri;
+			} else {
+				element.style.backgroundImage = "url(" + uri + ")";
+			}
+		},
+		_hasPlaceholder: function(element) {
+			if (element.offsetWidth) {
+				if (element.tagName === 'IMG') {
+					return !!element.src;
+				} else {
+					return !!element.style.backgroundImage;
+				}
+			}
+			return false;
+		},
+		_addPlaceHolder: function(element) {
+			var self = this;
+			if (element.tagName === 'IMG') {
+				self._counter++;
+				element.onload = function() {
+					self._counter--;
+					self.addCallback(element, self.handle);
+					this.onload = null;
+				};
+				self.onPlaceHolder(function(placeholder) {
+					self._set(element, placeholder);
+				});
+			} else {
+				element.style.backgroundImage = "url(" + self.options.placeholder + ")";
+			}
+		},
+		addElement: function(element) {
+			var self = this;
+			var uri = element.getAttribute('data-lazyload');
+			if (uri) {
+				if (self._hasPlaceholder(element)) {
+					self.addCallback(element, self.handle);
+				} else {
+					self.onPlaceHolder = self._createLoader(function(callback) {
+						var img = new Image();
+						var placeholder = self.options.placeholder;
+						img.src = placeholder;
+						img.onload = img.onerror = function() {
+							callback(placeholder);
+						};
+					});
+					self._addPlaceHolder(element);
+				}
+				return true;
+			}
+			return false;
+		},
+		set: function(element, uri) {
+			var self = this;
+			var img = new Image();
+			img.onload = function() {
+				self._set(element, uri);
+				$.trigger(self.element, 'success', {
+					element: element,
+					uri: uri
+				});
+			};
+			img.onerror = function() {
+				$.trigger(self.element, 'error', {
+					element: element,
+					uri: uri
+				});
+			};
+			img.src = uri;
+			element.removeAttribute('data-lazyload'); //只尝试一次,后续可能支持多次尝试
+		},
+		handle: function(element, key) {
+			var uri = element.getAttribute('data-lazyload');
+			if (uri) {
+				this.set(element, uri);
+				//element.parentNode.parentNode.setAttribute('data-lazyload', 'true'); //debug
+			}
+		},
+		destroy: function() {
+			this._super();
+			this.element.removeAttribute('data-imageLazyload');
+		}
+
+	});
+	$.fn.imageLazyload = function(options) {
+		var lazyloadApis = [];
+		this.each(function() {
+			var self = this;
+			var lazyloadApi = null;
+			if (self === document || self === window) {
+				self = document.body;
+			}
+			var id = self.getAttribute('data-imageLazyload');
+			if (!id) {
+				id = ++$.uuid;
+				$.data[id] = lazyloadApi = new ImageLazyload(self, options);
+				self.setAttribute('data-imageLazyload', id);
+			} else {
+				lazyloadApi = $.data[id];
+			}
+			lazyloadApis.push(lazyloadApi);
+		});
+		return lazyloadApis.length === 1 ? lazyloadApis[0] : lazyloadApis;
+	}
 })(mui, window, document);

+ 326 - 326
aiberle/js/mui.lazyload.js

@@ -1,327 +1,327 @@
-(function($, window, document) {
-	var mid = 0;
-	$.Lazyload = $.Class.extend({
-		init: function(element, options) {
-			var self = this;
-			this.container = this.element = element;
-			//			placeholder //默认图片
-			this.options = $.extend({
-				selector: '', //查询哪些元素需要lazyload
-				diff: false, //距离视窗底部多少像素出发lazyload
-				force: false, //强制加载(不论元素是否在是视窗内)
-				autoDestroy: true, //元素加载完后是否自动销毁当前插件对象
-				duration: 100 //滑动停止多久后开始加载
-			}, options);
-
-			this._key = 0;
-			this._containerIsNotDocument = this.container.nodeType !== 9;
-			this._callbacks = {};
-
-			this._init();
-		},
-		_init: function() {
-			this._initLoadFn();
-
-			this.addElements();
-
-			this._loadFn();
-
-			$.ready(function() {
-				this._loadFn();
-			}.bind(this));
-
-			this.resume();
-		},
-		_initLoadFn: function() {
-			var self = this;
-			self._loadFn = this._buffer(function() { // 加载延迟项
-				if(self.options.autoDestroy && self._counter == 0 && $.isEmptyObject(self._callbacks)) {
-					self.destroy();
-				}
-				self._loadItems();
-			}, self.options.duration, self);
-		},
-		/**
-		 *根据加载函数实现加载器
-		 *@param {Function} load 加载函数
-		 *@returns {Function} 加载器
-		 */
-		_createLoader: function(load) {
-			var value, loading, handles = [],
-				h;
-			return function(handle) {
-				if(!loading) {
-					loading = true;
-					load(function(v) {
-						value = v;
-						while(h = handles.shift()) {
-							try {
-								h && h.apply(null, [value]);
-							} catch(e) {
-								setTimeout(function() {
-									throw e;
-								}, 0)
-							}
-						}
-					})
-				}
-				if(value) {
-					handle && handle.apply(null, [value]);
-					return value;
-				}
-				handle && handles.push(handle);
-				return value;
-			}
-		},
-		_buffer: function(fn, ms, context) {
-			var timer;
-			var lastStart = 0;
-			var lastEnd = 0;
-			var ms = ms || 150;
-
-			function run() {
-				if(timer) {
-					timer.cancel();
-					timer = 0;
-				}
-				lastStart = $.now();
-				fn.apply(context || this, arguments);
-				lastEnd = $.now();
-			}
-
-			return $.extend(function() {
-				if(
-					(!lastStart) || // 从未运行过
-					(lastEnd >= lastStart && $.now() - lastEnd > ms) || // 上次运行成功后已经超过ms毫秒
-					(lastEnd < lastStart && $.now() - lastStart > ms * 8) // 上次运行或未完成,后8*ms毫秒
-				) {
-					run();
-				} else {
-					if(timer) {
-						timer.cancel();
-					}
-					timer = $.later(run, ms, null, arguments);
-				}
-			}, {
-				stop: function() {
-					if(timer) {
-						timer.cancel();
-						timer = 0;
-					}
-				}
-			});
-		},
-		_getBoundingRect: function(c) {
-			var vh, vw, left, top;
-
-			if(c !== undefined) {
-				vh = c.offsetHeight;
-				vw = c.offsetWidth;
-				var offset = $.offset(c);
-				left = offset.left;
-				top = offset.top;
-			} else {
-				vh = window.innerHeight;
-				vw = window.innerWidth;
-				left = 0;
-				top = window.pageYOffset;
-			}
-
-			var diff = this.options.diff;
-
-			var diffX = diff === false ? vw : diff;
-			var diffX0 = 0;
-			var diffX1 = diffX;
-
-			var diffY = diff === false ? vh : diff;
-			var diffY0 = 0;
-			var diffY1 = diffY;
-
-			var right = left + vw;
-			var bottom = top + vh;
-
-			left -= diffX0;
-			right += diffX1;
-			top -= diffY0;
-			bottom += diffY1;
-			return {
-				left: left,
-				top: top,
-				right: right,
-				bottom: bottom
-			};
-		},
-		_cacheWidth: function(el) {
-			if(el._mui_lazy_width) {
-				return el._mui_lazy_width;
-			}
-			return el._mui_lazy_width = el.offsetWidth;
-		},
-		_cacheHeight: function(el) {
-			if(el._mui_lazy_height) {
-				return el._mui_lazy_height;
-			}
-			return el._mui_lazy_height = el.offsetHeight;
-		},
-		_isCross: function(r1, r2) {
-			var r = {};
-			r.top = Math.max(r1.top, r2.top);
-			r.bottom = Math.min(r1.bottom, r2.bottom);
-			r.left = Math.max(r1.left, r2.left);
-			r.right = Math.min(r1.right, r2.right);
-			return r.bottom >= r.top && r.right >= r.left;
-		},
-		_elementInViewport: function(elem, windowRegion, containerRegion) {
-			// display none or inside display none
-			if(!elem.offsetWidth) {
-				return false;
-			}
-			var elemOffset = $.offset(elem);
-			var inContainer = true;
-			var inWin;
-			var left = elemOffset.left;
-			var top = elemOffset.top;
-			var elemRegion = {
-				left: left,
-				top: top,
-				right: left + this._cacheWidth(elem),
-				bottom: top + this._cacheHeight(elem)
-			};
-
-			inWin = this._isCross(windowRegion, elemRegion);
-
-			if(inWin && containerRegion) {
-				inContainer = this._isCross(containerRegion, elemRegion);
-			}
-			// 确保在容器内出现
-			// 并且在视窗内也出现
-			return inContainer && inWin;
-		},
-		_loadItems: function() {
-			var self = this;
-			// container is display none
-			if(self._containerIsNotDocument && !self.container.offsetWidth) {
-				return;
-			}
-			self._windowRegion = self._getBoundingRect();
-
-			if(self._containerIsNotDocument) {
-				self._containerRegion = self._getBoundingRect(this.container);
-			}
-			$.each(self._callbacks, function(key, callback) {
-				callback && self._loadItem(key, callback);
-			});
-		},
-		_loadItem: function(key, callback) {
-			var self = this;
-			callback = callback || self._callbacks[key];
-			if(!callback) {
-				return true;
-			}
-			var el = callback.el;
-			var remove = false;
-			var fn = callback.fn;
-			if(self.options.force || self._elementInViewport(el, self._windowRegion, self._containerRegion)) {
-				try {
-					remove = fn.call(self, el, key);
-				} catch(e) {
-					setTimeout(function() {
-						throw e;
-					}, 0);
-				}
-			}
-			if(remove !== false) {
-				delete self._callbacks[key];
-			}
-			return remove;
-		},
-		addCallback: function(el, fn) {
-			var self = this;
-			var callbacks = self._callbacks;
-			var callback = {
-				el: el,
-				fn: fn || $.noop
-			};
-			var key = ++this._key;
-			callbacks[key] = callback;
-
-			// add 立即检测,防止首屏元素问题
-			if(self._windowRegion) {
-				self._loadItem(key, callback);
-			} else {
-				self.refresh();
-			}
-		},
-		addElements: function(elements) {
-			var self = this;
-			self._counter = self._counter || 0;
-			var lazyloads = [];
-			if(!elements && self.options.selector) {
-				lazyloads = self.container.querySelectorAll(self.options.selector);
-			} else {
-				$.each(elements, function(index, el) {
-					lazyloads = lazyloads.concat($.qsa(self.options.selector, el));
-				});
-			}
-			//addElements时,自动初始化一次
-			if(self._containerIsNotDocument) {
-				self._containerRegion = self._getBoundingRect(self.container);
-			}
-			$.each(lazyloads, function(index, el) {
-				if(!el.getAttribute('data-lazyload-id')) {
-					if(self.addElement(el)) {
-						el.setAttribute('data-lazyload-id', mid++);
-						self.addCallback(el, self.handle);
-					}
-				}
-			});
-		},
-		addElement: function(el) {
-			return true;
-		},
-		handle: function() {
-			//throw new Error('需子类实现');
-		},
-		refresh: function(check) {
-			if(check) { //检查新的lazyload
-				this.addElements();
-			}
-			this._loadFn();
-		},
-		pause: function() {
-			var load = this._loadFn;
-			if(this._destroyed) {
-				return;
-			}
-			window.removeEventListener('scroll', load);
-			window.removeEventListener($.EVENT_MOVE, load);
-			window.removeEventListener('resize', load);
-			if(this._containerIsNotDocument) {
-				this.container.removeEventListener('scrollend', load);
-				this.container.removeEventListener('scroll', load);
-				this.container.removeEventListener($.EVENT_MOVE, load);
-			}
-		},
-		resume: function() {
-			var load = this._loadFn;
-			if(this._destroyed) {
-				return;
-			}
-			window.addEventListener('scroll', load, false);
-			window.addEventListener($.EVENT_MOVE, load, false);
-			window.addEventListener('resize', load, false);
-			if(this._containerIsNotDocument) {
-				this.container.addEventListener('scrollend', load, false);
-				this.container.addEventListener('scroll', load, false);
-				this.container.addEventListener($.EVENT_MOVE, load, false);
-			}
-		},
-		destroy: function() {
-			var self = this;
-			self.pause();
-			self._callbacks = {};
-			$.trigger(this.container, 'destroy', self);
-			self._destroyed = 1;
-		}
-	});
+(function($, window, document) {
+	var mid = 0;
+	$.Lazyload = $.Class.extend({
+		init: function(element, options) {
+			var self = this;
+			this.container = this.element = element;
+			//			placeholder //默认图片
+			this.options = $.extend({
+				selector: '', //查询哪些元素需要lazyload
+				diff: false, //距离视窗底部多少像素出发lazyload
+				force: false, //强制加载(不论元素是否在是视窗内)
+				autoDestroy: true, //元素加载完后是否自动销毁当前插件对象
+				duration: 100 //滑动停止多久后开始加载
+			}, options);
+
+			this._key = 0;
+			this._containerIsNotDocument = this.container.nodeType !== 9;
+			this._callbacks = {};
+
+			this._init();
+		},
+		_init: function() {
+			this._initLoadFn();
+
+			this.addElements();
+
+			this._loadFn();
+
+			$.ready(function() {
+				this._loadFn();
+			}.bind(this));
+
+			this.resume();
+		},
+		_initLoadFn: function() {
+			var self = this;
+			self._loadFn = this._buffer(function() { // 加载延迟项
+				if(self.options.autoDestroy && self._counter == 0 && $.isEmptyObject(self._callbacks)) {
+					self.destroy();
+				}
+				self._loadItems();
+			}, self.options.duration, self);
+		},
+		/**
+		 *根据加载函数实现加载器
+		 *@param {Function} load 加载函数
+		 *@returns {Function} 加载器
+		 */
+		_createLoader: function(load) {
+			var value, loading, handles = [],
+				h;
+			return function(handle) {
+				if(!loading) {
+					loading = true;
+					load(function(v) {
+						value = v;
+						while(h = handles.shift()) {
+							try {
+								h && h.apply(null, [value]);
+							} catch(e) {
+								setTimeout(function() {
+									throw e;
+								}, 0)
+							}
+						}
+					})
+				}
+				if(value) {
+					handle && handle.apply(null, [value]);
+					return value;
+				}
+				handle && handles.push(handle);
+				return value;
+			}
+		},
+		_buffer: function(fn, ms, context) {
+			var timer;
+			var lastStart = 0;
+			var lastEnd = 0;
+			var ms = ms || 150;
+
+			function run() {
+				if(timer) {
+					timer.cancel();
+					timer = 0;
+				}
+				lastStart = $.now();
+				fn.apply(context || this, arguments);
+				lastEnd = $.now();
+			}
+
+			return $.extend(function() {
+				if(
+					(!lastStart) || // 从未运行过
+					(lastEnd >= lastStart && $.now() - lastEnd > ms) || // 上次运行成功后已经超过ms毫秒
+					(lastEnd < lastStart && $.now() - lastStart > ms * 8) // 上次运行或未完成,后8*ms毫秒
+				) {
+					run();
+				} else {
+					if(timer) {
+						timer.cancel();
+					}
+					timer = $.later(run, ms, null, arguments);
+				}
+			}, {
+				stop: function() {
+					if(timer) {
+						timer.cancel();
+						timer = 0;
+					}
+				}
+			});
+		},
+		_getBoundingRect: function(c) {
+			var vh, vw, left, top;
+
+			if(c !== undefined) {
+				vh = c.offsetHeight;
+				vw = c.offsetWidth;
+				var offset = $.offset(c);
+				left = offset.left;
+				top = offset.top;
+			} else {
+				vh = window.innerHeight;
+				vw = window.innerWidth;
+				left = 0;
+				top = window.pageYOffset;
+			}
+
+			var diff = this.options.diff;
+
+			var diffX = diff === false ? vw : diff;
+			var diffX0 = 0;
+			var diffX1 = diffX;
+
+			var diffY = diff === false ? vh : diff;
+			var diffY0 = 0;
+			var diffY1 = diffY;
+
+			var right = left + vw;
+			var bottom = top + vh;
+
+			left -= diffX0;
+			right += diffX1;
+			top -= diffY0;
+			bottom += diffY1;
+			return {
+				left: left,
+				top: top,
+				right: right,
+				bottom: bottom
+			};
+		},
+		_cacheWidth: function(el) {
+			if(el._mui_lazy_width) {
+				return el._mui_lazy_width;
+			}
+			return el._mui_lazy_width = el.offsetWidth;
+		},
+		_cacheHeight: function(el) {
+			if(el._mui_lazy_height) {
+				return el._mui_lazy_height;
+			}
+			return el._mui_lazy_height = el.offsetHeight;
+		},
+		_isCross: function(r1, r2) {
+			var r = {};
+			r.top = Math.max(r1.top, r2.top);
+			r.bottom = Math.min(r1.bottom, r2.bottom);
+			r.left = Math.max(r1.left, r2.left);
+			r.right = Math.min(r1.right, r2.right);
+			return r.bottom >= r.top && r.right >= r.left;
+		},
+		_elementInViewport: function(elem, windowRegion, containerRegion) {
+			// display none or inside display none
+			if(!elem.offsetWidth) {
+				return false;
+			}
+			var elemOffset = $.offset(elem);
+			var inContainer = true;
+			var inWin;
+			var left = elemOffset.left;
+			var top = elemOffset.top;
+			var elemRegion = {
+				left: left,
+				top: top,
+				right: left + this._cacheWidth(elem),
+				bottom: top + this._cacheHeight(elem)
+			};
+
+			inWin = this._isCross(windowRegion, elemRegion);
+
+			if(inWin && containerRegion) {
+				inContainer = this._isCross(containerRegion, elemRegion);
+			}
+			// 确保在容器内出现
+			// 并且在视窗内也出现
+			return inContainer && inWin;
+		},
+		_loadItems: function() {
+			var self = this;
+			// container is display none
+			if(self._containerIsNotDocument && !self.container.offsetWidth) {
+				return;
+			}
+			self._windowRegion = self._getBoundingRect();
+
+			if(self._containerIsNotDocument) {
+				self._containerRegion = self._getBoundingRect(this.container);
+			}
+			$.each(self._callbacks, function(key, callback) {
+				callback && self._loadItem(key, callback);
+			});
+		},
+		_loadItem: function(key, callback) {
+			var self = this;
+			callback = callback || self._callbacks[key];
+			if(!callback) {
+				return true;
+			}
+			var el = callback.el;
+			var remove = false;
+			var fn = callback.fn;
+			if(self.options.force || self._elementInViewport(el, self._windowRegion, self._containerRegion)) {
+				try {
+					remove = fn.call(self, el, key);
+				} catch(e) {
+					setTimeout(function() {
+						throw e;
+					}, 0);
+				}
+			}
+			if(remove !== false) {
+				delete self._callbacks[key];
+			}
+			return remove;
+		},
+		addCallback: function(el, fn) {
+			var self = this;
+			var callbacks = self._callbacks;
+			var callback = {
+				el: el,
+				fn: fn || $.noop
+			};
+			var key = ++this._key;
+			callbacks[key] = callback;
+
+			// add 立即检测,防止首屏元素问题
+			if(self._windowRegion) {
+				self._loadItem(key, callback);
+			} else {
+				self.refresh();
+			}
+		},
+		addElements: function(elements) {
+			var self = this;
+			self._counter = self._counter || 0;
+			var lazyloads = [];
+			if(!elements && self.options.selector) {
+				lazyloads = self.container.querySelectorAll(self.options.selector);
+			} else {
+				$.each(elements, function(index, el) {
+					lazyloads = lazyloads.concat($.qsa(self.options.selector, el));
+				});
+			}
+			//addElements时,自动初始化一次
+			if(self._containerIsNotDocument) {
+				self._containerRegion = self._getBoundingRect(self.container);
+			}
+			$.each(lazyloads, function(index, el) {
+				if(!el.getAttribute('data-lazyload-id')) {
+					if(self.addElement(el)) {
+						el.setAttribute('data-lazyload-id', mid++);
+						self.addCallback(el, self.handle);
+					}
+				}
+			});
+		},
+		addElement: function(el) {
+			return true;
+		},
+		handle: function() {
+			//throw new Error('需子类实现');
+		},
+		refresh: function(check) {
+			if(check) { //检查新的lazyload
+				this.addElements();
+			}
+			this._loadFn();
+		},
+		pause: function() {
+			var load = this._loadFn;
+			if(this._destroyed) {
+				return;
+			}
+			window.removeEventListener('scroll', load);
+			window.removeEventListener($.EVENT_MOVE, load);
+			window.removeEventListener('resize', load);
+			if(this._containerIsNotDocument) {
+				this.container.removeEventListener('scrollend', load);
+				this.container.removeEventListener('scroll', load);
+				this.container.removeEventListener($.EVENT_MOVE, load);
+			}
+		},
+		resume: function() {
+			var load = this._loadFn;
+			if(this._destroyed) {
+				return;
+			}
+			window.addEventListener('scroll', load, false);
+			window.addEventListener($.EVENT_MOVE, load, false);
+			window.addEventListener('resize', load, false);
+			if(this._containerIsNotDocument) {
+				this.container.addEventListener('scrollend', load, false);
+				this.container.addEventListener('scroll', load, false);
+				this.container.addEventListener($.EVENT_MOVE, load, false);
+			}
+		},
+		destroy: function() {
+			var self = this;
+			self.pause();
+			self._callbacks = {};
+			$.trigger(this.container, 'destroy', self);
+			self._destroyed = 1;
+		}
+	});
 })(mui, window, document);

文件差异内容过多而无法显示
+ 8 - 8
aiberle/js/mui.min.js


+ 388 - 388
aiberle/js/mui.picker.js

@@ -1,389 +1,389 @@
-/**
- * 选择列表插件
- * varstion 2.0.0
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-(function($, window, document, undefined) {
-
-	var MAX_EXCEED = 30;
-	var VISIBLE_RANGE = 90;
-	var DEFAULT_ITEM_HEIGHT = 40;
-	var BLUR_WIDTH = 10;
-
-	var rad2deg = $.rad2deg = function(rad) {
-		return rad / (Math.PI / 180);
-	};
-
-	var deg2rad = $.deg2rad = function(deg) {
-		return deg * (Math.PI / 180);
-	};
-
-	var platform = navigator.platform.toLowerCase();
-	var userAgent = navigator.userAgent.toLowerCase();
-	var isIos = (userAgent.indexOf('iphone') > -1 ||
-			userAgent.indexOf('ipad') > -1 ||
-			userAgent.indexOf('ipod') > -1) &&
-		(platform.indexOf('iphone') > -1 ||
-			platform.indexOf('ipad') > -1 ||
-			platform.indexOf('ipod') > -1);
-	//alert(isIos);
-
-	var Picker = $.Picker = function(holder, options) {
-		var self = this;
-		self.holder = holder;
-		self.options = options || {};
-		self.init();
-		self.initInertiaParams();
-		self.calcElementItemPostion(true);
-		self.bindEvent();
-	};
-
-	Picker.prototype.findElementItems = function() {
-		var self = this;
-		self.elementItems = [].slice.call(self.holder.querySelectorAll('li'));
-		return self.elementItems;
-	};
-
-	Picker.prototype.init = function() {
-		var self = this;
-		self.list = self.holder.querySelector('ul');
-		self.findElementItems();
-		self.height = self.holder.offsetHeight;
-		self.r = self.height / 2 - BLUR_WIDTH;
-		self.d = self.r * 2;
-		self.itemHeight = self.elementItems.length > 0 ? self.elementItems[0].offsetHeight : DEFAULT_ITEM_HEIGHT;
-		self.itemAngle = parseInt(self.calcAngle(self.itemHeight * 0.8));
-		self.hightlightRange = self.itemAngle / 2;
-		self.visibleRange = VISIBLE_RANGE;
-		self.beginAngle = 0;
-		self.beginExceed = self.beginAngle - MAX_EXCEED;
-		self.list.angle = self.beginAngle;
-		if (isIos) {
-			self.list.style.webkitTransformOrigin = "center center " + self.r + "px";
-		}
-	};
-
-	Picker.prototype.calcElementItemPostion = function(andGenerateItms) {
-		var self = this;
-		if (andGenerateItms) {
-			self.items = [];
-		}
-		self.elementItems.forEach(function(item) {
-			var index = self.elementItems.indexOf(item);
-			self.endAngle = self.itemAngle * index;
-			item.angle = self.endAngle;
-			item.style.webkitTransformOrigin = "center center -" + self.r + "px";
-			item.style.webkitTransform = "translateZ(" + self.r + "px) rotateX(" + (-self.endAngle) + "deg)";
-			if (andGenerateItms) {
-				var dataItem = {};
-				dataItem.text = item.innerHTML || '';
-				dataItem.value = item.getAttribute('data-value') || dataItem.text;
-				self.items.push(dataItem);
-			}
-		});
-		self.endExceed = self.endAngle + MAX_EXCEED;
-		self.calcElementItemVisibility(self.beginAngle);
-	};
-
-	Picker.prototype.calcAngle = function(c) {
-		var self = this;
-		var a = b = parseFloat(self.r);
-		//直径的整倍数部分直接乘以 180
-		c = Math.abs(c); //只算角度不关心正否值
-		var intDeg = parseInt(c / self.d) * 180;
-		c = c % self.d;
-		//余弦
-		var cosC = (a * a + b * b - c * c) / (2 * a * b);
-		var angleC = intDeg + rad2deg(Math.acos(cosC));
-		return angleC;
-	};
-
-	Picker.prototype.calcElementItemVisibility = function(angle) {
-		var self = this;
-		self.elementItems.forEach(function(item) {
-			var difference = Math.abs(item.angle - angle);
-			if (difference < self.hightlightRange) {
-				item.classList.add('highlight');
-			} else if (difference < self.visibleRange) {
-				item.classList.add('visible');
-				item.classList.remove('highlight');
-			} else {
-				item.classList.remove('highlight');
-				item.classList.remove('visible');
-			}
-		});
-	};
-
-	Picker.prototype.setAngle = function(angle) {
-		var self = this;
-		self.list.angle = angle;
-		self.list.style.webkitTransform = "perspective(1000px) rotateY(0deg) rotateX(" + angle + "deg)";
-		self.calcElementItemVisibility(angle);
-	};
-
-	Picker.prototype.bindEvent = function() {
-		var self = this;
-		var lastAngle = 0;
-		var startY = null;
-		var isPicking = false;
-		self.holder.addEventListener($.EVENT_START, function(event) {
-			isPicking = true;
-			event.preventDefault();
-			self.list.style.webkitTransition = '';
-			startY = (event.changedTouches ? event.changedTouches[0] : event).pageY;
-			lastAngle = self.list.angle;
-			self.updateInertiaParams(event, true);
-		}, false);
-		self.holder.addEventListener($.EVENT_END, function(event) {
-			isPicking = false;
-			event.preventDefault();
-			self.startInertiaScroll(event);
-		}, false);
-		self.holder.addEventListener($.EVENT_CANCEL, function(event) {
-			isPicking = false;
-			event.preventDefault();
-			self.startInertiaScroll(event);
-		}, false);
-		self.holder.addEventListener($.EVENT_MOVE, function(event) {
-			if (!isPicking) {
-				return;
-			}
-			event.preventDefault();
-			var endY = (event.changedTouches ? event.changedTouches[0] : event).pageY;
-			var dragRange = endY - startY;
-			var dragAngle = self.calcAngle(dragRange);
-			var newAngle = dragRange > 0 ? lastAngle - dragAngle : lastAngle + dragAngle;
-			if (newAngle > self.endExceed) {
-				newAngle = self.endExceed
-			}
-			if (newAngle < self.beginExceed) {
-				newAngle = self.beginExceed
-			}
-			self.setAngle(newAngle);
-			self.updateInertiaParams(event);
-		}, false);
-		//--
-		self.list.addEventListener('tap', function(event) {
-			elementItem = event.target;
-			if (elementItem.tagName == 'LI') {
-				self.setSelectedIndex(self.elementItems.indexOf(elementItem), 200);
-			}
-		}, false);
-	};
-
-	Picker.prototype.initInertiaParams = function() {
-		var self = this;
-		self.lastMoveTime = 0;
-		self.lastMoveStart = 0;
-		self.stopInertiaMove = false;
-	};
-
-	Picker.prototype.updateInertiaParams = function(event, isStart) {
-		var self = this;
-		var point = event.changedTouches ? event.changedTouches[0] : event;
-		if (isStart) {
-			self.lastMoveStart = point.pageY;
-			self.lastMoveTime = event.timeStamp || Date.now();
-			self.startAngle = self.list.angle;
-		} else {
-			var nowTime = event.timeStamp || Date.now();
-			if (nowTime - self.lastMoveTime > 300) {
-				self.lastMoveTime = nowTime;
-				self.lastMoveStart = point.pageY;
-			}
-		}
-		self.stopInertiaMove = true;
-	};
-
-	Picker.prototype.startInertiaScroll = function(event) {
-		var self = this;
-		var point = event.changedTouches ? event.changedTouches[0] : event;
-		/** 
-		 * 缓动代码
-		 */
-		var nowTime = event.timeStamp || Date.now();
-		var v = (point.pageY - self.lastMoveStart) / (nowTime - self.lastMoveTime); //最后一段时间手指划动速度  
-		var dir = v > 0 ? -1 : 1; //加速度方向  
-		var deceleration = dir * 0.0006 * -1;
-		var duration = Math.abs(v / deceleration); // 速度消减至0所需时间  
-		var dist = v * duration / 2; //最终移动多少 
-		var startAngle = self.list.angle;
-		var distAngle = self.calcAngle(dist) * dir;
-		//----
-		var srcDistAngle = distAngle;
-		if (startAngle + distAngle < self.beginExceed) {
-			distAngle = self.beginExceed - startAngle;
-			duration = duration * (distAngle / srcDistAngle) * 0.6;
-		}
-		if (startAngle + distAngle > self.endExceed) {
-			distAngle = self.endExceed - startAngle;
-			duration = duration * (distAngle / srcDistAngle) * 0.6;
-		}
-		//----
-		if (distAngle == 0) {
-			self.endScroll();
-			return;
-		}
-		self.scrollDistAngle(nowTime, startAngle, distAngle, duration);
-	};
-
-	Picker.prototype.scrollDistAngle = function(nowTime, startAngle, distAngle, duration) {
-		var self = this;
-		self.stopInertiaMove = false;
-		(function(nowTime, startAngle, distAngle, duration) {
-			var frameInterval = 13;
-			var stepCount = duration / frameInterval;
-			var stepIndex = 0;
-			(function inertiaMove() {
-				if (self.stopInertiaMove) return;
-				var newAngle = self.quartEaseOut(stepIndex, startAngle, distAngle, stepCount);
-				self.setAngle(newAngle);
-				stepIndex++;
-				if (stepIndex > stepCount - 1 || newAngle < self.beginExceed || newAngle > self.endExceed) {
-					self.endScroll();
-					return;
-				}
-				setTimeout(inertiaMove, frameInterval);
-			})();
-		})(nowTime, startAngle, distAngle, duration);
-	};
-
-	Picker.prototype.quartEaseOut = function(t, b, c, d) {
-		return -c * ((t = t / d - 1) * t * t * t - 1) + b;
-	};
-
-	Picker.prototype.endScroll = function() {
-		var self = this;
-		if (self.list.angle < self.beginAngle) {
-			self.list.style.webkitTransition = "150ms ease-out";
-			self.setAngle(self.beginAngle);
-		} else if (self.list.angle > self.endAngle) {
-			self.list.style.webkitTransition = "150ms ease-out";
-			self.setAngle(self.endAngle);
-		} else {
-			var index = parseInt((self.list.angle / self.itemAngle).toFixed(0));
-			self.list.style.webkitTransition = "100ms ease-out";
-			self.setAngle(self.itemAngle * index);
-		}
-		self.triggerChange();
-	};
-
-	Picker.prototype.triggerChange = function(force) {
-		var self = this;
-		setTimeout(function() {
-			var index = self.getSelectedIndex();
-			var item = self.items[index];
-			if ($.trigger && (index != self.lastIndex || force === true)) {
-				$.trigger(self.holder, 'change', {
-					"index": index,
-					"item": item
-				});
-				//console.log('change:' + index);
-			}
-			self.lastIndex = index;
-			typeof force === 'function' && force();
-		}, 0);
-	};
-
-	Picker.prototype.correctAngle = function(angle) {
-		var self = this;
-		if (angle < self.beginAngle) {
-			return self.beginAngle;
-		} else if (angle > self.endAngle) {
-			return self.endAngle;
-		} else {
-			return angle;
-		}
-	};
-
-	Picker.prototype.setItems = function(items) {
-		var self = this;
-		self.items = items || [];
-		var buffer = [];
-		self.items.forEach(function(item) {
-			if (item !== null && item !== undefined) {
-				buffer.push('<li>' + (item.text || item) + '</li>');
-			}
-		});
-		self.list.innerHTML = buffer.join('');
-		self.findElementItems();
-		self.calcElementItemPostion();
-		self.setAngle(self.correctAngle(self.list.angle));
-		self.triggerChange(true);
-	};
-
-	Picker.prototype.getItems = function() {
-		var self = this;
-		return self.items;
-	};
-
-	Picker.prototype.getSelectedIndex = function() {
-		var self = this;
-		return parseInt((self.list.angle / self.itemAngle).toFixed(0));
-	};
-
-	Picker.prototype.setSelectedIndex = function(index, duration, callback) {
-		var self = this;
-		self.list.style.webkitTransition = '';
-		var angle = self.correctAngle(self.itemAngle * index);
-		if (duration && duration > 0) {
-			var distAngle = angle - self.list.angle;
-			self.scrollDistAngle(Date.now(), self.list.angle, distAngle, duration);
-		} else {
-			self.setAngle(angle);
-		}
-		self.triggerChange(callback);
-	};
-
-	Picker.prototype.getSelectedItem = function() {
-		var self = this;
-		return self.items[self.getSelectedIndex()];
-	};
-
-	Picker.prototype.getSelectedValue = function() {
-		var self = this;
-		return (self.items[self.getSelectedIndex()] || {}).value;
-	};
-
-	Picker.prototype.getSelectedText = function() {
-		var self = this;
-		return (self.items[self.getSelectedIndex()] || {}).text;
-	};
-
-	Picker.prototype.setSelectedValue = function(value, duration, callback) {
-		var self = this;
-		for (var index in self.items) {
-			var item = self.items[index];
-			if (item.value == value) {
-				self.setSelectedIndex(index, duration, callback);
-				return;
-			}
-		}
-	};
-
-	if ($.fn) {
-		$.fn.picker = function(options) {
-			//遍历选择的元素
-			this.each(function(i, element) {
-				if (element.picker) return;
-				if (options) {
-					element.picker = new Picker(element, options);
-				} else {
-					var optionsText = element.getAttribute('data-picker-options');
-					var _options = optionsText ? JSON.parse(optionsText) : {};
-					element.picker = new Picker(element, _options);
-				}
-			});
-			return this[0] ? this[0].picker : null;
-		};
-
-		//自动初始化
-		$.ready(function() {
-			$('.mui-picker').picker();
-		});
-	}
-
-})(window.mui || window, window, document, undefined);
+/**
+ * 选择列表插件
+ * varstion 2.0.0
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+(function($, window, document, undefined) {
+
+	var MAX_EXCEED = 30;
+	var VISIBLE_RANGE = 90;
+	var DEFAULT_ITEM_HEIGHT = 40;
+	var BLUR_WIDTH = 10;
+
+	var rad2deg = $.rad2deg = function(rad) {
+		return rad / (Math.PI / 180);
+	};
+
+	var deg2rad = $.deg2rad = function(deg) {
+		return deg * (Math.PI / 180);
+	};
+
+	var platform = navigator.platform.toLowerCase();
+	var userAgent = navigator.userAgent.toLowerCase();
+	var isIos = (userAgent.indexOf('iphone') > -1 ||
+			userAgent.indexOf('ipad') > -1 ||
+			userAgent.indexOf('ipod') > -1) &&
+		(platform.indexOf('iphone') > -1 ||
+			platform.indexOf('ipad') > -1 ||
+			platform.indexOf('ipod') > -1);
+	//alert(isIos);
+
+	var Picker = $.Picker = function(holder, options) {
+		var self = this;
+		self.holder = holder;
+		self.options = options || {};
+		self.init();
+		self.initInertiaParams();
+		self.calcElementItemPostion(true);
+		self.bindEvent();
+	};
+
+	Picker.prototype.findElementItems = function() {
+		var self = this;
+		self.elementItems = [].slice.call(self.holder.querySelectorAll('li'));
+		return self.elementItems;
+	};
+
+	Picker.prototype.init = function() {
+		var self = this;
+		self.list = self.holder.querySelector('ul');
+		self.findElementItems();
+		self.height = self.holder.offsetHeight;
+		self.r = self.height / 2 - BLUR_WIDTH;
+		self.d = self.r * 2;
+		self.itemHeight = self.elementItems.length > 0 ? self.elementItems[0].offsetHeight : DEFAULT_ITEM_HEIGHT;
+		self.itemAngle = parseInt(self.calcAngle(self.itemHeight * 0.8));
+		self.hightlightRange = self.itemAngle / 2;
+		self.visibleRange = VISIBLE_RANGE;
+		self.beginAngle = 0;
+		self.beginExceed = self.beginAngle - MAX_EXCEED;
+		self.list.angle = self.beginAngle;
+		if (isIos) {
+			self.list.style.webkitTransformOrigin = "center center " + self.r + "px";
+		}
+	};
+
+	Picker.prototype.calcElementItemPostion = function(andGenerateItms) {
+		var self = this;
+		if (andGenerateItms) {
+			self.items = [];
+		}
+		self.elementItems.forEach(function(item) {
+			var index = self.elementItems.indexOf(item);
+			self.endAngle = self.itemAngle * index;
+			item.angle = self.endAngle;
+			item.style.webkitTransformOrigin = "center center -" + self.r + "px";
+			item.style.webkitTransform = "translateZ(" + self.r + "px) rotateX(" + (-self.endAngle) + "deg)";
+			if (andGenerateItms) {
+				var dataItem = {};
+				dataItem.text = item.innerHTML || '';
+				dataItem.value = item.getAttribute('data-value') || dataItem.text;
+				self.items.push(dataItem);
+			}
+		});
+		self.endExceed = self.endAngle + MAX_EXCEED;
+		self.calcElementItemVisibility(self.beginAngle);
+	};
+
+	Picker.prototype.calcAngle = function(c) {
+		var self = this;
+		var a = b = parseFloat(self.r);
+		//直径的整倍数部分直接乘以 180
+		c = Math.abs(c); //只算角度不关心正否值
+		var intDeg = parseInt(c / self.d) * 180;
+		c = c % self.d;
+		//余弦
+		var cosC = (a * a + b * b - c * c) / (2 * a * b);
+		var angleC = intDeg + rad2deg(Math.acos(cosC));
+		return angleC;
+	};
+
+	Picker.prototype.calcElementItemVisibility = function(angle) {
+		var self = this;
+		self.elementItems.forEach(function(item) {
+			var difference = Math.abs(item.angle - angle);
+			if (difference < self.hightlightRange) {
+				item.classList.add('highlight');
+			} else if (difference < self.visibleRange) {
+				item.classList.add('visible');
+				item.classList.remove('highlight');
+			} else {
+				item.classList.remove('highlight');
+				item.classList.remove('visible');
+			}
+		});
+	};
+
+	Picker.prototype.setAngle = function(angle) {
+		var self = this;
+		self.list.angle = angle;
+		self.list.style.webkitTransform = "perspective(1000px) rotateY(0deg) rotateX(" + angle + "deg)";
+		self.calcElementItemVisibility(angle);
+	};
+
+	Picker.prototype.bindEvent = function() {
+		var self = this;
+		var lastAngle = 0;
+		var startY = null;
+		var isPicking = false;
+		self.holder.addEventListener($.EVENT_START, function(event) {
+			isPicking = true;
+			event.preventDefault();
+			self.list.style.webkitTransition = '';
+			startY = (event.changedTouches ? event.changedTouches[0] : event).pageY;
+			lastAngle = self.list.angle;
+			self.updateInertiaParams(event, true);
+		}, false);
+		self.holder.addEventListener($.EVENT_END, function(event) {
+			isPicking = false;
+			event.preventDefault();
+			self.startInertiaScroll(event);
+		}, false);
+		self.holder.addEventListener($.EVENT_CANCEL, function(event) {
+			isPicking = false;
+			event.preventDefault();
+			self.startInertiaScroll(event);
+		}, false);
+		self.holder.addEventListener($.EVENT_MOVE, function(event) {
+			if (!isPicking) {
+				return;
+			}
+			event.preventDefault();
+			var endY = (event.changedTouches ? event.changedTouches[0] : event).pageY;
+			var dragRange = endY - startY;
+			var dragAngle = self.calcAngle(dragRange);
+			var newAngle = dragRange > 0 ? lastAngle - dragAngle : lastAngle + dragAngle;
+			if (newAngle > self.endExceed) {
+				newAngle = self.endExceed
+			}
+			if (newAngle < self.beginExceed) {
+				newAngle = self.beginExceed
+			}
+			self.setAngle(newAngle);
+			self.updateInertiaParams(event);
+		}, false);
+		//--
+		self.list.addEventListener('tap', function(event) {
+			elementItem = event.target;
+			if (elementItem.tagName == 'LI') {
+				self.setSelectedIndex(self.elementItems.indexOf(elementItem), 200);
+			}
+		}, false);
+	};
+
+	Picker.prototype.initInertiaParams = function() {
+		var self = this;
+		self.lastMoveTime = 0;
+		self.lastMoveStart = 0;
+		self.stopInertiaMove = false;
+	};
+
+	Picker.prototype.updateInertiaParams = function(event, isStart) {
+		var self = this;
+		var point = event.changedTouches ? event.changedTouches[0] : event;
+		if (isStart) {
+			self.lastMoveStart = point.pageY;
+			self.lastMoveTime = event.timeStamp || Date.now();
+			self.startAngle = self.list.angle;
+		} else {
+			var nowTime = event.timeStamp || Date.now();
+			if (nowTime - self.lastMoveTime > 300) {
+				self.lastMoveTime = nowTime;
+				self.lastMoveStart = point.pageY;
+			}
+		}
+		self.stopInertiaMove = true;
+	};
+
+	Picker.prototype.startInertiaScroll = function(event) {
+		var self = this;
+		var point = event.changedTouches ? event.changedTouches[0] : event;
+		/** 
+		 * 缓动代码
+		 */
+		var nowTime = event.timeStamp || Date.now();
+		var v = (point.pageY - self.lastMoveStart) / (nowTime - self.lastMoveTime); //最后一段时间手指划动速度  
+		var dir = v > 0 ? -1 : 1; //加速度方向  
+		var deceleration = dir * 0.0006 * -1;
+		var duration = Math.abs(v / deceleration); // 速度消减至0所需时间  
+		var dist = v * duration / 2; //最终移动多少 
+		var startAngle = self.list.angle;
+		var distAngle = self.calcAngle(dist) * dir;
+		//----
+		var srcDistAngle = distAngle;
+		if (startAngle + distAngle < self.beginExceed) {
+			distAngle = self.beginExceed - startAngle;
+			duration = duration * (distAngle / srcDistAngle) * 0.6;
+		}
+		if (startAngle + distAngle > self.endExceed) {
+			distAngle = self.endExceed - startAngle;
+			duration = duration * (distAngle / srcDistAngle) * 0.6;
+		}
+		//----
+		if (distAngle == 0) {
+			self.endScroll();
+			return;
+		}
+		self.scrollDistAngle(nowTime, startAngle, distAngle, duration);
+	};
+
+	Picker.prototype.scrollDistAngle = function(nowTime, startAngle, distAngle, duration) {
+		var self = this;
+		self.stopInertiaMove = false;
+		(function(nowTime, startAngle, distAngle, duration) {
+			var frameInterval = 13;
+			var stepCount = duration / frameInterval;
+			var stepIndex = 0;
+			(function inertiaMove() {
+				if (self.stopInertiaMove) return;
+				var newAngle = self.quartEaseOut(stepIndex, startAngle, distAngle, stepCount);
+				self.setAngle(newAngle);
+				stepIndex++;
+				if (stepIndex > stepCount - 1 || newAngle < self.beginExceed || newAngle > self.endExceed) {
+					self.endScroll();
+					return;
+				}
+				setTimeout(inertiaMove, frameInterval);
+			})();
+		})(nowTime, startAngle, distAngle, duration);
+	};
+
+	Picker.prototype.quartEaseOut = function(t, b, c, d) {
+		return -c * ((t = t / d - 1) * t * t * t - 1) + b;
+	};
+
+	Picker.prototype.endScroll = function() {
+		var self = this;
+		if (self.list.angle < self.beginAngle) {
+			self.list.style.webkitTransition = "150ms ease-out";
+			self.setAngle(self.beginAngle);
+		} else if (self.list.angle > self.endAngle) {
+			self.list.style.webkitTransition = "150ms ease-out";
+			self.setAngle(self.endAngle);
+		} else {
+			var index = parseInt((self.list.angle / self.itemAngle).toFixed(0));
+			self.list.style.webkitTransition = "100ms ease-out";
+			self.setAngle(self.itemAngle * index);
+		}
+		self.triggerChange();
+	};
+
+	Picker.prototype.triggerChange = function(force) {
+		var self = this;
+		setTimeout(function() {
+			var index = self.getSelectedIndex();
+			var item = self.items[index];
+			if ($.trigger && (index != self.lastIndex || force === true)) {
+				$.trigger(self.holder, 'change', {
+					"index": index,
+					"item": item
+				});
+				//console.log('change:' + index);
+			}
+			self.lastIndex = index;
+			typeof force === 'function' && force();
+		}, 0);
+	};
+
+	Picker.prototype.correctAngle = function(angle) {
+		var self = this;
+		if (angle < self.beginAngle) {
+			return self.beginAngle;
+		} else if (angle > self.endAngle) {
+			return self.endAngle;
+		} else {
+			return angle;
+		}
+	};
+
+	Picker.prototype.setItems = function(items) {
+		var self = this;
+		self.items = items || [];
+		var buffer = [];
+		self.items.forEach(function(item) {
+			if (item !== null && item !== undefined) {
+				buffer.push('<li>' + (item.text || item) + '</li>');
+			}
+		});
+		self.list.innerHTML = buffer.join('');
+		self.findElementItems();
+		self.calcElementItemPostion();
+		self.setAngle(self.correctAngle(self.list.angle));
+		self.triggerChange(true);
+	};
+
+	Picker.prototype.getItems = function() {
+		var self = this;
+		return self.items;
+	};
+
+	Picker.prototype.getSelectedIndex = function() {
+		var self = this;
+		return parseInt((self.list.angle / self.itemAngle).toFixed(0));
+	};
+
+	Picker.prototype.setSelectedIndex = function(index, duration, callback) {
+		var self = this;
+		self.list.style.webkitTransition = '';
+		var angle = self.correctAngle(self.itemAngle * index);
+		if (duration && duration > 0) {
+			var distAngle = angle - self.list.angle;
+			self.scrollDistAngle(Date.now(), self.list.angle, distAngle, duration);
+		} else {
+			self.setAngle(angle);
+		}
+		self.triggerChange(callback);
+	};
+
+	Picker.prototype.getSelectedItem = function() {
+		var self = this;
+		return self.items[self.getSelectedIndex()];
+	};
+
+	Picker.prototype.getSelectedValue = function() {
+		var self = this;
+		return (self.items[self.getSelectedIndex()] || {}).value;
+	};
+
+	Picker.prototype.getSelectedText = function() {
+		var self = this;
+		return (self.items[self.getSelectedIndex()] || {}).text;
+	};
+
+	Picker.prototype.setSelectedValue = function(value, duration, callback) {
+		var self = this;
+		for (var index in self.items) {
+			var item = self.items[index];
+			if (item.value == value) {
+				self.setSelectedIndex(index, duration, callback);
+				return;
+			}
+		}
+	};
+
+	if ($.fn) {
+		$.fn.picker = function(options) {
+			//遍历选择的元素
+			this.each(function(i, element) {
+				if (element.picker) return;
+				if (options) {
+					element.picker = new Picker(element, options);
+				} else {
+					var optionsText = element.getAttribute('data-picker-options');
+					var _options = optionsText ? JSON.parse(optionsText) : {};
+					element.picker = new Picker(element, _options);
+				}
+			});
+			return this[0] ? this[0].picker : null;
+		};
+
+		//自动初始化
+		$.ready(function() {
+			$('.mui-picker').picker();
+		});
+	}
+
+})(window.mui || window, window, document, undefined);
 //end

文件差异内容过多而无法显示
+ 6 - 6
aiberle/js/mui.picker.min.js


+ 159 - 159
aiberle/js/mui.poppicker.js

@@ -1,160 +1,160 @@
-/**
- * 弹出选择列表插件
- * 此组件依赖 listpcker ,请在页面中先引入 mui.picker.css + mui.picker.js
- * varstion 1.0.1
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-(function($, document) {
-
-	//创建 DOM
-	$.dom = function(str) {
-		if (typeof(str) !== 'string') {
-			if ((str instanceof Array) || (str[0] && str.length)) {
-				return [].slice.call(str);
-			} else {
-				return [str];
-			}
-		}
-		if (!$.__create_dom_div__) {
-			$.__create_dom_div__ = document.createElement('div');
-		}
-		$.__create_dom_div__.innerHTML = str;
-		return [].slice.call($.__create_dom_div__.childNodes);
-	};
-
-	var panelBuffer = '<div class="mui-poppicker">\
-		<div class="mui-poppicker-header">\
-			<button class="mui-btn mui-poppicker-btn-cancel">取消</button>\
-			<button class="mui-btn mui-btn-blue mui-poppicker-btn-ok">确定</button>\
-			<div class="mui-poppicker-clear"></div>\
-		</div>\
-		<div class="mui-poppicker-body">\
-		</div>\
-	</div>';
-
-	var pickerBuffer = '<div class="mui-picker">\
-		<div class="mui-picker-inner">\
-			<div class="mui-pciker-rule mui-pciker-rule-ft"></div>\
-			<ul class="mui-pciker-list">\
-			</ul>\
-			<div class="mui-pciker-rule mui-pciker-rule-bg"></div>\
-		</div>\
-	</div>';
-
-	//定义弹出选择器类
-	var PopPicker = $.PopPicker = $.Class.extend({
-		//构造函数
-		init: function(options) {
-			var self = this;
-			self.options = options || {};
-			self.options.buttons = self.options.buttons || ['取消', '确定'];
-			self.panel = $.dom(panelBuffer)[0];
-			document.body.appendChild(self.panel);
-			self.ok = self.panel.querySelector('.mui-poppicker-btn-ok');
-			self.cancel = self.panel.querySelector('.mui-poppicker-btn-cancel');
-			self.body = self.panel.querySelector('.mui-poppicker-body');
-			self.mask = $.createMask();
-			self.cancel.innerText = self.options.buttons[0];
-			self.ok.innerText = self.options.buttons[1];
-			self.cancel.addEventListener('tap', function(event) {
-				self.hide();
-			}, false);
-			self.ok.addEventListener('tap', function(event) {
-				if (self.callback) {
-					var rs = self.callback(self.getSelectedItems());
-					if (rs !== false) {
-						self.hide();
-					}
-				}
-			}, false);
-			self.mask[0].addEventListener('tap', function() {
-				self.hide();
-			}, false);
-			self._createPicker();
-			//防止滚动穿透
-			self.panel.addEventListener($.EVENT_START, function(event) {
-				event.preventDefault();
-			}, false);
-			self.panel.addEventListener($.EVENT_MOVE, function(event) {
-				event.preventDefault();
-			}, false);
-		},
-		_createPicker: function() {
-			var self = this;
-			var layer = self.options.layer || 1;
-			var width = (100 / layer) + '%';
-			self.pickers = [];
-			for (var i = 1; i <= layer; i++) {
-				var pickerElement = $.dom(pickerBuffer)[0];
-				pickerElement.style.width = width;
-				self.body.appendChild(pickerElement);
-				var picker = $(pickerElement).picker();
-				self.pickers.push(picker);
-				pickerElement.addEventListener('change', function(event) {
-					var nextPickerElement = this.nextSibling;
-					if (nextPickerElement && nextPickerElement.picker) {
-						var eventData = event.detail || {};
-						var preItem = eventData.item || {};
-						nextPickerElement.picker.setItems(preItem.children);
-					}
-				}, false);
-			}
-		},
-		//填充数据
-		setData: function(data) {
-			var self = this;
-			data = data || [];
-			self.pickers[0].setItems(data);
-		},
-		//获取选中的项(数组)
-		getSelectedItems: function() {
-			var self = this;
-			var items = [];
-			for (var i in self.pickers) {    
-				if(self.pickers.hasOwnProperty(i)) { // 修复for in会访问继承属性造成items报错情况
-					var picker = self.pickers[i];
-					items.push(picker.getSelectedItem() || {});
-				}
-			}
-			return items;
-		},
-		//显示
-		show: function(callback) {
-			var self = this;
-			self.callback = callback;
-			self.mask.show();
-			document.body.classList.add($.className('poppicker-active-for-page'));
-			self.panel.classList.add($.className('active'));
-			//处理物理返回键
-			self.__back = $.back;
-			$.back = function() {
-				self.hide();
-			};
-		},
-		//隐藏
-		hide: function() {
-			var self = this;
-			if (self.disposed) return;
-			self.panel.classList.remove($.className('active'));
-			self.mask.close();
-			document.body.classList.remove($.className('poppicker-active-for-page'));
-			//处理物理返回键
-			$.back=self.__back;
-		},
-		dispose: function() {
-			var self = this;
-			self.hide();
-			setTimeout(function() {
-				self.panel.parentNode.removeChild(self.panel);
-				for (var name in self) {
-					self[name] = null;
-					delete self[name];
-				};
-				self.disposed = true;
-			}, 300);
-		}
-	});
-
+/**
+ * 弹出选择列表插件
+ * 此组件依赖 listpcker ,请在页面中先引入 mui.picker.css + mui.picker.js
+ * varstion 1.0.1
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+(function($, document) {
+
+	//创建 DOM
+	$.dom = function(str) {
+		if (typeof(str) !== 'string') {
+			if ((str instanceof Array) || (str[0] && str.length)) {
+				return [].slice.call(str);
+			} else {
+				return [str];
+			}
+		}
+		if (!$.__create_dom_div__) {
+			$.__create_dom_div__ = document.createElement('div');
+		}
+		$.__create_dom_div__.innerHTML = str;
+		return [].slice.call($.__create_dom_div__.childNodes);
+	};
+
+	var panelBuffer = '<div class="mui-poppicker">\
+		<div class="mui-poppicker-header">\
+			<button class="mui-btn mui-poppicker-btn-cancel">取消</button>\
+			<button class="mui-btn mui-btn-blue mui-poppicker-btn-ok">确定</button>\
+			<div class="mui-poppicker-clear"></div>\
+		</div>\
+		<div class="mui-poppicker-body">\
+		</div>\
+	</div>';
+
+	var pickerBuffer = '<div class="mui-picker">\
+		<div class="mui-picker-inner">\
+			<div class="mui-pciker-rule mui-pciker-rule-ft"></div>\
+			<ul class="mui-pciker-list">\
+			</ul>\
+			<div class="mui-pciker-rule mui-pciker-rule-bg"></div>\
+		</div>\
+	</div>';
+
+	//定义弹出选择器类
+	var PopPicker = $.PopPicker = $.Class.extend({
+		//构造函数
+		init: function(options) {
+			var self = this;
+			self.options = options || {};
+			self.options.buttons = self.options.buttons || ['取消', '确定'];
+			self.panel = $.dom(panelBuffer)[0];
+			document.body.appendChild(self.panel);
+			self.ok = self.panel.querySelector('.mui-poppicker-btn-ok');
+			self.cancel = self.panel.querySelector('.mui-poppicker-btn-cancel');
+			self.body = self.panel.querySelector('.mui-poppicker-body');
+			self.mask = $.createMask();
+			self.cancel.innerText = self.options.buttons[0];
+			self.ok.innerText = self.options.buttons[1];
+			self.cancel.addEventListener('tap', function(event) {
+				self.hide();
+			}, false);
+			self.ok.addEventListener('tap', function(event) {
+				if (self.callback) {
+					var rs = self.callback(self.getSelectedItems());
+					if (rs !== false) {
+						self.hide();
+					}
+				}
+			}, false);
+			self.mask[0].addEventListener('tap', function() {
+				self.hide();
+			}, false);
+			self._createPicker();
+			//防止滚动穿透
+			self.panel.addEventListener($.EVENT_START, function(event) {
+				event.preventDefault();
+			}, false);
+			self.panel.addEventListener($.EVENT_MOVE, function(event) {
+				event.preventDefault();
+			}, false);
+		},
+		_createPicker: function() {
+			var self = this;
+			var layer = self.options.layer || 1;
+			var width = (100 / layer) + '%';
+			self.pickers = [];
+			for (var i = 1; i <= layer; i++) {
+				var pickerElement = $.dom(pickerBuffer)[0];
+				pickerElement.style.width = width;
+				self.body.appendChild(pickerElement);
+				var picker = $(pickerElement).picker();
+				self.pickers.push(picker);
+				pickerElement.addEventListener('change', function(event) {
+					var nextPickerElement = this.nextSibling;
+					if (nextPickerElement && nextPickerElement.picker) {
+						var eventData = event.detail || {};
+						var preItem = eventData.item || {};
+						nextPickerElement.picker.setItems(preItem.children);
+					}
+				}, false);
+			}
+		},
+		//填充数据
+		setData: function(data) {
+			var self = this;
+			data = data || [];
+			self.pickers[0].setItems(data);
+		},
+		//获取选中的项(数组)
+		getSelectedItems: function() {
+			var self = this;
+			var items = [];
+			for (var i in self.pickers) {    
+				if(self.pickers.hasOwnProperty(i)) { // 修复for in会访问继承属性造成items报错情况
+					var picker = self.pickers[i];
+					items.push(picker.getSelectedItem() || {});
+				}
+			}
+			return items;
+		},
+		//显示
+		show: function(callback) {
+			var self = this;
+			self.callback = callback;
+			self.mask.show();
+			document.body.classList.add($.className('poppicker-active-for-page'));
+			self.panel.classList.add($.className('active'));
+			//处理物理返回键
+			self.__back = $.back;
+			$.back = function() {
+				self.hide();
+			};
+		},
+		//隐藏
+		hide: function() {
+			var self = this;
+			if (self.disposed) return;
+			self.panel.classList.remove($.className('active'));
+			self.mask.close();
+			document.body.classList.remove($.className('poppicker-active-for-page'));
+			//处理物理返回键
+			$.back=self.__back;
+		},
+		dispose: function() {
+			var self = this;
+			self.hide();
+			setTimeout(function() {
+				self.panel.parentNode.removeChild(self.panel);
+				for (var name in self) {
+					self[name] = null;
+					delete self[name];
+				};
+				self.disposed = true;
+			}, 300);
+		}
+	});
+
 })(mui, document);

+ 381 - 381
aiberle/js/mui.previewimage.js

@@ -1,382 +1,382 @@
-(function($, window) {
-
-	var template = '<div id="{{id}}" class="mui-slider mui-preview-image mui-fullscreen"><div class="mui-preview-header">{{header}}</div><div class="mui-slider-group"></div><div class="mui-preview-footer mui-hidden">{{footer}}</div><div class="mui-preview-loading"><span class="mui-spinner mui-spinner-white"></span></div></div>';
-	var itemTemplate = '<div class="mui-slider-item mui-zoom-wrapper {{className}}"><div class="mui-zoom-scroller"><img src="{{src}}" data-preview-lazyload="{{lazyload}}" style="{{style}}" class="mui-zoom"></div></div>';
-	var defaultGroupName = '__DEFAULT';
-	var div = document.createElement('div');
-	var imgId = 0;
-	var PreviewImage = function(options) {
-		this.options = $.extend(true, {
-			id: '__MUI_PREVIEWIMAGE',
-			zoom: true,
-			header: '<span class="mui-preview-indicator"></span>',
-			footer: ''
-		}, options || {});
-		this.init();
-		this.initEvent();
-	};
-	var proto = PreviewImage.prototype;
-	proto.init = function() {
-		var options = this.options;
-		var el = document.getElementById(this.options.id);
-		if (!el) {
-			div.innerHTML = template.replace(/\{\{id\}\}/g, this.options.id).replace('{{header}}', options.header).replace('{{footer}}', options.footer);
-			document.body.appendChild(div.firstElementChild);
-			el = document.getElementById(this.options.id);
-		}
-
-		this.element = el;
-		this.scroller = this.element.querySelector($.classSelector('.slider-group'));
-		this.indicator = this.element.querySelector($.classSelector('.preview-indicator'));
-		this.loader = this.element.querySelector($.classSelector('.preview-loading'));
-		if (options.footer) {
-			this.element.querySelector($.classSelector('.preview-footer')).classList.remove($.className('hidden'));
-		}
-		this.addImages();
-	};
-	proto.initEvent = function() {
-		var self = this;
-		$(document.body).on('tap', 'img[data-preview-src]', function() {
-			self.open(this);
-			return false;
-		});
-		var laterClose = null;
-		var laterCloseEvent = function() {
-			!laterClose && (laterClose = $.later(function() {
-				self.loader.removeEventListener('tap', laterCloseEvent);
-				self.scroller.removeEventListener('tap', laterCloseEvent);
-				self.close();
-			}, 300));
-		};
-		this.scroller.addEventListener('doubletap', function() {
-			if (laterClose) {
-				laterClose.cancel();
-				laterClose = null;
-			}
-		});
-		this.element.addEventListener('webkitAnimationEnd', function() {
-			if (self.element.classList.contains($.className('preview-out'))) { //close
-				self.element.style.display = 'none';
-				self.element.classList.remove($.className('preview-out'));
-				self.element.classList.remove($.className('preview-in'));
-				laterClose = null;
-			} else { //open
-				self.loader.addEventListener('tap', laterCloseEvent);
-				self.scroller.addEventListener('tap', laterCloseEvent);
-			}
-		});
-		this.element.addEventListener('slide', function(e) {
-			if (self.options.zoom) {
-				var lastZoomerEl = self.element.querySelector('.mui-zoom-wrapper:nth-child(' + (self.lastIndex + 1) + ')');
-				if (lastZoomerEl) {
-					$(lastZoomerEl).zoom().setZoom(1);
-				}
-			}
-			var slideNumber = e.detail.slideNumber;
-			self.lastIndex = slideNumber;
-			self.indicator && (self.indicator.innerText = (slideNumber + 1) + '/' + self.currentGroup.length);
-			self._loadItem(slideNumber);
-
-		});
-	};
-	proto.addImages = function(group, index) {
-		this.groups = {};
-		var imgs = [];
-		if (group) {
-			if (group === defaultGroupName) {
-				imgs = document.querySelectorAll("img[data-preview-src]:not([data-preview-group])");
-			} else {
-				imgs = document.querySelectorAll("img[data-preview-src][data-preview-group='" + group + "']");
-			}
-		} else {
-			imgs = document.querySelectorAll("img[data-preview-src]");
-		}
-		if (imgs.length) {
-			for (var i = 0, len = imgs.length; i < len; i++) {
-				this.addImage(imgs[i]);
-			}
-		}
-	};
-	proto.addImage = function(img) {
-		var group = img.getAttribute('data-preview-group');
-		group = group || defaultGroupName;
-		if (!this.groups[group]) {
-			this.groups[group] = [];
-		}
-		var src = img.getAttribute('src');
-		if (img.__mui_img_data && img.__mui_img_data.src === src) { //已缓存且图片未变化
-			this.groups[group].push(img.__mui_img_data);
-		} else {
-			var lazyload = img.getAttribute('data-preview-src');
-			if (!lazyload) {
-				lazyload = src;
-			}
-			var imgObj = {
-				src: src,
-				lazyload: src === lazyload ? '' : lazyload,
-				loaded: src === lazyload ? true : false,
-				sWidth: 0,
-				sHeight: 0,
-				sTop: 0,
-				sLeft: 0,
-				sScale: 1,
-				el: img
-			};
-			this.groups[group].push(imgObj);
-			img.__mui_img_data = imgObj;
-		}
-	};
-
-
-	proto.empty = function() {
-		this.scroller.innerHTML = '';
-	};
-	proto._initImgData = function(itemData, imgEl) {
-		if (!itemData.sWidth) {
-			var img = itemData.el;
-			itemData.sWidth = img.offsetWidth;
-			itemData.sHeight = img.offsetHeight;
-			var offset = $.offset(img);
-			itemData.sTop = offset.top;
-			itemData.sLeft = offset.left;
-			itemData.sScale = Math.max(itemData.sWidth / window.innerWidth, itemData.sHeight / window.innerHeight);
-		}
-		imgEl.style.webkitTransform = 'translate3d(0,0,0) scale(' + itemData.sScale + ')';
-	};
-
-	proto._getScale = function(from, to) {
-		var scaleX = from.width / to.width;
-		var scaleY = from.height / to.height;
-		var scale = 1;
-		if (scaleX <= scaleY) {
-			scale = from.height / (to.height * scaleX);
-		} else {
-			scale = from.width / (to.width * scaleY);
-		}
-		return scale;
-	};
-	proto._imgTransitionEnd = function(e) {
-		var img = e.target;
-		img.classList.remove($.className('transitioning'));
-		img.removeEventListener('webkitTransitionEnd', this._imgTransitionEnd.bind(this));
-	};
-	proto._loadItem = function(index, isOpening) { //TODO 暂时仅支持img
-		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (index + 1) + ')'));
-		var itemData = this.currentGroup[index];
-		var imgEl = itemEl.querySelector('img');
-		this._initImgData(itemData, imgEl);
-		if (isOpening) {
-			var posi = this._getPosition(itemData);
-			imgEl.style.webkitTransitionDuration = '0ms';
-			imgEl.style.webkitTransform = 'translate3d(' + posi.x + 'px,' + posi.y + 'px,0) scale(' + itemData.sScale + ')';
-			imgEl.offsetHeight;
-		}
-		if (!itemData.loaded && imgEl.getAttribute('data-preview-lazyload')) {
-			var self = this;
-			self.loader.classList.add($.className('active'));
-			//移动位置动画
-			imgEl.style.webkitTransitionDuration = '0.5s';
-			imgEl.addEventListener('webkitTransitionEnd', self._imgTransitionEnd.bind(self));
-			imgEl.style.webkitTransform = 'translate3d(0,0,0) scale(' + itemData.sScale + ')';
-			this.loadImage(imgEl, function() {
-				itemData.loaded = true;
-				imgEl.src = itemData.lazyload;
-				self._initZoom(itemEl, this.width, this.height);
-				imgEl.classList.add($.className('transitioning'));
-				imgEl.addEventListener('webkitTransitionEnd', self._imgTransitionEnd.bind(self));
-				imgEl.setAttribute('style', '');
-				imgEl.offsetHeight;
-				self.loader.classList.remove($.className('active'));
-			});
-		} else {
-			itemData.lazyload && (imgEl.src = itemData.lazyload);
-			this._initZoom(itemEl, imgEl.width, imgEl.height);
-			imgEl.classList.add($.className('transitioning'));
-			imgEl.addEventListener('webkitTransitionEnd', this._imgTransitionEnd.bind(this));
-			imgEl.setAttribute('style', '');
-			imgEl.offsetHeight;
-		}
-		this._preloadItem(index + 1);
-		this._preloadItem(index - 1);
-	};
-	proto._preloadItem = function(index) {
-		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (index + 1) + ')'));
-		if (itemEl) {
-			var itemData = this.currentGroup[index];
-			if (!itemData.sWidth) {
-				var imgEl = itemEl.querySelector('img');
-				this._initImgData(itemData, imgEl);
-			}
-		}
-	};
-	proto._initZoom = function(zoomWrapperEl, zoomerWidth, zoomerHeight) {
-		if (!this.options.zoom) {
-			return;
-		}
-		if (zoomWrapperEl.getAttribute('data-zoomer')) {
-			return;
-		}
-		var zoomEl = zoomWrapperEl.querySelector($.classSelector('.zoom'));
-		if (zoomEl.tagName === 'IMG') {
-			var self = this;
-			var maxZoom = self._getScale({
-				width: zoomWrapperEl.offsetWidth,
-				height: zoomWrapperEl.offsetHeight
-			}, {
-				width: zoomerWidth,
-				height: zoomerHeight
-			});
-			$(zoomWrapperEl).zoom({
-				maxZoom: Math.max(maxZoom, 1)
-			});
-		} else {
-			$(zoomWrapperEl).zoom();
-		}
-	};
-	proto.loadImage = function(imgEl, callback) {
-		var onReady = function() {
-			callback && callback.call(this);
-		};
-		var img = new Image();
-		img.onload = onReady;
-		img.onerror = onReady;
-		img.src = imgEl.getAttribute('data-preview-lazyload');
-	};
-	proto.getRangeByIndex = function(index, length) {
-		return {
-			from: 0,
-			to: length - 1
-		};
-		//		var from = Math.max(index - 1, 0);
-		//		var to = Math.min(index + 1, length);
-		//		if (index === length - 1) {
-		//			from = Math.max(length - 3, 0);
-		//			to = length - 1;
-		//		}
-		//		if (index === 0) {
-		//			from = 0;
-		//			to = Math.min(2, length - 1);
-		//		}
-		//		return {
-		//			from: from,
-		//			to: to
-		//		};
-	};
-
-	proto._getPosition = function(itemData) {
-		var sLeft = itemData.sLeft - window.pageXOffset;
-		var sTop = itemData.sTop - window.pageYOffset;
-		var left = (window.innerWidth - itemData.sWidth) / 2;
-		var top = (window.innerHeight - itemData.sHeight) / 2;
-		return {
-			left: sLeft,
-			top: sTop,
-			x: sLeft - left,
-			y: sTop - top
-		};
-	};
-	proto.refresh = function(index, groupArray) {
-		this.currentGroup = groupArray;
-		//重新生成slider
-		var length = groupArray.length;
-		var itemHtml = [];
-		var currentRange = this.getRangeByIndex(index, length);
-		var from = currentRange.from;
-		var to = currentRange.to + 1;
-		var currentIndex = index;
-		var className = '';
-		var itemStr = '';
-		var wWidth = window.innerWidth;
-		var wHeight = window.innerHeight;
-		for (var i = 0; from < to; from++, i++) {
-			var itemData = groupArray[from];
-			var style = '';
-			if (itemData.sWidth) {
-				style = '-webkit-transform:translate3d(0,0,0) scale(' + itemData.sScale + ');transform:translate3d(0,0,0) scale(' + itemData.sScale + ')';
-			}
-			itemStr = itemTemplate.replace('{{src}}', itemData.src).replace('{{lazyload}}', itemData.lazyload).replace('{{style}}', style);
-			if (from === index) {
-				currentIndex = i;
-				className = $.className('active');
-			} else {
-				className = '';
-			}
-			itemHtml.push(itemStr.replace('{{className}}', className));
-		}
-		this.scroller.innerHTML = itemHtml.join('');
-		this.element.style.display = 'block';
-		this.element.classList.add($.className('preview-in'));
-		this.lastIndex = currentIndex;
-		this.element.offsetHeight;
-		$(this.element).slider().gotoItem(currentIndex, 0);
-		this.indicator && (this.indicator.innerText = (currentIndex + 1) + '/' + this.currentGroup.length);
-		this._loadItem(currentIndex, true);
-	};
-	proto.openByGroup = function(index, group) {
-		index = Math.min(Math.max(0, index), this.groups[group].length - 1);
-		this.refresh(index, this.groups[group]);
-	};
-	proto.open = function(index, group) {
-		if (this.isShown()) {
-			return;
-		}
-		if (typeof index === "number") {
-			group = group || defaultGroupName;
-			this.addImages(group, index); //刷新当前group
-			this.openByGroup(index, group);
-		} else {
-			group = index.getAttribute('data-preview-group');
-			group = group || defaultGroupName;
-			this.addImages(group, index); //刷新当前group
-			this.openByGroup(this.groups[group].indexOf(index.__mui_img_data), group);
-		}
-	};
-	proto.close = function(index, group) {
-		if (!this.isShown()) {
-			return;
-		}
-		this.element.classList.remove($.className('preview-in'));
-		this.element.classList.add($.className('preview-out'));
-		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (this.lastIndex + 1) + ')'));
-		var imgEl = itemEl.querySelector('img');
-		if (imgEl) {
-			imgEl.classList.add($.className('transitioning'));
-			var itemData = this.currentGroup[this.lastIndex];
-			var posi = this._getPosition(itemData);
-			var sLeft = posi.left;
-			var sTop = posi.top;
-			if (sTop > window.innerHeight || sLeft > window.innerWidth || sTop < 0 || sLeft < 0) { //out viewport
-				imgEl.style.opacity = 0;
-				imgEl.style.webkitTransitionDuration = '0.5s';
-				imgEl.style.webkitTransform = 'scale(' + itemData.sScale + ')';
-			} else {
-				if (this.options.zoom) {
-					$(imgEl.parentNode.parentNode).zoom().toggleZoom(0);
-				}
-				imgEl.style.webkitTransitionDuration = '0.5s';
-				imgEl.style.webkitTransform = 'translate3d(' + posi.x + 'px,' + posi.y + 'px,0) scale(' + itemData.sScale + ')';
-			}
-		}
-		var zoomers = this.element.querySelectorAll($.classSelector('.zoom-wrapper'));
-		for (var i = 0, len = zoomers.length; i < len; i++) {
-			$(zoomers[i]).zoom().destroy();
-		}
-		$(this.element).slider().destroy();
-//		this.empty();
-	};
-	proto.isShown = function() {
-		return this.element.classList.contains($.className('preview-in'));
-	};
-
-	var previewImageApi = null;
-	$.previewImage = function(options) {
-		if (!previewImageApi) {
-			previewImageApi = new PreviewImage(options);
-		}
-		return previewImageApi;
-	};
-	$.getPreviewImage = function() {
-		return previewImageApi;
-	}
-
+(function($, window) {
+
+	var template = '<div id="{{id}}" class="mui-slider mui-preview-image mui-fullscreen"><div class="mui-preview-header">{{header}}</div><div class="mui-slider-group"></div><div class="mui-preview-footer mui-hidden">{{footer}}</div><div class="mui-preview-loading"><span class="mui-spinner mui-spinner-white"></span></div></div>';
+	var itemTemplate = '<div class="mui-slider-item mui-zoom-wrapper {{className}}"><div class="mui-zoom-scroller"><img src="{{src}}" data-preview-lazyload="{{lazyload}}" style="{{style}}" class="mui-zoom"></div></div>';
+	var defaultGroupName = '__DEFAULT';
+	var div = document.createElement('div');
+	var imgId = 0;
+	var PreviewImage = function(options) {
+		this.options = $.extend(true, {
+			id: '__MUI_PREVIEWIMAGE',
+			zoom: true,
+			header: '<span class="mui-preview-indicator"></span>',
+			footer: ''
+		}, options || {});
+		this.init();
+		this.initEvent();
+	};
+	var proto = PreviewImage.prototype;
+	proto.init = function() {
+		var options = this.options;
+		var el = document.getElementById(this.options.id);
+		if (!el) {
+			div.innerHTML = template.replace(/\{\{id\}\}/g, this.options.id).replace('{{header}}', options.header).replace('{{footer}}', options.footer);
+			document.body.appendChild(div.firstElementChild);
+			el = document.getElementById(this.options.id);
+		}
+
+		this.element = el;
+		this.scroller = this.element.querySelector($.classSelector('.slider-group'));
+		this.indicator = this.element.querySelector($.classSelector('.preview-indicator'));
+		this.loader = this.element.querySelector($.classSelector('.preview-loading'));
+		if (options.footer) {
+			this.element.querySelector($.classSelector('.preview-footer')).classList.remove($.className('hidden'));
+		}
+		this.addImages();
+	};
+	proto.initEvent = function() {
+		var self = this;
+		$(document.body).on('tap', 'img[data-preview-src]', function() {
+			self.open(this);
+			return false;
+		});
+		var laterClose = null;
+		var laterCloseEvent = function() {
+			!laterClose && (laterClose = $.later(function() {
+				self.loader.removeEventListener('tap', laterCloseEvent);
+				self.scroller.removeEventListener('tap', laterCloseEvent);
+				self.close();
+			}, 300));
+		};
+		this.scroller.addEventListener('doubletap', function() {
+			if (laterClose) {
+				laterClose.cancel();
+				laterClose = null;
+			}
+		});
+		this.element.addEventListener('webkitAnimationEnd', function() {
+			if (self.element.classList.contains($.className('preview-out'))) { //close
+				self.element.style.display = 'none';
+				self.element.classList.remove($.className('preview-out'));
+				self.element.classList.remove($.className('preview-in'));
+				laterClose = null;
+			} else { //open
+				self.loader.addEventListener('tap', laterCloseEvent);
+				self.scroller.addEventListener('tap', laterCloseEvent);
+			}
+		});
+		this.element.addEventListener('slide', function(e) {
+			if (self.options.zoom) {
+				var lastZoomerEl = self.element.querySelector('.mui-zoom-wrapper:nth-child(' + (self.lastIndex + 1) + ')');
+				if (lastZoomerEl) {
+					$(lastZoomerEl).zoom().setZoom(1);
+				}
+			}
+			var slideNumber = e.detail.slideNumber;
+			self.lastIndex = slideNumber;
+			self.indicator && (self.indicator.innerText = (slideNumber + 1) + '/' + self.currentGroup.length);
+			self._loadItem(slideNumber);
+
+		});
+	};
+	proto.addImages = function(group, index) {
+		this.groups = {};
+		var imgs = [];
+		if (group) {
+			if (group === defaultGroupName) {
+				imgs = document.querySelectorAll("img[data-preview-src]:not([data-preview-group])");
+			} else {
+				imgs = document.querySelectorAll("img[data-preview-src][data-preview-group='" + group + "']");
+			}
+		} else {
+			imgs = document.querySelectorAll("img[data-preview-src]");
+		}
+		if (imgs.length) {
+			for (var i = 0, len = imgs.length; i < len; i++) {
+				this.addImage(imgs[i]);
+			}
+		}
+	};
+	proto.addImage = function(img) {
+		var group = img.getAttribute('data-preview-group');
+		group = group || defaultGroupName;
+		if (!this.groups[group]) {
+			this.groups[group] = [];
+		}
+		var src = img.getAttribute('src');
+		if (img.__mui_img_data && img.__mui_img_data.src === src) { //已缓存且图片未变化
+			this.groups[group].push(img.__mui_img_data);
+		} else {
+			var lazyload = img.getAttribute('data-preview-src');
+			if (!lazyload) {
+				lazyload = src;
+			}
+			var imgObj = {
+				src: src,
+				lazyload: src === lazyload ? '' : lazyload,
+				loaded: src === lazyload ? true : false,
+				sWidth: 0,
+				sHeight: 0,
+				sTop: 0,
+				sLeft: 0,
+				sScale: 1,
+				el: img
+			};
+			this.groups[group].push(imgObj);
+			img.__mui_img_data = imgObj;
+		}
+	};
+
+
+	proto.empty = function() {
+		this.scroller.innerHTML = '';
+	};
+	proto._initImgData = function(itemData, imgEl) {
+		if (!itemData.sWidth) {
+			var img = itemData.el;
+			itemData.sWidth = img.offsetWidth;
+			itemData.sHeight = img.offsetHeight;
+			var offset = $.offset(img);
+			itemData.sTop = offset.top;
+			itemData.sLeft = offset.left;
+			itemData.sScale = Math.max(itemData.sWidth / window.innerWidth, itemData.sHeight / window.innerHeight);
+		}
+		imgEl.style.webkitTransform = 'translate3d(0,0,0) scale(' + itemData.sScale + ')';
+	};
+
+	proto._getScale = function(from, to) {
+		var scaleX = from.width / to.width;
+		var scaleY = from.height / to.height;
+		var scale = 1;
+		if (scaleX <= scaleY) {
+			scale = from.height / (to.height * scaleX);
+		} else {
+			scale = from.width / (to.width * scaleY);
+		}
+		return scale;
+	};
+	proto._imgTransitionEnd = function(e) {
+		var img = e.target;
+		img.classList.remove($.className('transitioning'));
+		img.removeEventListener('webkitTransitionEnd', this._imgTransitionEnd.bind(this));
+	};
+	proto._loadItem = function(index, isOpening) { //TODO 暂时仅支持img
+		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (index + 1) + ')'));
+		var itemData = this.currentGroup[index];
+		var imgEl = itemEl.querySelector('img');
+		this._initImgData(itemData, imgEl);
+		if (isOpening) {
+			var posi = this._getPosition(itemData);
+			imgEl.style.webkitTransitionDuration = '0ms';
+			imgEl.style.webkitTransform = 'translate3d(' + posi.x + 'px,' + posi.y + 'px,0) scale(' + itemData.sScale + ')';
+			imgEl.offsetHeight;
+		}
+		if (!itemData.loaded && imgEl.getAttribute('data-preview-lazyload')) {
+			var self = this;
+			self.loader.classList.add($.className('active'));
+			//移动位置动画
+			imgEl.style.webkitTransitionDuration = '0.5s';
+			imgEl.addEventListener('webkitTransitionEnd', self._imgTransitionEnd.bind(self));
+			imgEl.style.webkitTransform = 'translate3d(0,0,0) scale(' + itemData.sScale + ')';
+			this.loadImage(imgEl, function() {
+				itemData.loaded = true;
+				imgEl.src = itemData.lazyload;
+				self._initZoom(itemEl, this.width, this.height);
+				imgEl.classList.add($.className('transitioning'));
+				imgEl.addEventListener('webkitTransitionEnd', self._imgTransitionEnd.bind(self));
+				imgEl.setAttribute('style', '');
+				imgEl.offsetHeight;
+				self.loader.classList.remove($.className('active'));
+			});
+		} else {
+			itemData.lazyload && (imgEl.src = itemData.lazyload);
+			this._initZoom(itemEl, imgEl.width, imgEl.height);
+			imgEl.classList.add($.className('transitioning'));
+			imgEl.addEventListener('webkitTransitionEnd', this._imgTransitionEnd.bind(this));
+			imgEl.setAttribute('style', '');
+			imgEl.offsetHeight;
+		}
+		this._preloadItem(index + 1);
+		this._preloadItem(index - 1);
+	};
+	proto._preloadItem = function(index) {
+		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (index + 1) + ')'));
+		if (itemEl) {
+			var itemData = this.currentGroup[index];
+			if (!itemData.sWidth) {
+				var imgEl = itemEl.querySelector('img');
+				this._initImgData(itemData, imgEl);
+			}
+		}
+	};
+	proto._initZoom = function(zoomWrapperEl, zoomerWidth, zoomerHeight) {
+		if (!this.options.zoom) {
+			return;
+		}
+		if (zoomWrapperEl.getAttribute('data-zoomer')) {
+			return;
+		}
+		var zoomEl = zoomWrapperEl.querySelector($.classSelector('.zoom'));
+		if (zoomEl.tagName === 'IMG') {
+			var self = this;
+			var maxZoom = self._getScale({
+				width: zoomWrapperEl.offsetWidth,
+				height: zoomWrapperEl.offsetHeight
+			}, {
+				width: zoomerWidth,
+				height: zoomerHeight
+			});
+			$(zoomWrapperEl).zoom({
+				maxZoom: Math.max(maxZoom, 1)
+			});
+		} else {
+			$(zoomWrapperEl).zoom();
+		}
+	};
+	proto.loadImage = function(imgEl, callback) {
+		var onReady = function() {
+			callback && callback.call(this);
+		};
+		var img = new Image();
+		img.onload = onReady;
+		img.onerror = onReady;
+		img.src = imgEl.getAttribute('data-preview-lazyload');
+	};
+	proto.getRangeByIndex = function(index, length) {
+		return {
+			from: 0,
+			to: length - 1
+		};
+		//		var from = Math.max(index - 1, 0);
+		//		var to = Math.min(index + 1, length);
+		//		if (index === length - 1) {
+		//			from = Math.max(length - 3, 0);
+		//			to = length - 1;
+		//		}
+		//		if (index === 0) {
+		//			from = 0;
+		//			to = Math.min(2, length - 1);
+		//		}
+		//		return {
+		//			from: from,
+		//			to: to
+		//		};
+	};
+
+	proto._getPosition = function(itemData) {
+		var sLeft = itemData.sLeft - window.pageXOffset;
+		var sTop = itemData.sTop - window.pageYOffset;
+		var left = (window.innerWidth - itemData.sWidth) / 2;
+		var top = (window.innerHeight - itemData.sHeight) / 2;
+		return {
+			left: sLeft,
+			top: sTop,
+			x: sLeft - left,
+			y: sTop - top
+		};
+	};
+	proto.refresh = function(index, groupArray) {
+		this.currentGroup = groupArray;
+		//重新生成slider
+		var length = groupArray.length;
+		var itemHtml = [];
+		var currentRange = this.getRangeByIndex(index, length);
+		var from = currentRange.from;
+		var to = currentRange.to + 1;
+		var currentIndex = index;
+		var className = '';
+		var itemStr = '';
+		var wWidth = window.innerWidth;
+		var wHeight = window.innerHeight;
+		for (var i = 0; from < to; from++, i++) {
+			var itemData = groupArray[from];
+			var style = '';
+			if (itemData.sWidth) {
+				style = '-webkit-transform:translate3d(0,0,0) scale(' + itemData.sScale + ');transform:translate3d(0,0,0) scale(' + itemData.sScale + ')';
+			}
+			itemStr = itemTemplate.replace('{{src}}', itemData.src).replace('{{lazyload}}', itemData.lazyload).replace('{{style}}', style);
+			if (from === index) {
+				currentIndex = i;
+				className = $.className('active');
+			} else {
+				className = '';
+			}
+			itemHtml.push(itemStr.replace('{{className}}', className));
+		}
+		this.scroller.innerHTML = itemHtml.join('');
+		this.element.style.display = 'block';
+		this.element.classList.add($.className('preview-in'));
+		this.lastIndex = currentIndex;
+		this.element.offsetHeight;
+		$(this.element).slider().gotoItem(currentIndex, 0);
+		this.indicator && (this.indicator.innerText = (currentIndex + 1) + '/' + this.currentGroup.length);
+		this._loadItem(currentIndex, true);
+	};
+	proto.openByGroup = function(index, group) {
+		index = Math.min(Math.max(0, index), this.groups[group].length - 1);
+		this.refresh(index, this.groups[group]);
+	};
+	proto.open = function(index, group) {
+		if (this.isShown()) {
+			return;
+		}
+		if (typeof index === "number") {
+			group = group || defaultGroupName;
+			this.addImages(group, index); //刷新当前group
+			this.openByGroup(index, group);
+		} else {
+			group = index.getAttribute('data-preview-group');
+			group = group || defaultGroupName;
+			this.addImages(group, index); //刷新当前group
+			this.openByGroup(this.groups[group].indexOf(index.__mui_img_data), group);
+		}
+	};
+	proto.close = function(index, group) {
+		if (!this.isShown()) {
+			return;
+		}
+		this.element.classList.remove($.className('preview-in'));
+		this.element.classList.add($.className('preview-out'));
+		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (this.lastIndex + 1) + ')'));
+		var imgEl = itemEl.querySelector('img');
+		if (imgEl) {
+			imgEl.classList.add($.className('transitioning'));
+			var itemData = this.currentGroup[this.lastIndex];
+			var posi = this._getPosition(itemData);
+			var sLeft = posi.left;
+			var sTop = posi.top;
+			if (sTop > window.innerHeight || sLeft > window.innerWidth || sTop < 0 || sLeft < 0) { //out viewport
+				imgEl.style.opacity = 0;
+				imgEl.style.webkitTransitionDuration = '0.5s';
+				imgEl.style.webkitTransform = 'scale(' + itemData.sScale + ')';
+			} else {
+				if (this.options.zoom) {
+					$(imgEl.parentNode.parentNode).zoom().toggleZoom(0);
+				}
+				imgEl.style.webkitTransitionDuration = '0.5s';
+				imgEl.style.webkitTransform = 'translate3d(' + posi.x + 'px,' + posi.y + 'px,0) scale(' + itemData.sScale + ')';
+			}
+		}
+		var zoomers = this.element.querySelectorAll($.classSelector('.zoom-wrapper'));
+		for (var i = 0, len = zoomers.length; i < len; i++) {
+			$(zoomers[i]).zoom().destroy();
+		}
+		$(this.element).slider().destroy();
+//		this.empty();
+	};
+	proto.isShown = function() {
+		return this.element.classList.contains($.className('preview-in'));
+	};
+
+	var previewImageApi = null;
+	$.previewImage = function(options) {
+		if (!previewImageApi) {
+			previewImageApi = new PreviewImage(options);
+		}
+		return previewImageApi;
+	};
+	$.getPreviewImage = function() {
+		return previewImageApi;
+	}
+
 })(mui, window);

文件差异内容过多而无法显示
+ 627 - 627
aiberle/js/mui.view.js


+ 321 - 321
aiberle/js/mui.zoom.js

@@ -1,322 +1,322 @@
-(function($, window) {
-	var CLASS_ZOOM = $.className('zoom');
-	var CLASS_ZOOM_SCROLLER = $.className('zoom-scroller');
-
-	var SELECTOR_ZOOM = '.' + CLASS_ZOOM;
-	var SELECTOR_ZOOM_SCROLLER = '.' + CLASS_ZOOM_SCROLLER;
-
-	var EVENT_PINCH_START = 'pinchstart';
-	var EVENT_PINCH = 'pinch';
-	var EVENT_PINCH_END = 'pinchend';
-	if ('ongesturestart' in window) {
-		EVENT_PINCH_START = 'gesturestart';
-		EVENT_PINCH = 'gesturechange';
-		EVENT_PINCH_END = 'gestureend';
-	}
-	$.Zoom = function(element, options) {
-		var zoom = this;
-
-		zoom.options = $.extend($.Zoom.defaults, options);
-
-		zoom.wrapper = zoom.element = element;
-		zoom.scroller = element.querySelector(SELECTOR_ZOOM_SCROLLER);
-		zoom.scrollerStyle = zoom.scroller && zoom.scroller.style;
-
-		zoom.zoomer = element.querySelector(SELECTOR_ZOOM);
-		zoom.zoomerStyle = zoom.zoomer && zoom.zoomer.style;
-
-		zoom.init = function() {
-			//自动启用
-			$.options.gestureConfig.pinch = true;
-			$.options.gestureConfig.doubletap = true;
-			zoom.initEvents();
-		};
-
-		zoom.initEvents = function(detach) {
-			var action = detach ? 'removeEventListener' : 'addEventListener';
-			var target = zoom.scroller;
-
-			target[action](EVENT_PINCH_START, zoom.onPinchstart);
-			target[action](EVENT_PINCH, zoom.onPinch);
-			target[action](EVENT_PINCH_END, zoom.onPinchend);
-
-			target[action]($.EVENT_START, zoom.onTouchstart);
-			target[action]($.EVENT_MOVE, zoom.onTouchMove);
-			target[action]($.EVENT_CANCEL, zoom.onTouchEnd);
-			target[action]($.EVENT_END, zoom.onTouchEnd);
-
-			target[action]('drag', zoom.dragEvent);
-			target[action]('doubletap', zoom.doubleTapEvent);
-		};
-		zoom.dragEvent = function(e) {
-			if (imageIsMoved || isGesturing) {
-				e.stopPropagation();
-			}
-		};
-		zoom.doubleTapEvent = function(e) {
-			zoom.toggleZoom(e.detail.center);
-		};
-		zoom.transition = function(style, time) {
-			time = time || 0;
-			style['webkitTransitionDuration'] = time + 'ms';
-			return zoom;
-		};
-		zoom.translate = function(style, x, y) {
-			x = x || 0;
-			y = y || 0;
-			style['webkitTransform'] = 'translate3d(' + x + 'px,' + y + 'px,0px)';
-			return zoom;
-		};
-		zoom.scale = function(style, scale) {
-			scale = scale || 1;
-			style['webkitTransform'] = 'translate3d(0,0,0) scale(' + scale + ')';
-			return zoom;
-		};
-		zoom.scrollerTransition = function(time) {
-			return zoom.transition(zoom.scrollerStyle, time);
-		};
-		zoom.scrollerTransform = function(x, y) {
-			return zoom.translate(zoom.scrollerStyle, x, y);
-		};
-		zoom.zoomerTransition = function(time) {
-			return zoom.transition(zoom.zoomerStyle, time);
-		};
-		zoom.zoomerTransform = function(scale) {
-			return zoom.scale(zoom.zoomerStyle, scale);
-		};
-
-		// Gestures
-		var scale = 1,
-			currentScale = 1,
-			isScaling = false,
-			isGesturing = false;
-		zoom.onPinchstart = function(e) {
-			isGesturing = true;
-		};
-		zoom.onPinch = function(e) {
-			if (!isScaling) {
-				zoom.zoomerTransition(0);
-				isScaling = true;
-			}
-			scale = (e.detail ? e.detail.scale : e.scale) * currentScale;
-			if (scale > zoom.options.maxZoom) {
-				scale = zoom.options.maxZoom - 1 + Math.pow((scale - zoom.options.maxZoom + 1), 0.5);
-			}
-			if (scale < zoom.options.minZoom) {
-				scale = zoom.options.minZoom + 1 - Math.pow((zoom.options.minZoom - scale + 1), 0.5);
-			}
-			zoom.zoomerTransform(scale);
-		};
-		zoom.onPinchend = function(e) {
-			scale = Math.max(Math.min(scale, zoom.options.maxZoom), zoom.options.minZoom);
-			zoom.zoomerTransition(zoom.options.speed).zoomerTransform(scale);
-			currentScale = scale;
-			isScaling = false;
-		};
-		zoom.setZoom = function(newScale) {
-			scale = currentScale = newScale;
-			zoom.scrollerTransition(zoom.options.speed).scrollerTransform(0, 0);
-			zoom.zoomerTransition(zoom.options.speed).zoomerTransform(scale);
-		};
-		zoom.toggleZoom = function(position, speed) {
-			if (typeof position === 'number') {
-				speed = position;
-				position = undefined;
-			}
-			speed = typeof speed === 'undefined' ? zoom.options.speed : speed;
-			if (scale && scale !== 1) {
-				scale = currentScale = 1;
-				zoom.scrollerTransition(speed).scrollerTransform(0, 0);
-			} else {
-				scale = currentScale = zoom.options.maxZoom;
-				if (position) {
-					var offset = $.offset(zoom.zoomer);
-					var top = offset.top;
-					var left = offset.left;
-					var offsetX = (position.x - left) * scale;
-					var offsetY = (position.y - top) * scale;
-					this._cal();
-					if (offsetX >= imageMaxX && offsetX <= (imageMaxX + wrapperWidth)) { //center
-						offsetX = imageMaxX - offsetX + wrapperWidth / 2;
-					} else if (offsetX < imageMaxX) { //left
-						offsetX = imageMaxX - offsetX + wrapperWidth / 2;
-					} else if (offsetX > (imageMaxX + wrapperWidth)) { //right
-						offsetX = imageMaxX + wrapperWidth - offsetX - wrapperWidth / 2;
-					}
-					if (offsetY >= imageMaxY && offsetY <= (imageMaxY + wrapperHeight)) { //middle
-						offsetY = imageMaxY - offsetY + wrapperHeight / 2;
-					} else if (offsetY < imageMaxY) { //top
-						offsetY = imageMaxY - offsetY + wrapperHeight / 2;
-					} else if (offsetY > (imageMaxY + wrapperHeight)) { //bottom
-						offsetY = imageMaxY + wrapperHeight - offsetY - wrapperHeight / 2;
-					}
-					offsetX = Math.min(Math.max(offsetX, imageMinX), imageMaxX);
-					offsetY = Math.min(Math.max(offsetY, imageMinY), imageMaxY);
-					zoom.scrollerTransition(speed).scrollerTransform(offsetX, offsetY);
-				} else {
-					zoom.scrollerTransition(speed).scrollerTransform(0, 0);
-				}
-			}
-			zoom.zoomerTransition(speed).zoomerTransform(scale);
-		};
-
-		zoom._cal = function() {
-			wrapperWidth = zoom.wrapper.offsetWidth;
-			wrapperHeight = zoom.wrapper.offsetHeight;
-			imageWidth = zoom.zoomer.offsetWidth;
-			imageHeight = zoom.zoomer.offsetHeight;
-			var scaledWidth = imageWidth * scale;
-			var scaledHeight = imageHeight * scale;
-			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
-			imageMaxX = -imageMinX;
-			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
-			imageMaxY = -imageMinY;
-		};
-
-		var wrapperWidth, wrapperHeight, imageIsTouched, imageIsMoved, imageCurrentX, imageCurrentY, imageMinX, imageMinY, imageMaxX, imageMaxY, imageWidth, imageHeight, imageTouchesStart = {},
-			imageTouchesCurrent = {},
-			imageStartX, imageStartY, velocityPrevPositionX, velocityPrevTime, velocityX, velocityPrevPositionY, velocityY;
-
-		zoom.onTouchstart = function(e) {
-			e.preventDefault();
-			imageIsTouched = true;
-			imageTouchesStart.x = e.type === $.EVENT_START ? e.targetTouches[0].pageX : e.pageX;
-			imageTouchesStart.y = e.type === $.EVENT_START ? e.targetTouches[0].pageY : e.pageY;
-		};
-		zoom.onTouchMove = function(e) {
-			e.preventDefault();
-			if (!imageIsTouched) return;
-			if (!imageIsMoved) {
-				wrapperWidth = zoom.wrapper.offsetWidth;
-				wrapperHeight = zoom.wrapper.offsetHeight;
-				imageWidth = zoom.zoomer.offsetWidth;
-				imageHeight = zoom.zoomer.offsetHeight;
-				var translate = $.parseTranslateMatrix($.getStyles(zoom.scroller, 'webkitTransform'));
-				imageStartX = translate.x || 0;
-				imageStartY = translate.y || 0;
-				zoom.scrollerTransition(0);
-			}
-			var scaledWidth = imageWidth * scale;
-			var scaledHeight = imageHeight * scale;
-
-			if (scaledWidth < wrapperWidth && scaledHeight < wrapperHeight) return;
-
-			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
-			imageMaxX = -imageMinX;
-			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
-			imageMaxY = -imageMinY;
-
-			imageTouchesCurrent.x = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageX : e.pageX;
-			imageTouchesCurrent.y = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageY : e.pageY;
-
-			if (!imageIsMoved && !isScaling) {
-				//				if (Math.abs(imageTouchesCurrent.y - imageTouchesStart.y) < Math.abs(imageTouchesCurrent.x - imageTouchesStart.x)) {
-				//TODO 此处需要优化,当遇到长图,需要上下滚动时,下列判断会导致滚动不流畅
-				if (
-					(Math.floor(imageMinX) === Math.floor(imageStartX) && imageTouchesCurrent.x < imageTouchesStart.x) ||
-					(Math.floor(imageMaxX) === Math.floor(imageStartX) && imageTouchesCurrent.x > imageTouchesStart.x)
-				) {
-					imageIsTouched = false;
-					return;
-				}
-				//				}
-			}
-			imageIsMoved = true;
-			imageCurrentX = imageTouchesCurrent.x - imageTouchesStart.x + imageStartX;
-			imageCurrentY = imageTouchesCurrent.y - imageTouchesStart.y + imageStartY;
-
-			if (imageCurrentX < imageMinX) {
-				imageCurrentX = imageMinX + 1 - Math.pow((imageMinX - imageCurrentX + 1), 0.8);
-			}
-			if (imageCurrentX > imageMaxX) {
-				imageCurrentX = imageMaxX - 1 + Math.pow((imageCurrentX - imageMaxX + 1), 0.8);
-			}
-
-			if (imageCurrentY < imageMinY) {
-				imageCurrentY = imageMinY + 1 - Math.pow((imageMinY - imageCurrentY + 1), 0.8);
-			}
-			if (imageCurrentY > imageMaxY) {
-				imageCurrentY = imageMaxY - 1 + Math.pow((imageCurrentY - imageMaxY + 1), 0.8);
-			}
-
-			//Velocity
-			if (!velocityPrevPositionX) velocityPrevPositionX = imageTouchesCurrent.x;
-			if (!velocityPrevPositionY) velocityPrevPositionY = imageTouchesCurrent.y;
-			if (!velocityPrevTime) velocityPrevTime = $.now();
-			velocityX = (imageTouchesCurrent.x - velocityPrevPositionX) / ($.now() - velocityPrevTime) / 2;
-			velocityY = (imageTouchesCurrent.y - velocityPrevPositionY) / ($.now() - velocityPrevTime) / 2;
-			if (Math.abs(imageTouchesCurrent.x - velocityPrevPositionX) < 2) velocityX = 0;
-			if (Math.abs(imageTouchesCurrent.y - velocityPrevPositionY) < 2) velocityY = 0;
-			velocityPrevPositionX = imageTouchesCurrent.x;
-			velocityPrevPositionY = imageTouchesCurrent.y;
-			velocityPrevTime = $.now();
-
-			zoom.scrollerTransform(imageCurrentX, imageCurrentY);
-		};
-		zoom.onTouchEnd = function(e) {
-			if (!e.touches.length) {
-				isGesturing = false;
-			}
-			if (!imageIsTouched || !imageIsMoved) {
-				imageIsTouched = false;
-				imageIsMoved = false;
-				return;
-			}
-			imageIsTouched = false;
-			imageIsMoved = false;
-			var momentumDurationX = 300;
-			var momentumDurationY = 300;
-			var momentumDistanceX = velocityX * momentumDurationX;
-			var newPositionX = imageCurrentX + momentumDistanceX;
-			var momentumDistanceY = velocityY * momentumDurationY;
-			var newPositionY = imageCurrentY + momentumDistanceY;
-
-			if (velocityX !== 0) momentumDurationX = Math.abs((newPositionX - imageCurrentX) / velocityX);
-			if (velocityY !== 0) momentumDurationY = Math.abs((newPositionY - imageCurrentY) / velocityY);
-			var momentumDuration = Math.max(momentumDurationX, momentumDurationY);
-
-			imageCurrentX = newPositionX;
-			imageCurrentY = newPositionY;
-
-			var scaledWidth = imageWidth * scale;
-			var scaledHeight = imageHeight * scale;
-			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
-			imageMaxX = -imageMinX;
-			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
-			imageMaxY = -imageMinY;
-			imageCurrentX = Math.max(Math.min(imageCurrentX, imageMaxX), imageMinX);
-			imageCurrentY = Math.max(Math.min(imageCurrentY, imageMaxY), imageMinY);
-
-			zoom.scrollerTransition(momentumDuration).scrollerTransform(imageCurrentX, imageCurrentY);
-		};
-		zoom.destroy = function() {
-			zoom.initEvents(true); //detach
-			delete $.data[zoom.wrapper.getAttribute('data-zoomer')];
-			zoom.wrapper.setAttribute('data-zoomer', '');
-		}
-		zoom.init();
-		return zoom;
-	};
-	$.Zoom.defaults = {
-		speed: 300,
-		maxZoom: 3,
-		minZoom: 1,
-	};
-	$.fn.zoom = function(options) {
-		var zoomApis = [];
-		this.each(function() {
-			var zoomApi = null;
-			var self = this;
-			var id = self.getAttribute('data-zoomer');
-			if (!id) {
-				id = ++$.uuid;
-				$.data[id] = zoomApi = new $.Zoom(self, options);
-				self.setAttribute('data-zoomer', id);
-			} else {
-				zoomApi = $.data[id];
-			}
-			zoomApis.push(zoomApi);
-		});
-		return zoomApis.length === 1 ? zoomApis[0] : zoomApis;
-	};
+(function($, window) {
+	var CLASS_ZOOM = $.className('zoom');
+	var CLASS_ZOOM_SCROLLER = $.className('zoom-scroller');
+
+	var SELECTOR_ZOOM = '.' + CLASS_ZOOM;
+	var SELECTOR_ZOOM_SCROLLER = '.' + CLASS_ZOOM_SCROLLER;
+
+	var EVENT_PINCH_START = 'pinchstart';
+	var EVENT_PINCH = 'pinch';
+	var EVENT_PINCH_END = 'pinchend';
+	if ('ongesturestart' in window) {
+		EVENT_PINCH_START = 'gesturestart';
+		EVENT_PINCH = 'gesturechange';
+		EVENT_PINCH_END = 'gestureend';
+	}
+	$.Zoom = function(element, options) {
+		var zoom = this;
+
+		zoom.options = $.extend($.Zoom.defaults, options);
+
+		zoom.wrapper = zoom.element = element;
+		zoom.scroller = element.querySelector(SELECTOR_ZOOM_SCROLLER);
+		zoom.scrollerStyle = zoom.scroller && zoom.scroller.style;
+
+		zoom.zoomer = element.querySelector(SELECTOR_ZOOM);
+		zoom.zoomerStyle = zoom.zoomer && zoom.zoomer.style;
+
+		zoom.init = function() {
+			//自动启用
+			$.options.gestureConfig.pinch = true;
+			$.options.gestureConfig.doubletap = true;
+			zoom.initEvents();
+		};
+
+		zoom.initEvents = function(detach) {
+			var action = detach ? 'removeEventListener' : 'addEventListener';
+			var target = zoom.scroller;
+
+			target[action](EVENT_PINCH_START, zoom.onPinchstart);
+			target[action](EVENT_PINCH, zoom.onPinch);
+			target[action](EVENT_PINCH_END, zoom.onPinchend);
+
+			target[action]($.EVENT_START, zoom.onTouchstart);
+			target[action]($.EVENT_MOVE, zoom.onTouchMove);
+			target[action]($.EVENT_CANCEL, zoom.onTouchEnd);
+			target[action]($.EVENT_END, zoom.onTouchEnd);
+
+			target[action]('drag', zoom.dragEvent);
+			target[action]('doubletap', zoom.doubleTapEvent);
+		};
+		zoom.dragEvent = function(e) {
+			if (imageIsMoved || isGesturing) {
+				e.stopPropagation();
+			}
+		};
+		zoom.doubleTapEvent = function(e) {
+			zoom.toggleZoom(e.detail.center);
+		};
+		zoom.transition = function(style, time) {
+			time = time || 0;
+			style['webkitTransitionDuration'] = time + 'ms';
+			return zoom;
+		};
+		zoom.translate = function(style, x, y) {
+			x = x || 0;
+			y = y || 0;
+			style['webkitTransform'] = 'translate3d(' + x + 'px,' + y + 'px,0px)';
+			return zoom;
+		};
+		zoom.scale = function(style, scale) {
+			scale = scale || 1;
+			style['webkitTransform'] = 'translate3d(0,0,0) scale(' + scale + ')';
+			return zoom;
+		};
+		zoom.scrollerTransition = function(time) {
+			return zoom.transition(zoom.scrollerStyle, time);
+		};
+		zoom.scrollerTransform = function(x, y) {
+			return zoom.translate(zoom.scrollerStyle, x, y);
+		};
+		zoom.zoomerTransition = function(time) {
+			return zoom.transition(zoom.zoomerStyle, time);
+		};
+		zoom.zoomerTransform = function(scale) {
+			return zoom.scale(zoom.zoomerStyle, scale);
+		};
+
+		// Gestures
+		var scale = 1,
+			currentScale = 1,
+			isScaling = false,
+			isGesturing = false;
+		zoom.onPinchstart = function(e) {
+			isGesturing = true;
+		};
+		zoom.onPinch = function(e) {
+			if (!isScaling) {
+				zoom.zoomerTransition(0);
+				isScaling = true;
+			}
+			scale = (e.detail ? e.detail.scale : e.scale) * currentScale;
+			if (scale > zoom.options.maxZoom) {
+				scale = zoom.options.maxZoom - 1 + Math.pow((scale - zoom.options.maxZoom + 1), 0.5);
+			}
+			if (scale < zoom.options.minZoom) {
+				scale = zoom.options.minZoom + 1 - Math.pow((zoom.options.minZoom - scale + 1), 0.5);
+			}
+			zoom.zoomerTransform(scale);
+		};
+		zoom.onPinchend = function(e) {
+			scale = Math.max(Math.min(scale, zoom.options.maxZoom), zoom.options.minZoom);
+			zoom.zoomerTransition(zoom.options.speed).zoomerTransform(scale);
+			currentScale = scale;
+			isScaling = false;
+		};
+		zoom.setZoom = function(newScale) {
+			scale = currentScale = newScale;
+			zoom.scrollerTransition(zoom.options.speed).scrollerTransform(0, 0);
+			zoom.zoomerTransition(zoom.options.speed).zoomerTransform(scale);
+		};
+		zoom.toggleZoom = function(position, speed) {
+			if (typeof position === 'number') {
+				speed = position;
+				position = undefined;
+			}
+			speed = typeof speed === 'undefined' ? zoom.options.speed : speed;
+			if (scale && scale !== 1) {
+				scale = currentScale = 1;
+				zoom.scrollerTransition(speed).scrollerTransform(0, 0);
+			} else {
+				scale = currentScale = zoom.options.maxZoom;
+				if (position) {
+					var offset = $.offset(zoom.zoomer);
+					var top = offset.top;
+					var left = offset.left;
+					var offsetX = (position.x - left) * scale;
+					var offsetY = (position.y - top) * scale;
+					this._cal();
+					if (offsetX >= imageMaxX && offsetX <= (imageMaxX + wrapperWidth)) { //center
+						offsetX = imageMaxX - offsetX + wrapperWidth / 2;
+					} else if (offsetX < imageMaxX) { //left
+						offsetX = imageMaxX - offsetX + wrapperWidth / 2;
+					} else if (offsetX > (imageMaxX + wrapperWidth)) { //right
+						offsetX = imageMaxX + wrapperWidth - offsetX - wrapperWidth / 2;
+					}
+					if (offsetY >= imageMaxY && offsetY <= (imageMaxY + wrapperHeight)) { //middle
+						offsetY = imageMaxY - offsetY + wrapperHeight / 2;
+					} else if (offsetY < imageMaxY) { //top
+						offsetY = imageMaxY - offsetY + wrapperHeight / 2;
+					} else if (offsetY > (imageMaxY + wrapperHeight)) { //bottom
+						offsetY = imageMaxY + wrapperHeight - offsetY - wrapperHeight / 2;
+					}
+					offsetX = Math.min(Math.max(offsetX, imageMinX), imageMaxX);
+					offsetY = Math.min(Math.max(offsetY, imageMinY), imageMaxY);
+					zoom.scrollerTransition(speed).scrollerTransform(offsetX, offsetY);
+				} else {
+					zoom.scrollerTransition(speed).scrollerTransform(0, 0);
+				}
+			}
+			zoom.zoomerTransition(speed).zoomerTransform(scale);
+		};
+
+		zoom._cal = function() {
+			wrapperWidth = zoom.wrapper.offsetWidth;
+			wrapperHeight = zoom.wrapper.offsetHeight;
+			imageWidth = zoom.zoomer.offsetWidth;
+			imageHeight = zoom.zoomer.offsetHeight;
+			var scaledWidth = imageWidth * scale;
+			var scaledHeight = imageHeight * scale;
+			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
+			imageMaxX = -imageMinX;
+			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
+			imageMaxY = -imageMinY;
+		};
+
+		var wrapperWidth, wrapperHeight, imageIsTouched, imageIsMoved, imageCurrentX, imageCurrentY, imageMinX, imageMinY, imageMaxX, imageMaxY, imageWidth, imageHeight, imageTouchesStart = {},
+			imageTouchesCurrent = {},
+			imageStartX, imageStartY, velocityPrevPositionX, velocityPrevTime, velocityX, velocityPrevPositionY, velocityY;
+
+		zoom.onTouchstart = function(e) {
+			e.preventDefault();
+			imageIsTouched = true;
+			imageTouchesStart.x = e.type === $.EVENT_START ? e.targetTouches[0].pageX : e.pageX;
+			imageTouchesStart.y = e.type === $.EVENT_START ? e.targetTouches[0].pageY : e.pageY;
+		};
+		zoom.onTouchMove = function(e) {
+			e.preventDefault();
+			if (!imageIsTouched) return;
+			if (!imageIsMoved) {
+				wrapperWidth = zoom.wrapper.offsetWidth;
+				wrapperHeight = zoom.wrapper.offsetHeight;
+				imageWidth = zoom.zoomer.offsetWidth;
+				imageHeight = zoom.zoomer.offsetHeight;
+				var translate = $.parseTranslateMatrix($.getStyles(zoom.scroller, 'webkitTransform'));
+				imageStartX = translate.x || 0;
+				imageStartY = translate.y || 0;
+				zoom.scrollerTransition(0);
+			}
+			var scaledWidth = imageWidth * scale;
+			var scaledHeight = imageHeight * scale;
+
+			if (scaledWidth < wrapperWidth && scaledHeight < wrapperHeight) return;
+
+			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
+			imageMaxX = -imageMinX;
+			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
+			imageMaxY = -imageMinY;
+
+			imageTouchesCurrent.x = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageX : e.pageX;
+			imageTouchesCurrent.y = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageY : e.pageY;
+
+			if (!imageIsMoved && !isScaling) {
+				//				if (Math.abs(imageTouchesCurrent.y - imageTouchesStart.y) < Math.abs(imageTouchesCurrent.x - imageTouchesStart.x)) {
+				//TODO 此处需要优化,当遇到长图,需要上下滚动时,下列判断会导致滚动不流畅
+				if (
+					(Math.floor(imageMinX) === Math.floor(imageStartX) && imageTouchesCurrent.x < imageTouchesStart.x) ||
+					(Math.floor(imageMaxX) === Math.floor(imageStartX) && imageTouchesCurrent.x > imageTouchesStart.x)
+				) {
+					imageIsTouched = false;
+					return;
+				}
+				//				}
+			}
+			imageIsMoved = true;
+			imageCurrentX = imageTouchesCurrent.x - imageTouchesStart.x + imageStartX;
+			imageCurrentY = imageTouchesCurrent.y - imageTouchesStart.y + imageStartY;
+
+			if (imageCurrentX < imageMinX) {
+				imageCurrentX = imageMinX + 1 - Math.pow((imageMinX - imageCurrentX + 1), 0.8);
+			}
+			if (imageCurrentX > imageMaxX) {
+				imageCurrentX = imageMaxX - 1 + Math.pow((imageCurrentX - imageMaxX + 1), 0.8);
+			}
+
+			if (imageCurrentY < imageMinY) {
+				imageCurrentY = imageMinY + 1 - Math.pow((imageMinY - imageCurrentY + 1), 0.8);
+			}
+			if (imageCurrentY > imageMaxY) {
+				imageCurrentY = imageMaxY - 1 + Math.pow((imageCurrentY - imageMaxY + 1), 0.8);
+			}
+
+			//Velocity
+			if (!velocityPrevPositionX) velocityPrevPositionX = imageTouchesCurrent.x;
+			if (!velocityPrevPositionY) velocityPrevPositionY = imageTouchesCurrent.y;
+			if (!velocityPrevTime) velocityPrevTime = $.now();
+			velocityX = (imageTouchesCurrent.x - velocityPrevPositionX) / ($.now() - velocityPrevTime) / 2;
+			velocityY = (imageTouchesCurrent.y - velocityPrevPositionY) / ($.now() - velocityPrevTime) / 2;
+			if (Math.abs(imageTouchesCurrent.x - velocityPrevPositionX) < 2) velocityX = 0;
+			if (Math.abs(imageTouchesCurrent.y - velocityPrevPositionY) < 2) velocityY = 0;
+			velocityPrevPositionX = imageTouchesCurrent.x;
+			velocityPrevPositionY = imageTouchesCurrent.y;
+			velocityPrevTime = $.now();
+
+			zoom.scrollerTransform(imageCurrentX, imageCurrentY);
+		};
+		zoom.onTouchEnd = function(e) {
+			if (!e.touches.length) {
+				isGesturing = false;
+			}
+			if (!imageIsTouched || !imageIsMoved) {
+				imageIsTouched = false;
+				imageIsMoved = false;
+				return;
+			}
+			imageIsTouched = false;
+			imageIsMoved = false;
+			var momentumDurationX = 300;
+			var momentumDurationY = 300;
+			var momentumDistanceX = velocityX * momentumDurationX;
+			var newPositionX = imageCurrentX + momentumDistanceX;
+			var momentumDistanceY = velocityY * momentumDurationY;
+			var newPositionY = imageCurrentY + momentumDistanceY;
+
+			if (velocityX !== 0) momentumDurationX = Math.abs((newPositionX - imageCurrentX) / velocityX);
+			if (velocityY !== 0) momentumDurationY = Math.abs((newPositionY - imageCurrentY) / velocityY);
+			var momentumDuration = Math.max(momentumDurationX, momentumDurationY);
+
+			imageCurrentX = newPositionX;
+			imageCurrentY = newPositionY;
+
+			var scaledWidth = imageWidth * scale;
+			var scaledHeight = imageHeight * scale;
+			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
+			imageMaxX = -imageMinX;
+			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
+			imageMaxY = -imageMinY;
+			imageCurrentX = Math.max(Math.min(imageCurrentX, imageMaxX), imageMinX);
+			imageCurrentY = Math.max(Math.min(imageCurrentY, imageMaxY), imageMinY);
+
+			zoom.scrollerTransition(momentumDuration).scrollerTransform(imageCurrentX, imageCurrentY);
+		};
+		zoom.destroy = function() {
+			zoom.initEvents(true); //detach
+			delete $.data[zoom.wrapper.getAttribute('data-zoomer')];
+			zoom.wrapper.setAttribute('data-zoomer', '');
+		}
+		zoom.init();
+		return zoom;
+	};
+	$.Zoom.defaults = {
+		speed: 300,
+		maxZoom: 3,
+		minZoom: 1,
+	};
+	$.fn.zoom = function(options) {
+		var zoomApis = [];
+		this.each(function() {
+			var zoomApi = null;
+			var self = this;
+			var id = self.getAttribute('data-zoomer');
+			if (!id) {
+				id = ++$.uuid;
+				$.data[id] = zoomApi = new $.Zoom(self, options);
+				self.setAttribute('data-zoomer', id);
+			} else {
+				zoomApi = $.data[id];
+			}
+			zoomApis.push(zoomApi);
+		});
+		return zoomApis.length === 1 ? zoomApis[0] : zoomApis;
+	};
 })(mui, window);

+ 263 - 263
aiberle/js/wechat-utils-1.0.js

@@ -1,264 +1,264 @@
-/**
- * @author 何秀刚
- * @description wechat 工具类,依赖JQuery,如果引入此文件,自动绑定分享事件。
- * @version V.1.0
- */
-// 获取绑定微信JSSDK的配置参数 
-var getConfigUrl = base_path+"/config/get";
-// JSSDK是否绑定成功
-var jssdkSuccess = true;
-//是否隐藏全局菜单
-if (window.hiddenAllWechatMenu == null) {
-	window.hiddenAllWechatMenu = false;
-}
-	// 使用全局默认
-	window.wxFriend = {
-	    "appId": "",
-	    "imgUrl":'https://s.iamberry.com/aiberle/wechat/images/indexShare.jpg',
-	    "link":"https://s.iamberry.com/aiberle/wechat/index.html",
-	    "desc":"联合国授权官方合作品牌,5+品质标准,专注创新生活家电",
-	    "title":"Aiberle,源于美国,高端家电品质典范",
-	    "netError":"您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
-	    "shareTimeSuccess":"这里是分享朋友圈后调用的文字",
-	    "shareTimeCancel":"这里是取消分享给朋友圈后调用的文字",
-	    "shareAppSuccess":"这里是分享好友后调用的文字",
-	    "shareAppCancel":"这里是取消分享给好友后调用的文字"
-	};
-// 微信共享地址数据
-window.wechatAddr = {
-	"status":false, // 是否调用成功,true成功,false失败
-	"statusMsg":"失败时信息",
-	"detailInfo":"详细地址",
-	"postalCode":"邮编",
-	"userName":"收货人",
-	"userTel":"收货人电话",
-	"nationalCode":"收货地址国家码"
-};
-/** 引入JSSDK1.0基本组件,微信共享地址智能使用1.0版本,并且需要服务器返回参数支持 */
-//incoldeJSFile("http://res.wx.qq.com/open/js/jweixin-1.0.0.js");
-/** 引入JSSDK1.1基本组件 ,支持摇一摇、微信共享地址 */
-incoldeJSFile("//res.wx.qq.com/open/js/jweixin-1.1.0.js"); 
-getConfig(); // 配置JSSDK组件
-
-/** 获取服务器JSSDK参数配置 */
-function getConfig(){
-	$.ajax({
-		type: 'get', url: getConfigUrl, data: {appid: "", url: location.href,"date":new Date().getTime()}, dataType: 'json', timeout: 10000, context: $('body'),
-		success: function(data){setConfig(data);},
-		error: function(xhr, type){
-			getConfig();
-			mui.alert('网络异常,请刷新重试,否则某些功能不能使用!')
-			}
-	});
-}
-
-/**配置JS-SDK*/
-function setConfig(config){
-	wx.config({
-	  debug: false,
-	  appId: config.appId,
-	  timestamp: config.timestamp,
-	  nonceStr: config.nonceStr,
-	  signature: config.signature,
-	  jsApiList: [
-        'checkJsApi',
-        'onMenuShareTimeline',
-        'onMenuShareAppMessage',
-        'hideMenuItems',
-        'scanQRCode',
-        'showMenuItems'
-        ]
-	});
-	wx.ready(function(){ //JSSDK绑定成功
-		wxReadySuccess();
-	});
-	wx.error(function(res){ // JSSDK绑定失败的方法
-		wxReadyError();
-	});
-}
-
-/** JSSDK绑定成功调用事件 */
-function wxReadySuccess() {
-	window.jssdkSuccess = true;
-	shareMessage();
-    wx.getNetworkType({success: function (res) {}});
-    if (window.hiddenAllWechatMenu) {
-    	 wx.showMenuItems({
-	        menuList: [
-	        ] // 要显示的菜单项,所有menu项见附录3
-	    });
-	    wx.hideMenuItems({
-	        menuList: [
-	            "menuItem:copyUrl",
-	            "menuItem:openWithSafari",
-	            "menuItem:originPage",
-	            "menuItem:share:email",
-	            "menuItem:dayMode",
-	            "menuItem:setFont",
-	            "menuItem:nightMode",
-	            "menuItem:share:qq",
-	            "menuItem:dayMode",
-	            "menuItem:exposeArticle",
-	            "menuItem:nightMode",
-	            "menuItem:openWithQQBrowser",
-	            "menuItem:share:QZone",
-	            "menuItem:favorite",
-	            "menuItem:share:facebook",
-	            "menuItem:share:appMessage",
-	            "menuItem:share:brand",
-	            "menuItem:share:timeline"
-	        ] // 要隐藏的菜单项,所有menu项见附录3
-	    });
-    } else {
-    	 wx.showMenuItems({
-	        menuList: [
-	            "menuItem:share:appMessage",
-	            "menuItem:share:timeline"
-	        ] // 要显示的菜单项,所有menu项见附录3
-	    });
-	    wx.hideMenuItems({
-	        menuList: [
-	            "menuItem:copyUrl",
-	            "menuItem:openWithSafari",
-	            "menuItem:originPage",
-	            "menuItem:share:email",
-	            "menuItem:dayMode",
-	            "menuItem:setFont",
-	            "menuItem:nightMode",
-	            "menuItem:share:qq",
-	            "menuItem:dayMode",
-	            "menuItem:exposeArticle",
-	            "menuItem:nightMode",
-	            "menuItem:openWithQQBrowser",
-	            "menuItem:share:QZone",
-	            "menuItem:favorite",
-	            "menuItem:share:brand",
-	            "menuItem:share:facebook"
-	        ] // 要隐藏的菜单项,所有menu项见附录3
-	    });
-    }
-   
-}
-
-/** JSSDK 绑定失败调用方法 */
-function wxReadyError() {
-	// alert(wxFriend.netError);
-}
-
-/** 分享时、分享后调用方法 */
-function shareMessage(title, message) {
-	title = title || wxFriend.title;
-    message = message || wxFriend.desc;
-    wx.onMenuShareTimeline({ //分享到朋友圈,只有标题、图标,没有内容简介
-        title: title, link: wxFriend.link, imgUrl: wxFriend.imgUrl,
-        success: function () {
-        	if (wxFriend.shareAppSuccess != null && wxFriend.shareAppSuccess != "") {
-        		// alert(wxFriend.shareAppSuccess);
-        	}
-        },
-        cancel: function () {
-        	if (wxFriend.shareTimeCancel != null && wxFriend.shareTimeCancel != "") {
-        		// alert(wxFriend.shareTimeCancel);
-        	}
-        }
-    });
-    wx.onMenuShareAppMessage({ // 分享给好友,有标题、内容简介、图标
-        title: title, desc: message, link: wxFriend.link, imgUrl: wxFriend.imgUrl,
-        success: function () {
-        	if (wxFriend.shareAppSuccess != null && wxFriend.shareAppSuccess != "") {
-        		// alert(wxFriend.shareAppSuccess);
-        	}
-        },
-        cancel: function () {
-        	if (wxFriend.shareTimeCancel != null && wxFriend.shareTimeCancel != "") {
-        		// alert(wxFriend.shareTimeCancel);
-        	}
-        }
-    });
-}
-
-/** 
- * 微信支付
- * str:微信支付参数,字符串
- * paySuccessCallBack:微信支付成功后回调方法,此方法必须为全局时,方可以回调成功
- * payCancelCallBack:微信支付失败后回调方法,此方法必须为全局时,方可以回调成功
- */
-function wechatPay(str, paySuccessCallBack, payCancelCallBack) {
-	if (typeof WeixinJSBridge == "undefined"){
-		alert("非微信浏览器!无法发起微信支付请求!");
-		return;
-	}
-	var obj = JSON.parse("{" + str + "}");
-	WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
-       if(res.err_msg=='get_brand_wcpay_request:ok'){
-    	   paySuccessCallBack
-       }else{
-    	   payCancelCallBack
-       }
-	});
-}
-if (typeof WeixinJSBridge == "undefined"){
-   if( document.addEventListener ){
-       document.addEventListener('WeixinJSBridgeReady', wechatPay, false);
-   }else if (document.attachEvent){
-       document.attachEvent('WeixinJSBridgeReady', wechatPay); 
-       document.attachEvent('onWeixinJSBridgeReady', wechatPay);
-   }
-}
-/** 发起微信共享地址Version 1.0 */
-function editAddrV0(config) {
-	WeixinJSBridge.invoke('editAddress', {"appId" : config.appId, "scope" : "jsapi_address", "signType" : "SHA1", "addrSign" : config.addrSign, "timeStamp" : config.timestamp, "nonceStr" : config.nonceStr}, 
-		function(res) {
-			if ("edit_address:ok" == res.err_msg) {
-				var address = res.proviceFirstStageName + "-" + res.addressCitySecondStageName + "-" + res.addressCountiesThirdStageName + "-" + res.addressDetailInfo;
-				wechatAddr.status = true;
-				wechatAddr.detailInfo = address;
-				wechatAddr.postalCode = res.addressPostalCode;
-				wechatAddr.userName = res.userName;
-				wechatAddr.userTel = res.telNumber;
-				return wechatAddr;
-			} else if ("edit_address:fail" == res.err_msg) {// 没有选择
-				wechatAddr.statusMsg = "您没有选择收货地址!";
-				return wechatAddr;
-			} else { // 参数过时,请刷新
-				wechatAddr.statusMsg = "操作过时,请刷新重试!";
-				return wechatAddr;
-			}
-		}
-	);
-}
-/** 
- * 发起微信共享地址Version 1.1<br>
- * {<br>
- * 		status : 状态,true:请求成功,false:请求失败<br>
- * 		errorInfo : 请求失败时的提示信息<br>
- * 		res: { 请求成功时的地址信息,失败为空<br>
- * 			userName : 收货人姓名。<br>
- * 			postalCode : 邮编。<br>
- * 			provinceName 国标收货地址第一级地址(省)。<br>
- * 			cityName : 国标收货地址第二级地址(市)。<br>
- * 			countryName : 国标收货地址第三级地址(区)。<br>
- * 			detailInfo : 详细收货地址信息。<br>
- * 			nationalCode : 收货地址国家码。<br>
- * 			telNumber : 收货人电话<br>
- * 		}
- * }
- */
-function editAddrV1(successCallback, errorCallback) {
-	if (!window.jssdkSuccess) {
-		mui.alert("错误啦 ~~ 请刷新重试!");
-		return;
-	}
-	wx.openAddress({
-		success: successCallback,
-		cancel: errorCallback
-	});
-}
-/** 动态引入wechat utils JavaScript */
-function incoldeJSFile(jsUrl) {
-	var typeHand = document.getElementsByTagName('head').item(0); 
-    var typeScript= document.createElement("script"); 
-    typeScript.type = "text/javascript"; 
-    typeScript.src=jsUrl; 
-    typeHand.appendChild(typeScript); 
+/**
+ * @author 何秀刚
+ * @description wechat 工具类,依赖JQuery,如果引入此文件,自动绑定分享事件。
+ * @version V.1.0
+ */
+// 获取绑定微信JSSDK的配置参数 
+var getConfigUrl = base_path+"/config/get";
+// JSSDK是否绑定成功
+var jssdkSuccess = true;
+//是否隐藏全局菜单
+if (window.hiddenAllWechatMenu == null) {
+	window.hiddenAllWechatMenu = false;
+}
+	// 使用全局默认
+	window.wxFriend = {
+	    "appId": "",
+	    "imgUrl":'https://s.iamberry.com/aiberle/wechat/images/indexShare.jpg',
+	    "link":"https://s.iamberry.com/aiberle/wechat/index.html",
+	    "desc":"联合国授权官方合作品牌,5+品质标准,专注创新生活家电",
+	    "title":"Aiberle,源于美国,高端家电品质典范",
+	    "netError":"您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
+	    "shareTimeSuccess":"这里是分享朋友圈后调用的文字",
+	    "shareTimeCancel":"这里是取消分享给朋友圈后调用的文字",
+	    "shareAppSuccess":"这里是分享好友后调用的文字",
+	    "shareAppCancel":"这里是取消分享给好友后调用的文字"
+	};
+// 微信共享地址数据
+window.wechatAddr = {
+	"status":false, // 是否调用成功,true成功,false失败
+	"statusMsg":"失败时信息",
+	"detailInfo":"详细地址",
+	"postalCode":"邮编",
+	"userName":"收货人",
+	"userTel":"收货人电话",
+	"nationalCode":"收货地址国家码"
+};
+/** 引入JSSDK1.0基本组件,微信共享地址智能使用1.0版本,并且需要服务器返回参数支持 */
+//incoldeJSFile("http://res.wx.qq.com/open/js/jweixin-1.0.0.js");
+/** 引入JSSDK1.1基本组件 ,支持摇一摇、微信共享地址 */
+incoldeJSFile("//res.wx.qq.com/open/js/jweixin-1.1.0.js"); 
+getConfig(); // 配置JSSDK组件
+
+/** 获取服务器JSSDK参数配置 */
+function getConfig(){
+	$.ajax({
+		type: 'get', url: getConfigUrl, data: {appid: "", url: location.href,"date":new Date().getTime()}, dataType: 'json', timeout: 10000, context: $('body'),
+		success: function(data){setConfig(data);},
+		error: function(xhr, type){
+			getConfig();
+			mui.alert('网络异常,请刷新重试,否则某些功能不能使用!')
+			}
+	});
+}
+
+/**配置JS-SDK*/
+function setConfig(config){
+	wx.config({
+	  debug: false,
+	  appId: config.appId,
+	  timestamp: config.timestamp,
+	  nonceStr: config.nonceStr,
+	  signature: config.signature,
+	  jsApiList: [
+        'checkJsApi',
+        'onMenuShareTimeline',
+        'onMenuShareAppMessage',
+        'hideMenuItems',
+        'scanQRCode',
+        'showMenuItems'
+        ]
+	});
+	wx.ready(function(){ //JSSDK绑定成功
+		wxReadySuccess();
+	});
+	wx.error(function(res){ // JSSDK绑定失败的方法
+		wxReadyError();
+	});
+}
+
+/** JSSDK绑定成功调用事件 */
+function wxReadySuccess() {
+	window.jssdkSuccess = true;
+	shareMessage();
+    wx.getNetworkType({success: function (res) {}});
+    if (window.hiddenAllWechatMenu) {
+    	 wx.showMenuItems({
+	        menuList: [
+	        ] // 要显示的菜单项,所有menu项见附录3
+	    });
+	    wx.hideMenuItems({
+	        menuList: [
+	            "menuItem:copyUrl",
+	            "menuItem:openWithSafari",
+	            "menuItem:originPage",
+	            "menuItem:share:email",
+	            "menuItem:dayMode",
+	            "menuItem:setFont",
+	            "menuItem:nightMode",
+	            "menuItem:share:qq",
+	            "menuItem:dayMode",
+	            "menuItem:exposeArticle",
+	            "menuItem:nightMode",
+	            "menuItem:openWithQQBrowser",
+	            "menuItem:share:QZone",
+	            "menuItem:favorite",
+	            "menuItem:share:facebook",
+	            "menuItem:share:appMessage",
+	            "menuItem:share:brand",
+	            "menuItem:share:timeline"
+	        ] // 要隐藏的菜单项,所有menu项见附录3
+	    });
+    } else {
+    	 wx.showMenuItems({
+	        menuList: [
+	            "menuItem:share:appMessage",
+	            "menuItem:share:timeline"
+	        ] // 要显示的菜单项,所有menu项见附录3
+	    });
+	    wx.hideMenuItems({
+	        menuList: [
+	            "menuItem:copyUrl",
+	            "menuItem:openWithSafari",
+	            "menuItem:originPage",
+	            "menuItem:share:email",
+	            "menuItem:dayMode",
+	            "menuItem:setFont",
+	            "menuItem:nightMode",
+	            "menuItem:share:qq",
+	            "menuItem:dayMode",
+	            "menuItem:exposeArticle",
+	            "menuItem:nightMode",
+	            "menuItem:openWithQQBrowser",
+	            "menuItem:share:QZone",
+	            "menuItem:favorite",
+	            "menuItem:share:brand",
+	            "menuItem:share:facebook"
+	        ] // 要隐藏的菜单项,所有menu项见附录3
+	    });
+    }
+   
+}
+
+/** JSSDK 绑定失败调用方法 */
+function wxReadyError() {
+	// alert(wxFriend.netError);
+}
+
+/** 分享时、分享后调用方法 */
+function shareMessage(title, message) {
+	title = title || wxFriend.title;
+    message = message || wxFriend.desc;
+    wx.onMenuShareTimeline({ //分享到朋友圈,只有标题、图标,没有内容简介
+        title: title, link: wxFriend.link, imgUrl: wxFriend.imgUrl,
+        success: function () {
+        	if (wxFriend.shareAppSuccess != null && wxFriend.shareAppSuccess != "") {
+        		// alert(wxFriend.shareAppSuccess);
+        	}
+        },
+        cancel: function () {
+        	if (wxFriend.shareTimeCancel != null && wxFriend.shareTimeCancel != "") {
+        		// alert(wxFriend.shareTimeCancel);
+        	}
+        }
+    });
+    wx.onMenuShareAppMessage({ // 分享给好友,有标题、内容简介、图标
+        title: title, desc: message, link: wxFriend.link, imgUrl: wxFriend.imgUrl,
+        success: function () {
+        	if (wxFriend.shareAppSuccess != null && wxFriend.shareAppSuccess != "") {
+        		// alert(wxFriend.shareAppSuccess);
+        	}
+        },
+        cancel: function () {
+        	if (wxFriend.shareTimeCancel != null && wxFriend.shareTimeCancel != "") {
+        		// alert(wxFriend.shareTimeCancel);
+        	}
+        }
+    });
+}
+
+/** 
+ * 微信支付
+ * str:微信支付参数,字符串
+ * paySuccessCallBack:微信支付成功后回调方法,此方法必须为全局时,方可以回调成功
+ * payCancelCallBack:微信支付失败后回调方法,此方法必须为全局时,方可以回调成功
+ */
+function wechatPay(str, paySuccessCallBack, payCancelCallBack) {
+	if (typeof WeixinJSBridge == "undefined"){
+		alert("非微信浏览器!无法发起微信支付请求!");
+		return;
+	}
+	var obj = JSON.parse("{" + str + "}");
+	WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
+       if(res.err_msg=='get_brand_wcpay_request:ok'){
+    	   paySuccessCallBack
+       }else{
+    	   payCancelCallBack
+       }
+	});
+}
+if (typeof WeixinJSBridge == "undefined"){
+   if( document.addEventListener ){
+       document.addEventListener('WeixinJSBridgeReady', wechatPay, false);
+   }else if (document.attachEvent){
+       document.attachEvent('WeixinJSBridgeReady', wechatPay); 
+       document.attachEvent('onWeixinJSBridgeReady', wechatPay);
+   }
+}
+/** 发起微信共享地址Version 1.0 */
+function editAddrV0(config) {
+	WeixinJSBridge.invoke('editAddress', {"appId" : config.appId, "scope" : "jsapi_address", "signType" : "SHA1", "addrSign" : config.addrSign, "timeStamp" : config.timestamp, "nonceStr" : config.nonceStr}, 
+		function(res) {
+			if ("edit_address:ok" == res.err_msg) {
+				var address = res.proviceFirstStageName + "-" + res.addressCitySecondStageName + "-" + res.addressCountiesThirdStageName + "-" + res.addressDetailInfo;
+				wechatAddr.status = true;
+				wechatAddr.detailInfo = address;
+				wechatAddr.postalCode = res.addressPostalCode;
+				wechatAddr.userName = res.userName;
+				wechatAddr.userTel = res.telNumber;
+				return wechatAddr;
+			} else if ("edit_address:fail" == res.err_msg) {// 没有选择
+				wechatAddr.statusMsg = "您没有选择收货地址!";
+				return wechatAddr;
+			} else { // 参数过时,请刷新
+				wechatAddr.statusMsg = "操作过时,请刷新重试!";
+				return wechatAddr;
+			}
+		}
+	);
+}
+/** 
+ * 发起微信共享地址Version 1.1<br>
+ * {<br>
+ * 		status : 状态,true:请求成功,false:请求失败<br>
+ * 		errorInfo : 请求失败时的提示信息<br>
+ * 		res: { 请求成功时的地址信息,失败为空<br>
+ * 			userName : 收货人姓名。<br>
+ * 			postalCode : 邮编。<br>
+ * 			provinceName 国标收货地址第一级地址(省)。<br>
+ * 			cityName : 国标收货地址第二级地址(市)。<br>
+ * 			countryName : 国标收货地址第三级地址(区)。<br>
+ * 			detailInfo : 详细收货地址信息。<br>
+ * 			nationalCode : 收货地址国家码。<br>
+ * 			telNumber : 收货人电话<br>
+ * 		}
+ * }
+ */
+function editAddrV1(successCallback, errorCallback) {
+	if (!window.jssdkSuccess) {
+		mui.alert("错误啦 ~~ 请刷新重试!");
+		return;
+	}
+	wx.openAddress({
+		success: successCallback,
+		cancel: errorCallback
+	});
+}
+/** 动态引入wechat utils JavaScript */
+function incoldeJSFile(jsUrl) {
+	var typeHand = document.getElementsByTagName('head').item(0); 
+    var typeScript= document.createElement("script"); 
+    typeScript.type = "text/javascript"; 
+    typeScript.src=jsUrl; 
+    typeHand.appendChild(typeScript); 
 }

+ 106 - 106
aiberle/jzcz.html

@@ -1,107 +1,107 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title>金质成长</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body style="background: #fff;">
-		<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
-		</div>
-		<div class="mui-content" style="background: #fff;">
-			<div class="mui-content-padded">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed" id="link-to">
-					<li class="mui-table-view-cell">
-						<div class="mui-table">
-							<div class="mui-table-cell mui-col-xs-6">
-								<img width="100%" style="display: block;" src="images/jzcz-1.jpg" />
-							</div>
-							<div class="mui-table-cell mui-col-xs-6 mui-text-center" style="vertical-align: middle;border: 1px solid rgba(0,0,0,.1);">
-								<div class="mui-h5">0~6个月</div>
-								<button type="button" style="width: 100px;margin-top: 10px;">更多</button>
-							</div>
-						</div>
-					</li>
-					<li class="mui-table-view-cell">
-						<div class="mui-table">
-							<div class="mui-table-cell mui-col-xs-6">
-								<img width="100%" style="display: block;" src="images/jzcz-2.jpg" />
-							</div>
-							<div class="mui-table-cell mui-col-xs-6 mui-text-center" style="vertical-align: middle;border: 1px solid rgba(0,0,0,.1);">
-								<div class="mui-h5">7~12个月</div>
-								<button type="button" style="width: 100px;margin-top: 10px;">更多</button>
-							</div>
-						</div>
-					</li>
-					<li class="mui-table-view-cell">
-						<div class="mui-table">
-							<div class="mui-table-cell mui-col-xs-6">
-								<img width="100%" style="display: block;" src="images/jzcz-3.jpg" />
-							</div>
-							<div class="mui-table-cell mui-col-xs-6 mui-text-center" style="vertical-align: middle;border: 1px solid rgba(0,0,0,.1);">
-								<div class="mui-h5">2周岁</div>
-								<button type="button" style="width: 100px;margin-top: 10px;">更多</button>
-							</div>
-						</div>
-					</li>
-				</ul>
-			</div>
-		</div>
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-		<script type="text/javascript">
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			mui.ready(function() {
-				mui.each(document.querySelectorAll('#link-to li button'), function(index, el) {
-					el.addEventListener('tap', function() {
-						switch(index) {
-							case 0:
-								mui.openWindow({
-									url: 'http://www.iamberry.com/zh-cn/pregnancy_details5.html'
-								});
-								break;
-							case 1:
-								mui.openWindow({
-									url: 'http://www.iamberry.com/zh-cn/pregnancy_details6.html'
-								});
-								break;
-							case 2:
-								mui.openWindow({
-									url: 'http://www.iamberry.com/zh-cn/pregnancy_details7.html'
-								});
-								break;
-							default:
-								break;
-						}
-					}, false);
-				});
-				document.querySelector('.loading-bg').style.display = 'none';
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>金质成长</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body style="background: #fff;">
+		<div class="loading-bg">
+			<div class="mui-loading">
+				<div class="mui-spinner">
+				</div>
+				&nbsp;&nbsp;加载中...
+			</div>
+		</div>
+		<div class="mui-content" style="background: #fff;">
+			<div class="mui-content-padded">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed" id="link-to">
+					<li class="mui-table-view-cell">
+						<div class="mui-table">
+							<div class="mui-table-cell mui-col-xs-6">
+								<img width="100%" style="display: block;" src="images/jzcz-1.jpg" />
+							</div>
+							<div class="mui-table-cell mui-col-xs-6 mui-text-center" style="vertical-align: middle;border: 1px solid rgba(0,0,0,.1);">
+								<div class="mui-h5">0~6个月</div>
+								<button type="button" style="width: 100px;margin-top: 10px;">更多</button>
+							</div>
+						</div>
+					</li>
+					<li class="mui-table-view-cell">
+						<div class="mui-table">
+							<div class="mui-table-cell mui-col-xs-6">
+								<img width="100%" style="display: block;" src="images/jzcz-2.jpg" />
+							</div>
+							<div class="mui-table-cell mui-col-xs-6 mui-text-center" style="vertical-align: middle;border: 1px solid rgba(0,0,0,.1);">
+								<div class="mui-h5">7~12个月</div>
+								<button type="button" style="width: 100px;margin-top: 10px;">更多</button>
+							</div>
+						</div>
+					</li>
+					<li class="mui-table-view-cell">
+						<div class="mui-table">
+							<div class="mui-table-cell mui-col-xs-6">
+								<img width="100%" style="display: block;" src="images/jzcz-3.jpg" />
+							</div>
+							<div class="mui-table-cell mui-col-xs-6 mui-text-center" style="vertical-align: middle;border: 1px solid rgba(0,0,0,.1);">
+								<div class="mui-h5">2周岁</div>
+								<button type="button" style="width: 100px;margin-top: 10px;">更多</button>
+							</div>
+						</div>
+					</li>
+				</ul>
+			</div>
+		</div>
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript">
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			mui.ready(function() {
+				mui.each(document.querySelectorAll('#link-to li button'), function(index, el) {
+					el.addEventListener('tap', function() {
+						switch(index) {
+							case 0:
+								mui.openWindow({
+									url: 'http://www.iamberry.com/zh-cn/pregnancy_details5.html'
+								});
+								break;
+							case 1:
+								mui.openWindow({
+									url: 'http://www.iamberry.com/zh-cn/pregnancy_details6.html'
+								});
+								break;
+							case 2:
+								mui.openWindow({
+									url: 'http://www.iamberry.com/zh-cn/pregnancy_details7.html'
+								});
+								break;
+							default:
+								break;
+						}
+					}, false);
+				});
+				document.querySelector('.loading-bg').style.display = 'none';
+			});
+		</script>
+	</body>
+
 </html>

+ 115 - 115
aiberle/localStorage&sessionStorage.html

@@ -1,116 +1,116 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title></title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="format-detection" content="telephone=no" />
-		<meta name="apple-mobile-web-app-capable" content="yes" />
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<meta name="format-detection" content="telphone=no, email=no" />
-		<link rel="stylesheet" href="css/mui.min.css" />
-		<link rel="stylesheet" href="css/mui.picker.min.css" />
-	</head>
-
-	<body>
-		<div class="mui-input-row">
-			<input id='mydate' type="text" class="mui-text-center" placeholder="选择日期">
-		</div>
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/mui.picker.min.js"></script>
-		<script>
-			//浏览器物理清除缓存会清空掉localstorage
-			/*判断浏览器是否支持该特性*/
-			if(!window.localStorage) {
-				alert("浏览器不支持localstorage");
-			} else {
-				var obj = {
-					"a": 2,
-					"b": 1
-				};
-				obj = JSON.stringify(obj); //转为JSON字符串
-
-				//检查值是否存在
-				if(localStorage.getItem("temp2") == null) {
-					localStorage.setItem("temp2", obj); //返回{"a":1,"b":2}
-				} else {
-					console.log("已经有temp2了")
-				}
-				var edit = JSON.stringify({
-					"a": 4,
-					"b": 6
-				});
-				//改,即重新给变量赋值
-				localStorage.setItem("temp1", edit);
-
-				//删,移除存储里的值
-				//localStorage.removeItem("temp2");
-
-				//查询,存储里的值
-				var obj1 = JSON.parse(localStorage.getItem("temp2"));
-				
-				//console.log(obj1);
-				
-				//查询所有
-				console.log(localStorage);
-				//删,清空所有
-				//localStorage.clear();
-
-			}
-	
-	
-	//sessionStorage示例
-	//浏览器物理清除缓存会清空掉sessionStorage
-	if(!window.sessionStorage){
-       alert("浏览器不支持sessionStorage");
-    }else{
-    	//自定义json数据
-        var obj = {
-        a : 12,
-        b : [1,2,3,4,5],
-        c : {
-            x : 'a',
-            y : ['bb', 12, 'cc', {a:1,b:2}],
-            z : 1333
-        }
-        };
-    //json格式化插入    
-    sessionStorage.setItem('page', JSON.stringify(obj));
-
-    // 读取值
-    var page = JSON.parse(sessionStorage.getItem('page'));
-    console.log(page);
-
-    // 遍历下数组
-    for(var i=0;i< page.b.length;i++){
-        console.log(page.b[i]);
-    }
-    // 遍历对象,通常用in
-    for(var j in page.c){
-        console.log(page.c[j])
-    }
-    // 删除
-    sessionStorage.removeItem('page');
-    }
-
-
-
-			mui('body').on('tap', '#mydate', function() {
-				var th = this;
-				//mui日历控件初始化
-				var picker = new mui.DtPicker({
-					type: "date", //设置日历初始视图模式
-					beginDate: new Date(2016, 6, 6), //设置开始日期
-					endDate: new Date() //设置结束日期
-				});
-				console.log(picker)
-				picker.show(function(rs) {
-					th.value = rs.text;
-					picker.dispose();
-				});
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title></title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="format-detection" content="telephone=no" />
+		<meta name="apple-mobile-web-app-capable" content="yes" />
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<meta name="format-detection" content="telphone=no, email=no" />
+		<link rel="stylesheet" href="css/mui.min.css" />
+		<link rel="stylesheet" href="css/mui.picker.min.css" />
+	</head>
+
+	<body>
+		<div class="mui-input-row">
+			<input id='mydate' type="text" class="mui-text-center" placeholder="选择日期">
+		</div>
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/mui.picker.min.js"></script>
+		<script>
+			//浏览器物理清除缓存会清空掉localstorage
+			/*判断浏览器是否支持该特性*/
+			if(!window.localStorage) {
+				alert("浏览器不支持localstorage");
+			} else {
+				var obj = {
+					"a": 2,
+					"b": 1
+				};
+				obj = JSON.stringify(obj); //转为JSON字符串
+
+				//检查值是否存在
+				if(localStorage.getItem("temp2") == null) {
+					localStorage.setItem("temp2", obj); //返回{"a":1,"b":2}
+				} else {
+					console.log("已经有temp2了")
+				}
+				var edit = JSON.stringify({
+					"a": 4,
+					"b": 6
+				});
+				//改,即重新给变量赋值
+				localStorage.setItem("temp1", edit);
+
+				//删,移除存储里的值
+				//localStorage.removeItem("temp2");
+
+				//查询,存储里的值
+				var obj1 = JSON.parse(localStorage.getItem("temp2"));
+				
+				//console.log(obj1);
+				
+				//查询所有
+				console.log(localStorage);
+				//删,清空所有
+				//localStorage.clear();
+
+			}
+	
+	
+	//sessionStorage示例
+	//浏览器物理清除缓存会清空掉sessionStorage
+	if(!window.sessionStorage){
+       alert("浏览器不支持sessionStorage");
+    }else{
+    	//自定义json数据
+        var obj = {
+        a : 12,
+        b : [1,2,3,4,5],
+        c : {
+            x : 'a',
+            y : ['bb', 12, 'cc', {a:1,b:2}],
+            z : 1333
+        }
+        };
+    //json格式化插入    
+    sessionStorage.setItem('page', JSON.stringify(obj));
+
+    // 读取值
+    var page = JSON.parse(sessionStorage.getItem('page'));
+    console.log(page);
+
+    // 遍历下数组
+    for(var i=0;i< page.b.length;i++){
+        console.log(page.b[i]);
+    }
+    // 遍历对象,通常用in
+    for(var j in page.c){
+        console.log(page.c[j])
+    }
+    // 删除
+    sessionStorage.removeItem('page');
+    }
+
+
+
+			mui('body').on('tap', '#mydate', function() {
+				var th = this;
+				//mui日历控件初始化
+				var picker = new mui.DtPicker({
+					type: "date", //设置日历初始视图模式
+					beginDate: new Date(2016, 6, 6), //设置开始日期
+					endDate: new Date() //设置结束日期
+				});
+				console.log(picker)
+				picker.show(function(rs) {
+					th.value = rs.text;
+					picker.dispose();
+				});
+			});
+		</script>
+	</body>
+
 </html>

+ 213 - 213
aiberle/logistics-massage.html

@@ -1,213 +1,213 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>物流信息</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-//				WeixinJSBridge.call('hideOptionMenu');
-//			});
-		</script>
-	</head>
-	<body>
-			<div class="mui-content">
-				<div class="logistics-massage-head">
-					
-				
-				<div class="logistics-massage-cell">
-					<div>
-						<img width="80px" src="images/logo.png" />
-				</div>
-				<h4 id="com"></h4>
-				<h6 id="nu"></h6>
-				</div>
-				</div>
-				<div class="content">
-					<article id="logistic">
-						
-						<!--<section style="opacity: .5;">
-							<span class="point-time"></span>
-							<time datetime="2014-07">
-								<span>2018-01-11</span>
-							</time>
-							<aside>
-								<div class="things">
-									开始处理
-								</div>
-								<div class="brief">
-									2018-01-02  12:12:12
-								</div>
-							</aside>
-						</section>
-						<section style="opacity: .5;">
-							<span class="point-time"></span>
-							<time datetime="2014-07">
-								<span>2018-01-11</span>
-							</time>
-							<aside>
-								<div class="things">
-									开始处理
-								</div>
-								<div class="brief">
-									2018-01-02  12:12:12
-								</div>
-							</aside>
-						</section>
-						<section>
-							<span class="point-time"></span>
-							<time datetime="2014-07">
-								<span>2018-01-11</span>
-							</time>
-							<aside>
-								<div class="things">
-									开始处理
-								</div>
-								<div class="brief">
-									2018-01-02  12:12:12
-								</div>
-							</aside>
-						</section>-->
-					</article>
-				</div>
-			</div>
-			<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript" src="js/main.js"></script>
-	<script type="text/javascript">
-		window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-		var com = getParam("salesPostFirm");  //快递公司代码
-		var nu = getParam("salesPostNum");  //快递单号
-		mui.ready(function(){
-			var  name = "";
-			switch (com){
-                case "sto":
-                    name= "申通快递";
-                    break;
-                case "yto":
-                    name= "圆通快递";
-                    break;
-                case "zto":
-                    name= "中通速递";
-                    break;
-                case "sf":
-                    name= "顺丰快递";
-                    break;
-                case "ems":
-                    name= "邮政EMS";
-                    break;
-                case "eyb":
-                    name= "E邮宝";
-                    break;
-                case "zjs":
-                    name= "宅急送";
-                    break;
-                case "yunda":
-                    name= "韵达快递";
-                    break;
-                case "cces":
-                    name= "cces快递";
-                    break;
-                case "pick":
-                    name= "上门提货";
-                    break;
-                case "htky":
-                    name= "汇通快递";
-                    break;
-                case "ttkdex":
-                    name= "天天快递";
-                    break;
-                case "stars":
-                    name= "星晨急便";
-                    break;
-                case "jd":
-                    name= "京东快递";
-                    break;
-                case "01":
-                    name= "其他";
-                    break;
-                case "02":
-                    name= "上门送货";
-                    break;
-                case "longbanwuliu":
-                    name= "龙邦快递";
-                    break;
-                default:
-                    break;
-            }
-			$("#com").html(name);
-			$("#nu").html("单号:" + nu);
-			
-				$.ajax(base_path + '/logistics/getExpressInfo?dates=' + new Date().getTime(), {
-					data: {
-						"com": com,
-						"nu":nu
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt);
-							var html = "";
-							mui.each(dt.data.data, function(index) {
-								var logisticsDate = this.time.substring(0,10);
-								html += '<section style="opacity: .5;">'
-								html += '<span class="point-time"></span>'
-								html += '<time datetime="2014-07"><span>'+ logisticsDate +'</span></time>'
-								html += '<aside>'
-								html += '<div class="things">'+ this.context +'</div>'
-								html += '<div class="brief">'+ this.time +'</div>'
-								html += '</aside>'
-								html += '</section>'
-							});
-							
-							html += '<button type="button" class="my-btn-black order_operate" style="margin: 0 auto;width: 100px;display: block;" fixedStatus="aftermarket" orderId>返回</button>'
-							
-							$("#logistic").html(html);
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-			
-		console.log("页面加载完毕");
-		$(".loading").hide().css("opacity", "0");//隐藏(正在加载...)
-	});	
-	
-	
-	
-	/*订单按钮触发事件*/
-	$(document).on('tap', '.order_operate', function() {
-		window.history.back();
-	});
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>物流信息</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+//				WeixinJSBridge.call('hideOptionMenu');
+//			});
+		</script>
+	</head>
+	<body>
+			<div class="mui-content">
+				<div class="logistics-massage-head">
+					
+				
+				<div class="logistics-massage-cell">
+					<div>
+						<img width="80px" src="images/logo.png" />
+				</div>
+				<h4 id="com"></h4>
+				<h6 id="nu"></h6>
+				</div>
+				</div>
+				<div class="content">
+					<article id="logistic">
+						
+						<!--<section style="opacity: .5;">
+							<span class="point-time"></span>
+							<time datetime="2014-07">
+								<span>2018-01-11</span>
+							</time>
+							<aside>
+								<div class="things">
+									开始处理
+								</div>
+								<div class="brief">
+									2018-01-02  12:12:12
+								</div>
+							</aside>
+						</section>
+						<section style="opacity: .5;">
+							<span class="point-time"></span>
+							<time datetime="2014-07">
+								<span>2018-01-11</span>
+							</time>
+							<aside>
+								<div class="things">
+									开始处理
+								</div>
+								<div class="brief">
+									2018-01-02  12:12:12
+								</div>
+							</aside>
+						</section>
+						<section>
+							<span class="point-time"></span>
+							<time datetime="2014-07">
+								<span>2018-01-11</span>
+							</time>
+							<aside>
+								<div class="things">
+									开始处理
+								</div>
+								<div class="brief">
+									2018-01-02  12:12:12
+								</div>
+							</aside>
+						</section>-->
+					</article>
+				</div>
+			</div>
+			<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript" src="js/main.js"></script>
+	<script type="text/javascript">
+		window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+		var com = getParam("salesPostFirm");  //快递公司代码
+		var nu = getParam("salesPostNum");  //快递单号
+		mui.ready(function(){
+			var  name = "";
+			switch (com){
+                case "sto":
+                    name= "申通快递";
+                    break;
+                case "yto":
+                    name= "圆通快递";
+                    break;
+                case "zto":
+                    name= "中通速递";
+                    break;
+                case "sf":
+                    name= "顺丰快递";
+                    break;
+                case "ems":
+                    name= "邮政EMS";
+                    break;
+                case "eyb":
+                    name= "E邮宝";
+                    break;
+                case "zjs":
+                    name= "宅急送";
+                    break;
+                case "yunda":
+                    name= "韵达快递";
+                    break;
+                case "cces":
+                    name= "cces快递";
+                    break;
+                case "pick":
+                    name= "上门提货";
+                    break;
+                case "htky":
+                    name= "汇通快递";
+                    break;
+                case "ttkdex":
+                    name= "天天快递";
+                    break;
+                case "stars":
+                    name= "星晨急便";
+                    break;
+                case "jd":
+                    name= "京东快递";
+                    break;
+                case "01":
+                    name= "其他";
+                    break;
+                case "02":
+                    name= "上门送货";
+                    break;
+                case "longbanwuliu":
+                    name= "龙邦快递";
+                    break;
+                default:
+                    break;
+            }
+			$("#com").html(name);
+			$("#nu").html("单号:" + nu);
+			
+				$.ajax(base_path + '/logistics/getExpressInfo?dates=' + new Date().getTime(), {
+					data: {
+						"com": com,
+						"nu":nu
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt);
+							var html = "";
+							mui.each(dt.data.data, function(index) {
+								var logisticsDate = this.time.substring(0,10);
+								html += '<section style="opacity: .5;">'
+								html += '<span class="point-time"></span>'
+								html += '<time datetime="2014-07"><span>'+ logisticsDate +'</span></time>'
+								html += '<aside>'
+								html += '<div class="things">'+ this.context +'</div>'
+								html += '<div class="brief">'+ this.time +'</div>'
+								html += '</aside>'
+								html += '</section>'
+							});
+							
+							html += '<button type="button" class="my-btn-black order_operate" style="margin: 0 auto;width: 100px;display: block;" fixedStatus="aftermarket" orderId>返回</button>'
+							
+							$("#logistic").html(html);
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+			
+		console.log("页面加载完毕");
+		$(".loading").hide().css("opacity", "0");//隐藏(正在加载...)
+	});	
+	
+	
+	
+	/*订单按钮触发事件*/
+	$(document).on('tap', '.order_operate', function() {
+		window.history.back();
+	});
+	</script>
+	</body>
+</html>

+ 168 - 168
aiberle/my-warranty_card.html

@@ -1,168 +1,168 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>我的质保卡</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<style type="text/css">
-			.warranty-box{margin: 14px;position: relative;}
-			.warranty-box>img{width: 100%;}
-			.warranty-name{position: absolute;top: 22px;left: 90px;font-size: 18px;}
-			.warranty-tips{position: absolute;top: 48px;left: 90px;}
-			.icon-chanpintiyan{font-size: 50px;}
-			.jiqi{position: absolute;left: 20px;top: 15px;line-height: 1;border-radius: 50%;}
-			 .date-list{display: table;width: 100%;position: absolute;top: 50%;text-align: center;}
-			 .date-list>div{display: table-cell;position: relative;}
-			 .date-list>div:after{content: '';width: 1px;top: 25%;height: 50%;background-color: #fff;-webkit-transform: scaleX(.5);position: absolute;right: 0;}
-			 .warranty-number{position: absolute;left: 20px;bottom: 15px;}
-		</style>
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-//				WeixinJSBridge.call('hideOptionMenu');
-//			});
-		</script>
-	</head>
-	<body style="background-color: #f1f1f1;">
-	<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
-		</div>
-		<header class="mui-bar mui-bar-nav" style="background-color: transparent;">
-			<div id="pro-menu" class="mui-segmented-control">
-					<a class="mui-control-item mui-active" href="#item1">净水机</a>
-					<a class="mui-control-item" href="#item2">冲奶机</a>
-					<a class="mui-control-item" href="#item3">电动牙刷</a>
-				</div>
-		</header>
-	<div class="mui-content" style="background-color: #f1f1f1;">
-	<div style="margin: 10px 14px 15px 14px;background-color: #fff;padding: 10px;border-radius: 5px;">
-		<div style="padding:0 0 10px 0"><span class="iconfont icon-shouhoudianhua" style="color: #d78b82;float: left;"></span> &nbsp;&nbsp;联系方式</div>
-		<p>1、公众号联系客服&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2、客服电话:<a href="400 8006 692">400 8006 692</a></p>
-	</div>
-	<div class="data-cards" id="data-cards">
-
-			<div class="warranty-box" id="add_warranty" style="display: block;">
-				<img src="images/add-bg.png"/>
-				<img class="go_add_warranty_card" style="position: absolute;width: 25%;left: 37.5%;top: 16%;" src="images/add.png"/>
-				<div style="position: absolute;bottom: 20%;text-align: center;width: 100%;">添加质保卡</div>
-			</div>
-
-			<div class="warranty-box">
-				<img src="images/naiji-bg.png"/>
-				<span class="jiqi" style="">
-					<img width="60px" src="images/naiji-logo.png" />
-				</span>
-				<span class="warranty-name">Aiberle冲奶机</span>
-				<span class="warranty-tips">售后根据国家三包政策</span>
-				<div class="date-list">
-					<div>购买日期<br/>2017-01-02</div>
-					<div>换新截止<br/>2017-01-02</div>
-					<div>保修截止<br/>2017-01-02</div>
-				</div>
-				<div class="warranty-number">NO.  1599  9999  999</div>
-			</div>
-	</div>
-	<div class="mui-content-padded mui-text-center">
-		<h6>温馨提示:产品有任何问题,请于保修期内联系客服解决</h6>
-	</div>
-	</div>
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript" src="js/main.js"></script>
-	<script type="text/javascript">
-        var num = getParam("num");
-
-	mui.ready(function(){
-
-//      $.ajax(base_path + '/qrcode/select_warranty_card_list?dates=' + new Date().getTime(), {
-//          dataType: 'json',
-//          type: 'post',
-//          timeout: 15000,
-//          success: function(dt) {
-//              if(dt.isRedirect) {
-//                  location.href = dt.redirectURL;
-//              } else {
-//                  if(dt.status) {
-//                      var data_cards = dt.data;
-//                      var table = $('#data-cards');
-//                      var li = '';
-//                      mui(data_cards).each(function(index) {
-//                          li += '<div class="mui-content" style="background: #fff;">'
-//                              +'<div class="warranty-box">'
-//                              +'<img src="//s.iamberry.com/wateroPF/new/images/shop/warranty_card.png"/>'
-//                              +'<span class="jiqi" style=""><span class="iconfont icon-chanpintiyan"></span></span>'
-//                              +'<span class="warranty-name">美国WaterO可移动智能净水机</span>'
-//                              +'<span class="warranty-tips">一年只换不修、十年质保</span>'
-//								+'<div class="date-list">'
-//                              +'<div>购买日期<br/>' + dateFormat(this.cardSaleTime) + '</div>'
-//                              +'<div>一年包换<br/>' + dateFormat(this.cardRenewTime) + '</div>'
-//                              +'<div>质保截止<br/>' + dateFormat(this.cardEndTime) + '</div>'
-//                              +'</div>'
-//                              +'<div class="warranty-number">NO.&nbsp;&nbsp;'+ datePhone(this.cardBarcode) +'</div>'
-//                          	+'</div>'
-//                          	+'</div>'
-//                      });
-//                      if (li == '') {
-//                          $('#add_warranty').show();
-//                      } else {
-//                          $('#add_warranty').hide();
-//                      }
-//                      table.append(li);
-//                  } else {
-//                      mui.alert(dt.message);
-//                  }
-//              }
-//          },
-//          error: function(xhr, type, errorThrown) {
-//              //异常处理;
-//              console.log(xhr);
-//          }
-//      });
-        document.querySelector('.loading-bg').style.display='none';
-	});
-
-	function datePhone(phone) {
-	    if (phone != null && phone.length >= 12) {
-			var phone1 = phone.substring(0,4);
-            var phone2 = phone.substring(4,8);
-            var phone3 = phone.substring(8,12);
-            var phone4 = phone.substring(12,phone.length);
-            return phone1 + "&nbsp;&nbsp;" + phone2 + "&nbsp;&nbsp;" + phone3 + "&nbsp;&nbsp;" + phone4;
-		}
-	}
-	//添加质保卡
-    mui('body').on('tap', '.go_add_warranty_card', function() {
-        alert(num);
-        location.href='/wateroPF/view/add_machine.html?num='+num;
-	});
-
-    function dateFormat(now) {
-        if (now == null || now == '') {
-            return '暂无';
-        } else {
-            now = new Date(now);
-            var year = now.getFullYear();
-            var month = now.getMonth() + 1;
-            var date = now.getDate();
-            if (month < 10) {
-                month = "0" + month;
-			}
-			if (date < 10) {
-                date = "0" + date;
-			}
-            return year + "-" + month + "-" + date
-        }
-    };
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>我的质保卡</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<style type="text/css">
+			.warranty-box{margin: 14px;position: relative;}
+			.warranty-box>img{width: 100%;}
+			.warranty-name{position: absolute;top: 22px;left: 90px;font-size: 18px;}
+			.warranty-tips{position: absolute;top: 48px;left: 90px;}
+			.icon-chanpintiyan{font-size: 50px;}
+			.jiqi{position: absolute;left: 20px;top: 15px;line-height: 1;border-radius: 50%;}
+			 .date-list{display: table;width: 100%;position: absolute;top: 50%;text-align: center;}
+			 .date-list>div{display: table-cell;position: relative;}
+			 .date-list>div:after{content: '';width: 1px;top: 25%;height: 50%;background-color: #fff;-webkit-transform: scaleX(.5);position: absolute;right: 0;}
+			 .warranty-number{position: absolute;left: 20px;bottom: 15px;}
+		</style>
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+//				WeixinJSBridge.call('hideOptionMenu');
+//			});
+		</script>
+	</head>
+	<body style="background-color: #f1f1f1;">
+	<div class="loading-bg">
+			<div class="mui-loading">
+				<div class="mui-spinner">
+				</div>
+				&nbsp;&nbsp;加载中...
+			</div>
+		</div>
+		<header class="mui-bar mui-bar-nav" style="background-color: transparent;">
+			<div id="pro-menu" class="mui-segmented-control">
+					<a class="mui-control-item mui-active" href="#item1">净水机</a>
+					<a class="mui-control-item" href="#item2">冲奶机</a>
+					<a class="mui-control-item" href="#item3">电动牙刷</a>
+				</div>
+		</header>
+	<div class="mui-content" style="background-color: #f1f1f1;">
+	<div style="margin: 10px 14px 15px 14px;background-color: #fff;padding: 10px;border-radius: 5px;">
+		<div style="padding:0 0 10px 0"><span class="iconfont icon-shouhoudianhua" style="color: #d78b82;float: left;"></span> &nbsp;&nbsp;联系方式</div>
+		<p>1、公众号联系客服&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2、客服电话:<a href="400 8006 692">400 8006 692</a></p>
+	</div>
+	<div class="data-cards" id="data-cards">
+
+			<div class="warranty-box" id="add_warranty" style="display: block;">
+				<img src="images/add-bg.png"/>
+				<img class="go_add_warranty_card" style="position: absolute;width: 25%;left: 37.5%;top: 16%;" src="images/add.png"/>
+				<div style="position: absolute;bottom: 20%;text-align: center;width: 100%;">添加质保卡</div>
+			</div>
+
+			<div class="warranty-box">
+				<img src="images/naiji-bg.png"/>
+				<span class="jiqi" style="">
+					<img width="60px" src="images/naiji-logo.png" />
+				</span>
+				<span class="warranty-name">Aiberle冲奶机</span>
+				<span class="warranty-tips">售后根据国家三包政策</span>
+				<div class="date-list">
+					<div>购买日期<br/>2017-01-02</div>
+					<div>换新截止<br/>2017-01-02</div>
+					<div>保修截止<br/>2017-01-02</div>
+				</div>
+				<div class="warranty-number">NO.  1599  9999  999</div>
+			</div>
+	</div>
+	<div class="mui-content-padded mui-text-center">
+		<h6>温馨提示:产品有任何问题,请于保修期内联系客服解决</h6>
+	</div>
+	</div>
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript" src="js/main.js"></script>
+	<script type="text/javascript">
+        var num = getParam("num");
+
+	mui.ready(function(){
+
+//      $.ajax(base_path + '/qrcode/select_warranty_card_list?dates=' + new Date().getTime(), {
+//          dataType: 'json',
+//          type: 'post',
+//          timeout: 15000,
+//          success: function(dt) {
+//              if(dt.isRedirect) {
+//                  location.href = dt.redirectURL;
+//              } else {
+//                  if(dt.status) {
+//                      var data_cards = dt.data;
+//                      var table = $('#data-cards');
+//                      var li = '';
+//                      mui(data_cards).each(function(index) {
+//                          li += '<div class="mui-content" style="background: #fff;">'
+//                              +'<div class="warranty-box">'
+//                              +'<img src="//s.iamberry.com/wateroPF/new/images/shop/warranty_card.png"/>'
+//                              +'<span class="jiqi" style=""><span class="iconfont icon-chanpintiyan"></span></span>'
+//                              +'<span class="warranty-name">美国WaterO可移动智能净水机</span>'
+//                              +'<span class="warranty-tips">一年只换不修、十年质保</span>'
+//								+'<div class="date-list">'
+//                              +'<div>购买日期<br/>' + dateFormat(this.cardSaleTime) + '</div>'
+//                              +'<div>一年包换<br/>' + dateFormat(this.cardRenewTime) + '</div>'
+//                              +'<div>质保截止<br/>' + dateFormat(this.cardEndTime) + '</div>'
+//                              +'</div>'
+//                              +'<div class="warranty-number">NO.&nbsp;&nbsp;'+ datePhone(this.cardBarcode) +'</div>'
+//                          	+'</div>'
+//                          	+'</div>'
+//                      });
+//                      if (li == '') {
+//                          $('#add_warranty').show();
+//                      } else {
+//                          $('#add_warranty').hide();
+//                      }
+//                      table.append(li);
+//                  } else {
+//                      mui.alert(dt.message);
+//                  }
+//              }
+//          },
+//          error: function(xhr, type, errorThrown) {
+//              //异常处理;
+//              console.log(xhr);
+//          }
+//      });
+        document.querySelector('.loading-bg').style.display='none';
+	});
+
+	function datePhone(phone) {
+	    if (phone != null && phone.length >= 12) {
+			var phone1 = phone.substring(0,4);
+            var phone2 = phone.substring(4,8);
+            var phone3 = phone.substring(8,12);
+            var phone4 = phone.substring(12,phone.length);
+            return phone1 + "&nbsp;&nbsp;" + phone2 + "&nbsp;&nbsp;" + phone3 + "&nbsp;&nbsp;" + phone4;
+		}
+	}
+	//添加质保卡
+    mui('body').on('tap', '.go_add_warranty_card', function() {
+        alert(num);
+        location.href='/wateroPF/view/add_machine.html?num='+num;
+	});
+
+    function dateFormat(now) {
+        if (now == null || now == '') {
+            return '暂无';
+        } else {
+            now = new Date(now);
+            var year = now.getFullYear();
+            var month = now.getMonth() + 1;
+            var date = now.getDate();
+            if (month < 10) {
+                month = "0" + month;
+			}
+			if (date < 10) {
+                date = "0" + date;
+			}
+            return year + "-" + month + "-" + date
+        }
+    };
+	</script>
+	</body>
+</html>

+ 415 - 415
aiberle/order-details.html

@@ -1,416 +1,416 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>订单详情</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
-		</div>
-		
-		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
-			<a class="mui-tab-item">
-				<span class="iconfont icon-shouye"></span>
-				<span class="mui-tab-label">首页</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-gouwuche"></span>
-				<span class="mui-tab-label">购物车</span>
-			</a>
-			<a class="mui-tab-item mui-active">
-				<span class="iconfont icon-dingdan"></span>
-				<span class="mui-tab-label">订单</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-wode"></span>
-				<span class="mui-tab-label">我的</span>
-			</a>
-		</footer>
-		
-		<div class="mui-content">
-			<input type="hidden"  id="salesPostFirm" name="salesPostFirm" value=""/>
-			<input type="hidden"  id="salesPostNum" name="salesPostNum" value=""/>
-				
-			<div style="margin:14px 14px 0 14px;background-color: #f3f3f3;text-align: center;">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
-					<li class="mui-table-view-cell" style="background-color: #f3f3f3;border-radius: 5px;padding: 11px 8px;">
-						<div class="mui-table" style="height: 80px;">
-							<div class="mui-table-cell mui-col-xs-12 table-middle" style="display: none;">
-								<div style="height: 20px;position: relative;width: 150px; margin: 0 auto;"><span class="iconfont icon-jia" style="position: absolute;left:0%;top: 0;font-size: 20px;"></span></div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
-								<p><span class="iconfont icon-dingwei"></span></p>
-							</div>
-							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
-								<div><span id="addressName"></span> <span class="mui-pull-right" id="salesAddressTel"></span></div>
-								<p id="addressInfo"></p>
-							</div>
-							<div class="mui-table-cell mui-col-xs-1 mui-text-right table-middle">
-								<!--<p><span class="mui-icon mui-icon-arrowright"></span></p>-->
-							</div>
-						</div>
-					</li>
-				</ul>
-			</div>
-			<div class="clearing-box">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
-
-				</ul>
-				<ul class="mui-table-view my-view-no-top">
-					<li class="mui-table-view-cell cl-red" style="padding: 11px 2px;">
-						共<span id="num">0</span>件<span class="mui-pull-right">合计:¥<span id="salesYetAmount">0.00</span></span>
-					</li>
-				</ul>
-				<ul class="my-table-view">
-					<li>
-						订单状态:<span id="statusName"></span>
-					</li>
-					<li>
-						订单编号:<span id="orderId"></span>
-					</li>
-					<li>
-						下单时间:<span id="salesCreateDate"></span>
-					</li>
-				</ul>
-				<!--<textarea id="textarea" rows="1" placeholder="如您选择退款,请先输入退款原因!" style="background-color: #f9f9f9;border: 0;margin:0;padding: 15px;font-size: 14px;"></textarea>-->
-				<div class="mui-content-padded mui-text-center" id="operation">
-					
-				</div>
-			</div>
-
-		</div>
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			var orderId = getParam("orderId");
-			var status;
-			var isPay = true; // 是否在请求支付,false表示正在请求,true可以请求
-			var isEfficacious = true; //商品是否有效,有效则可以支付,无效则不能支付
-			mui.ready(function() {
-
-				//		var str="";
-				//		for (i=0;i<3;i++) {
-				//			str+='<div class="mui-table"><div class="mui-table-cell mui-col-xs-4"><img class="mui-media-object wh-100" src="images/chanpin-1.jpg"></div><div class="mui-table-cell table-middle mui-col-xs-8">Aiberle美国智能净饮水一体机<h6>颜色:优雅白<span class="center">数量:2</span></h6><div>¥2999.00</div><h6>(赠品:美国aiberle咖啡杯  数量:3)</h6></div></div>';
-				//		}
-				//		document.querySelector('.shopping-cart-list').innerHTML=str;
-				var table = document.body.querySelector('.shopping-cart-list');
-				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId', {
-					data: {
-						orderId: orderId
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'post',
-					timeout: 15000,
-					success: function(dt) {
-						//服务器返回响应
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							if(dt.status) {
-								//console.log(dt)
-								var order = dt.data;
-								
-								status = order.salesStatus;
-								
-								$("#addressInfo").html(order.salesAddressInfo);
-								$("#addressName").html(order.salesAddressName);
-								$("#salesAddressTel").html(order.salesAddressTel);
-								
-								var str = '';
-								var num = 0;
-								mui.each(order.orderItemList, function(index) {
-									num += this.itemNum;
-									str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ accDiv(this.itemProductDiscount,100) +'</div></div></div>';
-								});
-								document.querySelector('.shopping-cart-list').innerHTML = str;
-								document.querySelector('.loading-bg').style.display = 'none';
-								
-								if(order.salesPostFirm != null && order.salesPostFirm != "" && typeof(order.salesPostFirm) != "undefined"){
-									$("#salesPostFirm").val(order.salesPostFirm);
-								}
-								if(order.salesPostNum != null && order.salesPostNum != "" && typeof(order.salesPostNum) != "undefined"){
-									$("#salesPostNum").val(order.salesPostNum);
-								}
-							
-								var logisticsHtml =  '';
-								if(status == 5 ||  status == 12 ||  status == 6 ||  status == 11) {  //状态为取消,待支付,代发货,退货,换货都没有物流信息
-									if(order.salesPostFirm != null && order.salesPostFirm != "" && typeof(order.salesPostFirm) != "undefined" && order.salesPostNum != null && order.salesPostNum != "" && typeof(order.salesPostNum) != "undefined"){
-										logisticsHtml = '<button type="button" class="mui-btn my-btn-request logistics" style="margin-right: 20px;">查看物流</button>';
-									}
-								} 
-								var payHtml = '<button type="button" class="mui-btn my-btn-request go_pay"  style="margin-right: 20px;">立即支付</button>';
-								var aftermarketHtml = '<button type="button" class="mui-btn my-btn-request go_aftermarket" style="margin-right: 20px;">我要售后</button>';
-								var cancelHtml = '<button type="button" class="mui-btn my-btn-request go_cancel" style="margin-right: 20px;">取消申请</button>';
-								/*订单状态*/
-								var statusName = "";
-								var operationHtml = "";
-								switch (parseInt(order.salesStatus)){
-									case 0 : 
-										statusName = "取消订单";
-										break;
-									case 1 : 
-										statusName = "待支付";
-										operationHtml += payHtml;
-										break;
-									case 2 : 
-										statusName = "已支付";
-										operationHtml += aftermarketHtml;
-										break;
-									case 3 : 
-										statusName = "退款申请中";
-										operationHtml += cancelHtml;
-										break;
-									case 4 : 
-										statusName = "已退款";
-										break;
-									case 5 : 
-										statusName = "已发货";
-										operationHtml += aftermarketHtml + logisticsHtml;
-										break;
-									case 6 : 
-										statusName = "申请退货中";
-										operationHtml += cancelHtml + logisticsHtml;
-										break;
-									case 7 : 
-										statusName = "退货中";
-										operationHtml += cancelHtml;
-										break;
-									case 8 : 
-										statusName = "订单退货完成";
-										break;
-									case 9 : 
-										statusName = "换货中";
-										operationHtml += cancelHtml;
-										break;
-									case 10 : 
-										statusName = "换货完成";
-										break;
-									case 11 : 
-										statusName = "申请换货中";
-										operationHtml += cancelHtml + logisticsHtml;
-										break;
-									case 12 : 
-										statusName = "订单完成";
-										operationHtml += logisticsHtml
-										break;
-									default:
-										break;
-								}
-								$("#statusName").html(statusName);
-								$("#orderId").html(order.salesOrderid);
-								$("#salesCreateDate").html(order.salesCreateDate);
-								$("#salesYetAmount").html(accDiv(order.salesYetAmount,100));
-								$("#num").html(num);
-								$("#operation").html(operationHtml);
-							}
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-					}
-				});
-			});
-
-			mui('body').on('tap', '.go_web_shop', function() {
-				mui.openWindow({
-					url: 'chanpin_list.html'
-				});
-			});
-
-			mui('body').on('tap', '.go-clearing', function() {
-				if($("input[type='checkbox']:checked").length > 0) {
-					mui.openWindow({
-						url: 'clearing.html'
-					});
-				} else {
-					mui.alert('您没有选中任何商品', '爱贝源-消息提醒', function() {
-						console.log("您关闭了警告框");
-					});
-				}
-			});
-			
-			/**
-			 * 立即支付
-			 */
-			mui('body').on('tap', '.go_pay', function() {
-				goOrderPay(orderId);
-			});
-			
-			/**
-			 * 申请售后
-			 */
-			mui('body').on('tap', '.go_aftermarket', function() {
-				location.href = "customer-service.html?orderId=" + orderId;
-			});
-			
-			/**
-			 * 查询物流
-			 */
-			mui('body').on('tap', '.logistics', function() {
-				var salesPostFirm = $("#salesPostFirm").val();
-				var salesPostNum = $("#salesPostNum").val();
-				location.href = "logistics-massage.html?salesPostFirm="+salesPostFirm + "&salesPostNum="+salesPostNum;
-			});
-			
-            /**
-			 * 取消订单
-			 */
-			mui('body').on('tap', '.go_cancel', function() {
-				var newStatus;
-				if(status == 3){  //申请退款的
-					newStatus = 3
-				}else if(status == 6){  //申请退货的
-					newStatus = 5
-				}else if(status == 7){ //退货中 的
-					newStatus = 6
-				}else if(status == 11){
-					newStatus = 8
-				}
-				if(status != null){
-					updateOrderStatus(orderId,newStatus,"");
-				}
-			});
-			
-			
-			
-			
-			/*修改订单状态*/
-			function updateOrderStatus(orderId, status, remark) {
-				var msg = "";
-				if(status == 1){
-					msg = "是否取消该订单";
-				}else if(status == 3){
-					msg = "是否取消申请退款";
-				}else if(status == 5){
-					msg = "是否取消申请退货";
-				}else if(status == 6){
-					msg = "是否取消申请退货";
-				}else if(status == 8){
-					msg = "是否取消申请换货";
-				}
-				
-				var btnArray = ['否', '是'];
-				mui.confirm(msg, "", btnArray, function(e){
-					 if (e.index == 1) {
-					 	$.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
-							data: {
-								"status": status, //更改后的状态
-								"orderId": orderId, //订单id
-								"remark": remark
-							},
-							dataType: 'json',
-							xhrFields: {
-								withCredentials: true
-							},
-							crossDomain: true,
-							type: 'get',
-							timeout: 15000,
-							success: function(dt) {
-								if(dt.resultCode == 200) {
-									//mui.alert("获取订单列表失败!网络错误");
-									//location.reload();//刷新
-								}
-								location.reload();//刷新
-							},
-							error: function(xhr, type, errorThrown) {
-								console.log(xhr);
-								mui.alert("获取订单列表失败!网络错误");
-							}
-						});
-					 }
-				})
-			}
-			
-			
-	function goOrderPay(salesOrderid) {
-        var dataArgs = {
-            "orderId": salesOrderid
-        };
-
-        $.ajax(base_path+'/wechat/cart/orderPay', { // 提交订单,准备支付
-            data: dataArgs,
-            dataType: 'json',
-            type: 'POST',
-            timeout: 15000,
-            success: function(dt) {
-//              layer.closeAll();
-                if(dt.status) {
-                    var str = dt.data.info;
-                    var obj = JSON.parse("{" + str + "}");
-                    WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
-                        if(res.err_msg == 'get_brand_wcpay_request:ok') {
-                            var orderIds = {
-                                "orderId": dt.data.orderId
-                            };
-//                          layer.open({
-//                              type: 2,
-//                              shadeClose: false,
-//                              content: "正在请求加载订单信息..."
-//                          }); // 调用加载弹出层
-                            $.ajax(base_path+'/wechat/order/checkOrderPaySuccess', { // 校验订单状态
-                                data: orderIds,
-                                dataType: 'json',
-                                type: 'post',
-                                timeout: 15000,
-                                success: function(dt) {
-                                    if(dt.status) { // 支付成功
-                                        window.location.href = "pay-win.html?orderId=" + orderIds.orderId + "&dates=" + new Date().getTime();
-                                    } else {
-                                        setTimeout(checkOrderStatus(orderIds), 1000);
-                                    }
-                                },
-                                error: function(xhr, type, errorThrown) {
-                                    isPay = true;
-//                                  layer.closeAll();
-                                    mui.toast("您的网络异常,请刷新重试!");
-                                    return;
-                                }
-                            });
-                        } else {
-                            isPay = true;
-                            //mui.alert("对不起,支付失败!请稍后重试!" + dt.data.orderId + "支付失败!");
-                            //window.location.href = "order-details.html?orderId=" + dt.data.orderId; // 前往订单详情
-                        }
-                    });
-                } else {
-                    isPay = true;
-                    mui.toast(dt.message);
-                }
-            },
-            error: function(xhr, type, errorThrown) {
-                isPay = true;
-//              layer.closeAll();
-                mui.toast("您的网络异常,请刷新重试!");
-                return;
-            }
-        });
-    }
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>订单详情</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<div class="loading-bg">
+			<div class="mui-loading">
+				<div class="mui-spinner">
+				</div>
+				&nbsp;&nbsp;加载中...
+			</div>
+		</div>
+		
+		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
+			<a class="mui-tab-item">
+				<span class="iconfont icon-shouye"></span>
+				<span class="mui-tab-label">首页</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-gouwuche"></span>
+				<span class="mui-tab-label">购物车</span>
+			</a>
+			<a class="mui-tab-item mui-active">
+				<span class="iconfont icon-dingdan"></span>
+				<span class="mui-tab-label">订单</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-wode"></span>
+				<span class="mui-tab-label">我的</span>
+			</a>
+		</footer>
+		
+		<div class="mui-content">
+			<input type="hidden"  id="salesPostFirm" name="salesPostFirm" value=""/>
+			<input type="hidden"  id="salesPostNum" name="salesPostNum" value=""/>
+				
+			<div style="margin:14px 14px 0 14px;background-color: #f3f3f3;text-align: center;">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
+					<li class="mui-table-view-cell" style="background-color: #f3f3f3;border-radius: 5px;padding: 11px 8px;">
+						<div class="mui-table" style="height: 80px;">
+							<div class="mui-table-cell mui-col-xs-12 table-middle" style="display: none;">
+								<div style="height: 20px;position: relative;width: 150px; margin: 0 auto;"><span class="iconfont icon-jia" style="position: absolute;left:0%;top: 0;font-size: 20px;"></span></div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
+								<p><span class="iconfont icon-dingwei"></span></p>
+							</div>
+							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
+								<div><span id="addressName"></span> <span class="mui-pull-right" id="salesAddressTel"></span></div>
+								<p id="addressInfo"></p>
+							</div>
+							<div class="mui-table-cell mui-col-xs-1 mui-text-right table-middle">
+								<!--<p><span class="mui-icon mui-icon-arrowright"></span></p>-->
+							</div>
+						</div>
+					</li>
+				</ul>
+			</div>
+			<div class="clearing-box">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
+
+				</ul>
+				<ul class="mui-table-view my-view-no-top">
+					<li class="mui-table-view-cell cl-red" style="padding: 11px 2px;">
+						共<span id="num">0</span>件<span class="mui-pull-right">合计:¥<span id="salesYetAmount">0.00</span></span>
+					</li>
+				</ul>
+				<ul class="my-table-view">
+					<li>
+						订单状态:<span id="statusName"></span>
+					</li>
+					<li>
+						订单编号:<span id="orderId"></span>
+					</li>
+					<li>
+						下单时间:<span id="salesCreateDate"></span>
+					</li>
+				</ul>
+				<!--<textarea id="textarea" rows="1" placeholder="如您选择退款,请先输入退款原因!" style="background-color: #f9f9f9;border: 0;margin:0;padding: 15px;font-size: 14px;"></textarea>-->
+				<div class="mui-content-padded mui-text-center" id="operation">
+					
+				</div>
+			</div>
+
+		</div>
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			var orderId = getParam("orderId");
+			var status;
+			var isPay = true; // 是否在请求支付,false表示正在请求,true可以请求
+			var isEfficacious = true; //商品是否有效,有效则可以支付,无效则不能支付
+			mui.ready(function() {
+
+				//		var str="";
+				//		for (i=0;i<3;i++) {
+				//			str+='<div class="mui-table"><div class="mui-table-cell mui-col-xs-4"><img class="mui-media-object wh-100" src="images/chanpin-1.jpg"></div><div class="mui-table-cell table-middle mui-col-xs-8">Aiberle美国智能净饮水一体机<h6>颜色:优雅白<span class="center">数量:2</span></h6><div>¥2999.00</div><h6>(赠品:美国aiberle咖啡杯  数量:3)</h6></div></div>';
+				//		}
+				//		document.querySelector('.shopping-cart-list').innerHTML=str;
+				var table = document.body.querySelector('.shopping-cart-list');
+				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId', {
+					data: {
+						orderId: orderId
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'post',
+					timeout: 15000,
+					success: function(dt) {
+						//服务器返回响应
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							if(dt.status) {
+								//console.log(dt)
+								var order = dt.data;
+								
+								status = order.salesStatus;
+								
+								$("#addressInfo").html(order.salesAddressInfo);
+								$("#addressName").html(order.salesAddressName);
+								$("#salesAddressTel").html(order.salesAddressTel);
+								
+								var str = '';
+								var num = 0;
+								mui.each(order.orderItemList, function(index) {
+									num += this.itemNum;
+									str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ accDiv(this.itemProductDiscount,100) +'</div></div></div>';
+								});
+								document.querySelector('.shopping-cart-list').innerHTML = str;
+								document.querySelector('.loading-bg').style.display = 'none';
+								
+								if(order.salesPostFirm != null && order.salesPostFirm != "" && typeof(order.salesPostFirm) != "undefined"){
+									$("#salesPostFirm").val(order.salesPostFirm);
+								}
+								if(order.salesPostNum != null && order.salesPostNum != "" && typeof(order.salesPostNum) != "undefined"){
+									$("#salesPostNum").val(order.salesPostNum);
+								}
+							
+								var logisticsHtml =  '';
+								if(status == 5 ||  status == 12 ||  status == 6 ||  status == 11) {  //状态为取消,待支付,代发货,退货,换货都没有物流信息
+									if(order.salesPostFirm != null && order.salesPostFirm != "" && typeof(order.salesPostFirm) != "undefined" && order.salesPostNum != null && order.salesPostNum != "" && typeof(order.salesPostNum) != "undefined"){
+										logisticsHtml = '<button type="button" class="mui-btn my-btn-request logistics" style="margin-right: 20px;">查看物流</button>';
+									}
+								} 
+								var payHtml = '<button type="button" class="mui-btn my-btn-request go_pay"  style="margin-right: 20px;">立即支付</button>';
+								var aftermarketHtml = '<button type="button" class="mui-btn my-btn-request go_aftermarket" style="margin-right: 20px;">我要售后</button>';
+								var cancelHtml = '<button type="button" class="mui-btn my-btn-request go_cancel" style="margin-right: 20px;">取消申请</button>';
+								/*订单状态*/
+								var statusName = "";
+								var operationHtml = "";
+								switch (parseInt(order.salesStatus)){
+									case 0 : 
+										statusName = "取消订单";
+										break;
+									case 1 : 
+										statusName = "待支付";
+										operationHtml += payHtml;
+										break;
+									case 2 : 
+										statusName = "已支付";
+										operationHtml += aftermarketHtml;
+										break;
+									case 3 : 
+										statusName = "退款申请中";
+										operationHtml += cancelHtml;
+										break;
+									case 4 : 
+										statusName = "已退款";
+										break;
+									case 5 : 
+										statusName = "已发货";
+										operationHtml += aftermarketHtml + logisticsHtml;
+										break;
+									case 6 : 
+										statusName = "申请退货中";
+										operationHtml += cancelHtml + logisticsHtml;
+										break;
+									case 7 : 
+										statusName = "退货中";
+										operationHtml += cancelHtml;
+										break;
+									case 8 : 
+										statusName = "订单退货完成";
+										break;
+									case 9 : 
+										statusName = "换货中";
+										operationHtml += cancelHtml;
+										break;
+									case 10 : 
+										statusName = "换货完成";
+										break;
+									case 11 : 
+										statusName = "申请换货中";
+										operationHtml += cancelHtml + logisticsHtml;
+										break;
+									case 12 : 
+										statusName = "订单完成";
+										operationHtml += logisticsHtml
+										break;
+									default:
+										break;
+								}
+								$("#statusName").html(statusName);
+								$("#orderId").html(order.salesOrderid);
+								$("#salesCreateDate").html(order.salesCreateDate);
+								$("#salesYetAmount").html(accDiv(order.salesYetAmount,100));
+								$("#num").html(num);
+								$("#operation").html(operationHtml);
+							}
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+					}
+				});
+			});
+
+			mui('body').on('tap', '.go_web_shop', function() {
+				mui.openWindow({
+					url: 'chanpin_list.html'
+				});
+			});
+
+			mui('body').on('tap', '.go-clearing', function() {
+				if($("input[type='checkbox']:checked").length > 0) {
+					mui.openWindow({
+						url: 'clearing.html'
+					});
+				} else {
+					mui.alert('您没有选中任何商品', '爱贝源-消息提醒', function() {
+						console.log("您关闭了警告框");
+					});
+				}
+			});
+			
+			/**
+			 * 立即支付
+			 */
+			mui('body').on('tap', '.go_pay', function() {
+				goOrderPay(orderId);
+			});
+			
+			/**
+			 * 申请售后
+			 */
+			mui('body').on('tap', '.go_aftermarket', function() {
+				location.href = "customer-service.html?orderId=" + orderId;
+			});
+			
+			/**
+			 * 查询物流
+			 */
+			mui('body').on('tap', '.logistics', function() {
+				var salesPostFirm = $("#salesPostFirm").val();
+				var salesPostNum = $("#salesPostNum").val();
+				location.href = "logistics-massage.html?salesPostFirm="+salesPostFirm + "&salesPostNum="+salesPostNum;
+			});
+			
+            /**
+			 * 取消订单
+			 */
+			mui('body').on('tap', '.go_cancel', function() {
+				var newStatus;
+				if(status == 3){  //申请退款的
+					newStatus = 3
+				}else if(status == 6){  //申请退货的
+					newStatus = 5
+				}else if(status == 7){ //退货中 的
+					newStatus = 6
+				}else if(status == 11){
+					newStatus = 8
+				}
+				if(status != null){
+					updateOrderStatus(orderId,newStatus,"");
+				}
+			});
+			
+			
+			
+			
+			/*修改订单状态*/
+			function updateOrderStatus(orderId, status, remark) {
+				var msg = "";
+				if(status == 1){
+					msg = "是否取消该订单";
+				}else if(status == 3){
+					msg = "是否取消申请退款";
+				}else if(status == 5){
+					msg = "是否取消申请退货";
+				}else if(status == 6){
+					msg = "是否取消申请退货";
+				}else if(status == 8){
+					msg = "是否取消申请换货";
+				}
+				
+				var btnArray = ['否', '是'];
+				mui.confirm(msg, "", btnArray, function(e){
+					 if (e.index == 1) {
+					 	$.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
+							data: {
+								"status": status, //更改后的状态
+								"orderId": orderId, //订单id
+								"remark": remark
+							},
+							dataType: 'json',
+							xhrFields: {
+								withCredentials: true
+							},
+							crossDomain: true,
+							type: 'get',
+							timeout: 15000,
+							success: function(dt) {
+								if(dt.resultCode == 200) {
+									//mui.alert("获取订单列表失败!网络错误");
+									//location.reload();//刷新
+								}
+								location.reload();//刷新
+							},
+							error: function(xhr, type, errorThrown) {
+								console.log(xhr);
+								mui.alert("获取订单列表失败!网络错误");
+							}
+						});
+					 }
+				})
+			}
+			
+			
+	function goOrderPay(salesOrderid) {
+        var dataArgs = {
+            "orderId": salesOrderid
+        };
+
+        $.ajax(base_path+'/wechat/cart/orderPay', { // 提交订单,准备支付
+            data: dataArgs,
+            dataType: 'json',
+            type: 'POST',
+            timeout: 15000,
+            success: function(dt) {
+//              layer.closeAll();
+                if(dt.status) {
+                    var str = dt.data.info;
+                    var obj = JSON.parse("{" + str + "}");
+                    WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
+                        if(res.err_msg == 'get_brand_wcpay_request:ok') {
+                            var orderIds = {
+                                "orderId": dt.data.orderId
+                            };
+//                          layer.open({
+//                              type: 2,
+//                              shadeClose: false,
+//                              content: "正在请求加载订单信息..."
+//                          }); // 调用加载弹出层
+                            $.ajax(base_path+'/wechat/order/checkOrderPaySuccess', { // 校验订单状态
+                                data: orderIds,
+                                dataType: 'json',
+                                type: 'post',
+                                timeout: 15000,
+                                success: function(dt) {
+                                    if(dt.status) { // 支付成功
+                                        window.location.href = "pay-win.html?orderId=" + orderIds.orderId + "&dates=" + new Date().getTime();
+                                    } else {
+                                        setTimeout(checkOrderStatus(orderIds), 1000);
+                                    }
+                                },
+                                error: function(xhr, type, errorThrown) {
+                                    isPay = true;
+//                                  layer.closeAll();
+                                    mui.toast("您的网络异常,请刷新重试!");
+                                    return;
+                                }
+                            });
+                        } else {
+                            isPay = true;
+                            //mui.alert("对不起,支付失败!请稍后重试!" + dt.data.orderId + "支付失败!");
+                            //window.location.href = "order-details.html?orderId=" + dt.data.orderId; // 前往订单详情
+                        }
+                    });
+                } else {
+                    isPay = true;
+                    mui.toast(dt.message);
+                }
+            },
+            error: function(xhr, type, errorThrown) {
+                isPay = true;
+//              layer.closeAll();
+                mui.toast("您的网络异常,请刷新重试!");
+                return;
+            }
+        });
+    }
+		</script>
+	</body>
+
 </html>

+ 64 - 64
aiberle/pay-win.html

@@ -1,64 +1,64 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>支付成功</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-	<body style="background: #fff;">
-	<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
-	</div>
-			<div class="mui-content" style="background: #fff;">
-				<div style="background-color: #f1f1f1;height:220px;text-align: center;padding: 50px 0;">
-				<div style="padding: 10px 0;">
-					<span class="iconfont icon-yes" style="color: #3bbf64;font-size: 30px;"></span>
-				</div>
-				<h4> 恭喜您支付成功</h4>
-				<p>感谢您的购买</p>
-				</div>
-				<div style="margin:-40px auto 0 auto;width:240px;text-align: center;">
-					<img width="160px" src="images/qrcode.png" />
-					<p>
-					长按识别,关注aiberle公众号<br /> 随时查看订单信息
-				</p>
-				<div style="padding: 20px 0;">
-					<button type="button" class="mui-btn my-btn">继续逛逛</button>&nbsp;&nbsp;&nbsp;&nbsp;
-					<button type="button" class="mui-btn my-btn">查看订单</button>
-				</div>
-				</div>	
-			</div>
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript" src="js/main.js"></script>
-	<script type="text/javascript">
-	mui.ready(function(){
-		console.log("页面加载完毕")
-		document.querySelector('.loading-bg').style.display='none';
-
-	});
-	
-	mui('body').on('tap','.go_order_details',function(){
-				mui.openWindow({
-					url: 'order_details.html'
-			});
-		});
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>支付成功</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+	<body style="background: #fff;">
+	<div class="loading-bg">
+			<div class="mui-loading">
+				<div class="mui-spinner">
+				</div>
+				&nbsp;&nbsp;加载中...
+			</div>
+	</div>
+			<div class="mui-content" style="background: #fff;">
+				<div style="background-color: #f1f1f1;height:220px;text-align: center;padding: 50px 0;">
+				<div style="padding: 10px 0;">
+					<span class="iconfont icon-yes" style="color: #3bbf64;font-size: 30px;"></span>
+				</div>
+				<h4> 恭喜您支付成功</h4>
+				<p>感谢您的购买</p>
+				</div>
+				<div style="margin:-40px auto 0 auto;width:240px;text-align: center;">
+					<img width="160px" src="images/qrcode.png" />
+					<p>
+					长按识别,关注aiberle公众号<br /> 随时查看订单信息
+				</p>
+				<div style="padding: 20px 0;">
+					<button type="button" class="mui-btn my-btn">继续逛逛</button>&nbsp;&nbsp;&nbsp;&nbsp;
+					<button type="button" class="mui-btn my-btn">查看订单</button>
+				</div>
+				</div>	
+			</div>
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript" src="js/main.js"></script>
+	<script type="text/javascript">
+	mui.ready(function(){
+		console.log("页面加载完毕")
+		document.querySelector('.loading-bg').style.display='none';
+
+	});
+	
+	mui('body').on('tap','.go_order_details',function(){
+				mui.openWindow({
+					url: 'order_details.html'
+			});
+		});
+	</script>
+	</body>
+</html>

+ 148 - 148
aiberle/pro-details-test.html

@@ -1,149 +1,149 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>产品详情</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<style>
-.pro-select-color{padding: 3px 0;background: #fff;border: 1px solid rgba(0,0,0,.1); color: #999;border-radius: 5px;margin-right: 8px;margin-bottom: 15px; display: inline-block;width: 46%;text-align: center;font-size: 14px;}
-.pro-select-color.active{background: #737272;color: #fff;}
-.mui-control-content img{display: block;max-width: 100%;}
-		</style>
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<footer class="mui-bar mui-bar-tab" style="box-shadow: 0 0 0 0;">
-			<ul class="mui-table-view mui-table-view-striped mui-table-view-condensed my-grid-view-no">
-				<li class="mui-table-view-cell">
-					<div class="mui-table"><div class="mui-table-cell mui-col-xs-4 table-middle" style="border-top:1px solid rgba(0,0,0,.1);"><img width="60%" style="display: block;margin: 0 auto;" src="images/logo.png" /></div>
-					<div class="mui-table-cell mui-col-xs-8 table-middle div-btn-buy-know" style="background-color: #f2312f;">去京东购买</div></div>
-				</li>
-			</ul>
-		</footer>
-		<div class="mui-content">
-			<div class="banner-box-pro">
-			<div id="slider" class="mui-slider">
-				<div class="mui-slider-group mui-slider-loop">
-					<!-- 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) -->
-					<div class="mui-slider-item mui-slider-item-duplicate">
-						<a>
-							<img src="images/3.jpg">
-						</a>
-					</div>
-					<!-- 第一张 -->
-					<div class="mui-slider-item">
-						<a>
-							<img src="images/2.jpg">
-						</a>
-					</div>
-					<!-- 第二张 -->
-					<div class="mui-slider-item">
-						<a>
-							<img src="images/1.jpg">
-						</a>
-					</div>
-					<!-- 第三张 -->
-					<div class="mui-slider-item">
-						<a>
-							<img src="images/3.jpg">
-						</a>
-					</div>
-					<!-- 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) -->
-					<div class="mui-slider-item mui-slider-item-duplicate">
-						<a>
-							<img src="images/2.jpg">
-						</a>
-					</div>
-				</div>
-				<div class="mui-slider-indicator">
-					<div class="mui-indicator mui-active"></div>
-					<div class="mui-indicator"></div>
-					<div class="mui-indicator"></div>
-				</div>
-			</div>
-			</div>
-			<ul class="mui-table-view mui-grid-view my-view-no" style="padding-bottom: 0;">
-		        <li class="mui-table-view-cell mui-media mui-col-xs-12" style="padding-right: 2px;">
-		            <a href="#">
-		                <div class="index-pro-tit">[精选] Aiberle美国智能净饮水一体机</div>
-		                <p class="mui-text-left">4级ro净化、10s加热、3s出水<span style="float: right;color: #ff3b3b;">¥2999.00</span></p>
-		            </a>
-		        </li>
-		        <li class="mui-table-view-cell mui-media mui-col-xs-12 mui-text-center">
-		        	<span class="pro-select-color active" name="#item1" src="https://item.jd.com/24758484539.html">W5</span>
-		        	<span class="pro-select-color" name="#item2" src="https://item.jd.com/24759561687.html">W6</span>
-		        </li>
-		   </ul>
-		   <div class="mui-control-content mui-active" id="item1">
-		   	    <img class="mui-media-object" src="images/w5_01.jpg">
-		   	    <img class="mui-media-object" src="images/w5_02.jpg">
-		   	    <img class="mui-media-object" src="images/w5_03.jpg">
-		   	    <img class="mui-media-object" src="images/w5_04.jpg">
-		   	    <img class="mui-media-object" src="images/w5_05.jpg">
-		   	    <img class="mui-media-object" src="images/w5_06.jpg">
-		   	    <img class="mui-media-object" src="images/w5_07.jpg">
-		   	    <img class="mui-media-object" src="images/w5_08.jpg">
-		   </div>
-		   <div class="mui-control-content" id="item2">
-		   	    <img class="mui-media-object" src="images/w6_01.jpg">
-		   	    <img class="mui-media-object" src="images/w6_02.jpg">
-		   	    <img class="mui-media-object" src="images/w6_03.jpg">
-		   	    <img class="mui-media-object" src="images/w6_04.jpg">
-		   	    <img class="mui-media-object" src="images/w6_05.jpg">
-		   	    <img class="mui-media-object" src="images/w6_06.jpg">
-		   	    <img class="mui-media-object" src="images/w6_07.jpg">
-		   	    <img class="mui-media-object" src="images/w6_08.jpg">
-		   	    <img class="mui-media-object" src="images/w6_09.jpg">
-		   </div>
-		</div>
-		<!-- 加载ing -->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>加载中...</p>
-		</div>
-		<!-- 加载ing END -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			mui.ready(function() {
-				var slider = mui("#slider");
-				slider.slider({
-					interval: 5000
-				});
-				$(".loading").hide().css("opacity", "0");
-			});
-			//切换颜色
-			$(document).on('tap', '.pro-select-color', function() {
-				//选中自己再把前后的元素全不选中
-				$(this).addClass("active").siblings().removeClass("active");
-				$(".mui-control-content").removeClass("mui-active");
-				$($(this).attr("name")).addClass("mui-active");
-			});
-			//去京东购买
-			$(document).on('tap', '.div-btn-buy-know', function() {
-				location.href=$(".pro-select-color.active").attr("src");
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>产品详情</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<style>
+.pro-select-color{padding: 3px 0;background: #fff;border: 1px solid rgba(0,0,0,.1); color: #999;border-radius: 5px;margin-right: 8px;margin-bottom: 15px; display: inline-block;width: 46%;text-align: center;font-size: 14px;}
+.pro-select-color.active{background: #737272;color: #fff;}
+.mui-control-content img{display: block;max-width: 100%;}
+		</style>
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<footer class="mui-bar mui-bar-tab" style="box-shadow: 0 0 0 0;">
+			<ul class="mui-table-view mui-table-view-striped mui-table-view-condensed my-grid-view-no">
+				<li class="mui-table-view-cell">
+					<div class="mui-table"><div class="mui-table-cell mui-col-xs-4 table-middle" style="border-top:1px solid rgba(0,0,0,.1);"><img width="60%" style="display: block;margin: 0 auto;" src="images/logo.png" /></div>
+					<div class="mui-table-cell mui-col-xs-8 table-middle div-btn-buy-know" style="background-color: #f2312f;">去京东购买</div></div>
+				</li>
+			</ul>
+		</footer>
+		<div class="mui-content">
+			<div class="banner-box-pro">
+			<div id="slider" class="mui-slider">
+				<div class="mui-slider-group mui-slider-loop">
+					<!-- 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) -->
+					<div class="mui-slider-item mui-slider-item-duplicate">
+						<a>
+							<img src="images/3.jpg">
+						</a>
+					</div>
+					<!-- 第一张 -->
+					<div class="mui-slider-item">
+						<a>
+							<img src="images/2.jpg">
+						</a>
+					</div>
+					<!-- 第二张 -->
+					<div class="mui-slider-item">
+						<a>
+							<img src="images/1.jpg">
+						</a>
+					</div>
+					<!-- 第三张 -->
+					<div class="mui-slider-item">
+						<a>
+							<img src="images/3.jpg">
+						</a>
+					</div>
+					<!-- 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) -->
+					<div class="mui-slider-item mui-slider-item-duplicate">
+						<a>
+							<img src="images/2.jpg">
+						</a>
+					</div>
+				</div>
+				<div class="mui-slider-indicator">
+					<div class="mui-indicator mui-active"></div>
+					<div class="mui-indicator"></div>
+					<div class="mui-indicator"></div>
+				</div>
+			</div>
+			</div>
+			<ul class="mui-table-view mui-grid-view my-view-no" style="padding-bottom: 0;">
+		        <li class="mui-table-view-cell mui-media mui-col-xs-12" style="padding-right: 2px;">
+		            <a href="#">
+		                <div class="index-pro-tit">[精选] Aiberle美国智能净饮水一体机</div>
+		                <p class="mui-text-left">4级ro净化、10s加热、3s出水<span style="float: right;color: #ff3b3b;">¥2999.00</span></p>
+		            </a>
+		        </li>
+		        <li class="mui-table-view-cell mui-media mui-col-xs-12 mui-text-center">
+		        	<span class="pro-select-color active" name="#item1" src="https://item.jd.com/24758484539.html">W5</span>
+		        	<span class="pro-select-color" name="#item2" src="https://item.jd.com/24759561687.html">W6</span>
+		        </li>
+		   </ul>
+		   <div class="mui-control-content mui-active" id="item1">
+		   	    <img class="mui-media-object" src="images/w5_01.jpg">
+		   	    <img class="mui-media-object" src="images/w5_02.jpg">
+		   	    <img class="mui-media-object" src="images/w5_03.jpg">
+		   	    <img class="mui-media-object" src="images/w5_04.jpg">
+		   	    <img class="mui-media-object" src="images/w5_05.jpg">
+		   	    <img class="mui-media-object" src="images/w5_06.jpg">
+		   	    <img class="mui-media-object" src="images/w5_07.jpg">
+		   	    <img class="mui-media-object" src="images/w5_08.jpg">
+		   </div>
+		   <div class="mui-control-content" id="item2">
+		   	    <img class="mui-media-object" src="images/w6_01.jpg">
+		   	    <img class="mui-media-object" src="images/w6_02.jpg">
+		   	    <img class="mui-media-object" src="images/w6_03.jpg">
+		   	    <img class="mui-media-object" src="images/w6_04.jpg">
+		   	    <img class="mui-media-object" src="images/w6_05.jpg">
+		   	    <img class="mui-media-object" src="images/w6_06.jpg">
+		   	    <img class="mui-media-object" src="images/w6_07.jpg">
+		   	    <img class="mui-media-object" src="images/w6_08.jpg">
+		   	    <img class="mui-media-object" src="images/w6_09.jpg">
+		   </div>
+		</div>
+		<!-- 加载ing -->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>加载中...</p>
+		</div>
+		<!-- 加载ing END -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			mui.ready(function() {
+				var slider = mui("#slider");
+				slider.slider({
+					interval: 5000
+				});
+				$(".loading").hide().css("opacity", "0");
+			});
+			//切换颜色
+			$(document).on('tap', '.pro-select-color', function() {
+				//选中自己再把前后的元素全不选中
+				$(this).addClass("active").siblings().removeClass("active");
+				$(".mui-control-content").removeClass("mui-active");
+				$($(this).attr("name")).addClass("mui-active");
+			});
+			//去京东购买
+			$(document).on('tap', '.div-btn-buy-know', function() {
+				location.href=$(".pro-select-color.active").attr("src");
+			});
+		</script>
+	</body>
+
 </html>

文件差异内容过多而无法显示
+ 391 - 391
aiberle/pro-details.html


+ 24 - 1
aiberle/pro-list.html

@@ -82,7 +82,10 @@
 			</ul>-->
 			</div>
 
-			<div id="item2" class="mui-control-content">
+<div id="product-type">
+	
+</div>
+			<!--<div id="item2" class="mui-control-content">
 				<ul class="pro-table-pull">
 				</ul>
 			</div>
@@ -110,6 +113,14 @@
 				<ul class="pro-table-pull">
 				</ul>
 			</div>
+			<div id="item10" class="mui-control-content">
+				<ul class="pro-table-pull">
+				</ul>
+			</div>
+			<div id="item11" class="mui-control-content">
+				<ul class="pro-table-pull">
+				</ul>
+			</div>-->
 		</div>
 		<!-- 加载ing -->
 		<div class="loading covers">
@@ -169,6 +180,18 @@
 						} else {
 							console.log(dt)
 							if(dt.status) {
+								var productTypeList = dt.data.productTypeList;
+								var typeHtml = '';
+								for(var k=0;k<productTypeList.length;k++){
+									var typeId = productTypeList[k].typeId;
+									typeHtml += '<div id="item'+ typeId +'" class="mui-control-content">';
+									typeHtml += '<ul class="pro-table-pull">';
+									typeHtml += '</ul>';
+									typeHtml += '</div>';
+								}
+								$("#product-type").html(typeHtml);
+								
+								
 								var menu_data = dt.data.productTypeList;
 								if(load == null) {
 									var table = document.body.querySelector("#pro-menu");

+ 61 - 61
aiberle/question-and-answer.html

@@ -1,61 +1,61 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>常见问答</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-	<body style="background: #fff;">
-	<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
-	</div>
-	<div class="mui-content" style="background: #fff;">
-		<div style="margin: 14px;">
-		<ul class="mui-table-view mui-grid-view mui-table-view-striped mui-table-view-condensed my-grid-view-no" id="menu-faq">
-			<li class="mui-table-view-cell" style="margin-bottom: 14px;background-color: #f9f8f7;padding:20px 15px;border-radius: 5px;height: 100px;" href="watero-faq.html">
-				<div class="mui-table">
-		            <div class="mui-table-cell mui-col-xs-12 mui-text-center">
-		                 <img style="vertical-align: middle;margin-right: 10px;" width="50px" src="images/shuiji.png" />净水机
-		            </div>
-		        </div>
-			</li>
-			<li class="mui-table-view-cell mui-media mui-col-xs-5 mui-text-center" style="background-color: #f9f8f7;width: 48%;padding: 25px 0;height: 100px;border-radius: 5px;">
-		        <img style="vertical-align: middle;margin-right: 10px;" width="35px" src="images/naiji.png" />冲奶机
-			</li>
-			<li class="mui-table-view-cell mui-media mui-col-xs-5 mui-text-center" style="background-color: #f9f8f7; float: right;width:48%;padding: 25px 0;height: 100px;border-radius: 5px;">
-		         <img style="vertical-align: middle;margin-right: 10px;" width="25px" src="images/yashua.png" />电动牙刷
-			</li>
-		</ul>	
-		</div>
-	</div>
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript">
-	mui.ready(function(){
-		
-		$(document).on('tap', '#menu-faq>li', function(event) {
-            	if(typeof($(this).attr("href"))!="undefined"){
-            		location.href=$(this).attr("href");
-            	}
-         });
-		document.querySelector('.loading-bg').style.display='none';
-	});
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>常见问答</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+	<body style="background: #fff;">
+	<div class="loading-bg">
+			<div class="mui-loading">
+				<div class="mui-spinner">
+				</div>
+				&nbsp;&nbsp;加载中...
+			</div>
+	</div>
+	<div class="mui-content" style="background: #fff;">
+		<div style="margin: 14px;">
+		<ul class="mui-table-view mui-grid-view mui-table-view-striped mui-table-view-condensed my-grid-view-no" id="menu-faq">
+			<li class="mui-table-view-cell" style="margin-bottom: 14px;background-color: #f9f8f7;padding:20px 15px;border-radius: 5px;height: 100px;" href="watero-faq.html">
+				<div class="mui-table">
+		            <div class="mui-table-cell mui-col-xs-12 mui-text-center">
+		                 <img style="vertical-align: middle;margin-right: 10px;" width="50px" src="images/shuiji.png" />净水机
+		            </div>
+		        </div>
+			</li>
+			<li class="mui-table-view-cell mui-media mui-col-xs-5 mui-text-center" style="background-color: #f9f8f7;width: 48%;padding: 25px 0;height: 100px;border-radius: 5px;">
+		        <img style="vertical-align: middle;margin-right: 10px;" width="35px" src="images/naiji.png" />冲奶机
+			</li>
+			<li class="mui-table-view-cell mui-media mui-col-xs-5 mui-text-center" style="background-color: #f9f8f7; float: right;width:48%;padding: 25px 0;height: 100px;border-radius: 5px;">
+		         <img style="vertical-align: middle;margin-right: 10px;" width="25px" src="images/yashua.png" />电动牙刷
+			</li>
+		</ul>	
+		</div>
+	</div>
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript">
+	mui.ready(function(){
+		
+		$(document).on('tap', '#menu-faq>li', function(event) {
+            	if(typeof($(this).attr("href"))!="undefined"){
+            		location.href=$(this).attr("href");
+            	}
+         });
+		document.querySelector('.loading-bg').style.display='none';
+	});
+	</script>
+	</body>
+</html>

文件差异内容过多而无法显示
+ 395 - 395
aiberle/shopping-cart.html


+ 72 - 72
aiberle/understanding-brands.html

@@ -1,72 +1,72 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>Aiberle诞生</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-	<body style="background: #fff;">
-	<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
-	</div>
-	<div class="mui-content" style="background: #fff;">
-			<div class="mui-content-padded mui-text-center">
-				<p>
-					<img width="100%" style="border-radius: 5px;" src="images/pp-1.jpg" data-preview-src="" data-preview-group="1">
-				</p>
-				<h3 style="padding-top: 20px;">Aiberle 源于美国</h3>
-				<p style="padding-bottom: 10px;">十年来专注于母婴电器创新</p>
-				<p class="mui-text-left">
-					Aiberle(中文名:爱贝源)始终关注宝宝成长发育,贴近妈妈细微需求,严格执行母婴安全标准,结合科技力量,创造出充满质感又具有温度的智慧产品,为每一个对生活充满追求的家庭带来美好的育婴体验。
-				</p>
-				<p>
-					<img width="100%" style="margin: 10px 0 20px 0;" src="images/pp-2.jpg" data-preview-src="" data-preview-group="1">
-				</p>
-				<p class="mui-text-left">2014年,Aiberle进入中国,成立深圳爱贝源科技有限公司。产品线覆盖母婴电器全品类,精准抓取用户需求,国际化研发力量,Aiberle为全球妈咪宝贝提供智感生活解决方案。</p>
-				<p>
-					<img width="100%" style="margin: 10px 0 20px 0;" src="images/pp-3.jpg" data-preview-src="" data-preview-group="1">
-				</p>
-				<p class="mui-text-left">Aiberle始终秉承“用爱铸精品”的质量理念精髓,精益求精,匠心制造,为全球育婴家庭提供最优质的智能产品。给最爱的人用最好的,Aiberle伴您度过最美的育婴生活! </p>
-				<p>
-					<img width="100%" style="margin: 10px 0 20px 0;" src="images/pp-4.jpg" data-preview-src="" data-preview-group="1">
-				</p>
-				<h3 class="mui-text-left" style="color: #9b9b9c;margin: 10px 0 10px 0;">感言</h3>
-				<p class="mui-text-left">
-					“作为一个爸爸,我想让我的孩子健康快乐的成长,作为一个设计师,我的工作就是把所有想象勾画出来,并且计划使之成为现实。”
-				</p>
-				<p class="mui-text-left">产品设计师 -<img style="width: 40px;" src="images/Arno.png" /></p>
-				<p class="mui-text-left" style="margin: 15px 0 10px 0;">
-					“因为老婆怀孕时刷牙总会犯恶心,于是我设计了人生中第一款电动牙刷。刷头小巧,不会引起孕期恶心,也不会刷到牙龈引起出血。”
-				</p>
-				<p class="mui-text-left">产品设计师 -<img style="width: 40px;vertical-align: middle;" src="images/Kyle .png" /></p>
-				<p class="mui-text-left" style="margin: 15px 0 10px 0;">
-					“通过一些辅助的智能电器来增加孩子与父母的之间的联系,这也正是我们在Aiberle工作的乐趣所在。”
-				</p>
-				<p class="mui-text-left">产品设计师 -<img style="width: 65px;vertical-align: middle;" src="images/Zachary .png" /></p>
-			</div>
-	</div>
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript">
-	mui.ready(function(){
-		document.querySelector('.loading-bg').style.display='none';
-	});
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>Aiberle诞生</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+	<body style="background: #fff;">
+	<div class="loading-bg">
+			<div class="mui-loading">
+				<div class="mui-spinner">
+				</div>
+				&nbsp;&nbsp;加载中...
+			</div>
+	</div>
+	<div class="mui-content" style="background: #fff;">
+			<div class="mui-content-padded mui-text-center">
+				<p>
+					<img width="100%" style="border-radius: 5px;" src="images/pp-1.jpg" data-preview-src="" data-preview-group="1">
+				</p>
+				<h3 style="padding-top: 20px;">Aiberle 源于美国</h3>
+				<p style="padding-bottom: 10px;">十年来专注于母婴电器创新</p>
+				<p class="mui-text-left">
+					Aiberle(中文名:爱贝源)始终关注宝宝成长发育,贴近妈妈细微需求,严格执行母婴安全标准,结合科技力量,创造出充满质感又具有温度的智慧产品,为每一个对生活充满追求的家庭带来美好的育婴体验。
+				</p>
+				<p>
+					<img width="100%" style="margin: 10px 0 20px 0;" src="images/pp-2.jpg" data-preview-src="" data-preview-group="1">
+				</p>
+				<p class="mui-text-left">2014年,Aiberle进入中国,成立深圳爱贝源科技有限公司。产品线覆盖母婴电器全品类,精准抓取用户需求,国际化研发力量,Aiberle为全球妈咪宝贝提供智感生活解决方案。</p>
+				<p>
+					<img width="100%" style="margin: 10px 0 20px 0;" src="images/pp-3.jpg" data-preview-src="" data-preview-group="1">
+				</p>
+				<p class="mui-text-left">Aiberle始终秉承“用爱铸精品”的质量理念精髓,精益求精,匠心制造,为全球育婴家庭提供最优质的智能产品。给最爱的人用最好的,Aiberle伴您度过最美的育婴生活! </p>
+				<p>
+					<img width="100%" style="margin: 10px 0 20px 0;" src="images/pp-4.jpg" data-preview-src="" data-preview-group="1">
+				</p>
+				<h3 class="mui-text-left" style="color: #9b9b9c;margin: 10px 0 10px 0;">感言</h3>
+				<p class="mui-text-left">
+					“作为一个爸爸,我想让我的孩子健康快乐的成长,作为一个设计师,我的工作就是把所有想象勾画出来,并且计划使之成为现实。”
+				</p>
+				<p class="mui-text-left">产品设计师 -<img style="width: 40px;" src="images/Arno.png" /></p>
+				<p class="mui-text-left" style="margin: 15px 0 10px 0;">
+					“因为老婆怀孕时刷牙总会犯恶心,于是我设计了人生中第一款电动牙刷。刷头小巧,不会引起孕期恶心,也不会刷到牙龈引起出血。”
+				</p>
+				<p class="mui-text-left">产品设计师 -<img style="width: 40px;vertical-align: middle;" src="images/Kyle .png" /></p>
+				<p class="mui-text-left" style="margin: 15px 0 10px 0;">
+					“通过一些辅助的智能电器来增加孩子与父母的之间的联系,这也正是我们在Aiberle工作的乐趣所在。”
+				</p>
+				<p class="mui-text-left">产品设计师 -<img style="width: 65px;vertical-align: middle;" src="images/Zachary .png" /></p>
+			</div>
+	</div>
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript">
+	mui.ready(function(){
+		document.querySelector('.loading-bg').style.display='none';
+	});
+	</script>
+	</body>
+</html>

文件差异内容过多而无法显示
+ 511 - 511
aiberle/watero-faq.html


+ 72 - 72
tooth/add-tooth.html

@@ -1,73 +1,73 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title>添加牙刷</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript">
-			// 屏蔽分享
-			window.hiddenAllWechatMenu = true;
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="scan-frame-box saomiao">
-				<img src="images/scan-frame.png" />
-				<br />
-				<div>您还没有添加牙刷,请添加 </div>
-				<p>(点击扫描产品唯一码)</p>
-			</div>
-		</div>
-		<div class="add-tooth">
-
-		</div>
-		<div class="add-tooth-footer">
-			<h4 class="mui-text-center cl-red"> 如何成为会员</h4>
-			<div class="add-tooth-content">
-				<p class="cl-red">1.购买soodo上朵电动牙刷</p>
-				<p class="cl-red">2.扫描电动牙刷欢迎卡上的产品唯一码</p>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-		<script type="text/javascript" src="js/main.js"></script>
-		<script type="text/javascript" src="js/wechat-utils-1.0.js"></script>
-		<script type="text/javascript">
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			//调用微信扫一扫
-			$(document).on('tap', '.saomiao', function() {
-				wx.scanQRCode({
-					needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
-					scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
-					success: function(res) {
-						/*var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
-						*/
-					}
-				});
-			});
-			mui.ready(function() {
-				console.log("页面加载完毕");
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>添加牙刷</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript">
+			// 屏蔽分享
+			window.hiddenAllWechatMenu = true;
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="scan-frame-box saomiao">
+				<img src="images/scan-frame.png" />
+				<br />
+				<div>您还没有添加牙刷,请添加 </div>
+				<p>(点击扫描产品唯一码)</p>
+			</div>
+		</div>
+		<div class="add-tooth">
+
+		</div>
+		<div class="add-tooth-footer">
+			<h4 class="mui-text-center cl-red"> 如何成为会员</h4>
+			<div class="add-tooth-content">
+				<p class="cl-red">1.购买soodo上朵电动牙刷</p>
+				<p class="cl-red">2.扫描电动牙刷欢迎卡上的产品唯一码</p>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript" src="js/main.js"></script>
+		<script type="text/javascript" src="js/wechat-utils-1.0.js"></script>
+		<script type="text/javascript">
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			//调用微信扫一扫
+			$(document).on('tap', '.saomiao', function() {
+				wx.scanQRCode({
+					needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
+					scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
+					success: function(res) {
+						/*var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
+						*/
+					}
+				});
+			});
+			mui.ready(function() {
+				console.log("页面加载完毕");
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+			});
+		</script>
+	</body>
+
 </html>

文件差异内容过多而无法显示
+ 400 - 400
tooth/clearing.html


+ 114 - 114
tooth/coupon_list.html

@@ -1,115 +1,115 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title>我的券包</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript">
-			// 屏蔽分享
-			window.hiddenAllWechatMenu = true;
-		</script>
-	</head>
-
-	<body>
-		<!--下拉刷新容器-->
-		<div id="pullrefresh_yhq_list" class="mui-content mui-scroll-wrapper">
-			<div class="mui-scroll">
-				<!--现金券列表-->
-				<ul class="my-yhq-list">
-
-				</ul>
-			</div>
-		</div>
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-		<script type="text/javascript" src="js/main.js"></script>
-		<script type="text/javascript" src="js/wechat-utils-1.0.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			var pageNumber = 0,
-				pagesize = 10;
-			mui.init({
-				pullRefresh: {
-					container: '#pullrefresh_yhq_list',
-					down: {
-						//callback: pulldownRefresh
-					},
-					up: {
-						contentrefresh: '正在加载...',
-						callback: pullupRefresh
-					}
-				}
-			});
-			/**
-			 * 上拉加载具体业务实现
-			 */
-			function pullupRefresh() {
-				++pageNumber; //每次上拉页数+1
-				$.ajax(base_path + '/wechat/coupon/couponItemList?dates=' + new Date().getTime(), {
-					data: {
-						"pageNo": pageNumber, //pageNo第几页
-						"pageSize": pagesize //pageSize每页条数
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt)
-							if(dt.status) { //判断接口返回状态status
-								var table = document.body.querySelector('.my-yhq-list');
-								var data = dt.data.itemList;
-								mui('#pullrefresh_yhq_list').pullRefresh().endPullupToRefresh(dt.data.itemList.length < pagesize); //endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
-								mui.each(data, function(index) {
-									var li = document.createElement('li'); //创建li标签
-									var src = 'images/yhq-1.png';
-									if(new Date(this.couponUseEndDate) >= new Date) {
-										li.className = 'my-yhq-cell';
-									} else {
-										li.className = 'my-yhq-cell active';
-										src = 'images/yhq-2.png';
-									}
-									var couponReduceHtml = '';
-									if(this.couponType == 1) { //减免金额
-										couponReduceHtml += '<span>' + (this.couponReduce / 100).toFixed(0) + '</span>元';
-									} else if(this.couponType == 2) { //减免率
-										couponReduceHtml += '<span>' + (this.couponReduce / 100).toFixed(1) + '</span>折';
-									}
-									li.innerHTML = '<img width="100%" src="' + src + '" /><div class="fixed-box"><div class="table"><div class="left-cell"><span class="tit">' + this.couponName + '</span><p class="time">使用条件:满' + (this.couponConsumeEnough / 100).toFixed(0) + '元可用</p><span class="condition">有效期至:' + this.couponUseEndDate + '</span></div><div class="right-cell"><div class="money">' + couponReduceHtml + '</div></div></div></div';
-									table.appendChild(li);
-								});
-							} else {
-								mui.alert("获取现金券列表失败!");
-							}
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取现金券列表失败!网络错误");
-					}
-				});
-			}
-			mui.ready(function() {
-				mui('#pullrefresh_yhq_list').pullRefresh().pullupLoading(); //首次加载
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>我的券包</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript">
+			// 屏蔽分享
+			window.hiddenAllWechatMenu = true;
+		</script>
+	</head>
+
+	<body>
+		<!--下拉刷新容器-->
+		<div id="pullrefresh_yhq_list" class="mui-content mui-scroll-wrapper">
+			<div class="mui-scroll">
+				<!--现金券列表-->
+				<ul class="my-yhq-list">
+
+				</ul>
+			</div>
+		</div>
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript" src="js/main.js"></script>
+		<script type="text/javascript" src="js/wechat-utils-1.0.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			var pageNumber = 0,
+				pagesize = 10;
+			mui.init({
+				pullRefresh: {
+					container: '#pullrefresh_yhq_list',
+					down: {
+						//callback: pulldownRefresh
+					},
+					up: {
+						contentrefresh: '正在加载...',
+						callback: pullupRefresh
+					}
+				}
+			});
+			/**
+			 * 上拉加载具体业务实现
+			 */
+			function pullupRefresh() {
+				++pageNumber; //每次上拉页数+1
+				$.ajax(base_path + '/wechat/coupon/couponItemList?dates=' + new Date().getTime(), {
+					data: {
+						"pageNo": pageNumber, //pageNo第几页
+						"pageSize": pagesize //pageSize每页条数
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt)
+							if(dt.status) { //判断接口返回状态status
+								var table = document.body.querySelector('.my-yhq-list');
+								var data = dt.data.itemList;
+								mui('#pullrefresh_yhq_list').pullRefresh().endPullupToRefresh(dt.data.itemList.length < pagesize); //endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
+								mui.each(data, function(index) {
+									var li = document.createElement('li'); //创建li标签
+									var src = 'images/yhq-1.png';
+									if(new Date(this.couponUseEndDate) >= new Date) {
+										li.className = 'my-yhq-cell';
+									} else {
+										li.className = 'my-yhq-cell active';
+										src = 'images/yhq-2.png';
+									}
+									var couponReduceHtml = '';
+									if(this.couponType == 1) { //减免金额
+										couponReduceHtml += '<span>' + (this.couponReduce / 100).toFixed(0) + '</span>元';
+									} else if(this.couponType == 2) { //减免率
+										couponReduceHtml += '<span>' + (this.couponReduce / 100).toFixed(1) + '</span>折';
+									}
+									li.innerHTML = '<img width="100%" src="' + src + '" /><div class="fixed-box"><div class="table"><div class="left-cell"><span class="tit">' + this.couponName + '</span><p class="time">使用条件:满' + (this.couponConsumeEnough / 100).toFixed(0) + '元可用</p><span class="condition">有效期至:' + this.couponUseEndDate + '</span></div><div class="right-cell"><div class="money">' + couponReduceHtml + '</div></div></div></div';
+									table.appendChild(li);
+								});
+							} else {
+								mui.alert("获取现金券列表失败!");
+							}
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取现金券列表失败!网络错误");
+					}
+				});
+			}
+			mui.ready(function() {
+				mui('#pullrefresh_yhq_list').pullRefresh().pullupLoading(); //首次加载
+			});
+		</script>
+	</body>
+
 </html>

+ 55 - 55
tooth/css/iconfont.css

@@ -1,55 +1,55 @@
-@font-face {font-family: "iconfont";
-  src: url('../fonts/iconfont.ttf?t=1515658169779') format('truetype'); /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
-}
-
-.iconfont {
-	position: relative;
-  font-family:"iconfont" !important;
-  font-size:25px;
-  font-style:normal;
-  -webkit-font-smoothing: antialiased;
-  padding:0;
-}
-
-.icon-liebiao:before { content: "\e6cd"; }
-
-.icon-gouwuche:before { content: "\e6ce"; }
-
-.icon-shouye:before { content: "\e6cf"; }
-
-.icon-huiyuan:before { content: "\e6d0"; }
-
-.icon-shuoming:before { content: "\e6d1"; }
-
-.icon-nan:before { content: "\e6d2"; }
-
-.icon-nv:before { content: "\e6d3"; }
-
-.icon-jia:before { content: "\e6d4"; }
-
-.icon-saomiao:before { content: "\e6d5"; }
-
-.icon-chenggong:before { content: "\e6d6"; }
-
-.icon-dingwei:before { content: "\e6d7"; }
-
-.icon-yashua:before { content: "\e6d8"; }
-
-.icon-jifen:before { content: "\e6d9"; }
-
-.icon-tianjia:before { content: "\e6da"; }
-
-.icon-daifukuan:before { content: "\e6db"; }
-
-.icon-quanbao:before { content: "\e6dc"; }
-
-.icon-yifahuo:before { content: "\e6dd"; }
-
-.icon-daifahuo:before { content: "\e6de"; }
-
-.icon-fenxiang:before { content: "\e6df"; }
-
-.icon-quanbu:before { content: "\e6e0"; }
-
-.icon-guanbi:before { content: "\e6e1"; }
-
+@font-face {font-family: "iconfont";
+  src: url('../fonts/iconfont.ttf?t=1515658169779') format('truetype'); /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+}
+
+.iconfont {
+	position: relative;
+  font-family:"iconfont" !important;
+  font-size:25px;
+  font-style:normal;
+  -webkit-font-smoothing: antialiased;
+  padding:0;
+}
+
+.icon-liebiao:before { content: "\e6cd"; }
+
+.icon-gouwuche:before { content: "\e6ce"; }
+
+.icon-shouye:before { content: "\e6cf"; }
+
+.icon-huiyuan:before { content: "\e6d0"; }
+
+.icon-shuoming:before { content: "\e6d1"; }
+
+.icon-nan:before { content: "\e6d2"; }
+
+.icon-nv:before { content: "\e6d3"; }
+
+.icon-jia:before { content: "\e6d4"; }
+
+.icon-saomiao:before { content: "\e6d5"; }
+
+.icon-chenggong:before { content: "\e6d6"; }
+
+.icon-dingwei:before { content: "\e6d7"; }
+
+.icon-yashua:before { content: "\e6d8"; }
+
+.icon-jifen:before { content: "\e6d9"; }
+
+.icon-tianjia:before { content: "\e6da"; }
+
+.icon-daifukuan:before { content: "\e6db"; }
+
+.icon-quanbao:before { content: "\e6dc"; }
+
+.icon-yifahuo:before { content: "\e6dd"; }
+
+.icon-daifahuo:before { content: "\e6de"; }
+
+.icon-fenxiang:before { content: "\e6df"; }
+
+.icon-quanbu:before { content: "\e6e0"; }
+
+.icon-guanbi:before { content: "\e6e1"; }
+

+ 63 - 63
tooth/css/icons-extra.css

@@ -1,63 +1,63 @@
-@font-face {
-    font-family: MuiiconSpread;
-    font-weight: normal;
-    font-style: normal;
-    src:  url('../fonts/mui-icons-extra.ttf') format('truetype'); /* iOS 4.1- */
-}
-.mui-icon-extra
-{
-    font-family: MuiiconSpread;
-    font-size: 24px;
-    font-weight: normal;
-    font-style: normal;
-    line-height: 1;
-    display: inline-block;
-    text-decoration: none;
-    -webkit-font-smoothing: antialiased;
-}
-.mui-icon-extra-cold:before { content: "\e500"; }
-.mui-icon-extra-share:before { content: "\e200"; }
-.mui-icon-extra-class:before { content: "\e118"; }
-.mui-icon-extra-custom:before { content: "\e117"; }
-.mui-icon-extra-new:before { content: "\e103"; }
-.mui-icon-extra-card:before { content: "\e104"; }
-.mui-icon-extra-grech:before { content: "\e105"; }
-.mui-icon-extra-trend:before { content: "\e106"; }
-.mui-icon-extra-filter:before { content: "\e207"; }
-.mui-icon-extra-holiday:before { content: "\e300"; }
-.mui-icon-extra-cart:before { content: "\e107"; }
-.mui-icon-extra-heart:before { content: "\e180"; }
-.mui-icon-extra-computer:before { content: "\e600"; }
-.mui-icon-extra-express:before { content: "\e108"; }
-.mui-icon-extra-gift:before { content: "\e109"; }
-.mui-icon-extra-gold:before { content: "\e102"; }
-.mui-icon-extra-lamp:before { content: "\e601"; }
-.mui-icon-extra-rank:before { content: "\e110"; }
-.mui-icon-extra-notice:before { content: "\e111"; }
-.mui-icon-extra-sweep:before { content: "\e202"; }
-.mui-icon-extra-arrowleftcricle:before { content: "\e401"; }
-.mui-icon-extra-dictionary:before { content: "\e602"; }
-.mui-icon-extra-heart-filled:before { content: "\e119"; }
-.mui-icon-extra-xiaoshuo:before { content: "\e607"; }
-.mui-icon-extra-top:before { content: "\e403"; }
-.mui-icon-extra-people:before { content: "\e203"; }
-.mui-icon-extra-topic:before { content: "\e603"; }
-.mui-icon-extra-hotel:before { content: "\e301"; }
-.mui-icon-extra-like:before { content: "\e206"; }
-.mui-icon-extra-regist:before { content: "\e201"; }
-.mui-icon-extra-order:before { content: "\e113"; }
-.mui-icon-extra-alipay:before { content: "\e114"; }
-.mui-icon-extra-find:before { content: "\e400"; }
-.mui-icon-extra-arrowrightcricle:before { content: "\e402"; }
-.mui-icon-extra-calendar:before { content: "\e115"; }
-.mui-icon-extra-prech:before { content: "\e116"; }
-.mui-icon-extra-cate:before { content: "\e501"; }
-.mui-icon-extra-comment:before { content: "\e209"; }
-.mui-icon-extra-at:before { content: "\e208"; }
-.mui-icon-extra-addpeople:before { content: "\e204"; }
-.mui-icon-extra-peoples:before { content: "\e205"; }
-.mui-icon-extra-calc:before { content: "\e101"; }
-.mui-icon-extra-classroom:before { content: "\e604"; }
-.mui-icon-extra-phone:before { content: "\e404"; }
-.mui-icon-extra-university:before { content: "\e605"; }
-.mui-icon-extra-outline:before { content: "\e606"; }
+@font-face {
+    font-family: MuiiconSpread;
+    font-weight: normal;
+    font-style: normal;
+    src:  url('../fonts/mui-icons-extra.ttf') format('truetype'); /* iOS 4.1- */
+}
+.mui-icon-extra
+{
+    font-family: MuiiconSpread;
+    font-size: 24px;
+    font-weight: normal;
+    font-style: normal;
+    line-height: 1;
+    display: inline-block;
+    text-decoration: none;
+    -webkit-font-smoothing: antialiased;
+}
+.mui-icon-extra-cold:before { content: "\e500"; }
+.mui-icon-extra-share:before { content: "\e200"; }
+.mui-icon-extra-class:before { content: "\e118"; }
+.mui-icon-extra-custom:before { content: "\e117"; }
+.mui-icon-extra-new:before { content: "\e103"; }
+.mui-icon-extra-card:before { content: "\e104"; }
+.mui-icon-extra-grech:before { content: "\e105"; }
+.mui-icon-extra-trend:before { content: "\e106"; }
+.mui-icon-extra-filter:before { content: "\e207"; }
+.mui-icon-extra-holiday:before { content: "\e300"; }
+.mui-icon-extra-cart:before { content: "\e107"; }
+.mui-icon-extra-heart:before { content: "\e180"; }
+.mui-icon-extra-computer:before { content: "\e600"; }
+.mui-icon-extra-express:before { content: "\e108"; }
+.mui-icon-extra-gift:before { content: "\e109"; }
+.mui-icon-extra-gold:before { content: "\e102"; }
+.mui-icon-extra-lamp:before { content: "\e601"; }
+.mui-icon-extra-rank:before { content: "\e110"; }
+.mui-icon-extra-notice:before { content: "\e111"; }
+.mui-icon-extra-sweep:before { content: "\e202"; }
+.mui-icon-extra-arrowleftcricle:before { content: "\e401"; }
+.mui-icon-extra-dictionary:before { content: "\e602"; }
+.mui-icon-extra-heart-filled:before { content: "\e119"; }
+.mui-icon-extra-xiaoshuo:before { content: "\e607"; }
+.mui-icon-extra-top:before { content: "\e403"; }
+.mui-icon-extra-people:before { content: "\e203"; }
+.mui-icon-extra-topic:before { content: "\e603"; }
+.mui-icon-extra-hotel:before { content: "\e301"; }
+.mui-icon-extra-like:before { content: "\e206"; }
+.mui-icon-extra-regist:before { content: "\e201"; }
+.mui-icon-extra-order:before { content: "\e113"; }
+.mui-icon-extra-alipay:before { content: "\e114"; }
+.mui-icon-extra-find:before { content: "\e400"; }
+.mui-icon-extra-arrowrightcricle:before { content: "\e402"; }
+.mui-icon-extra-calendar:before { content: "\e115"; }
+.mui-icon-extra-prech:before { content: "\e116"; }
+.mui-icon-extra-cate:before { content: "\e501"; }
+.mui-icon-extra-comment:before { content: "\e209"; }
+.mui-icon-extra-at:before { content: "\e208"; }
+.mui-icon-extra-addpeople:before { content: "\e204"; }
+.mui-icon-extra-peoples:before { content: "\e205"; }
+.mui-icon-extra-calc:before { content: "\e101"; }
+.mui-icon-extra-classroom:before { content: "\e604"; }
+.mui-icon-extra-phone:before { content: "\e404"; }
+.mui-icon-extra-university:before { content: "\e605"; }
+.mui-icon-extra-outline:before { content: "\e606"; }

+ 135 - 135
tooth/css/mui.dtpicker.css

@@ -1,136 +1,136 @@
-.mui-dtpicker {
-	position: fixed;
-	left: 0px;
-	width: 100%;
-	z-index: 999999;
-	background-color: #eee;
-	border-top: solid 1px #ccc;
-	box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1);
-	-webkit-transition: .3s;
-	bottom: 0px;
-	-webkit-transform: translateY(300px);
-}
-.mui-dtpicker.mui-active {
-	-webkit-transform: translateY(0px);
-}
-/*用于将 html body 禁止滚动条*/
-
-.mui-dtpicker-active-for-page {
-	overflow: hidden !important;
-}
-.mui-android-5-1 .mui-dtpicker {
-	bottom: -300px;
-	-webkit-transition-property: bottom;
-	-webkit-transform: none;
-}
-.mui-android-5-1 .mui-dtpicker.mui-active {
-	bottom: 0px;
-	-webkit-transition-property: bottom;
-	-webkit-transform: none;
-}
-.mui-dtpicker-header {
-	padding: 6px;
-	font-size: 14px;
-	color: #888;
-}
-.mui-dtpicker-header button {
-	font-size: 12px;
-	padding: 5px 10px;
-}
-.mui-dtpicker-header button:last-child {
-	float: right;
-}
-.mui-dtpicker-body {
-	position: relative;
-	width: 100%;
-	height: 200px;
-	/*border-top: solid 1px #eee;
-	background-color: #fff;*/
-}
-.mui-ios .mui-dtpicker-body {
-	-webkit-perspective: 1200px;
-	perspective: 1200px;
-	-webkit-transform-style: preserve-3d;
-	transform-style: preserve-3d;
-}
-.mui-dtpicker-title h5 {
-	display: inline-block;
-	width: 20%;
-	margin: 0px;
-	padding: 8px;
-	text-align: center;
-	border-top: solid 1px #ddd;
-	background-color: #f0f0f0;
-	border-bottom: solid 1px #ccc;
-}
-.mui-dtpicker .mui-picker {
-	width: 20%;
-	height: 100%;
-	margin: 0px;
-	float: left;
-	border: none;
-}
-/*年月日时分*/
-
-[data-type="datetime"] .mui-picker,
-[data-type="time"] .mui-dtpicker-title h5 {
-	width: 20%;
-}
-[data-type="datetime"] [data-id="picker-h"],
-[data-type="datetime"] [data-id="title-h"] {
-	border-left: dotted 1px #ccc;
-}
-/*年月日*/
-
-[data-type="date"] .mui-picker,
-[data-type="date"] .mui-dtpicker-title h5 {
-	width: 33.3%;
-}
-[data-type="date"] [data-id="picker-h"],
-[data-type="date"] [data-id="picker-i"],
-[data-type="date"] [data-id="title-h"],
-[data-type="date"] [data-id="title-i"] {
-	display: none;
-}
-/*年月日时*/
-
-[data-type="hour"] .mui-picker,
-[data-type="hour"] .mui-dtpicker-title h5 {
-	width: 25%;
-}
-[data-type="hour"] [data-id="picker-i"],
-[data-type="hour"] [data-id="title-i"] {
-	display: none;
-}
-[data-type="hour"] [data-id="picker-h"],
-[data-type="hour"] [data-id="title-h"] {
-	border-left: dotted 1px #ccc;
-}
-/*时分*/
-
-[data-type="time"] .mui-picker,
-[data-type="time"] .mui-dtpicker-title h5 {
-	width: 50%;
-}
-[data-type="time"] [data-id="picker-y"],
-[data-type="time"] [data-id="picker-m"],
-[data-type="time"] [data-id="picker-d"],
-[data-type="time"] [data-id="title-y"],
-[data-type="time"] [data-id="title-m"],
-[data-type="time"] [data-id="title-d"] {
-	display: none;
-}
-/*年月*/
-
-[data-type="month"] .mui-picker,
-[data-type="month"] .mui-dtpicker-title h5 {
-	width: 50%;
-}
-[data-type="month"] [data-id="picker-d"],
-[data-type="month"] [data-id="picker-h"],
-[data-type="month"] [data-id="picker-i"],
-[data-type="month"] [data-id="title-d"],
-[data-type="month"] [data-id="title-h"],
-[data-type="month"] [data-id="title-i"] {
-	display: none;
+.mui-dtpicker {
+	position: fixed;
+	left: 0px;
+	width: 100%;
+	z-index: 999999;
+	background-color: #eee;
+	border-top: solid 1px #ccc;
+	box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1);
+	-webkit-transition: .3s;
+	bottom: 0px;
+	-webkit-transform: translateY(300px);
+}
+.mui-dtpicker.mui-active {
+	-webkit-transform: translateY(0px);
+}
+/*用于将 html body 禁止滚动条*/
+
+.mui-dtpicker-active-for-page {
+	overflow: hidden !important;
+}
+.mui-android-5-1 .mui-dtpicker {
+	bottom: -300px;
+	-webkit-transition-property: bottom;
+	-webkit-transform: none;
+}
+.mui-android-5-1 .mui-dtpicker.mui-active {
+	bottom: 0px;
+	-webkit-transition-property: bottom;
+	-webkit-transform: none;
+}
+.mui-dtpicker-header {
+	padding: 6px;
+	font-size: 14px;
+	color: #888;
+}
+.mui-dtpicker-header button {
+	font-size: 12px;
+	padding: 5px 10px;
+}
+.mui-dtpicker-header button:last-child {
+	float: right;
+}
+.mui-dtpicker-body {
+	position: relative;
+	width: 100%;
+	height: 200px;
+	/*border-top: solid 1px #eee;
+	background-color: #fff;*/
+}
+.mui-ios .mui-dtpicker-body {
+	-webkit-perspective: 1200px;
+	perspective: 1200px;
+	-webkit-transform-style: preserve-3d;
+	transform-style: preserve-3d;
+}
+.mui-dtpicker-title h5 {
+	display: inline-block;
+	width: 20%;
+	margin: 0px;
+	padding: 8px;
+	text-align: center;
+	border-top: solid 1px #ddd;
+	background-color: #f0f0f0;
+	border-bottom: solid 1px #ccc;
+}
+.mui-dtpicker .mui-picker {
+	width: 20%;
+	height: 100%;
+	margin: 0px;
+	float: left;
+	border: none;
+}
+/*年月日时分*/
+
+[data-type="datetime"] .mui-picker,
+[data-type="time"] .mui-dtpicker-title h5 {
+	width: 20%;
+}
+[data-type="datetime"] [data-id="picker-h"],
+[data-type="datetime"] [data-id="title-h"] {
+	border-left: dotted 1px #ccc;
+}
+/*年月日*/
+
+[data-type="date"] .mui-picker,
+[data-type="date"] .mui-dtpicker-title h5 {
+	width: 33.3%;
+}
+[data-type="date"] [data-id="picker-h"],
+[data-type="date"] [data-id="picker-i"],
+[data-type="date"] [data-id="title-h"],
+[data-type="date"] [data-id="title-i"] {
+	display: none;
+}
+/*年月日时*/
+
+[data-type="hour"] .mui-picker,
+[data-type="hour"] .mui-dtpicker-title h5 {
+	width: 25%;
+}
+[data-type="hour"] [data-id="picker-i"],
+[data-type="hour"] [data-id="title-i"] {
+	display: none;
+}
+[data-type="hour"] [data-id="picker-h"],
+[data-type="hour"] [data-id="title-h"] {
+	border-left: dotted 1px #ccc;
+}
+/*时分*/
+
+[data-type="time"] .mui-picker,
+[data-type="time"] .mui-dtpicker-title h5 {
+	width: 50%;
+}
+[data-type="time"] [data-id="picker-y"],
+[data-type="time"] [data-id="picker-m"],
+[data-type="time"] [data-id="picker-d"],
+[data-type="time"] [data-id="title-y"],
+[data-type="time"] [data-id="title-m"],
+[data-type="time"] [data-id="title-d"] {
+	display: none;
+}
+/*年月*/
+
+[data-type="month"] .mui-picker,
+[data-type="month"] .mui-dtpicker-title h5 {
+	width: 50%;
+}
+[data-type="month"] [data-id="picker-d"],
+[data-type="month"] [data-id="picker-h"],
+[data-type="month"] [data-id="picker-i"],
+[data-type="month"] [data-id="title-d"],
+[data-type="month"] [data-id="title-h"],
+[data-type="month"] [data-id="title-i"] {
+	display: none;
 }

+ 122 - 122
tooth/css/mui.imageviewer.css

@@ -1,123 +1,123 @@
-.mui-imageviewer {
-	position: absolute;
-	position: fixed;
-	background-color: rgba(0, 0, 0, 0.9);
-	width: 100%;
-	height: 100%;
-	z-index: 99;
-	left: 0px;
-	top: 0px;
-	display: none;
-	opacity: 0;
-	-webkit-transition: all 0.6s ease-in-out;
-	transition: all 0.6s ease-in-out;
-	-webkit-transform-style: preserve-3d;
-	-webkit-backface-visibility: hidden;
-	overflow: hidden;
-	margin: 0px;
-	padding: 0px;
-	box-sizing: border-box;
-}
-.mui-imageviewer-mask {
-	position: absolute;
-	z-index: 11;
-	width: 100%;
-	height: 100%;
-	left: 0px;
-	top: 0px;
-	display: none;
-}
-.mui-imageviewer .mui-imageviewer-header {
-	position: absolute;
-	height: 45px;
-	width: 100%;
-	left: 0px;
-	top: 0px;
-	z-index: 10;
-	background-color: rgba(0, 0, 0, 0.5);
-	margin: 0px;
-	padding: 0px;
-	box-sizing: border-box;
-}
-.mui-imageviewer .mui-imageviewer-state {
-	display: block;
-	width: 100%;
-	height: 100%;
-	line-height: 100%;
-	color: #eee;
-	text-align: center;
-	font-size: 16px;
-	padding: 15px;
-}
-.mui-imageviewer .mui-imageviewer-header .mui-imageviewer-close {
-	position: absolute;
-	top: 5px;
-	right: 5px;
-	font-size: 32px;
-	color: #aaa;
-}
-.mui-imageviewer .mui-imageviewer-header .mui-imageviewer-close:active {
-	color: #FF5053;
-}
-.mui-imageviewer .mui-imageviewer-item {
-	width: 100%;
-	height: 100%;
-	left: 0px;
-	top: 0px;
-	position: absolute;
-	z-index: 0;
-	margin: 0px;
-	padding: 0px;
-	box-sizing: border-box;
-	-webkit-transition: -webkit-transform 500ms ease-in-out;
-	transition: transform 500ms ease-in-out;
-	display: table;
-	overflow: hidden;
-}
-.mui-imageviewer .mui-imageviewer-item-center {
-	-webkit-transform: translateX(0);
-	transform: translateX(0);
-}
-.mui-imageviewer .mui-imageviewer-item-left {
-	-webkit-transform: translateX(-100%);
-	transform: translateX(-100%);
-}
-.mui-imageviewer .mui-imageviewer-item-right {
-	-webkit-transform: translateX(100%);
-	transform: translateX(100%);
-}
-.mui-imageviewer .mui-imageviewer-item span {
-	display: table-cell;
-	text-align: center;
-	vertical-align: middle;
-	line-height: 100%;
-	font-size: 100%;
-	margin: 0px;
-	padding: 0px;
-	box-sizing: border-box;
-	overflow: auto;
-}
-.mui-imageviewer .mui-imageviewer-item img {
-	backface-visibility: hidden;
-	transform-origin: 50% 50% 0px;
-	max-width: 100%;
-}
-.mui-imageviewer-left,
-.mui-imageviewer-right {
-	position: absolute;
-	z-index: 2;
-	color: #aaa;
-	top: 50%;
-	margin-top: -18px;
-	font-size: 36px;
-}
-.mui-imageviewer-left {
-	left: 5px;
-}
-.mui-imageviewer-right {
-	right: 5px;
-}
-.mui-imageviewer-left:active,
-.mui-imageviewer-right:active {
-	color: #fff;
+.mui-imageviewer {
+	position: absolute;
+	position: fixed;
+	background-color: rgba(0, 0, 0, 0.9);
+	width: 100%;
+	height: 100%;
+	z-index: 99;
+	left: 0px;
+	top: 0px;
+	display: none;
+	opacity: 0;
+	-webkit-transition: all 0.6s ease-in-out;
+	transition: all 0.6s ease-in-out;
+	-webkit-transform-style: preserve-3d;
+	-webkit-backface-visibility: hidden;
+	overflow: hidden;
+	margin: 0px;
+	padding: 0px;
+	box-sizing: border-box;
+}
+.mui-imageviewer-mask {
+	position: absolute;
+	z-index: 11;
+	width: 100%;
+	height: 100%;
+	left: 0px;
+	top: 0px;
+	display: none;
+}
+.mui-imageviewer .mui-imageviewer-header {
+	position: absolute;
+	height: 45px;
+	width: 100%;
+	left: 0px;
+	top: 0px;
+	z-index: 10;
+	background-color: rgba(0, 0, 0, 0.5);
+	margin: 0px;
+	padding: 0px;
+	box-sizing: border-box;
+}
+.mui-imageviewer .mui-imageviewer-state {
+	display: block;
+	width: 100%;
+	height: 100%;
+	line-height: 100%;
+	color: #eee;
+	text-align: center;
+	font-size: 16px;
+	padding: 15px;
+}
+.mui-imageviewer .mui-imageviewer-header .mui-imageviewer-close {
+	position: absolute;
+	top: 5px;
+	right: 5px;
+	font-size: 32px;
+	color: #aaa;
+}
+.mui-imageviewer .mui-imageviewer-header .mui-imageviewer-close:active {
+	color: #FF5053;
+}
+.mui-imageviewer .mui-imageviewer-item {
+	width: 100%;
+	height: 100%;
+	left: 0px;
+	top: 0px;
+	position: absolute;
+	z-index: 0;
+	margin: 0px;
+	padding: 0px;
+	box-sizing: border-box;
+	-webkit-transition: -webkit-transform 500ms ease-in-out;
+	transition: transform 500ms ease-in-out;
+	display: table;
+	overflow: hidden;
+}
+.mui-imageviewer .mui-imageviewer-item-center {
+	-webkit-transform: translateX(0);
+	transform: translateX(0);
+}
+.mui-imageviewer .mui-imageviewer-item-left {
+	-webkit-transform: translateX(-100%);
+	transform: translateX(-100%);
+}
+.mui-imageviewer .mui-imageviewer-item-right {
+	-webkit-transform: translateX(100%);
+	transform: translateX(100%);
+}
+.mui-imageviewer .mui-imageviewer-item span {
+	display: table-cell;
+	text-align: center;
+	vertical-align: middle;
+	line-height: 100%;
+	font-size: 100%;
+	margin: 0px;
+	padding: 0px;
+	box-sizing: border-box;
+	overflow: auto;
+}
+.mui-imageviewer .mui-imageviewer-item img {
+	backface-visibility: hidden;
+	transform-origin: 50% 50% 0px;
+	max-width: 100%;
+}
+.mui-imageviewer-left,
+.mui-imageviewer-right {
+	position: absolute;
+	z-index: 2;
+	color: #aaa;
+	top: 50%;
+	margin-top: -18px;
+	font-size: 36px;
+}
+.mui-imageviewer-left {
+	left: 5px;
+}
+.mui-imageviewer-right {
+	right: 5px;
+}
+.mui-imageviewer-left:active,
+.mui-imageviewer-right:active {
+	color: #fff;
 }

文件差异内容过多而无法显示
+ 4 - 4
tooth/css/mui.min.css


+ 84 - 84
tooth/css/mui.picker.css

@@ -1,85 +1,85 @@
-/**
- * 选择列表插件
- * varstion 2.0.0
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-.mui-picker {
-    background-color: #ddd;
-    position: relative;
-    height: 200px;
-    overflow: hidden;
-    border: solid 1px rgba(0, 0, 0, 0.1);
-    -webkit-user-select: none;
-    user-select: none;
-    box-sizing: border-box;
-}
-.mui-picker-inner {
-    box-sizing: border-box;
-    position: relative;
-    width: 100%;
-    height: 100%;
-    overflow: hidden;
-    -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);
-    -webkit-mask-box-image: linear-gradient(top, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);
-}
-.mui-pciker-list,
-.mui-pciker-rule {
-    box-sizing: border-box;
-    padding: 0px;
-    margin: 0px;
-    width: 100%;
-    height: 36px;
-    line-height: 36px;
-    position: absolute;
-    left: 0px;
-    top: 50%;
-    margin-top: -18px;
-}
-.mui-pciker-rule-bg {
-    z-index: 0;
-    /*background-color: #cfd5da;*/
-}
-.mui-pciker-rule-ft {
-    z-index: 2;
-    border-top: solid 1px rgba(0, 0, 0, 0.1);
-    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
-    /*-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);*/
-    /*box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);*/
-}
-.mui-pciker-list {
-    z-index: 1;
-    -webkit-transform-style: preserve-3d;
-    transform-style: preserve-3d;
-    -webkit-transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
-    transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
-}
-.mui-pciker-list li {
-    width: 100%;
-    height: 100%;
-    position: absolute;
-    text-align: center;
-    vertical-align: middle;
-    -webkit-backface-visibility: hidden;
-    backface-visibility: hidden;
-    overflow: hidden;
-    box-sizing: border-box;
-    font-size: 16px;
-    font-family: "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
-    color: #888;
-    padding: 0px 8px;
-    white-space: nowrap;
-    -webkit-text-overflow: ellipsis;
-    text-overflow: ellipsis;
-    overflow: hidden;
-    cursor: default;
-    visibility: hidden;
-}
-.mui-pciker-list li.highlight,
-.mui-pciker-list li.visible {
-    visibility: visible;
-}
-.mui-pciker-list li.highlight {
-    color: #222;
+/**
+ * 选择列表插件
+ * varstion 2.0.0
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+.mui-picker {
+    background-color: #ddd;
+    position: relative;
+    height: 200px;
+    overflow: hidden;
+    border: solid 1px rgba(0, 0, 0, 0.1);
+    -webkit-user-select: none;
+    user-select: none;
+    box-sizing: border-box;
+}
+.mui-picker-inner {
+    box-sizing: border-box;
+    position: relative;
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);
+    -webkit-mask-box-image: linear-gradient(top, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);
+}
+.mui-pciker-list,
+.mui-pciker-rule {
+    box-sizing: border-box;
+    padding: 0px;
+    margin: 0px;
+    width: 100%;
+    height: 36px;
+    line-height: 36px;
+    position: absolute;
+    left: 0px;
+    top: 50%;
+    margin-top: -18px;
+}
+.mui-pciker-rule-bg {
+    z-index: 0;
+    /*background-color: #cfd5da;*/
+}
+.mui-pciker-rule-ft {
+    z-index: 2;
+    border-top: solid 1px rgba(0, 0, 0, 0.1);
+    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
+    /*-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);*/
+    /*box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);*/
+}
+.mui-pciker-list {
+    z-index: 1;
+    -webkit-transform-style: preserve-3d;
+    transform-style: preserve-3d;
+    -webkit-transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
+    transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
+}
+.mui-pciker-list li {
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    text-align: center;
+    vertical-align: middle;
+    -webkit-backface-visibility: hidden;
+    backface-visibility: hidden;
+    overflow: hidden;
+    box-sizing: border-box;
+    font-size: 16px;
+    font-family: "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
+    color: #888;
+    padding: 0px 8px;
+    white-space: nowrap;
+    -webkit-text-overflow: ellipsis;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    cursor: default;
+    visibility: hidden;
+}
+.mui-pciker-list li.highlight,
+.mui-pciker-list li.visible {
+    visibility: visible;
+}
+.mui-pciker-list li.highlight {
+    color: #222;
 }

文件差异内容过多而无法显示
+ 6 - 6
tooth/css/mui.picker.min.css


+ 63 - 63
tooth/css/mui.poppicker.css

@@ -1,64 +1,64 @@
-.mui-poppicker {
-	position: fixed;
-	left: 0px;
-	width: 100%;
-	z-index: 999;
-	background-color: #eee;
-	border-top: solid 1px #ccc;
-	box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1);
-	-webkit-transition: .3s;
-	bottom: 0px;
-	-webkit-transform: translateY(300px);
-}
-.mui-poppicker.mui-active {
-	-webkit-transform: translateY(0px);
-}
-.mui-android-5-1 .mui-poppicker {
-	bottom: -300px;
-	-webkit-transition-property: bottom;
-	-webkit-transform: none;
-}
-.mui-android-5-1 .mui-poppicker.mui-active {
-	bottom: 0px;
-	-webkit-transition-property: bottom;
-	-webkit-transform: none;
-}
-.mui-poppicker-header {
-	padding: 6px;
-	font-size: 14px;
-	color: #888;
-}
-.mui-poppicker-header .mui-btn {
-	font-size: 12px;
-	padding: 5px 10px;
-}
-.mui-poppicker-btn-cancel {
-	float: left;
-}
-.mui-poppicker-btn-ok {
-	float: right;
-}
-.mui-poppicker-clear {
-	clear: both;
-	height: 0px;
-	line-height: 0px;
-	font-size: 0px;
-	overflow: hidden;
-}
-.mui-poppicker-body {
-	position: relative;
-	width: 100%;
-	height: 200px;
-	border-top: solid 1px #ddd;
-	/*-webkit-perspective: 1200px;
-	perspective: 1200px;
-	-webkit-transform-style: preserve-3d;
-	transform-style: preserve-3d;*/
-}
-.mui-poppicker-body .mui-picker {
-	width: 100%;
-	height: 100%;
-	margin: 0px;
-	border: none;
-	float: left;
+.mui-poppicker {
+	position: fixed;
+	left: 0px;
+	width: 100%;
+	z-index: 999;
+	background-color: #eee;
+	border-top: solid 1px #ccc;
+	box-shadow: 0px -5px 7px 0px rgba(0, 0, 0, 0.1);
+	-webkit-transition: .3s;
+	bottom: 0px;
+	-webkit-transform: translateY(300px);
+}
+.mui-poppicker.mui-active {
+	-webkit-transform: translateY(0px);
+}
+.mui-android-5-1 .mui-poppicker {
+	bottom: -300px;
+	-webkit-transition-property: bottom;
+	-webkit-transform: none;
+}
+.mui-android-5-1 .mui-poppicker.mui-active {
+	bottom: 0px;
+	-webkit-transition-property: bottom;
+	-webkit-transform: none;
+}
+.mui-poppicker-header {
+	padding: 6px;
+	font-size: 14px;
+	color: #888;
+}
+.mui-poppicker-header .mui-btn {
+	font-size: 12px;
+	padding: 5px 10px;
+}
+.mui-poppicker-btn-cancel {
+	float: left;
+}
+.mui-poppicker-btn-ok {
+	float: right;
+}
+.mui-poppicker-clear {
+	clear: both;
+	height: 0px;
+	line-height: 0px;
+	font-size: 0px;
+	overflow: hidden;
+}
+.mui-poppicker-body {
+	position: relative;
+	width: 100%;
+	height: 200px;
+	border-top: solid 1px #ddd;
+	/*-webkit-perspective: 1200px;
+	perspective: 1200px;
+	-webkit-transform-style: preserve-3d;
+	transform-style: preserve-3d;*/
+}
+.mui-poppicker-body .mui-picker {
+	width: 100%;
+	height: 100%;
+	margin: 0px;
+	border: none;
+	float: left;
 }

+ 8 - 8
tooth/css/rp.txt

@@ -1,8 +1,8 @@
-接口域名
-w.iamberry.com
-修改本地计算机hosts
-127.0.0.1       h5.iamberry.com
-浏览器访问地址
-http://h5.iamberry.com/soodo-wechat/index.html
-接口文档
-https://static.iamberry.com/api/tooth/#api-getproduct-PostWechatIndexdata
+接口域名
+w.iamberry.com
+修改本地计算机hosts
+127.0.0.1       h5.iamberry.com
+浏览器访问地址
+http://h5.iamberry.com/soodo-wechat/index.html
+接口文档
+https://static.iamberry.com/api/tooth/#api-getproduct-PostWechatIndexdata

文件差异内容过多而无法显示
+ 11 - 11
tooth/css/swiper.min.css


+ 114 - 114
tooth/customer-service.html

@@ -1,115 +1,115 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>申请售后</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="clearing-box">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
-
-				</ul>
-				<br />
-				<ul class="mui-table-view cusomer-ul">
-					<li class="mui-table-view-cell mui-media" id="retreat">
-						<a class="mui-navigate-right order_process"  newStatus="2"><div class="mui-media-body">仅退款<p class="mui-ellipsis">还未收到货,并与客服协商同意后</p></div></a>
-					</li>
-					<li class="mui-table-view-cell mui-media" id="returnOfGoods">
-						<a class="mui-navigate-right order_process" newStatus="4"><div class="mui-media-body">退货退款<p class="mui-ellipsis">已收到货,需联系客服寄回已收货物</p></div></a>
-					</li>
-					<li class="mui-table-view-cell mui-media" id="exchangeGood">
-						<a class="mui-navigate-right order_process" newStatus="7"><div class="mui-media-body">申请换货<p class="mui-ellipsis">已收到货,需联系客服获得寄换地址</p></div></a>
-					</li>
-				</ul>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			var orderId = getParam("orderId");//从URL带过来的订单id
-			var status = 0;
-			//dom加载完毕
-			mui.ready(function() {
-				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
-					data: {
-						"orderId": orderId
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt);
-							var order = dt.data
-							status = order.salesStatus; //赋值状态
-							if(status == 2){
-								$("#retreat").show();
-								$("#returnOfGoods").hide();
-								$("#exchangeGood").hide();
-							}else if(status == 5){
-								$("#retreat").hide();
-								$("#returnOfGoods").show();
-								$("#exchangeGood").show();
-							}
-							var str = "";
-							mui.each(order.orderItemList, function(index) {
-								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ (this.itemProductDiscount / 100).toFixed(2) +'</div></div></div>';
-							});
-							document.querySelector('.shopping-cart-list').innerHTML = str;
-							
-							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-				
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-			});
-			
-			/*申请退款*/
-			$(document).on('tap', '.order_process', function() {
-				var newStatus =  $(this).attr("newStatus");
-				location.href = "exchange-goods.html?orderId=" + orderId + "&newStatus=" + newStatus;
-			})
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>申请售后</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="clearing-box">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
+
+				</ul>
+				<br />
+				<ul class="mui-table-view cusomer-ul">
+					<li class="mui-table-view-cell mui-media" id="retreat">
+						<a class="mui-navigate-right order_process"  newStatus="2"><div class="mui-media-body">仅退款<p class="mui-ellipsis">还未收到货,并与客服协商同意后</p></div></a>
+					</li>
+					<li class="mui-table-view-cell mui-media" id="returnOfGoods">
+						<a class="mui-navigate-right order_process" newStatus="4"><div class="mui-media-body">退货退款<p class="mui-ellipsis">已收到货,需联系客服寄回已收货物</p></div></a>
+					</li>
+					<li class="mui-table-view-cell mui-media" id="exchangeGood">
+						<a class="mui-navigate-right order_process" newStatus="7"><div class="mui-media-body">申请换货<p class="mui-ellipsis">已收到货,需联系客服获得寄换地址</p></div></a>
+					</li>
+				</ul>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			var orderId = getParam("orderId");//从URL带过来的订单id
+			var status = 0;
+			//dom加载完毕
+			mui.ready(function() {
+				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
+					data: {
+						"orderId": orderId
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt);
+							var order = dt.data
+							status = order.salesStatus; //赋值状态
+							if(status == 2){
+								$("#retreat").show();
+								$("#returnOfGoods").hide();
+								$("#exchangeGood").hide();
+							}else if(status == 5){
+								$("#retreat").hide();
+								$("#returnOfGoods").show();
+								$("#exchangeGood").show();
+							}
+							var str = "";
+							mui.each(order.orderItemList, function(index) {
+								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ (this.itemProductDiscount / 100).toFixed(2) +'</div></div></div>';
+							});
+							document.querySelector('.shopping-cart-list').innerHTML = str;
+							
+							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+				
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+			});
+			
+			/*申请退款*/
+			$(document).on('tap', '.order_process', function() {
+				var newStatus =  $(this).attr("newStatus");
+				location.href = "exchange-goods.html?orderId=" + orderId + "&newStatus=" + newStatus;
+			})
+		</script>
+	</body>
+
 </html>

+ 210 - 210
tooth/exchange-goods.html

@@ -1,211 +1,211 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>我要售后</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="clearing-box">
-				<!--换货列表-->
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
-					
-				</ul>
-				<br/>
-				<ul class="mui-table-view cusomer-ul">
-					<li>
-						<div class="mui-input-row">
-						<label class="lbl-remarks"><span id="nameMsg"></span></label>
-						<input class="ipt-remarks" type="text" placeholder="" id="remark">
-					</div>
-					</li>
-				</ul>
-				</div>
-			<div class="address-cantainner" id="addressInfo">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
-					<li class="mui-table-view-cell">
-						<div class="mui-table">							
-							<!--微信地址-->
-							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
-								<p><span class="iconfont icon-dingwei"></span></p>
-							</div>
-							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
-								<div>收货人:杨春有 <span class="mui-pull-right">13592708169</span></div>
-								<p>收货地址:东莞清溪三中金龙工业区徐福记对面优尼雅 电子科技</p>
-							</div>
-						</div>
-					</li>
-				</ul>
-			</div>
-			<div class="clearing-box">
-				<br />
-				<p id="msg"></p>
-				<br />
-				<div class="mui-content-padded mui-text-center">
-					<button type="button" class="my-btn-black" id="orderUpdateStatus">提交</button>
-				</div>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			var orderId = getParam("orderId");//从URL带过来的订单id
-			var newStatus = getParam("newStatus"); //2:退款   4:退货       7:换货
-			var status = 0;
-			//dom加载完毕
-			mui.ready(function() {
-				
-				var nameMsg = "";
-				if(newStatus == 2){
-					$("#nameMsg").html("退款原因");
-					$("#remark").attr("placeholder","请填写您的退款原因");
-				}else if(newStatus == 4){
-					$("#nameMsg").html("退货原因");
-					$("#remark").attr("placeholder","请填写您的退货原因");
-				}else if(newStatus == 7){
-					$("#nameMsg").html("换货原因");
-					$("#remark").attr("placeholder","请填写您的换货原因");
-				}
-				
-				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
-					data: {
-						"orderId": orderId
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt);
-							var order = dt.data
-							status = order.salesStatus; //赋值状态
-							if(status == 2){
-								$("#addressInfo").hide();
-								$("#msg").html("提示:提交审核成功后,退款金额为您实付金额,当实付金额不为0时,您实付金额将在3个工作日内退款到原支付账户。");
-							}else if(newStatus == 4){  //退货退款
-								$("#addressInfo").show();
-								$("#msg").html("<p>提示:</p><p>1:提交成功后,需联系客服并寄回产品,且将寄回单号和 寄件人信息提供给客服、方便核实</p><p>2:我们收到退回产品后,将立即为您退款,当实付金额不为0时,您实付金额将在3个工作日内退款到原支付账户。</p>" );
-							}else if(newStatus == 7){ 
-								$("#addressInfo").show();
-								$("#msg").html("提示:提交成功后,需联系客服并寄回产品,并且将寄回单号和 寄件人信息、需要更换的机器信息一起提供给客服" );
-							}
-							var str = "";
-							mui.each(order.orderItemList, function(index) {
-								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ (this.itemProductDiscount / 100).toFixed(2) +'</div></div></div>';
-							});
-							document.querySelector('.shopping-cart-list').innerHTML = str;
-							
-							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-				
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-			});
-			
-			
-			/*提交*/
-			$(document).on('tap', '#orderUpdateStatus', function() {
-				var remark = $("#remark").val();
-				remark=remark.replace(/(^\s*)|(\s*$)/g, "");
-				if(remark !=null && remark.trim().length != 0 && typeof(remark)!="undefined"){
-					//if(remark){
-					//}
-					
-//					var remark = $("#textarea").val();
-				var ch_en_num = /^[A-Za-z0-9_\[\]\【\】\{\}\{\}\(\)\(\)\《\》\<\>\,\,\.\。\、\!\!\~\·\@\#\¥\$\%\^\…\&\—\:\:\;\;\‘\’\'\'\"\"\“\”\?\?\-\=\|\*\s\+\-\u4e00-\u9fa5]{0,100}$/;
-
-				if(ch_en_num.test(remark)) {
-					console.log("退款验证通过")
-				} else {
-					mui.alert("内容格式错误!仅支持中/英文,数字,普通符号");
-					return false;
-				}
-					updateOrderStatus(orderId,newStatus,remark);
-				}else{
-					var info = "";
-					if(newStatus == 2){
-						info = "请填写您的退款原因";
-					}else if(newStatus == 4){
-						info = "请填写您的退货原因";
-					}else if(newStatus == 7){
-						info = "请填写您的换货原因";
-					}
-					mui.alert(info);
-				}
-			})
-			/*修改状态*/
-			function updateOrderStatus(orderId, status, remark) {
-				var msg = "";
-			 	$.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
-					data: {
-						"status": status, //更改后的状态
-						"orderId": orderId, //订单id
-						"remark": remark
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.resultCode == 200) {
-							console.log(dt);
-							mui.alert('您的申请已提交,如有疑问请联系客服人员!',"提醒",function(){
-								location.href = "order-details.html?orderId="+orderId;
-							});
-							
-						} else{
-							mui.alert(dt.message);
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("提交失败!网络错误");
-					}
-				});
-			}
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>我要售后</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="clearing-box">
+				<!--换货列表-->
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
+					
+				</ul>
+				<br/>
+				<ul class="mui-table-view cusomer-ul">
+					<li>
+						<div class="mui-input-row">
+						<label class="lbl-remarks"><span id="nameMsg"></span></label>
+						<input class="ipt-remarks" type="text" placeholder="" id="remark">
+					</div>
+					</li>
+				</ul>
+				</div>
+			<div class="address-cantainner" id="addressInfo">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
+					<li class="mui-table-view-cell">
+						<div class="mui-table">							
+							<!--微信地址-->
+							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
+								<p><span class="iconfont icon-dingwei"></span></p>
+							</div>
+							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
+								<div>收货人:杨春有 <span class="mui-pull-right">13592708169</span></div>
+								<p>收货地址:东莞清溪三中金龙工业区徐福记对面优尼雅 电子科技</p>
+							</div>
+						</div>
+					</li>
+				</ul>
+			</div>
+			<div class="clearing-box">
+				<br />
+				<p id="msg"></p>
+				<br />
+				<div class="mui-content-padded mui-text-center">
+					<button type="button" class="my-btn-black" id="orderUpdateStatus">提交</button>
+				</div>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			var orderId = getParam("orderId");//从URL带过来的订单id
+			var newStatus = getParam("newStatus"); //2:退款   4:退货       7:换货
+			var status = 0;
+			//dom加载完毕
+			mui.ready(function() {
+				
+				var nameMsg = "";
+				if(newStatus == 2){
+					$("#nameMsg").html("退款原因");
+					$("#remark").attr("placeholder","请填写您的退款原因");
+				}else if(newStatus == 4){
+					$("#nameMsg").html("退货原因");
+					$("#remark").attr("placeholder","请填写您的退货原因");
+				}else if(newStatus == 7){
+					$("#nameMsg").html("换货原因");
+					$("#remark").attr("placeholder","请填写您的换货原因");
+				}
+				
+				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
+					data: {
+						"orderId": orderId
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt);
+							var order = dt.data
+							status = order.salesStatus; //赋值状态
+							if(status == 2){
+								$("#addressInfo").hide();
+								$("#msg").html("提示:提交审核成功后,退款金额为您实付金额,当实付金额不为0时,您实付金额将在3个工作日内退款到原支付账户。");
+							}else if(newStatus == 4){  //退货退款
+								$("#addressInfo").show();
+								$("#msg").html("<p>提示:</p><p>1:提交成功后,需联系客服并寄回产品,且将寄回单号和 寄件人信息提供给客服、方便核实</p><p>2:我们收到退回产品后,将立即为您退款,当实付金额不为0时,您实付金额将在3个工作日内退款到原支付账户。</p>" );
+							}else if(newStatus == 7){ 
+								$("#addressInfo").show();
+								$("#msg").html("提示:提交成功后,需联系客服并寄回产品,并且将寄回单号和 寄件人信息、需要更换的机器信息一起提供给客服" );
+							}
+							var str = "";
+							mui.each(order.orderItemList, function(index) {
+								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ (this.itemProductDiscount / 100).toFixed(2) +'</div></div></div>';
+							});
+							document.querySelector('.shopping-cart-list').innerHTML = str;
+							
+							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+				
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+			});
+			
+			
+			/*提交*/
+			$(document).on('tap', '#orderUpdateStatus', function() {
+				var remark = $("#remark").val();
+				remark=remark.replace(/(^\s*)|(\s*$)/g, "");
+				if(remark !=null && remark.trim().length != 0 && typeof(remark)!="undefined"){
+					//if(remark){
+					//}
+					
+//					var remark = $("#textarea").val();
+				var ch_en_num = /^[A-Za-z0-9_\[\]\【\】\{\}\{\}\(\)\(\)\《\》\<\>\,\,\.\。\、\!\!\~\·\@\#\¥\$\%\^\…\&\—\:\:\;\;\‘\’\'\'\"\"\“\”\?\?\-\=\|\*\s\+\-\u4e00-\u9fa5]{0,100}$/;
+
+				if(ch_en_num.test(remark)) {
+					console.log("退款验证通过")
+				} else {
+					mui.alert("内容格式错误!仅支持中/英文,数字,普通符号");
+					return false;
+				}
+					updateOrderStatus(orderId,newStatus,remark);
+				}else{
+					var info = "";
+					if(newStatus == 2){
+						info = "请填写您的退款原因";
+					}else if(newStatus == 4){
+						info = "请填写您的退货原因";
+					}else if(newStatus == 7){
+						info = "请填写您的换货原因";
+					}
+					mui.alert(info);
+				}
+			})
+			/*修改状态*/
+			function updateOrderStatus(orderId, status, remark) {
+				var msg = "";
+			 	$.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
+					data: {
+						"status": status, //更改后的状态
+						"orderId": orderId, //订单id
+						"remark": remark
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.resultCode == 200) {
+							console.log(dt);
+							mui.alert('您的申请已提交,如有疑问请联系客服人员!',"提醒",function(){
+								location.href = "order-details.html?orderId="+orderId;
+							});
+							
+						} else{
+							mui.alert(dt.message);
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("提交失败!网络错误");
+					}
+				});
+			}
+		</script>
+	</body>
+
 </html>

+ 54 - 54
tooth/follow-me.html

@@ -1,55 +1,55 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title>关注soodo上朵</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="follow-me-box">
-				<h3 class="cl-red"> 500积分已入账</h3>
-				<br />
-				<div>
-					关注soodo上朵即可使用<br />立即享受2年续保服务
-				</div>
-			</div>
-			<div class="follow-me-cell">
-				<img width="200px" src="images/erweima-soodo.png" />
-				<p>
-					长按识别,关注soodo公众号
-				</p>
-			</div>
-		</div>
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-		<script type="text/javascript" src="js/main.js"></script>
-		<script type="text/javascript">
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			mui.ready(function() {
-				console.log("页面加载完毕");
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>关注soodo上朵</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="follow-me-box">
+				<h3 class="cl-red"> 500积分已入账</h3>
+				<br />
+				<div>
+					关注soodo上朵即可使用<br />立即享受2年续保服务
+				</div>
+			</div>
+			<div class="follow-me-cell">
+				<img width="200px" src="images/erweima-soodo.png" />
+				<p>
+					长按识别,关注soodo公众号
+				</p>
+			</div>
+		</div>
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript" src="js/main.js"></script>
+		<script type="text/javascript">
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			mui.ready(function() {
+				console.log("页面加载完毕");
+			});
+		</script>
+	</body>
+
 </html>

+ 413 - 413
tooth/integral-log.html

@@ -1,414 +1,414 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>积分记录</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<!--底部菜单开始-->
-		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
-			<a class="mui-tab-item">
-				<span class="iconfont icon-shouye"></span>
-				<span class="mui-tab-label">首页</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-liebiao"></span>
-				<span class="mui-tab-label">列表</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-gouwuche"></span>
-				<span class="mui-tab-label">购物车</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-huiyuan"></span>
-				<span class="mui-tab-label">会员</span>
-			</a>
-		</footer>
-		<!--底部菜单结束-->
-		<div class="integral-log-nav">
-			<!--头部选项卡-->
-			<div id="pro-top-menu" class="mui-segmented-control">
-				<!--(默认选中哪个就加上mui-active),其他不加-->
-				<a class="mui-control-item" id="status_1" name="1" href="#item1">收入记录</a>
-				<a class="mui-control-item" id="status_3" name="3" href="#item2">待入记录</a>
-				<a class="mui-control-item mui-active" id="status_2" name="2" href="#item3">全部记录</a>
-			</div>
-		</div>
-		<!--内容开始-->
-		<div id="item" class="mui-content mui-scroll-wrapper" style="top: 44px;">
-			<div class="mui-scroll">
-			<!--选项卡item1显示区域(默认选中哪个就加上mui-active),其他不加-->
-			<div id="item1"  class="mui-control-content mui-active">
-				<ul class="mui-table-view my-grid-view-no integral-list ">
-					<!--<li class="mui-table-view-cell">
-						<br />
-						<div class="mui-table mui-text-center">
-							<div class="mui-table-cell mui-col-xs-4">
-								<h3 class="mui-ellipsis cl-blue">+378</h3>
-							</div>
-						</div>
-					</li>
-					<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-									<span class="cl-blue">+122</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>完善会员信息赠送积分</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>
-					<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-									<span class="cl-blue">+122</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>完善会员信息赠送积分</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>
-					<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-									<span class="cl-blue">+122</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>完善会员信息赠送积分</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>-->
-				</ul>
-			</div>
-			</div>
-			<!--选项卡item2显示区域-->
-			<!--<div id="item2" class="mui-control-content">
-				<ul class="mui-table-view my-grid-view-no integral-list">-->
-					<!--<li class="mui-table-view-cell">
-						<br />
-						<div class="mui-table mui-text-center">
-							<div class="mui-table-cell mui-col-xs-4">
-								<h3 class="mui-ellipsis cl-yellow">378</h3>
-							</div>
-						</div>
-					</li>-->
-					<!--<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-									<span class="cl-yellow">122</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>购买刷头待入积分</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>-->
-					<!--<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-										<span class="cl-yellow">33</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>购买刷头待入积分</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>-->
-					<!--<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-									<span class="cl-yellow">122</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>购买刷头待入积分</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>-->
-				<!--</ul>
-			</div>-->
-			<!--选项卡item3显示区域-->
-			<!--<div id="item3" class="mui-control-content mui-active">
-				<ul class="mui-table-view my-grid-view-no integral-list">-->
-					<!--<li class="mui-table-view-cell">
-						<br />
-						<div class="mui-table mui-text-center">
-							<div class="mui-table-cell mui-col-xs-4">
-								<h3 class="mui-ellipsis cl-blue">+378</h3>
-							</div>
-							<div class="mui-table-cell mui-col-xs-4">
-								<h3 class="mui-ellipsis cl-yellow">378</h3>
-							</div>
-							<div class="mui-table-cell mui-col-xs-4">
-								<h3 class="mui-ellipsis cl-red">-378</h3>
-							</div>
-						</div>
-					</li>
-					<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-									<span class="cl-blue">+122</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>完善会员信息赠送积分</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>
-					<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-									<span class="cl-yellow">122</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>购买刷头待入积分</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>
-					<li class="mui-table-view-cell">
-						<div class="mui-table my-integral-cell">
-							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
-								<div class="integral-number">
-									<span class="cl-red">-122</span>
-								</div>
-							</div>
-							<div class="mui-table-cell mui-col-xs-9">
-								<span>积分商城兑换礼品</span>
-								<span class="mui-h6 mui-pull-right">2017-12-20</span>
-							</div>
-						</div>
-					</li>-->
-				<!--</ul>
-			</div>-->
-		</div>
-		<!--内容结束-->
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/swiper.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			var isShowTitle = false;  //是否需要展示顶部,积分数
-			var item = getParam("integralStatus");
-			var pageNumber = 0,pagesize = 10;//pageNumber第几页,pagesize每页条数
-			mui.init({
-				pullRefresh: {
-					container: '#item',//上拉加载容器
-					down: {
-						//callback: pulldownRefresh
-					},
-					up: {
-						contentrefresh: '正在加载...',//上拉加载时显示的文字
-						callback: pullupRefresh//上拉加载的回调方法
-					}
-				}
-			});
-			
-			
-			function pullupRefresh() {		
-				
-				++pageNumber;//每次上拉页数+1
-				var parameter = {}; //ajax参数json集合
-				parameter["pageNO"] = pageNumber;
-				parameter["pageSize"] = pagesize;
-				if(item != 2){
-					parameter["useType"] = item;
-				}
-			$.ajax(base_path + '/wechat/userIntegral/listAllIntegralInfo?dates=' + new Date().getTime(), {
-				data:parameter,
-				dataType: 'json',
-				xhrFields: {
-					withCredentials: true
-				},
-				crossDomain: true,
-				type: 'post',
-				timeout: 15000,
-				success:function(dt){
-					if(dt.isRedirect){
-						location.href = dt.redirectURL;
-					} else {
-						if(dt.status){
-							console.log(dt);
-							if(item == 1) {
-								var table = document.body.querySelector('.integral-list');//table是插入数据li的父级容器
-								mui('#item').pullRefresh().endPullupToRefresh(dt.data.listIntegralInfo.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
-								if(dt.data.listIntegralInfo.length<pagesize){
-									$(".mui-pull-caption-nomore").hide();
-								}
-								if(!isShowTitle){
-									var li = document.createElement('li');//创建li标签
-									li.className='mui-table-view-cell';//給li标签className
-									
-									if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null) {
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div></div>';
-									}else {
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+'+'+dt.data.gainIntegralCount+'</h3></div></div>';
-									}
-									table.appendChild(li);//将li插入table
-								}
-								mui.each(dt.data.listIntegralInfo, function(index) {
-										var li = document.createElement('li');//创建li标签
-										li.className='mui-table-view-cell';//給li标签className
-										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-blue">'+'+'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName+'</span><span class="mui-h6 mui-pull-right">'+this.integralCreateTime+'</span></div></div>';
-										table.appendChild(li);//将li插入table
-								});
-							}else if(item == 3) {
-								var table = document.body.querySelector('.integral-list');//table是插入数据li的父级容器
-								mui('#item').pullRefresh().endPullupToRefresh(dt.data.listIntegralInfo.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载	
-								if(dt.data.listIntegralInfo.length<pagesize){
-											$(".mui-pull-caption-nomore").hide();
-									}
-								if(!isShowTitle){
-									var li = document.createElement('li');//创建li标签
-									li.className='mui-table-view-cell';//給li标签className
-									if(dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null){
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div></div>';
-									}else{
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div></div>';
-									}
-									table.appendChild(li);//将li插入table
-								}
-								
-								mui.each(dt.data.listIntegralInfo, function(index) {
-										console.log(dt.data);
-										var li = document.createElement('li');//创建li标签
-										li.className='mui-table-view-cell';//給li标签className
-										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-yellow">'+'+'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName +'</span><span class="mui-h6 mui-pull-right">'+this.stayRecordedTime+'(待入)'+'</span></div></div>';
-										table.appendChild(li);//将li插入table
-								});
-							} else {
-								var table = document.body.querySelector('.integral-list');//table是插入数据li的父级容器
-								mui('#item').pullRefresh().endPullupToRefresh(dt.data.listIntegralInfo.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
-								if(dt.data.listIntegralInfo.length<pagesize){
-									$(".mui-pull-caption-nomore").hide();
-								}
-								
-							if(!isShowTitle){
-								var li = document.createElement('li');//创建li标签
-									li.className='mui-table-view-cell';//給li标签className
-									if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null && dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null && dt.data.useIntegralCount == undefined && dt.data.useIntegralCount == null){
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+0+'</h3></div></div>';
-									}else if(dt.data.gainIntegralCount != undefined && dt.data.gainIntegralCount != null && dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null && dt.data.useIntegralCount == undefined && dt.data.useIntegralCount == null){
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+'+'+dt.data.gainIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+0+'</h3></div></div>';
-									}else if(dt.data.gainIntegralCount != undefined && dt.data.gainIntegralCount != null && dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null && dt.data.useIntegralCount != undefined && dt.data.useIntegralCount != null){
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+'-'+dt.data.useIntegralCount+'</h3></div></div>';
-									}else if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null && dt.data.stayIntegralCount != undefined && dt.data.stayIntegralCount != null && dt.data.useIntegralCount != undefined && dt.data.useIntegralCount != null){
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+'-'+dt.data.useIntegralCount+'</h3></div></div>';
-									}else if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null && dt.data.stayIntegralCount != undefined && dt.data.stayIntegralCount != null && dt.data.useIntegralCount == undefined && dt.data.useIntegralCount == null){
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+0+'</h3></div></div>';
-									}else if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null && dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null && dt.data.useIntegralCount != undefined && dt.data.useIntegralCount != null){
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+'-'+dt.data.useIntegralCount+'</h3></div></div>';
-									}else if(dt.data.gainIntegralCount != undefined && dt.data.gainIntegralCount != null && dt.data.stayIntegralCount != undefined && dt.data.stayIntegralCount != null && dt.data.useIntegralCount == undefined && dt.data.useIntegralCount == null){
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+'+'+dt.data.gainIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+0+'</h3></div></div>';
-									}else{
-										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+'+'+dt.data.gainIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+'-'+dt.data.useIntegralCount+'</h3></div></div>';
-									}
-									table.appendChild(li);//将li插入table
-							}
-									
-							mui.each(dt.data.listIntegralInfo, function(index) {
-									var li = document.createElement('li');//创建li标签
-									li.className='mui-table-view-cell';//給li标签className 
-									if(this.integralType == 1){
-										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-blue">'+'+'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName+'</span><span class="mui-h6 mui-pull-right">'+this.integralCreateTime+'</span></div></div>';
-									}else if(this.integralType == 2){
-										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-red">'+'-'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName+'</span><span class="mui-h6 mui-pull-right">'+this.integralCreateTime+'</span></div></div>';
-									}else{
-										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-yellow">'+'+'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName+'</span><span class="mui-h6 mui-pull-right">'+this.stayRecordedTime +'(待入)'+'</span></div></div>';
-									}
-									//console.log(li);
-									table.appendChild(li);//将li插入table
-								});
-							}
-								isShowTitle = true;
-						} else {
-							mui.alert("获取数据失败!");
-						}
-					}
-				},
-			});
-		}
-
-//			头部选项卡点击事件
-//			var item = 2;
-			$(document).on('tap', '#pro-top-menu>a', function() {
-				isShowTitle = false;
-				pageNumber = 0;
-				item = $(this).attr('name');
-				pageNumber=0;//页数归零
-				$('.integral-list').empty();//清空产品列表
-				mui('#item').pullRefresh().refresh(true);
-				//mui('#item').pullRefresh().pullupLoading();//重新加载数据
-				mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
-			});
-			
-			mui.ready(function() {
-				
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-				mui('#item').pullRefresh().pullupLoading();//重新加载数据
-				
-				$(".mui-segmented-control>a").removeClass("mui-active");
-				//console.log(item);
-				if(item == null || item == ""){
-					item = 2;
-					$("#status_2").addClass("mui-active");
-				}else if(item == 1){
-					$("#status_1").addClass("mui-active");
-				}else if(item == 3){
-					$("#status_3").addClass("mui-active");
-				}else if(item == 2){
-					$("#status_2").addClass("mui-active");
-				}
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>积分记录</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<!--底部菜单开始-->
+		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
+			<a class="mui-tab-item">
+				<span class="iconfont icon-shouye"></span>
+				<span class="mui-tab-label">首页</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-liebiao"></span>
+				<span class="mui-tab-label">列表</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-gouwuche"></span>
+				<span class="mui-tab-label">购物车</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-huiyuan"></span>
+				<span class="mui-tab-label">会员</span>
+			</a>
+		</footer>
+		<!--底部菜单结束-->
+		<div class="integral-log-nav">
+			<!--头部选项卡-->
+			<div id="pro-top-menu" class="mui-segmented-control">
+				<!--(默认选中哪个就加上mui-active),其他不加-->
+				<a class="mui-control-item" id="status_1" name="1" href="#item1">收入记录</a>
+				<a class="mui-control-item" id="status_3" name="3" href="#item2">待入记录</a>
+				<a class="mui-control-item mui-active" id="status_2" name="2" href="#item3">全部记录</a>
+			</div>
+		</div>
+		<!--内容开始-->
+		<div id="item" class="mui-content mui-scroll-wrapper" style="top: 44px;">
+			<div class="mui-scroll">
+			<!--选项卡item1显示区域(默认选中哪个就加上mui-active),其他不加-->
+			<div id="item1"  class="mui-control-content mui-active">
+				<ul class="mui-table-view my-grid-view-no integral-list ">
+					<!--<li class="mui-table-view-cell">
+						<br />
+						<div class="mui-table mui-text-center">
+							<div class="mui-table-cell mui-col-xs-4">
+								<h3 class="mui-ellipsis cl-blue">+378</h3>
+							</div>
+						</div>
+					</li>
+					<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+									<span class="cl-blue">+122</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>完善会员信息赠送积分</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>
+					<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+									<span class="cl-blue">+122</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>完善会员信息赠送积分</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>
+					<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+									<span class="cl-blue">+122</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>完善会员信息赠送积分</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>-->
+				</ul>
+			</div>
+			</div>
+			<!--选项卡item2显示区域-->
+			<!--<div id="item2" class="mui-control-content">
+				<ul class="mui-table-view my-grid-view-no integral-list">-->
+					<!--<li class="mui-table-view-cell">
+						<br />
+						<div class="mui-table mui-text-center">
+							<div class="mui-table-cell mui-col-xs-4">
+								<h3 class="mui-ellipsis cl-yellow">378</h3>
+							</div>
+						</div>
+					</li>-->
+					<!--<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+									<span class="cl-yellow">122</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>购买刷头待入积分</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>-->
+					<!--<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+										<span class="cl-yellow">33</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>购买刷头待入积分</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>-->
+					<!--<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+									<span class="cl-yellow">122</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>购买刷头待入积分</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>-->
+				<!--</ul>
+			</div>-->
+			<!--选项卡item3显示区域-->
+			<!--<div id="item3" class="mui-control-content mui-active">
+				<ul class="mui-table-view my-grid-view-no integral-list">-->
+					<!--<li class="mui-table-view-cell">
+						<br />
+						<div class="mui-table mui-text-center">
+							<div class="mui-table-cell mui-col-xs-4">
+								<h3 class="mui-ellipsis cl-blue">+378</h3>
+							</div>
+							<div class="mui-table-cell mui-col-xs-4">
+								<h3 class="mui-ellipsis cl-yellow">378</h3>
+							</div>
+							<div class="mui-table-cell mui-col-xs-4">
+								<h3 class="mui-ellipsis cl-red">-378</h3>
+							</div>
+						</div>
+					</li>
+					<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+									<span class="cl-blue">+122</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>完善会员信息赠送积分</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>
+					<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+									<span class="cl-yellow">122</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>购买刷头待入积分</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>
+					<li class="mui-table-view-cell">
+						<div class="mui-table my-integral-cell">
+							<div class="mui-table-cell mui-col-xs-3 mui-text-center">
+								<div class="integral-number">
+									<span class="cl-red">-122</span>
+								</div>
+							</div>
+							<div class="mui-table-cell mui-col-xs-9">
+								<span>积分商城兑换礼品</span>
+								<span class="mui-h6 mui-pull-right">2017-12-20</span>
+							</div>
+						</div>
+					</li>-->
+				<!--</ul>
+			</div>-->
+		</div>
+		<!--内容结束-->
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/swiper.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			var isShowTitle = false;  //是否需要展示顶部,积分数
+			var item = getParam("integralStatus");
+			var pageNumber = 0,pagesize = 10;//pageNumber第几页,pagesize每页条数
+			mui.init({
+				pullRefresh: {
+					container: '#item',//上拉加载容器
+					down: {
+						//callback: pulldownRefresh
+					},
+					up: {
+						contentrefresh: '正在加载...',//上拉加载时显示的文字
+						callback: pullupRefresh//上拉加载的回调方法
+					}
+				}
+			});
+			
+			
+			function pullupRefresh() {		
+				
+				++pageNumber;//每次上拉页数+1
+				var parameter = {}; //ajax参数json集合
+				parameter["pageNO"] = pageNumber;
+				parameter["pageSize"] = pagesize;
+				if(item != 2){
+					parameter["useType"] = item;
+				}
+			$.ajax(base_path + '/wechat/userIntegral/listAllIntegralInfo?dates=' + new Date().getTime(), {
+				data:parameter,
+				dataType: 'json',
+				xhrFields: {
+					withCredentials: true
+				},
+				crossDomain: true,
+				type: 'post',
+				timeout: 15000,
+				success:function(dt){
+					if(dt.isRedirect){
+						location.href = dt.redirectURL;
+					} else {
+						if(dt.status){
+							console.log(dt);
+							if(item == 1) {
+								var table = document.body.querySelector('.integral-list');//table是插入数据li的父级容器
+								mui('#item').pullRefresh().endPullupToRefresh(dt.data.listIntegralInfo.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
+								if(dt.data.listIntegralInfo.length<pagesize){
+									$(".mui-pull-caption-nomore").hide();
+								}
+								if(!isShowTitle){
+									var li = document.createElement('li');//创建li标签
+									li.className='mui-table-view-cell';//給li标签className
+									
+									if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null) {
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div></div>';
+									}else {
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+'+'+dt.data.gainIntegralCount+'</h3></div></div>';
+									}
+									table.appendChild(li);//将li插入table
+								}
+								mui.each(dt.data.listIntegralInfo, function(index) {
+										var li = document.createElement('li');//创建li标签
+										li.className='mui-table-view-cell';//給li标签className
+										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-blue">'+'+'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName+'</span><span class="mui-h6 mui-pull-right">'+this.integralCreateTime+'</span></div></div>';
+										table.appendChild(li);//将li插入table
+								});
+							}else if(item == 3) {
+								var table = document.body.querySelector('.integral-list');//table是插入数据li的父级容器
+								mui('#item').pullRefresh().endPullupToRefresh(dt.data.listIntegralInfo.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载	
+								if(dt.data.listIntegralInfo.length<pagesize){
+											$(".mui-pull-caption-nomore").hide();
+									}
+								if(!isShowTitle){
+									var li = document.createElement('li');//创建li标签
+									li.className='mui-table-view-cell';//給li标签className
+									if(dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null){
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div></div>';
+									}else{
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div></div>';
+									}
+									table.appendChild(li);//将li插入table
+								}
+								
+								mui.each(dt.data.listIntegralInfo, function(index) {
+										console.log(dt.data);
+										var li = document.createElement('li');//创建li标签
+										li.className='mui-table-view-cell';//給li标签className
+										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-yellow">'+'+'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName +'</span><span class="mui-h6 mui-pull-right">'+this.stayRecordedTime+'(待入)'+'</span></div></div>';
+										table.appendChild(li);//将li插入table
+								});
+							} else {
+								var table = document.body.querySelector('.integral-list');//table是插入数据li的父级容器
+								mui('#item').pullRefresh().endPullupToRefresh(dt.data.listIntegralInfo.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
+								if(dt.data.listIntegralInfo.length<pagesize){
+									$(".mui-pull-caption-nomore").hide();
+								}
+								
+							if(!isShowTitle){
+								var li = document.createElement('li');//创建li标签
+									li.className='mui-table-view-cell';//給li标签className
+									if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null && dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null && dt.data.useIntegralCount == undefined && dt.data.useIntegralCount == null){
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+0+'</h3></div></div>';
+									}else if(dt.data.gainIntegralCount != undefined && dt.data.gainIntegralCount != null && dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null && dt.data.useIntegralCount == undefined && dt.data.useIntegralCount == null){
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+'+'+dt.data.gainIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+0+'</h3></div></div>';
+									}else if(dt.data.gainIntegralCount != undefined && dt.data.gainIntegralCount != null && dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null && dt.data.useIntegralCount != undefined && dt.data.useIntegralCount != null){
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+'-'+dt.data.useIntegralCount+'</h3></div></div>';
+									}else if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null && dt.data.stayIntegralCount != undefined && dt.data.stayIntegralCount != null && dt.data.useIntegralCount != undefined && dt.data.useIntegralCount != null){
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+'-'+dt.data.useIntegralCount+'</h3></div></div>';
+									}else if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null && dt.data.stayIntegralCount != undefined && dt.data.stayIntegralCount != null && dt.data.useIntegralCount == undefined && dt.data.useIntegralCount == null){
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+0+'</h3></div></div>';
+									}else if(dt.data.gainIntegralCount == undefined && dt.data.gainIntegralCount == null && dt.data.stayIntegralCount == undefined && dt.data.stayIntegralCount == null && dt.data.useIntegralCount != undefined && dt.data.useIntegralCount != null){
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+0+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+'-'+dt.data.useIntegralCount+'</h3></div></div>';
+									}else if(dt.data.gainIntegralCount != undefined && dt.data.gainIntegralCount != null && dt.data.stayIntegralCount != undefined && dt.data.stayIntegralCount != null && dt.data.useIntegralCount == undefined && dt.data.useIntegralCount == null){
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+'+'+dt.data.gainIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+0+'</h3></div></div>';
+									}else{
+										li.innerHTML += '<div class="mui-table mui-text-center"><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-blue">'+'+'+dt.data.gainIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-yellow">'+'+'+dt.data.stayIntegralCount+'</h3></div><div class="mui-table-cell mui-col-xs-4"><h3 class="mui-ellipsis cl-red">'+'-'+dt.data.useIntegralCount+'</h3></div></div>';
+									}
+									table.appendChild(li);//将li插入table
+							}
+									
+							mui.each(dt.data.listIntegralInfo, function(index) {
+									var li = document.createElement('li');//创建li标签
+									li.className='mui-table-view-cell';//給li标签className 
+									if(this.integralType == 1){
+										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-blue">'+'+'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName+'</span><span class="mui-h6 mui-pull-right">'+this.integralCreateTime+'</span></div></div>';
+									}else if(this.integralType == 2){
+										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-red">'+'-'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName+'</span><span class="mui-h6 mui-pull-right">'+this.integralCreateTime+'</span></div></div>';
+									}else{
+										li.innerHTML += '<div class="mui-table my-integral-cell"><div class="mui-table-cell mui-col-xs-3 mui-text-center"><div class="integral-number"><span class="cl-yellow">'+'+'+this.integralNumber+'</span></div></div><div class="mui-table-cell mui-col-xs-9"><span>'+this.integralConfigName+'</span><span class="mui-h6 mui-pull-right">'+this.stayRecordedTime +'(待入)'+'</span></div></div>';
+									}
+									//console.log(li);
+									table.appendChild(li);//将li插入table
+								});
+							}
+								isShowTitle = true;
+						} else {
+							mui.alert("获取数据失败!");
+						}
+					}
+				},
+			});
+		}
+
+//			头部选项卡点击事件
+//			var item = 2;
+			$(document).on('tap', '#pro-top-menu>a', function() {
+				isShowTitle = false;
+				pageNumber = 0;
+				item = $(this).attr('name');
+				pageNumber=0;//页数归零
+				$('.integral-list').empty();//清空产品列表
+				mui('#item').pullRefresh().refresh(true);
+				//mui('#item').pullRefresh().pullupLoading();//重新加载数据
+				mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
+			});
+			
+			mui.ready(function() {
+				
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+				mui('#item').pullRefresh().pullupLoading();//重新加载数据
+				
+				$(".mui-segmented-control>a").removeClass("mui-active");
+				//console.log(item);
+				if(item == null || item == ""){
+					item = 2;
+					$("#status_2").addClass("mui-active");
+				}else if(item == 1){
+					$("#status_1").addClass("mui-active");
+				}else if(item == 3){
+					$("#status_3").addClass("mui-active");
+				}else if(item == 2){
+					$("#status_2").addClass("mui-active");
+				}
+			});
+		</script>
+	</body>
+
 </html>

文件差异内容过多而无法显示
+ 11547 - 11547
tooth/js/city.data-3.js


文件差异内容过多而无法显示
+ 1604 - 1604
tooth/js/city.data.js


文件差异内容过多而无法显示
+ 4 - 4
tooth/js/jquery-2.1.1.min.js


文件差异内容过多而无法显示
+ 866 - 866
tooth/js/jquery.autocompleter.js


文件差异内容过多而无法显示
+ 8 - 8
tooth/js/jquery.autocompleter.min.js


+ 430 - 430
tooth/js/main.js

@@ -1,431 +1,431 @@
-var domanUrl = "https://" + window.location.host;
-var base_path = "https://w.iamberry.com/tooth";
-//var base_path = domanUrl+"/tooth";
-
-//ajax loading
-$(window).ajaxStart(function(){
-    $(".covers").show();
-});
-$(window).ajaxStop(function(){
-    $(".covers").hide();
-});
-
-mui.each(document.querySelectorAll('#footer-bar-tab .mui-tab-item'), function(index, el) {
-					el.addEventListener('tap', function() {
-						switch(index) {
-							case 0:
-								mui.openWindow({
-									url: 'index.html'
-								});
-								break;
-							case 1:
-								mui.openWindow({
-									url: 'pro-list.html'
-								});
-								break;
-							case 2:
-								mui.openWindow({
-									url: 'shopping-cart.html'
-								});
-								break;
-							case 3:
-								mui.openWindow({
-									url: 'my-center.html'
-								});
-								break;	
-							default:
-								break;
-						}
-					}, false);
-				});
-
-function time_before(t){
-	var minute=1000*60;
-	var hour=minute*60;
-	var day=hour*24;
-	var halfamonth=day*15;
-	var month=day*30;
-	var now=new Date().getTime();
-	var diffValue=now-new Date().setTime(t);
-	var monthC=diffValue/month;
-	var weekC=diffValue/(7*day);
-	var dayC=diffValue/day;
-	var hourC=diffValue/hour;
-	var minC=diffValue/minute;
-	if(monthC>=1){
-		result=""+parseInt(monthC)+"月前";
-	}else if(weekC>=1){
-		result=""+parseInt(weekC)+"周前";
-	}else if(dayC>=1){
-		result=""+parseInt(dayC)+"天前";
-	}else if(hourC>=1){
-		result=""+parseInt(hourC)+"小时前";
-	}else if(minC>=2){
-		result=""+parseInt(minC)+"分钟前";
-	}else{
-		result="刚刚";
-	}
-	return result;
-};
-//封装document.getElementById
-function dc(objectid) {
-	if(document.getElementById && document.getElementById(objectid)) {
-		return document.getElementById(objectid);// w3c dom
-	} else if (document.all && document.all(objectid)) {
-		return document.all(objectid);// msie 4 dom
-	} else if (document.layers && document.layers[objectid]) {
-		return document.layers[objectid];// nn 4 dom.. note: this won't find nested layers
-	} else {
-		return false;
-	}
-};
-//生成随机字符,n长度
-function generateMixed(n) {
-	var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
-     var res = "";
-     for(var i = 0; i < n ; i ++) {
-         var id = Math.ceil(Math.random()*35);
-         res += chars[id];
-     }
-     return res;
-}
-function getParam(paramName) {
-	paramValue = "", isFound = !1;
-	if(this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
-		arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
-		while(i < arrSource.length && !isFound) {
-			arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
-		}
-	}
-	return paramValue == "" && (paramValue = null), paramValue
-};
-function getQueryString(name) { 
-var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
-var r = window.location.search.substr(1).match(reg); 
-if (r != null) return unescape(r[2]); return null; 
-} 
-// 对Date的扩展,将 Date 转化为指定格式的String   
-// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
-// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
-// 例子:   
-// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
-// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
-Date.prototype.format = function(fmt)   
-{ //author: meizz   
-  var o = {   
-    "M+" : this.getMonth()+1,                 //月份   
-    "d+" : this.getDate(),                    //日   
-    "h+" : this.getHours(),                   //小时   
-    "m+" : this.getMinutes(),                 //分   
-    "s+" : this.getSeconds(),                 //秒   
-    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
-    "S"  : this.getMilliseconds()             //毫秒   
-  };   
-  if(/(y+)/.test(fmt))   
-    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
-  for(var k in o)   
-    if(new RegExp("("+ k +")").test(fmt))   
-  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
-  return fmt;   
-}
-//计算月份差
-function getMonthNumber(date1,date2){
-  //默认格式为"2010-01-01",根据自己需要改格式和方法
-  var d1=date1.replaceAll("-",''),d2=date2.replaceAll("-",'');
-
-  var year1 =  d1.substring(0,4);
-  var year2 =  d2.substring(0,4); 
-  var month1 = d1.substring(6,4);
-  var month2 = d2.substring(6,4);
-  var len=parseInt((year2-year1)*12+(month2-month1));
-  return len;
-}
- //替换所有要替换的文字
-String.prototype.replaceAll = function (str1,str2){
-var str = this; 
-var result = str.replace(eval("/"+str1+"/gi"),str2);
-return result;
-}
-/**
- ** 加法函数,用来得到精确的加法结果
- ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
- ** 调用:accAdd(arg1,arg2)
- ** 返回值:arg1加上arg2的精确结果
- **/
-function accAdd(arg1, arg2) {
-    var r1, r2, m, c;
-    try {
-        r1 = arg1.toString().split(".")[1].length;
-    }
-    catch (e) {
-        r1 = 0;
-    }
-    try {
-        r2 = arg2.toString().split(".")[1].length;
-    }
-    catch (e) {
-        r2 = 0;
-    }
-    c = Math.abs(r1 - r2);
-    m = Math.pow(10, Math.max(r1, r2));
-    if (c > 0) {
-        var cm = Math.pow(10, c);
-        if (r1 > r2) {
-            arg1 = Number(arg1.toString().replace(".", ""));
-            arg2 = Number(arg2.toString().replace(".", "")) * cm;
-        } else {
-            arg1 = Number(arg1.toString().replace(".", "")) * cm;
-            arg2 = Number(arg2.toString().replace(".", ""));
-        }
-    } else {
-        arg1 = Number(arg1.toString().replace(".", ""));
-        arg2 = Number(arg2.toString().replace(".", ""));
-    }
-    return (arg1 + arg2) / m;
-}
-
-//给Number类型增加一个add方法,调用起来更加方便。
-Number.prototype.add = function (arg) {
-    return accAdd(arg, this);
-};
-/**
- ** 减法函数,用来得到精确的减法结果
- ** 说明:javascript的减法结果会有误差,在两个浮点数相减的时候会比较明显。这个函数返回较为精确的减法结果。
- ** 调用:accSub(arg1,arg2)
- ** 返回值:arg1加上arg2的精确结果
- **/
-function accSub(arg1, arg2) {
-    var r1, r2, m, n;
-    try {
-        r1 = arg1.toString().split(".")[1].length;
-    }
-    catch (e) {
-        r1 = 0;
-    }
-    try {
-        r2 = arg2.toString().split(".")[1].length;
-    }
-    catch (e) {
-        r2 = 0;
-    }
-    m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度
-    n = (r1 >= r2) ? r1 : r2;
-    return ((arg1 * m - arg2 * m) / m).toFixed(n);
-}
-
-// 给Number类型增加一个mul方法,调用起来更加方便。
-Number.prototype.sub = function (arg) {
-    return accSub(arg, this);
-};
-/** 
- ** 除法函数,用来得到精确的除法结果
- ** 说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
- ** 调用:accDiv(arg1,arg2)
- ** 返回值:arg1除以arg2的精确结果
- **/
-function accDiv(arg1, arg2) {
-    var t1 = 0, t2 = 0, r1, r2;
-    try {
-        t1 = arg1.toString().split(".")[1].length;
-    }
-    catch (e) {
-    }
-    try {
-        t2 = arg2.toString().split(".")[1].length;
-    }
-    catch (e) {
-    }
-    with (Math) {
-        r1 = Number((arg1 + "").replace(".", ""));
-        r2 = Number((arg2 + "").replace(".", ""));
-        return (r1 / r2) * pow(10, t2 - t1);
-    }
-}
-//给Number类型增加一个div方法,调用起来更加方便。
-Number.prototype.div = function (arg) {
-  return accDiv(this, arg);
-};
-/**
- ** 乘法函数,用来得到精确的乘法结果
- ** 说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
- ** 调用:accMul(arg1,arg2)
- ** 返回值:arg1乘以 arg2的精确结果
- **/
-function accMul(arg1, arg2) {
-    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
-    try {
-        m += s1.split(".")[1].length;
-    }
-    catch (e) {
-    }
-    try {
-        m += s2.split(".")[1].length;
-    }
-    catch (e) {
-    }
-    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
-}
-// 给Number类型增加一个mul方法,调用起来更加方便。
-Number.prototype.mul = function (arg) {
-    return accMul(arg, this);
-};
-function formatDate(now)   {     
-	now = new Date(now);
-    var   year=now.getFullYear();     
-    var   month=now.getMonth()+1;
-    if(month<10){
-    	month="0"+month;
-    }
-    var   date=now.getDate();         
-    return   year+"年"+month+"月"+date+"日";     
-}
-function formatTime(msd) {  
-    var time = parseFloat(msd) /1000;  
-    if (null!= time &&""!= time) {  
-        if (time >60&& time <60*60) {  
-        	 time = parseInt(time /60.0) +"分"; 
-//          time = parseInt(time /60.0) +"分钟"+ parseInt((parseFloat(time /60.0) -  
-//          parseInt(time /60.0)) *60) +"秒";  
-        }else if (time >=60*60&& time <60*60*24) {  
-//          time = parseInt(time /3600.0) +"小时"+ parseInt((parseFloat(time /3600.0) -  
-//          parseInt(time /3600.0)) *60) +"分钟"+
-//          parseInt((parseFloat((parseFloat(time /3600.0) - parseInt(time /3600.0)) *60) -  
-//          parseInt((parseFloat(time /3600.0) - parseInt(time /3600.0)) *60)) *60) +"秒";  
-            time = parseInt(time /3600.0) +"时"+ parseInt((parseFloat(time /3600.0) -  
-            parseInt(time /3600.0)) *60) +"分"; 
-        }else {  
-            time = parseInt(time) +"分";  
-        }  
-    }else{  
-        time = "0分";  
-    }  
-    return time;  
-}
-function formatMinutes(msd) { 
-	// 参数msd (秒)
-    var time = parseFloat(msd);  
-    if (null!= time && ""!= time) {  
-        if (time >0&& time <60*60) {  
-        	 time = parseInt(time /60.0) +"分"; 
-        }else{  
-            time = parseInt(time /3600.0) +"时"+ parseInt((parseFloat(time /3600.0) -  
-            parseInt(time /3600.0)) *60) +"分"; 
-        }
-    }else{  
-        time = "0分"; 
-    }  
-    return time;  
-}
-function formatDay(now)   {     
-	now = new Date(now);    
-    var   month=now.getMonth()+1;  
-    if(month<10){
-    	month="0"+month;
-    }
-    var   date=now.getDate();
-    if(date<10){
-    	date="0"+date;
-    }
-    return month+"-"+date;     
-}
-function formatDateFull(now)   {     
-	now = new Date(now);
-    var   year=now.getFullYear();     
-    var   month=now.getMonth()+1;  
-    if(month<10){
-    	month="0"+month;
-    }
-    var   date=now.getDate();
-    if(date<10){
-    	date="0"+date;
-    }
-    return year+"-"+month+"-"+date;     
-}
-function formatDateMinute(now)   {     
-	now = new Date(now);
-    var   year=now.getFullYear();     
-    var   month=now.getMonth()+1; 
-    if(month<10){
-    	month="0"+month;
-    }
-    var   date=now.getDate();
-    if(date<10){
-    	date="0"+date;
-    }
-    var   hour=now.getHours();
-    if(hour<10){
-    	hour="0"+hour;
-    }
-    var   Minute=now.getMinutes();
-    if(Minute<10){
-    	Minute="0"+Minute;
-    }
-    return year+"-"+month+"-"+date+" "+hour+":"+Minute;     
-}
-function int_for_time(obj){
-	return obj+":00";
-}
-//替换指定传入参数的值,paramName为参数,replaceWith为新值
-function replaceParamVal(paramName,replaceWith) {
-    var oUrl = this.location.href.toString();
-    var re=eval('/('+ paramName+'=)([^&]*)/gi');
-    var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
-    window.history.pushState({},0,nUrl); 
-}
-function isEmptyObject(e) {  
-    var t;  
-    for (t in e)  
-        return !1;  
-    return !0  
-}
-function gotoTop() {
-	mui('.my-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
-	//$(".mui-scroll").css({"transform":"translate3d(0px, 0px, 0px) translateZ(0px)","transition-duration":"100ms"});
-};
-function gotoBottom(){
-	mui('.my-scroll-wrapper').scroll().scrollToBottom();//500毫秒滚动到底部
-}
-$(document).on('tap', '.go_pro_list', function() {
-	var positions='';
-	if(typeof($(this).attr("pos"))!="undefined"){
-		positions=$(this).attr("pos");
-		location.href="pro-list.html?pos="+positions;
-	}else{
-		location.href="pro-list.html";
-	}
-});
-$(document).on('tap', '.icon-shouye', function() {
-	location.href="index.html";
-});
-//回到顶部
-function gotoTop(acceleration, stime) {
-	acceleration = acceleration || 0.1;
-	stime = stime || 10;
-	var x1 = 0,
-		y1 = 0,
-		x2 = 0,
-		y2 = 0,
-		x3 = 0,
-		y3 = 0;
-	if (document.documentElement) {
-		x1 = document.documentElement.scrollLeft || 0;
-		y1 = document.documentElement.scrollTop || 0;
-	}
-	if (document.body) {
-		x2 = document.body.scrollLeft || 0;
-		y2 = document.body.scrollTop || 0;
-	}
-	var x3 = window.scrollX || 0;
-	var y3 = window.scrollY || 0;
-
-	var x = Math.max(x1, Math.max(x2, x3));
-	var y = Math.max(y1, Math.max(y2, y3));
-
-	var speeding = 1 + acceleration;
-	window.scrollTo(Math.floor(x / speeding), Math.floor(y / speeding));
-
-	if (x > 0 || y > 0) {
-		var run = "gotoTop(" + acceleration + ", " + stime + ")";
-		window.setTimeout(run, stime);
-	}
+var domanUrl = "https://" + window.location.host;
+var base_path = "https://w.iamberry.com/tooth";
+//var base_path = domanUrl+"/tooth";
+
+//ajax loading
+$(window).ajaxStart(function(){
+    $(".covers").show();
+});
+$(window).ajaxStop(function(){
+    $(".covers").hide();
+});
+
+mui.each(document.querySelectorAll('#footer-bar-tab .mui-tab-item'), function(index, el) {
+					el.addEventListener('tap', function() {
+						switch(index) {
+							case 0:
+								mui.openWindow({
+									url: 'index.html'
+								});
+								break;
+							case 1:
+								mui.openWindow({
+									url: 'pro-list.html'
+								});
+								break;
+							case 2:
+								mui.openWindow({
+									url: 'shopping-cart.html'
+								});
+								break;
+							case 3:
+								mui.openWindow({
+									url: 'my-center.html'
+								});
+								break;	
+							default:
+								break;
+						}
+					}, false);
+				});
+
+function time_before(t){
+	var minute=1000*60;
+	var hour=minute*60;
+	var day=hour*24;
+	var halfamonth=day*15;
+	var month=day*30;
+	var now=new Date().getTime();
+	var diffValue=now-new Date().setTime(t);
+	var monthC=diffValue/month;
+	var weekC=diffValue/(7*day);
+	var dayC=diffValue/day;
+	var hourC=diffValue/hour;
+	var minC=diffValue/minute;
+	if(monthC>=1){
+		result=""+parseInt(monthC)+"月前";
+	}else if(weekC>=1){
+		result=""+parseInt(weekC)+"周前";
+	}else if(dayC>=1){
+		result=""+parseInt(dayC)+"天前";
+	}else if(hourC>=1){
+		result=""+parseInt(hourC)+"小时前";
+	}else if(minC>=2){
+		result=""+parseInt(minC)+"分钟前";
+	}else{
+		result="刚刚";
+	}
+	return result;
+};
+//封装document.getElementById
+function dc(objectid) {
+	if(document.getElementById && document.getElementById(objectid)) {
+		return document.getElementById(objectid);// w3c dom
+	} else if (document.all && document.all(objectid)) {
+		return document.all(objectid);// msie 4 dom
+	} else if (document.layers && document.layers[objectid]) {
+		return document.layers[objectid];// nn 4 dom.. note: this won't find nested layers
+	} else {
+		return false;
+	}
+};
+//生成随机字符,n长度
+function generateMixed(n) {
+	var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
+     var res = "";
+     for(var i = 0; i < n ; i ++) {
+         var id = Math.ceil(Math.random()*35);
+         res += chars[id];
+     }
+     return res;
+}
+function getParam(paramName) {
+	paramValue = "", isFound = !1;
+	if(this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
+		arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
+		while(i < arrSource.length && !isFound) {
+			arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
+		}
+	}
+	return paramValue == "" && (paramValue = null), paramValue
+};
+function getQueryString(name) { 
+var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
+var r = window.location.search.substr(1).match(reg); 
+if (r != null) return unescape(r[2]); return null; 
+} 
+// 对Date的扩展,将 Date 转化为指定格式的String   
+// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
+// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
+// 例子:   
+// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
+// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
+Date.prototype.format = function(fmt)   
+{ //author: meizz   
+  var o = {   
+    "M+" : this.getMonth()+1,                 //月份   
+    "d+" : this.getDate(),                    //日   
+    "h+" : this.getHours(),                   //小时   
+    "m+" : this.getMinutes(),                 //分   
+    "s+" : this.getSeconds(),                 //秒   
+    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
+    "S"  : this.getMilliseconds()             //毫秒   
+  };   
+  if(/(y+)/.test(fmt))   
+    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
+  for(var k in o)   
+    if(new RegExp("("+ k +")").test(fmt))   
+  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
+  return fmt;   
+}
+//计算月份差
+function getMonthNumber(date1,date2){
+  //默认格式为"2010-01-01",根据自己需要改格式和方法
+  var d1=date1.replaceAll("-",''),d2=date2.replaceAll("-",'');
+
+  var year1 =  d1.substring(0,4);
+  var year2 =  d2.substring(0,4); 
+  var month1 = d1.substring(6,4);
+  var month2 = d2.substring(6,4);
+  var len=parseInt((year2-year1)*12+(month2-month1));
+  return len;
+}
+ //替换所有要替换的文字
+String.prototype.replaceAll = function (str1,str2){
+var str = this; 
+var result = str.replace(eval("/"+str1+"/gi"),str2);
+return result;
+}
+/**
+ ** 加法函数,用来得到精确的加法结果
+ ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
+ ** 调用:accAdd(arg1,arg2)
+ ** 返回值:arg1加上arg2的精确结果
+ **/
+function accAdd(arg1, arg2) {
+    var r1, r2, m, c;
+    try {
+        r1 = arg1.toString().split(".")[1].length;
+    }
+    catch (e) {
+        r1 = 0;
+    }
+    try {
+        r2 = arg2.toString().split(".")[1].length;
+    }
+    catch (e) {
+        r2 = 0;
+    }
+    c = Math.abs(r1 - r2);
+    m = Math.pow(10, Math.max(r1, r2));
+    if (c > 0) {
+        var cm = Math.pow(10, c);
+        if (r1 > r2) {
+            arg1 = Number(arg1.toString().replace(".", ""));
+            arg2 = Number(arg2.toString().replace(".", "")) * cm;
+        } else {
+            arg1 = Number(arg1.toString().replace(".", "")) * cm;
+            arg2 = Number(arg2.toString().replace(".", ""));
+        }
+    } else {
+        arg1 = Number(arg1.toString().replace(".", ""));
+        arg2 = Number(arg2.toString().replace(".", ""));
+    }
+    return (arg1 + arg2) / m;
+}
+
+//给Number类型增加一个add方法,调用起来更加方便。
+Number.prototype.add = function (arg) {
+    return accAdd(arg, this);
+};
+/**
+ ** 减法函数,用来得到精确的减法结果
+ ** 说明:javascript的减法结果会有误差,在两个浮点数相减的时候会比较明显。这个函数返回较为精确的减法结果。
+ ** 调用:accSub(arg1,arg2)
+ ** 返回值:arg1加上arg2的精确结果
+ **/
+function accSub(arg1, arg2) {
+    var r1, r2, m, n;
+    try {
+        r1 = arg1.toString().split(".")[1].length;
+    }
+    catch (e) {
+        r1 = 0;
+    }
+    try {
+        r2 = arg2.toString().split(".")[1].length;
+    }
+    catch (e) {
+        r2 = 0;
+    }
+    m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度
+    n = (r1 >= r2) ? r1 : r2;
+    return ((arg1 * m - arg2 * m) / m).toFixed(n);
+}
+
+// 给Number类型增加一个mul方法,调用起来更加方便。
+Number.prototype.sub = function (arg) {
+    return accSub(arg, this);
+};
+/** 
+ ** 除法函数,用来得到精确的除法结果
+ ** 说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
+ ** 调用:accDiv(arg1,arg2)
+ ** 返回值:arg1除以arg2的精确结果
+ **/
+function accDiv(arg1, arg2) {
+    var t1 = 0, t2 = 0, r1, r2;
+    try {
+        t1 = arg1.toString().split(".")[1].length;
+    }
+    catch (e) {
+    }
+    try {
+        t2 = arg2.toString().split(".")[1].length;
+    }
+    catch (e) {
+    }
+    with (Math) {
+        r1 = Number((arg1 + "").replace(".", ""));
+        r2 = Number((arg2 + "").replace(".", ""));
+        return (r1 / r2) * pow(10, t2 - t1);
+    }
+}
+//给Number类型增加一个div方法,调用起来更加方便。
+Number.prototype.div = function (arg) {
+  return accDiv(this, arg);
+};
+/**
+ ** 乘法函数,用来得到精确的乘法结果
+ ** 说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
+ ** 调用:accMul(arg1,arg2)
+ ** 返回值:arg1乘以 arg2的精确结果
+ **/
+function accMul(arg1, arg2) {
+    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
+    try {
+        m += s1.split(".")[1].length;
+    }
+    catch (e) {
+    }
+    try {
+        m += s2.split(".")[1].length;
+    }
+    catch (e) {
+    }
+    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
+}
+// 给Number类型增加一个mul方法,调用起来更加方便。
+Number.prototype.mul = function (arg) {
+    return accMul(arg, this);
+};
+function formatDate(now)   {     
+	now = new Date(now);
+    var   year=now.getFullYear();     
+    var   month=now.getMonth()+1;
+    if(month<10){
+    	month="0"+month;
+    }
+    var   date=now.getDate();         
+    return   year+"年"+month+"月"+date+"日";     
+}
+function formatTime(msd) {  
+    var time = parseFloat(msd) /1000;  
+    if (null!= time &&""!= time) {  
+        if (time >60&& time <60*60) {  
+        	 time = parseInt(time /60.0) +"分"; 
+//          time = parseInt(time /60.0) +"分钟"+ parseInt((parseFloat(time /60.0) -  
+//          parseInt(time /60.0)) *60) +"秒";  
+        }else if (time >=60*60&& time <60*60*24) {  
+//          time = parseInt(time /3600.0) +"小时"+ parseInt((parseFloat(time /3600.0) -  
+//          parseInt(time /3600.0)) *60) +"分钟"+
+//          parseInt((parseFloat((parseFloat(time /3600.0) - parseInt(time /3600.0)) *60) -  
+//          parseInt((parseFloat(time /3600.0) - parseInt(time /3600.0)) *60)) *60) +"秒";  
+            time = parseInt(time /3600.0) +"时"+ parseInt((parseFloat(time /3600.0) -  
+            parseInt(time /3600.0)) *60) +"分"; 
+        }else {  
+            time = parseInt(time) +"分";  
+        }  
+    }else{  
+        time = "0分";  
+    }  
+    return time;  
+}
+function formatMinutes(msd) { 
+	// 参数msd (秒)
+    var time = parseFloat(msd);  
+    if (null!= time && ""!= time) {  
+        if (time >0&& time <60*60) {  
+        	 time = parseInt(time /60.0) +"分"; 
+        }else{  
+            time = parseInt(time /3600.0) +"时"+ parseInt((parseFloat(time /3600.0) -  
+            parseInt(time /3600.0)) *60) +"分"; 
+        }
+    }else{  
+        time = "0分"; 
+    }  
+    return time;  
+}
+function formatDay(now)   {     
+	now = new Date(now);    
+    var   month=now.getMonth()+1;  
+    if(month<10){
+    	month="0"+month;
+    }
+    var   date=now.getDate();
+    if(date<10){
+    	date="0"+date;
+    }
+    return month+"-"+date;     
+}
+function formatDateFull(now)   {     
+	now = new Date(now);
+    var   year=now.getFullYear();     
+    var   month=now.getMonth()+1;  
+    if(month<10){
+    	month="0"+month;
+    }
+    var   date=now.getDate();
+    if(date<10){
+    	date="0"+date;
+    }
+    return year+"-"+month+"-"+date;     
+}
+function formatDateMinute(now)   {     
+	now = new Date(now);
+    var   year=now.getFullYear();     
+    var   month=now.getMonth()+1; 
+    if(month<10){
+    	month="0"+month;
+    }
+    var   date=now.getDate();
+    if(date<10){
+    	date="0"+date;
+    }
+    var   hour=now.getHours();
+    if(hour<10){
+    	hour="0"+hour;
+    }
+    var   Minute=now.getMinutes();
+    if(Minute<10){
+    	Minute="0"+Minute;
+    }
+    return year+"-"+month+"-"+date+" "+hour+":"+Minute;     
+}
+function int_for_time(obj){
+	return obj+":00";
+}
+//替换指定传入参数的值,paramName为参数,replaceWith为新值
+function replaceParamVal(paramName,replaceWith) {
+    var oUrl = this.location.href.toString();
+    var re=eval('/('+ paramName+'=)([^&]*)/gi');
+    var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
+    window.history.pushState({},0,nUrl); 
+}
+function isEmptyObject(e) {  
+    var t;  
+    for (t in e)  
+        return !1;  
+    return !0  
+}
+function gotoTop() {
+	mui('.my-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
+	//$(".mui-scroll").css({"transform":"translate3d(0px, 0px, 0px) translateZ(0px)","transition-duration":"100ms"});
+};
+function gotoBottom(){
+	mui('.my-scroll-wrapper').scroll().scrollToBottom();//500毫秒滚动到底部
+}
+$(document).on('tap', '.go_pro_list', function() {
+	var positions='';
+	if(typeof($(this).attr("pos"))!="undefined"){
+		positions=$(this).attr("pos");
+		location.href="pro-list.html?pos="+positions;
+	}else{
+		location.href="pro-list.html";
+	}
+});
+$(document).on('tap', '.icon-shouye', function() {
+	location.href="index.html";
+});
+//回到顶部
+function gotoTop(acceleration, stime) {
+	acceleration = acceleration || 0.1;
+	stime = stime || 10;
+	var x1 = 0,
+		y1 = 0,
+		x2 = 0,
+		y2 = 0,
+		x3 = 0,
+		y3 = 0;
+	if (document.documentElement) {
+		x1 = document.documentElement.scrollLeft || 0;
+		y1 = document.documentElement.scrollTop || 0;
+	}
+	if (document.body) {
+		x2 = document.body.scrollLeft || 0;
+		y2 = document.body.scrollTop || 0;
+	}
+	var x3 = window.scrollX || 0;
+	var y3 = window.scrollY || 0;
+
+	var x = Math.max(x1, Math.max(x2, x3));
+	var y = Math.max(y1, Math.max(y2, y3));
+
+	var speeding = 1 + acceleration;
+	window.scrollTo(Math.floor(x / speeding), Math.floor(y / speeding));
+
+	if (x > 0 || y > 0) {
+		var run = "gotoTop(" + acceleration + ", " + stime + ")";
+		window.setTimeout(run, stime);
+	}
 }

+ 402 - 402
tooth/js/main.js.bak

@@ -1,403 +1,403 @@
-var domanUrl = "http://" + window.location.host;
-var base_path = "http://w.iamberry.com/iamberry";
-//var base_path = "/iamberry";
-
-//ajax loading
-$(window).ajaxStart(function(){
-    $(".covers").show();
-});
-$(window).ajaxStop(function(){
-    $(".covers").hide();
-});
-
-mui.each(document.querySelectorAll('#footer-bar-tab .mui-tab-item'), function(index, el) {
-					el.addEventListener('tap', function() {
-						switch(index) {
-							case 0:
-								mui.openWindow({
-									url: 'index.html'
-								});
-								break;
-							case 1:
-								mui.openWindow({
-									url: 'pro-list.html'
-								});
-								break;
-							case 2:
-								mui.openWindow({
-									url: 'shopping-cart.html'
-								});
-								break;
-							case 3:
-								mui.openWindow({
-									url: 'my-center.html'
-								});
-								break;	
-							default:
-								break;
-						}
-					}, false);
-				});
-
-function time_before(t){
-	var minute=1000*60;
-	var hour=minute*60;
-	var day=hour*24;
-	var halfamonth=day*15;
-	var month=day*30;
-	var now=new Date().getTime();
-	var diffValue=now-new Date().setTime(t);
-	var monthC=diffValue/month;
-	var weekC=diffValue/(7*day);
-	var dayC=diffValue/day;
-	var hourC=diffValue/hour;
-	var minC=diffValue/minute;
-	if(monthC>=1){
-		result=""+parseInt(monthC)+"月前";
-	}else if(weekC>=1){
-		result=""+parseInt(weekC)+"周前";
-	}else if(dayC>=1){
-		result=""+parseInt(dayC)+"天前";
-	}else if(hourC>=1){
-		result=""+parseInt(hourC)+"小时前";
-	}else if(minC>=2){
-		result=""+parseInt(minC)+"分钟前";
-	}else{
-		result="刚刚";
-	}
-	return result;
-};
-//封装document.getElementById
-function dc(objectid) {
-	if(document.getElementById && document.getElementById(objectid)) {
-		return document.getElementById(objectid);// w3c dom
-	} else if (document.all && document.all(objectid)) {
-		return document.all(objectid);// msie 4 dom
-	} else if (document.layers && document.layers[objectid]) {
-		return document.layers[objectid];// nn 4 dom.. note: this won't find nested layers
-	} else {
-		return false;
-	}
-};
-//生成随机字符,n长度
-function generateMixed(n) {
-	var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
-     var res = "";
-     for(var i = 0; i < n ; i ++) {
-         var id = Math.ceil(Math.random()*35);
-         res += chars[id];
-     }
-     return res;
-}
-function getParam(paramName) {
-	paramValue = "", isFound = !1;
-	if(this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
-		arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
-		while(i < arrSource.length && !isFound) {
-			arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
-		}
-	}
-	return paramValue == "" && (paramValue = null), paramValue
-};
-function getQueryString(name) { 
-var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
-var r = window.location.search.substr(1).match(reg); 
-if (r != null) return unescape(r[2]); return null; 
-} 
-// 对Date的扩展,将 Date 转化为指定格式的String   
-// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
-// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
-// 例子:   
-// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
-// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
-Date.prototype.format = function(fmt)   
-{ //author: meizz   
-  var o = {   
-    "M+" : this.getMonth()+1,                 //月份   
-    "d+" : this.getDate(),                    //日   
-    "h+" : this.getHours(),                   //小时   
-    "m+" : this.getMinutes(),                 //分   
-    "s+" : this.getSeconds(),                 //秒   
-    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
-    "S"  : this.getMilliseconds()             //毫秒   
-  };   
-  if(/(y+)/.test(fmt))   
-    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
-  for(var k in o)   
-    if(new RegExp("("+ k +")").test(fmt))   
-  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
-  return fmt;   
-}
-//计算月份差
-function getMonthNumber(date1,date2){
-  //默认格式为"2010-01-01",根据自己需要改格式和方法
-  var d1=date1.replaceAll("-",''),d2=date2.replaceAll("-",'');
-
-  var year1 =  d1.substring(0,4);
-  var year2 =  d2.substring(0,4); 
-  var month1 = d1.substring(6,4);
-  var month2 = d2.substring(6,4);
-  var len=parseInt((year2-year1)*12+(month2-month1));
-  return len;
-}
- //替换所有要替换的文字
-String.prototype.replaceAll = function (str1,str2){
-var str = this; 
-var result = str.replace(eval("/"+str1+"/gi"),str2);
-return result;
-}
-/**
- ** 加法函数,用来得到精确的加法结果
- ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
- ** 调用:accAdd(arg1,arg2)
- ** 返回值:arg1加上arg2的精确结果
- **/
-function accAdd(arg1, arg2) {
-    var r1, r2, m, c;
-    try {
-        r1 = arg1.toString().split(".")[1].length;
-    }
-    catch (e) {
-        r1 = 0;
-    }
-    try {
-        r2 = arg2.toString().split(".")[1].length;
-    }
-    catch (e) {
-        r2 = 0;
-    }
-    c = Math.abs(r1 - r2);
-    m = Math.pow(10, Math.max(r1, r2));
-    if (c > 0) {
-        var cm = Math.pow(10, c);
-        if (r1 > r2) {
-            arg1 = Number(arg1.toString().replace(".", ""));
-            arg2 = Number(arg2.toString().replace(".", "")) * cm;
-        } else {
-            arg1 = Number(arg1.toString().replace(".", "")) * cm;
-            arg2 = Number(arg2.toString().replace(".", ""));
-        }
-    } else {
-        arg1 = Number(arg1.toString().replace(".", ""));
-        arg2 = Number(arg2.toString().replace(".", ""));
-    }
-    return (arg1 + arg2) / m;
-}
-
-//给Number类型增加一个add方法,调用起来更加方便。
-Number.prototype.add = function (arg) {
-    return accAdd(arg, this);
-};
-
-/** 
- ** 除法函数,用来得到精确的除法结果
- ** 说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
- ** 调用:accDiv(arg1,arg2)
- ** 返回值:arg1除以arg2的精确结果
- **/
-function accDiv(arg1, arg2) {
-    var t1 = 0, t2 = 0, r1, r2;
-    try {
-        t1 = arg1.toString().split(".")[1].length;
-    }
-    catch (e) {
-    }
-    try {
-        t2 = arg2.toString().split(".")[1].length;
-    }
-    catch (e) {
-    }
-    with (Math) {
-        r1 = Number((arg1 + "").replace(".", ""));
-        r2 = Number((arg2 + "").replace(".", ""));
-        return (r1 / r2) * pow(10, t2 - t1);
-    }
-}
-//给Number类型增加一个div方法,调用起来更加方便。
-Number.prototype.div = function (arg) {
-  return accDiv(this, arg);
-};
-/**
- ** 乘法函数,用来得到精确的乘法结果
- ** 说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
- ** 调用:accMul(arg1,arg2)
- ** 返回值:arg1乘以 arg2的精确结果
- **/
-function accMul(arg1, arg2) {
-    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
-    try {
-        m += s1.split(".")[1].length;
-    }
-    catch (e) {
-    }
-    try {
-        m += s2.split(".")[1].length;
-    }
-    catch (e) {
-    }
-    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
-}
-// 给Number类型增加一个mul方法,调用起来更加方便。
-Number.prototype.mul = function (arg) {
-    return accMul(arg, this);
-};
-function formatDate(now)   {     
-	now = new Date(now);
-    var   year=now.getFullYear();     
-    var   month=now.getMonth()+1;
-    if(month<10){
-    	month="0"+month;
-    }
-    var   date=now.getDate();         
-    return   year+"年"+month+"月"+date+"日";     
-}
-function formatTime(msd) {  
-    var time = parseFloat(msd) /1000;  
-    if (null!= time &&""!= time) {  
-        if (time >60&& time <60*60) {  
-        	 time = parseInt(time /60.0) +"分"; 
-//          time = parseInt(time /60.0) +"分钟"+ parseInt((parseFloat(time /60.0) -  
-//          parseInt(time /60.0)) *60) +"秒";  
-        }else if (time >=60*60&& time <60*60*24) {  
-//          time = parseInt(time /3600.0) +"小时"+ parseInt((parseFloat(time /3600.0) -  
-//          parseInt(time /3600.0)) *60) +"分钟"+
-//          parseInt((parseFloat((parseFloat(time /3600.0) - parseInt(time /3600.0)) *60) -  
-//          parseInt((parseFloat(time /3600.0) - parseInt(time /3600.0)) *60)) *60) +"秒";  
-            time = parseInt(time /3600.0) +"时"+ parseInt((parseFloat(time /3600.0) -  
-            parseInt(time /3600.0)) *60) +"分"; 
-        }else {  
-            time = parseInt(time) +"分";  
-        }  
-    }else{  
-        time = "0分";  
-    }  
-    return time;  
-}
-function formatMinutes(msd) { 
-	// 参数msd (秒)
-    var time = parseFloat(msd);  
-    if (null!= time && ""!= time) {  
-        if (time >0&& time <60*60) {  
-        	 time = parseInt(time /60.0) +"分"; 
-        }else{  
-            time = parseInt(time /3600.0) +"时"+ parseInt((parseFloat(time /3600.0) -  
-            parseInt(time /3600.0)) *60) +"分"; 
-        }
-    }else{  
-        time = "0分"; 
-    }  
-    return time;  
-}
-function formatDay(now)   {     
-	now = new Date(now);    
-    var   month=now.getMonth()+1;  
-    if(month<10){
-    	month="0"+month;
-    }
-    var   date=now.getDate();
-    if(date<10){
-    	date="0"+date;
-    }
-    return month+"-"+date;     
-}
-function formatDateFull(now)   {     
-	now = new Date(now);
-    var   year=now.getFullYear();     
-    var   month=now.getMonth()+1;  
-    if(month<10){
-    	month="0"+month;
-    }
-    var   date=now.getDate();
-    if(date<10){
-    	date="0"+date;
-    }
-    return year+"-"+month+"-"+date;     
-}
-function formatDateMinute(now)   {     
-	now = new Date(now);
-    var   year=now.getFullYear();     
-    var   month=now.getMonth()+1; 
-    if(month<10){
-    	month="0"+month;
-    }
-    var   date=now.getDate();
-    if(date<10){
-    	date="0"+date;
-    }
-    var   hour=now.getHours();
-    if(hour<10){
-    	hour="0"+hour;
-    }
-    var   Minute=now.getMinutes();
-    if(Minute<10){
-    	Minute="0"+Minute;
-    }
-    return year+"-"+month+"-"+date+" "+hour+":"+Minute;     
-}
-function int_for_time(obj){
-	return obj+":00";
-}
-//替换指定传入参数的值,paramName为参数,replaceWith为新值
-function replaceParamVal(paramName,replaceWith) {
-    var oUrl = this.location.href.toString();
-    var re=eval('/('+ paramName+'=)([^&]*)/gi');
-    var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
-    window.history.pushState({},0,nUrl); 
-}
-function isEmptyObject(e) {  
-    var t;  
-    for (t in e)  
-        return !1;  
-    return !0  
-}
-function gotoTop() {
-	mui('.my-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
-	//$(".mui-scroll").css({"transform":"translate3d(0px, 0px, 0px) translateZ(0px)","transition-duration":"100ms"});
-};
-function gotoBottom(){
-	mui('.my-scroll-wrapper').scroll().scrollToBottom();//500毫秒滚动到底部
-}
-$(document).on('tap', '.go_pro_list', function() {
-	var positions='';
-	if(typeof($(this).attr("pos"))!="undefined"){
-		positions=$(this).attr("pos");
-		location.href="pro-list.html?pos="+positions;
-	}else{
-		location.href="pro-list.html";
-	}
-});
-$(document).on('tap', '.icon-shouye', function() {
-	location.href="index.html";
-});
-//回到顶部
-function gotoTop(acceleration, stime) {
-	acceleration = acceleration || 0.1;
-	stime = stime || 10;
-	var x1 = 0,
-		y1 = 0,
-		x2 = 0,
-		y2 = 0,
-		x3 = 0,
-		y3 = 0;
-	if (document.documentElement) {
-		x1 = document.documentElement.scrollLeft || 0;
-		y1 = document.documentElement.scrollTop || 0;
-	}
-	if (document.body) {
-		x2 = document.body.scrollLeft || 0;
-		y2 = document.body.scrollTop || 0;
-	}
-	var x3 = window.scrollX || 0;
-	var y3 = window.scrollY || 0;
-
-	var x = Math.max(x1, Math.max(x2, x3));
-	var y = Math.max(y1, Math.max(y2, y3));
-
-	var speeding = 1 + acceleration;
-	window.scrollTo(Math.floor(x / speeding), Math.floor(y / speeding));
-
-	if (x > 0 || y > 0) {
-		var run = "gotoTop(" + acceleration + ", " + stime + ")";
-		window.setTimeout(run, stime);
-	}
+var domanUrl = "http://" + window.location.host;
+var base_path = "http://w.iamberry.com/iamberry";
+//var base_path = "/iamberry";
+
+//ajax loading
+$(window).ajaxStart(function(){
+    $(".covers").show();
+});
+$(window).ajaxStop(function(){
+    $(".covers").hide();
+});
+
+mui.each(document.querySelectorAll('#footer-bar-tab .mui-tab-item'), function(index, el) {
+					el.addEventListener('tap', function() {
+						switch(index) {
+							case 0:
+								mui.openWindow({
+									url: 'index.html'
+								});
+								break;
+							case 1:
+								mui.openWindow({
+									url: 'pro-list.html'
+								});
+								break;
+							case 2:
+								mui.openWindow({
+									url: 'shopping-cart.html'
+								});
+								break;
+							case 3:
+								mui.openWindow({
+									url: 'my-center.html'
+								});
+								break;	
+							default:
+								break;
+						}
+					}, false);
+				});
+
+function time_before(t){
+	var minute=1000*60;
+	var hour=minute*60;
+	var day=hour*24;
+	var halfamonth=day*15;
+	var month=day*30;
+	var now=new Date().getTime();
+	var diffValue=now-new Date().setTime(t);
+	var monthC=diffValue/month;
+	var weekC=diffValue/(7*day);
+	var dayC=diffValue/day;
+	var hourC=diffValue/hour;
+	var minC=diffValue/minute;
+	if(monthC>=1){
+		result=""+parseInt(monthC)+"月前";
+	}else if(weekC>=1){
+		result=""+parseInt(weekC)+"周前";
+	}else if(dayC>=1){
+		result=""+parseInt(dayC)+"天前";
+	}else if(hourC>=1){
+		result=""+parseInt(hourC)+"小时前";
+	}else if(minC>=2){
+		result=""+parseInt(minC)+"分钟前";
+	}else{
+		result="刚刚";
+	}
+	return result;
+};
+//封装document.getElementById
+function dc(objectid) {
+	if(document.getElementById && document.getElementById(objectid)) {
+		return document.getElementById(objectid);// w3c dom
+	} else if (document.all && document.all(objectid)) {
+		return document.all(objectid);// msie 4 dom
+	} else if (document.layers && document.layers[objectid]) {
+		return document.layers[objectid];// nn 4 dom.. note: this won't find nested layers
+	} else {
+		return false;
+	}
+};
+//生成随机字符,n长度
+function generateMixed(n) {
+	var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
+     var res = "";
+     for(var i = 0; i < n ; i ++) {
+         var id = Math.ceil(Math.random()*35);
+         res += chars[id];
+     }
+     return res;
+}
+function getParam(paramName) {
+	paramValue = "", isFound = !1;
+	if(this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
+		arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
+		while(i < arrSource.length && !isFound) {
+			arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
+		}
+	}
+	return paramValue == "" && (paramValue = null), paramValue
+};
+function getQueryString(name) { 
+var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
+var r = window.location.search.substr(1).match(reg); 
+if (r != null) return unescape(r[2]); return null; 
+} 
+// 对Date的扩展,将 Date 转化为指定格式的String   
+// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
+// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
+// 例子:   
+// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
+// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
+Date.prototype.format = function(fmt)   
+{ //author: meizz   
+  var o = {   
+    "M+" : this.getMonth()+1,                 //月份   
+    "d+" : this.getDate(),                    //日   
+    "h+" : this.getHours(),                   //小时   
+    "m+" : this.getMinutes(),                 //分   
+    "s+" : this.getSeconds(),                 //秒   
+    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
+    "S"  : this.getMilliseconds()             //毫秒   
+  };   
+  if(/(y+)/.test(fmt))   
+    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
+  for(var k in o)   
+    if(new RegExp("("+ k +")").test(fmt))   
+  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
+  return fmt;   
+}
+//计算月份差
+function getMonthNumber(date1,date2){
+  //默认格式为"2010-01-01",根据自己需要改格式和方法
+  var d1=date1.replaceAll("-",''),d2=date2.replaceAll("-",'');
+
+  var year1 =  d1.substring(0,4);
+  var year2 =  d2.substring(0,4); 
+  var month1 = d1.substring(6,4);
+  var month2 = d2.substring(6,4);
+  var len=parseInt((year2-year1)*12+(month2-month1));
+  return len;
+}
+ //替换所有要替换的文字
+String.prototype.replaceAll = function (str1,str2){
+var str = this; 
+var result = str.replace(eval("/"+str1+"/gi"),str2);
+return result;
+}
+/**
+ ** 加法函数,用来得到精确的加法结果
+ ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
+ ** 调用:accAdd(arg1,arg2)
+ ** 返回值:arg1加上arg2的精确结果
+ **/
+function accAdd(arg1, arg2) {
+    var r1, r2, m, c;
+    try {
+        r1 = arg1.toString().split(".")[1].length;
+    }
+    catch (e) {
+        r1 = 0;
+    }
+    try {
+        r2 = arg2.toString().split(".")[1].length;
+    }
+    catch (e) {
+        r2 = 0;
+    }
+    c = Math.abs(r1 - r2);
+    m = Math.pow(10, Math.max(r1, r2));
+    if (c > 0) {
+        var cm = Math.pow(10, c);
+        if (r1 > r2) {
+            arg1 = Number(arg1.toString().replace(".", ""));
+            arg2 = Number(arg2.toString().replace(".", "")) * cm;
+        } else {
+            arg1 = Number(arg1.toString().replace(".", "")) * cm;
+            arg2 = Number(arg2.toString().replace(".", ""));
+        }
+    } else {
+        arg1 = Number(arg1.toString().replace(".", ""));
+        arg2 = Number(arg2.toString().replace(".", ""));
+    }
+    return (arg1 + arg2) / m;
+}
+
+//给Number类型增加一个add方法,调用起来更加方便。
+Number.prototype.add = function (arg) {
+    return accAdd(arg, this);
+};
+
+/** 
+ ** 除法函数,用来得到精确的除法结果
+ ** 说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
+ ** 调用:accDiv(arg1,arg2)
+ ** 返回值:arg1除以arg2的精确结果
+ **/
+function accDiv(arg1, arg2) {
+    var t1 = 0, t2 = 0, r1, r2;
+    try {
+        t1 = arg1.toString().split(".")[1].length;
+    }
+    catch (e) {
+    }
+    try {
+        t2 = arg2.toString().split(".")[1].length;
+    }
+    catch (e) {
+    }
+    with (Math) {
+        r1 = Number((arg1 + "").replace(".", ""));
+        r2 = Number((arg2 + "").replace(".", ""));
+        return (r1 / r2) * pow(10, t2 - t1);
+    }
+}
+//给Number类型增加一个div方法,调用起来更加方便。
+Number.prototype.div = function (arg) {
+  return accDiv(this, arg);
+};
+/**
+ ** 乘法函数,用来得到精确的乘法结果
+ ** 说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
+ ** 调用:accMul(arg1,arg2)
+ ** 返回值:arg1乘以 arg2的精确结果
+ **/
+function accMul(arg1, arg2) {
+    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
+    try {
+        m += s1.split(".")[1].length;
+    }
+    catch (e) {
+    }
+    try {
+        m += s2.split(".")[1].length;
+    }
+    catch (e) {
+    }
+    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
+}
+// 给Number类型增加一个mul方法,调用起来更加方便。
+Number.prototype.mul = function (arg) {
+    return accMul(arg, this);
+};
+function formatDate(now)   {     
+	now = new Date(now);
+    var   year=now.getFullYear();     
+    var   month=now.getMonth()+1;
+    if(month<10){
+    	month="0"+month;
+    }
+    var   date=now.getDate();         
+    return   year+"年"+month+"月"+date+"日";     
+}
+function formatTime(msd) {  
+    var time = parseFloat(msd) /1000;  
+    if (null!= time &&""!= time) {  
+        if (time >60&& time <60*60) {  
+        	 time = parseInt(time /60.0) +"分"; 
+//          time = parseInt(time /60.0) +"分钟"+ parseInt((parseFloat(time /60.0) -  
+//          parseInt(time /60.0)) *60) +"秒";  
+        }else if (time >=60*60&& time <60*60*24) {  
+//          time = parseInt(time /3600.0) +"小时"+ parseInt((parseFloat(time /3600.0) -  
+//          parseInt(time /3600.0)) *60) +"分钟"+
+//          parseInt((parseFloat((parseFloat(time /3600.0) - parseInt(time /3600.0)) *60) -  
+//          parseInt((parseFloat(time /3600.0) - parseInt(time /3600.0)) *60)) *60) +"秒";  
+            time = parseInt(time /3600.0) +"时"+ parseInt((parseFloat(time /3600.0) -  
+            parseInt(time /3600.0)) *60) +"分"; 
+        }else {  
+            time = parseInt(time) +"分";  
+        }  
+    }else{  
+        time = "0分";  
+    }  
+    return time;  
+}
+function formatMinutes(msd) { 
+	// 参数msd (秒)
+    var time = parseFloat(msd);  
+    if (null!= time && ""!= time) {  
+        if (time >0&& time <60*60) {  
+        	 time = parseInt(time /60.0) +"分"; 
+        }else{  
+            time = parseInt(time /3600.0) +"时"+ parseInt((parseFloat(time /3600.0) -  
+            parseInt(time /3600.0)) *60) +"分"; 
+        }
+    }else{  
+        time = "0分"; 
+    }  
+    return time;  
+}
+function formatDay(now)   {     
+	now = new Date(now);    
+    var   month=now.getMonth()+1;  
+    if(month<10){
+    	month="0"+month;
+    }
+    var   date=now.getDate();
+    if(date<10){
+    	date="0"+date;
+    }
+    return month+"-"+date;     
+}
+function formatDateFull(now)   {     
+	now = new Date(now);
+    var   year=now.getFullYear();     
+    var   month=now.getMonth()+1;  
+    if(month<10){
+    	month="0"+month;
+    }
+    var   date=now.getDate();
+    if(date<10){
+    	date="0"+date;
+    }
+    return year+"-"+month+"-"+date;     
+}
+function formatDateMinute(now)   {     
+	now = new Date(now);
+    var   year=now.getFullYear();     
+    var   month=now.getMonth()+1; 
+    if(month<10){
+    	month="0"+month;
+    }
+    var   date=now.getDate();
+    if(date<10){
+    	date="0"+date;
+    }
+    var   hour=now.getHours();
+    if(hour<10){
+    	hour="0"+hour;
+    }
+    var   Minute=now.getMinutes();
+    if(Minute<10){
+    	Minute="0"+Minute;
+    }
+    return year+"-"+month+"-"+date+" "+hour+":"+Minute;     
+}
+function int_for_time(obj){
+	return obj+":00";
+}
+//替换指定传入参数的值,paramName为参数,replaceWith为新值
+function replaceParamVal(paramName,replaceWith) {
+    var oUrl = this.location.href.toString();
+    var re=eval('/('+ paramName+'=)([^&]*)/gi');
+    var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
+    window.history.pushState({},0,nUrl); 
+}
+function isEmptyObject(e) {  
+    var t;  
+    for (t in e)  
+        return !1;  
+    return !0  
+}
+function gotoTop() {
+	mui('.my-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
+	//$(".mui-scroll").css({"transform":"translate3d(0px, 0px, 0px) translateZ(0px)","transition-duration":"100ms"});
+};
+function gotoBottom(){
+	mui('.my-scroll-wrapper').scroll().scrollToBottom();//500毫秒滚动到底部
+}
+$(document).on('tap', '.go_pro_list', function() {
+	var positions='';
+	if(typeof($(this).attr("pos"))!="undefined"){
+		positions=$(this).attr("pos");
+		location.href="pro-list.html?pos="+positions;
+	}else{
+		location.href="pro-list.html";
+	}
+});
+$(document).on('tap', '.icon-shouye', function() {
+	location.href="index.html";
+});
+//回到顶部
+function gotoTop(acceleration, stime) {
+	acceleration = acceleration || 0.1;
+	stime = stime || 10;
+	var x1 = 0,
+		y1 = 0,
+		x2 = 0,
+		y2 = 0,
+		x3 = 0,
+		y3 = 0;
+	if (document.documentElement) {
+		x1 = document.documentElement.scrollLeft || 0;
+		y1 = document.documentElement.scrollTop || 0;
+	}
+	if (document.body) {
+		x2 = document.body.scrollLeft || 0;
+		y2 = document.body.scrollTop || 0;
+	}
+	var x3 = window.scrollX || 0;
+	var y3 = window.scrollY || 0;
+
+	var x = Math.max(x1, Math.max(x2, x3));
+	var y = Math.max(y1, Math.max(y2, y3));
+
+	var speeding = 1 + acceleration;
+	window.scrollTo(Math.floor(x / speeding), Math.floor(y / speeding));
+
+	if (x > 0 || y > 0) {
+		var run = "gotoTop(" + acceleration + ", " + stime + ")";
+		window.setTimeout(run, stime);
+	}
 }

+ 267 - 267
tooth/js/mui.imageViewer.js

@@ -1,268 +1,268 @@
-/**
- * 图片预览组件
- * varstion 0.4.0
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-(function($, document) {
-
-	$.init({
-		gestureConfig: {
-			tap: true, //默认为true
-			doubletap: true, //默认为false
-			longtap: true, //默认为false
-			swipe: true, //默认为true
-			drag: true, //默认为true
-			hold: true, //默认为false,不监听
-			release: true //默认为false,不监听
-		}
-	});
-
-	var touchSupport = ('ontouchstart' in document);
-	var tapEventName = touchSupport ? 'tap' : 'click';
-	var enterEventName = touchSupport ? 'tap' : 'click';
-	var imageClassName = $.className('image');
-
-
-	//创建DOM (此函数是否可放在 mui.js 中)
-	$.dom = function(str) {
-		if (!$.__create_dom_div__) {
-			$.__create_dom_div__ = document.createElement('div');
-		}
-		$.__create_dom_div__.innerHTML = str;
-		return $.__create_dom_div__.childNodes;
-	};
-
-	//图片预览组件类
-	var ImageViewer = $.ImageViewer = $.Class.extend({
-		//构造函数
-		init: function(selector, options) {
-			var self = this;
-			self.options = options || {};
-			self.selector = selector || 'img';
-			if (self.options.dbl) {
-				enterEventName = touchSupport ? 'doubletap' : 'dblclick';
-			}
-			self.findAllImage();
-			self.createViewer();
-			self.bindEvent();
-		},
-		//创建图片预览组件的整体 UI
-		createViewer: function() {
-			var self = this;
-			self.viewer = $.dom("<div class='mui-imageviewer'><div class='mui-imageviewer-mask'></div><div class='mui-imageviewer-header'><i class='mui-icon mui-icon-closeempty mui-imageviewer-close'></i><span class='mui-imageviewer-state'></span></div><i class='mui-icon mui-icon-arrowleft  mui-imageviewer-left'></i><i class='mui-icon mui-icon-arrowright mui-imageviewer-right'></i></div>");
-			self.viewer = self.viewer[0] || self.viewer;
-			//self.viewer.style.height = screen.height;
-			self.closeButton = self.viewer.querySelector('.mui-imageviewer-close');
-			self.state = self.viewer.querySelector('.mui-imageviewer-state');
-			self.leftButton = self.viewer.querySelector('.mui-imageviewer-left');
-			self.rightButton = self.viewer.querySelector('.mui-imageviewer-right');
-			self.mask = self.viewer.querySelector('.mui-imageviewer-mask');
-			document.body.appendChild(self.viewer);
-		},
-		//查找所有符合的图片
-		findAllImage: function() {
-			var self = this;
-			self.images = [].slice.call($(self.selector));
-		},
-		//检查图片是否为启动预览的图片
-		checkImage: function(target) {
-			var self = this;
-			if (target.tagName !== 'IMG') return false;
-			return self.images.some(function(image) {
-				return image == target;
-			});
-		},
-		//绑定事件
-		bindEvent: function() {
-			var self = this;
-			//绑定图片 tap 事件
-			document.addEventListener(enterEventName, function(event) {
-				if (!self.viewer) return;
-				var target = event.target;
-				if (!self.checkImage(target)) return;
-				self.viewer.style.display = 'block';
-				setTimeout(function() {
-					self.viewer.style.opacity = 1;
-				}, 0);
-				self.index = self.images.indexOf(target);
-				self.currentItem = self.createImage(self.index);
-			}, false);
-			//关系按钮事件
-			self.closeButton.addEventListener(tapEventName, function(event) {
-				self.viewer.style.opacity = 0;
-				setTimeout(function() {
-					self.viewer.style.display = 'none';
-					self.disposeImage(true);
-				}, 600);
-				event.preventDefault();
-				event.cancelBubble = true;
-			}, false);
-			//处理左右按钮
-			self.leftButton.addEventListener(tapEventName, function() {
-				self.prev();
-			}, false);
-			self.rightButton.addEventListener(tapEventName, function() {
-				self.next();
-			}, false);
-			//处理划动
-			self.mask.addEventListener($.EVENT_MOVE, function(event) {
-				event.preventDefault();
-				event.cancelBubble = true;
-			}, false);
-			self.viewer.addEventListener('swipeleft', function(event) {
-				if (self.scaleValue == 1) self.next();
-				event.preventDefault();
-				event.cancelBubble = true;
-			}, false);
-			self.viewer.addEventListener('swiperight', function(event) {
-				if (self.scaleValue == 1) self.prev();
-				event.preventDefault();
-				event.cancelBubble = true;
-			}, false);
-			//处理缩放开始
-			self.viewer.addEventListener($.EVENT_START, function(event) {
-				var touches = event.touches;
-				if (touches.length == 2) {
-					var p1 = touches[0];
-					var p2 = touches[1];
-					var x = p1.pageX - p2.pageX; //x1-x2
-					var y = p1.pageY - p2.pageY; //y1-y2
-					self.scaleStart = Math.sqrt(x * x + y * y);
-					self.isMultiTouch = true;
-				} else if (touches.length = 1) {
-					self.dragStart = touches[0];
-				}
-			}, false);
-			self.viewer.addEventListener($.EVENT_MOVE, function(event) {
-				var img = self.currentItem.querySelector('img');
-				var touches = event.changedTouches;
-				if (touches.length == 2) {
-					event.preventDefault();
-					event.cancelBubble = true;
-					var p1 = touches[0];
-					var p2 = touches[1];
-					var x = p1.pageX - p2.pageX;
-					var y = p1.pageY - p2.pageY;
-					self.scaleEnd = Math.sqrt(x * x + y * y);
-					self._scaleValue = (self.scaleValue * (self.scaleEnd / self.scaleStart));
-					//self.state.innerText = self._scaleValue;
-					img.style.webkitTransform = "scale(" + self._scaleValue + "," + self._scaleValue + ") "; // + " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
-				} else if (!self.isMultiTouch && touches.length == 1 && self.scaleValue != 1) {
-					event.preventDefault();
-					event.cancelBubble = true;
-					self.dragEnd = touches[0];
-					self._dragX = self.dragX + (self.dragEnd.pageX - self.dragStart.pageX);
-					self._dragY = self.dragY + (self.dragEnd.pageY - self.dragStart.pageY);
-					img.style.marginLeft = self._dragX + 'px';
-					img.style.marginTop = self._dragY + 'px';
-					//img.style.transform = "translate(" + self._dragX + "px," + self._dragY + "px) " + " scale(" + self.scaleValue || 1 + "," + self.scaleValue || 1 + ")";
-				}
-			}, false);
-			self.viewer.addEventListener($.EVENT_END, function() {
-				self.scaleValue = self._scaleValue || self.scaleValue;
-				self._scaleValue = null;
-				self.dragX = self._dragX;
-				self.dragY = self._dragY;
-				self._dragX = null;
-				self._dragY = null;
-				var touches = event.touches;
-				self.isMultiTouch = (touches.length != 0);
-			});
-			// doubletap 好像不能用
-			self.viewer.addEventListener('doubletap', function() {
-				var img = self.currentItem.querySelector('img');
-				if (self.scaleValue === 1) {
-					self.scaleValue = 2;
-				} else {
-					self.scaleValue = 1;
-				}
-				self.dragX = 0;
-				self.dragY = 0;
-				img.style.marginLeft = self.dragX + 'px';
-				img.style.marginTop = self.dragY + 'px';
-				img.style.webkitTransform = "scale(" + self.scaleValue + "," + self.scaleValue + ") "; //+ " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
-				self.viewer.__tap_num = 0;
-			}, false);
-			//处理缩放结束
-		},
-		//下一张图片
-		next: function() {
-			var self = this;
-			self.mask.style.display = 'block';
-			self.index++;
-			var newItem = self.createImage(self.index, 'right');
-			setTimeout(function() {
-				self.currentItem.classList.remove('mui-imageviewer-item-center');
-				self.currentItem.classList.add('mui-imageviewer-item-left');
-				newItem.classList.remove('mui-imageviewer-item-right');
-				newItem.classList.add('mui-imageviewer-item-center');
-				self.oldItem = self.currentItem;
-				self.currentItem = newItem;
-				// TODO: 临时,稍候将调整
-				setTimeout(function() {
-					self.disposeImage();
-					self.mask.style.display = 'none';
-				}, 600);
-			}, 25);
-		},
-		//上一张图片
-		prev: function() {
-			var self = this;
-			self.mask.style.display = 'block';
-			self.index--;
-			var newItem = self.createImage(self.index, 'left');
-			setTimeout(function() {
-				self.currentItem.classList.remove('mui-imageviewer-item-center');
-				self.currentItem.classList.add('mui-imageviewer-item-right');
-				newItem.classList.remove('mui-imageviewer-item-left');
-				newItem.classList.add('mui-imageviewer-item-center');
-				self.oldItem = self.currentItem;
-				self.currentItem = newItem;
-				// TODO: 临时,稍候将调整
-				setTimeout(function() {
-					self.disposeImage();
-					self.mask.style.display = 'none';
-				}, 600);
-			}, 25);
-		},
-		//释放不显示的图片
-		disposeImage: function(all) {
-			var sel = '.mui-imageviewer-item-left,.mui-imageviewer-item-right';
-			if (all) sel += ",.mui-imageviewer-item";
-			var willdisposes = $(sel);
-			willdisposes.each(function(i, item) {
-				if (item.parentNode && item.parentNode.removeChild)
-					item.parentNode.removeChild(item, true);
-			});
-		},
-		//创建一个图片
-		createImage: function(index, type) {
-			var self = this;
-			type = type || 'center';
-			if (index < 0) index = self.images.length - 1;
-			if (index > self.images.length - 1) index = 0;
-			self.index = index;
-			var item = $.dom("<div class='mui-imageviewer-item'></div>")[0];
-			item.appendChild($.dom('<span><img src="' + self.images[self.index].src + '"/></span>')[0]);
-			item.classList.add('mui-imageviewer-item-' + type);
-			self.viewer.appendChild(item);
-			self.state.innerText = (self.index + 1) + "/" + self.images.length;
-			//重置初始缩放比例
-			self.scaleValue = 1;
-			self.dragX = 0;
-			self.dragY = 0;
-			return item;
-		}
-	});
-
-	$.imageViewer = function(selector, options) {
-		return new ImageViewer(selector, options);
-	};
-
-	$.ready(function() {
-		$.imageViewer('.' + imageClassName);
-	});
-
+/**
+ * 图片预览组件
+ * varstion 0.4.0
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+(function($, document) {
+
+	$.init({
+		gestureConfig: {
+			tap: true, //默认为true
+			doubletap: true, //默认为false
+			longtap: true, //默认为false
+			swipe: true, //默认为true
+			drag: true, //默认为true
+			hold: true, //默认为false,不监听
+			release: true //默认为false,不监听
+		}
+	});
+
+	var touchSupport = ('ontouchstart' in document);
+	var tapEventName = touchSupport ? 'tap' : 'click';
+	var enterEventName = touchSupport ? 'tap' : 'click';
+	var imageClassName = $.className('image');
+
+
+	//创建DOM (此函数是否可放在 mui.js 中)
+	$.dom = function(str) {
+		if (!$.__create_dom_div__) {
+			$.__create_dom_div__ = document.createElement('div');
+		}
+		$.__create_dom_div__.innerHTML = str;
+		return $.__create_dom_div__.childNodes;
+	};
+
+	//图片预览组件类
+	var ImageViewer = $.ImageViewer = $.Class.extend({
+		//构造函数
+		init: function(selector, options) {
+			var self = this;
+			self.options = options || {};
+			self.selector = selector || 'img';
+			if (self.options.dbl) {
+				enterEventName = touchSupport ? 'doubletap' : 'dblclick';
+			}
+			self.findAllImage();
+			self.createViewer();
+			self.bindEvent();
+		},
+		//创建图片预览组件的整体 UI
+		createViewer: function() {
+			var self = this;
+			self.viewer = $.dom("<div class='mui-imageviewer'><div class='mui-imageviewer-mask'></div><div class='mui-imageviewer-header'><i class='mui-icon mui-icon-closeempty mui-imageviewer-close'></i><span class='mui-imageviewer-state'></span></div><i class='mui-icon mui-icon-arrowleft  mui-imageviewer-left'></i><i class='mui-icon mui-icon-arrowright mui-imageviewer-right'></i></div>");
+			self.viewer = self.viewer[0] || self.viewer;
+			//self.viewer.style.height = screen.height;
+			self.closeButton = self.viewer.querySelector('.mui-imageviewer-close');
+			self.state = self.viewer.querySelector('.mui-imageviewer-state');
+			self.leftButton = self.viewer.querySelector('.mui-imageviewer-left');
+			self.rightButton = self.viewer.querySelector('.mui-imageviewer-right');
+			self.mask = self.viewer.querySelector('.mui-imageviewer-mask');
+			document.body.appendChild(self.viewer);
+		},
+		//查找所有符合的图片
+		findAllImage: function() {
+			var self = this;
+			self.images = [].slice.call($(self.selector));
+		},
+		//检查图片是否为启动预览的图片
+		checkImage: function(target) {
+			var self = this;
+			if (target.tagName !== 'IMG') return false;
+			return self.images.some(function(image) {
+				return image == target;
+			});
+		},
+		//绑定事件
+		bindEvent: function() {
+			var self = this;
+			//绑定图片 tap 事件
+			document.addEventListener(enterEventName, function(event) {
+				if (!self.viewer) return;
+				var target = event.target;
+				if (!self.checkImage(target)) return;
+				self.viewer.style.display = 'block';
+				setTimeout(function() {
+					self.viewer.style.opacity = 1;
+				}, 0);
+				self.index = self.images.indexOf(target);
+				self.currentItem = self.createImage(self.index);
+			}, false);
+			//关系按钮事件
+			self.closeButton.addEventListener(tapEventName, function(event) {
+				self.viewer.style.opacity = 0;
+				setTimeout(function() {
+					self.viewer.style.display = 'none';
+					self.disposeImage(true);
+				}, 600);
+				event.preventDefault();
+				event.cancelBubble = true;
+			}, false);
+			//处理左右按钮
+			self.leftButton.addEventListener(tapEventName, function() {
+				self.prev();
+			}, false);
+			self.rightButton.addEventListener(tapEventName, function() {
+				self.next();
+			}, false);
+			//处理划动
+			self.mask.addEventListener($.EVENT_MOVE, function(event) {
+				event.preventDefault();
+				event.cancelBubble = true;
+			}, false);
+			self.viewer.addEventListener('swipeleft', function(event) {
+				if (self.scaleValue == 1) self.next();
+				event.preventDefault();
+				event.cancelBubble = true;
+			}, false);
+			self.viewer.addEventListener('swiperight', function(event) {
+				if (self.scaleValue == 1) self.prev();
+				event.preventDefault();
+				event.cancelBubble = true;
+			}, false);
+			//处理缩放开始
+			self.viewer.addEventListener($.EVENT_START, function(event) {
+				var touches = event.touches;
+				if (touches.length == 2) {
+					var p1 = touches[0];
+					var p2 = touches[1];
+					var x = p1.pageX - p2.pageX; //x1-x2
+					var y = p1.pageY - p2.pageY; //y1-y2
+					self.scaleStart = Math.sqrt(x * x + y * y);
+					self.isMultiTouch = true;
+				} else if (touches.length = 1) {
+					self.dragStart = touches[0];
+				}
+			}, false);
+			self.viewer.addEventListener($.EVENT_MOVE, function(event) {
+				var img = self.currentItem.querySelector('img');
+				var touches = event.changedTouches;
+				if (touches.length == 2) {
+					event.preventDefault();
+					event.cancelBubble = true;
+					var p1 = touches[0];
+					var p2 = touches[1];
+					var x = p1.pageX - p2.pageX;
+					var y = p1.pageY - p2.pageY;
+					self.scaleEnd = Math.sqrt(x * x + y * y);
+					self._scaleValue = (self.scaleValue * (self.scaleEnd / self.scaleStart));
+					//self.state.innerText = self._scaleValue;
+					img.style.webkitTransform = "scale(" + self._scaleValue + "," + self._scaleValue + ") "; // + " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
+				} else if (!self.isMultiTouch && touches.length == 1 && self.scaleValue != 1) {
+					event.preventDefault();
+					event.cancelBubble = true;
+					self.dragEnd = touches[0];
+					self._dragX = self.dragX + (self.dragEnd.pageX - self.dragStart.pageX);
+					self._dragY = self.dragY + (self.dragEnd.pageY - self.dragStart.pageY);
+					img.style.marginLeft = self._dragX + 'px';
+					img.style.marginTop = self._dragY + 'px';
+					//img.style.transform = "translate(" + self._dragX + "px," + self._dragY + "px) " + " scale(" + self.scaleValue || 1 + "," + self.scaleValue || 1 + ")";
+				}
+			}, false);
+			self.viewer.addEventListener($.EVENT_END, function() {
+				self.scaleValue = self._scaleValue || self.scaleValue;
+				self._scaleValue = null;
+				self.dragX = self._dragX;
+				self.dragY = self._dragY;
+				self._dragX = null;
+				self._dragY = null;
+				var touches = event.touches;
+				self.isMultiTouch = (touches.length != 0);
+			});
+			// doubletap 好像不能用
+			self.viewer.addEventListener('doubletap', function() {
+				var img = self.currentItem.querySelector('img');
+				if (self.scaleValue === 1) {
+					self.scaleValue = 2;
+				} else {
+					self.scaleValue = 1;
+				}
+				self.dragX = 0;
+				self.dragY = 0;
+				img.style.marginLeft = self.dragX + 'px';
+				img.style.marginTop = self.dragY + 'px';
+				img.style.webkitTransform = "scale(" + self.scaleValue + "," + self.scaleValue + ") "; //+ " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
+				self.viewer.__tap_num = 0;
+			}, false);
+			//处理缩放结束
+		},
+		//下一张图片
+		next: function() {
+			var self = this;
+			self.mask.style.display = 'block';
+			self.index++;
+			var newItem = self.createImage(self.index, 'right');
+			setTimeout(function() {
+				self.currentItem.classList.remove('mui-imageviewer-item-center');
+				self.currentItem.classList.add('mui-imageviewer-item-left');
+				newItem.classList.remove('mui-imageviewer-item-right');
+				newItem.classList.add('mui-imageviewer-item-center');
+				self.oldItem = self.currentItem;
+				self.currentItem = newItem;
+				// TODO: 临时,稍候将调整
+				setTimeout(function() {
+					self.disposeImage();
+					self.mask.style.display = 'none';
+				}, 600);
+			}, 25);
+		},
+		//上一张图片
+		prev: function() {
+			var self = this;
+			self.mask.style.display = 'block';
+			self.index--;
+			var newItem = self.createImage(self.index, 'left');
+			setTimeout(function() {
+				self.currentItem.classList.remove('mui-imageviewer-item-center');
+				self.currentItem.classList.add('mui-imageviewer-item-right');
+				newItem.classList.remove('mui-imageviewer-item-left');
+				newItem.classList.add('mui-imageviewer-item-center');
+				self.oldItem = self.currentItem;
+				self.currentItem = newItem;
+				// TODO: 临时,稍候将调整
+				setTimeout(function() {
+					self.disposeImage();
+					self.mask.style.display = 'none';
+				}, 600);
+			}, 25);
+		},
+		//释放不显示的图片
+		disposeImage: function(all) {
+			var sel = '.mui-imageviewer-item-left,.mui-imageviewer-item-right';
+			if (all) sel += ",.mui-imageviewer-item";
+			var willdisposes = $(sel);
+			willdisposes.each(function(i, item) {
+				if (item.parentNode && item.parentNode.removeChild)
+					item.parentNode.removeChild(item, true);
+			});
+		},
+		//创建一个图片
+		createImage: function(index, type) {
+			var self = this;
+			type = type || 'center';
+			if (index < 0) index = self.images.length - 1;
+			if (index > self.images.length - 1) index = 0;
+			self.index = index;
+			var item = $.dom("<div class='mui-imageviewer-item'></div>")[0];
+			item.appendChild($.dom('<span><img src="' + self.images[self.index].src + '"/></span>')[0]);
+			item.classList.add('mui-imageviewer-item-' + type);
+			self.viewer.appendChild(item);
+			self.state.innerText = (self.index + 1) + "/" + self.images.length;
+			//重置初始缩放比例
+			self.scaleValue = 1;
+			self.dragX = 0;
+			self.dragY = 0;
+			return item;
+		}
+	});
+
+	$.imageViewer = function(selector, options) {
+		return new ImageViewer(selector, options);
+	};
+
+	$.ready(function() {
+		$.imageViewer('.' + imageClassName);
+	});
+
 }(mui, document));

+ 115 - 115
tooth/js/mui.lazyload.img.js

@@ -1,116 +1,116 @@
-(function($, window, document) {
-	var ImageLazyload = $.Lazyload.extend({
-		init: function(element, options) {
-			this._super(element, options);
-		},
-		_init: function() {
-			this.options.selector = '[data-lazyload]';
-			this._super();
-		},
-		_set: function(element, uri) {
-			if (element.tagName === 'IMG') {
-				element.src = uri;
-			} else {
-				element.style.backgroundImage = "url(" + uri + ")";
-			}
-		},
-		_hasPlaceholder: function(element) {
-			if (element.offsetWidth) {
-				if (element.tagName === 'IMG') {
-					return !!element.src;
-				} else {
-					return !!element.style.backgroundImage;
-				}
-			}
-			return false;
-		},
-		_addPlaceHolder: function(element) {
-			var self = this;
-			if (element.tagName === 'IMG') {
-				self._counter++;
-				element.onload = function() {
-					self._counter--;
-					self.addCallback(element, self.handle);
-					this.onload = null;
-				};
-				self.onPlaceHolder(function(placeholder) {
-					self._set(element, placeholder);
-				});
-			} else {
-				element.style.backgroundImage = "url(" + self.options.placeholder + ")";
-			}
-		},
-		addElement: function(element) {
-			var self = this;
-			var uri = element.getAttribute('data-lazyload');
-			if (uri) {
-				if (self._hasPlaceholder(element)) {
-					self.addCallback(element, self.handle);
-				} else {
-					self.onPlaceHolder = self._createLoader(function(callback) {
-						var img = new Image();
-						var placeholder = self.options.placeholder;
-						img.src = placeholder;
-						img.onload = img.onerror = function() {
-							callback(placeholder);
-						};
-					});
-					self._addPlaceHolder(element);
-				}
-				return true;
-			}
-			return false;
-		},
-		set: function(element, uri) {
-			var self = this;
-			var img = new Image();
-			img.onload = function() {
-				self._set(element, uri);
-				$.trigger(self.element, 'success', {
-					element: element,
-					uri: uri
-				});
-			};
-			img.onerror = function() {
-				$.trigger(self.element, 'error', {
-					element: element,
-					uri: uri
-				});
-			};
-			img.src = uri;
-			element.removeAttribute('data-lazyload'); //只尝试一次,后续可能支持多次尝试
-		},
-		handle: function(element, key) {
-			var uri = element.getAttribute('data-lazyload');
-			if (uri) {
-				this.set(element, uri);
-				//element.parentNode.parentNode.setAttribute('data-lazyload', 'true'); //debug
-			}
-		},
-		destroy: function() {
-			this._super();
-			this.element.removeAttribute('data-imageLazyload');
-		}
-
-	});
-	$.fn.imageLazyload = function(options) {
-		var lazyloadApis = [];
-		this.each(function() {
-			var self = this;
-			var lazyloadApi = null;
-			if (self === document || self === window) {
-				self = document.body;
-			}
-			var id = self.getAttribute('data-imageLazyload');
-			if (!id) {
-				id = ++$.uuid;
-				$.data[id] = lazyloadApi = new ImageLazyload(self, options);
-				self.setAttribute('data-imageLazyload', id);
-			} else {
-				lazyloadApi = $.data[id];
-			}
-			lazyloadApis.push(lazyloadApi);
-		});
-		return lazyloadApis.length === 1 ? lazyloadApis[0] : lazyloadApis;
-	}
+(function($, window, document) {
+	var ImageLazyload = $.Lazyload.extend({
+		init: function(element, options) {
+			this._super(element, options);
+		},
+		_init: function() {
+			this.options.selector = '[data-lazyload]';
+			this._super();
+		},
+		_set: function(element, uri) {
+			if (element.tagName === 'IMG') {
+				element.src = uri;
+			} else {
+				element.style.backgroundImage = "url(" + uri + ")";
+			}
+		},
+		_hasPlaceholder: function(element) {
+			if (element.offsetWidth) {
+				if (element.tagName === 'IMG') {
+					return !!element.src;
+				} else {
+					return !!element.style.backgroundImage;
+				}
+			}
+			return false;
+		},
+		_addPlaceHolder: function(element) {
+			var self = this;
+			if (element.tagName === 'IMG') {
+				self._counter++;
+				element.onload = function() {
+					self._counter--;
+					self.addCallback(element, self.handle);
+					this.onload = null;
+				};
+				self.onPlaceHolder(function(placeholder) {
+					self._set(element, placeholder);
+				});
+			} else {
+				element.style.backgroundImage = "url(" + self.options.placeholder + ")";
+			}
+		},
+		addElement: function(element) {
+			var self = this;
+			var uri = element.getAttribute('data-lazyload');
+			if (uri) {
+				if (self._hasPlaceholder(element)) {
+					self.addCallback(element, self.handle);
+				} else {
+					self.onPlaceHolder = self._createLoader(function(callback) {
+						var img = new Image();
+						var placeholder = self.options.placeholder;
+						img.src = placeholder;
+						img.onload = img.onerror = function() {
+							callback(placeholder);
+						};
+					});
+					self._addPlaceHolder(element);
+				}
+				return true;
+			}
+			return false;
+		},
+		set: function(element, uri) {
+			var self = this;
+			var img = new Image();
+			img.onload = function() {
+				self._set(element, uri);
+				$.trigger(self.element, 'success', {
+					element: element,
+					uri: uri
+				});
+			};
+			img.onerror = function() {
+				$.trigger(self.element, 'error', {
+					element: element,
+					uri: uri
+				});
+			};
+			img.src = uri;
+			element.removeAttribute('data-lazyload'); //只尝试一次,后续可能支持多次尝试
+		},
+		handle: function(element, key) {
+			var uri = element.getAttribute('data-lazyload');
+			if (uri) {
+				this.set(element, uri);
+				//element.parentNode.parentNode.setAttribute('data-lazyload', 'true'); //debug
+			}
+		},
+		destroy: function() {
+			this._super();
+			this.element.removeAttribute('data-imageLazyload');
+		}
+
+	});
+	$.fn.imageLazyload = function(options) {
+		var lazyloadApis = [];
+		this.each(function() {
+			var self = this;
+			var lazyloadApi = null;
+			if (self === document || self === window) {
+				self = document.body;
+			}
+			var id = self.getAttribute('data-imageLazyload');
+			if (!id) {
+				id = ++$.uuid;
+				$.data[id] = lazyloadApi = new ImageLazyload(self, options);
+				self.setAttribute('data-imageLazyload', id);
+			} else {
+				lazyloadApi = $.data[id];
+			}
+			lazyloadApis.push(lazyloadApi);
+		});
+		return lazyloadApis.length === 1 ? lazyloadApis[0] : lazyloadApis;
+	}
 })(mui, window, document);

+ 326 - 326
tooth/js/mui.lazyload.js

@@ -1,327 +1,327 @@
-(function($, window, document) {
-	var mid = 0;
-	$.Lazyload = $.Class.extend({
-		init: function(element, options) {
-			var self = this;
-			this.container = this.element = element;
-			//			placeholder //默认图片
-			this.options = $.extend({
-				selector: '', //查询哪些元素需要lazyload
-				diff: false, //距离视窗底部多少像素出发lazyload
-				force: false, //强制加载(不论元素是否在是视窗内)
-				autoDestroy: true, //元素加载完后是否自动销毁当前插件对象
-				duration: 100 //滑动停止多久后开始加载
-			}, options);
-
-			this._key = 0;
-			this._containerIsNotDocument = this.container.nodeType !== 9;
-			this._callbacks = {};
-
-			this._init();
-		},
-		_init: function() {
-			this._initLoadFn();
-
-			this.addElements();
-
-			this._loadFn();
-
-			$.ready(function() {
-				this._loadFn();
-			}.bind(this));
-
-			this.resume();
-		},
-		_initLoadFn: function() {
-			var self = this;
-			self._loadFn = this._buffer(function() { // 加载延迟项
-				if(self.options.autoDestroy && self._counter == 0 && $.isEmptyObject(self._callbacks)) {
-					self.destroy();
-				}
-				self._loadItems();
-			}, self.options.duration, self);
-		},
-		/**
-		 *根据加载函数实现加载器
-		 *@param {Function} load 加载函数
-		 *@returns {Function} 加载器
-		 */
-		_createLoader: function(load) {
-			var value, loading, handles = [],
-				h;
-			return function(handle) {
-				if(!loading) {
-					loading = true;
-					load(function(v) {
-						value = v;
-						while(h = handles.shift()) {
-							try {
-								h && h.apply(null, [value]);
-							} catch(e) {
-								setTimeout(function() {
-									throw e;
-								}, 0)
-							}
-						}
-					})
-				}
-				if(value) {
-					handle && handle.apply(null, [value]);
-					return value;
-				}
-				handle && handles.push(handle);
-				return value;
-			}
-		},
-		_buffer: function(fn, ms, context) {
-			var timer;
-			var lastStart = 0;
-			var lastEnd = 0;
-			var ms = ms || 150;
-
-			function run() {
-				if(timer) {
-					timer.cancel();
-					timer = 0;
-				}
-				lastStart = $.now();
-				fn.apply(context || this, arguments);
-				lastEnd = $.now();
-			}
-
-			return $.extend(function() {
-				if(
-					(!lastStart) || // 从未运行过
-					(lastEnd >= lastStart && $.now() - lastEnd > ms) || // 上次运行成功后已经超过ms毫秒
-					(lastEnd < lastStart && $.now() - lastStart > ms * 8) // 上次运行或未完成,后8*ms毫秒
-				) {
-					run();
-				} else {
-					if(timer) {
-						timer.cancel();
-					}
-					timer = $.later(run, ms, null, arguments);
-				}
-			}, {
-				stop: function() {
-					if(timer) {
-						timer.cancel();
-						timer = 0;
-					}
-				}
-			});
-		},
-		_getBoundingRect: function(c) {
-			var vh, vw, left, top;
-
-			if(c !== undefined) {
-				vh = c.offsetHeight;
-				vw = c.offsetWidth;
-				var offset = $.offset(c);
-				left = offset.left;
-				top = offset.top;
-			} else {
-				vh = window.innerHeight;
-				vw = window.innerWidth;
-				left = 0;
-				top = window.pageYOffset;
-			}
-
-			var diff = this.options.diff;
-
-			var diffX = diff === false ? vw : diff;
-			var diffX0 = 0;
-			var diffX1 = diffX;
-
-			var diffY = diff === false ? vh : diff;
-			var diffY0 = 0;
-			var diffY1 = diffY;
-
-			var right = left + vw;
-			var bottom = top + vh;
-
-			left -= diffX0;
-			right += diffX1;
-			top -= diffY0;
-			bottom += diffY1;
-			return {
-				left: left,
-				top: top,
-				right: right,
-				bottom: bottom
-			};
-		},
-		_cacheWidth: function(el) {
-			if(el._mui_lazy_width) {
-				return el._mui_lazy_width;
-			}
-			return el._mui_lazy_width = el.offsetWidth;
-		},
-		_cacheHeight: function(el) {
-			if(el._mui_lazy_height) {
-				return el._mui_lazy_height;
-			}
-			return el._mui_lazy_height = el.offsetHeight;
-		},
-		_isCross: function(r1, r2) {
-			var r = {};
-			r.top = Math.max(r1.top, r2.top);
-			r.bottom = Math.min(r1.bottom, r2.bottom);
-			r.left = Math.max(r1.left, r2.left);
-			r.right = Math.min(r1.right, r2.right);
-			return r.bottom >= r.top && r.right >= r.left;
-		},
-		_elementInViewport: function(elem, windowRegion, containerRegion) {
-			// display none or inside display none
-			if(!elem.offsetWidth) {
-				return false;
-			}
-			var elemOffset = $.offset(elem);
-			var inContainer = true;
-			var inWin;
-			var left = elemOffset.left;
-			var top = elemOffset.top;
-			var elemRegion = {
-				left: left,
-				top: top,
-				right: left + this._cacheWidth(elem),
-				bottom: top + this._cacheHeight(elem)
-			};
-
-			inWin = this._isCross(windowRegion, elemRegion);
-
-			if(inWin && containerRegion) {
-				inContainer = this._isCross(containerRegion, elemRegion);
-			}
-			// 确保在容器内出现
-			// 并且在视窗内也出现
-			return inContainer && inWin;
-		},
-		_loadItems: function() {
-			var self = this;
-			// container is display none
-			if(self._containerIsNotDocument && !self.container.offsetWidth) {
-				return;
-			}
-			self._windowRegion = self._getBoundingRect();
-
-			if(self._containerIsNotDocument) {
-				self._containerRegion = self._getBoundingRect(this.container);
-			}
-			$.each(self._callbacks, function(key, callback) {
-				callback && self._loadItem(key, callback);
-			});
-		},
-		_loadItem: function(key, callback) {
-			var self = this;
-			callback = callback || self._callbacks[key];
-			if(!callback) {
-				return true;
-			}
-			var el = callback.el;
-			var remove = false;
-			var fn = callback.fn;
-			if(self.options.force || self._elementInViewport(el, self._windowRegion, self._containerRegion)) {
-				try {
-					remove = fn.call(self, el, key);
-				} catch(e) {
-					setTimeout(function() {
-						throw e;
-					}, 0);
-				}
-			}
-			if(remove !== false) {
-				delete self._callbacks[key];
-			}
-			return remove;
-		},
-		addCallback: function(el, fn) {
-			var self = this;
-			var callbacks = self._callbacks;
-			var callback = {
-				el: el,
-				fn: fn || $.noop
-			};
-			var key = ++this._key;
-			callbacks[key] = callback;
-
-			// add 立即检测,防止首屏元素问题
-			if(self._windowRegion) {
-				self._loadItem(key, callback);
-			} else {
-				self.refresh();
-			}
-		},
-		addElements: function(elements) {
-			var self = this;
-			self._counter = self._counter || 0;
-			var lazyloads = [];
-			if(!elements && self.options.selector) {
-				lazyloads = self.container.querySelectorAll(self.options.selector);
-			} else {
-				$.each(elements, function(index, el) {
-					lazyloads = lazyloads.concat($.qsa(self.options.selector, el));
-				});
-			}
-			//addElements时,自动初始化一次
-			if(self._containerIsNotDocument) {
-				self._containerRegion = self._getBoundingRect(self.container);
-			}
-			$.each(lazyloads, function(index, el) {
-				if(!el.getAttribute('data-lazyload-id')) {
-					if(self.addElement(el)) {
-						el.setAttribute('data-lazyload-id', mid++);
-						self.addCallback(el, self.handle);
-					}
-				}
-			});
-		},
-		addElement: function(el) {
-			return true;
-		},
-		handle: function() {
-			//throw new Error('需子类实现');
-		},
-		refresh: function(check) {
-			if(check) { //检查新的lazyload
-				this.addElements();
-			}
-			this._loadFn();
-		},
-		pause: function() {
-			var load = this._loadFn;
-			if(this._destroyed) {
-				return;
-			}
-			window.removeEventListener('scroll', load);
-			window.removeEventListener($.EVENT_MOVE, load);
-			window.removeEventListener('resize', load);
-			if(this._containerIsNotDocument) {
-				this.container.removeEventListener('scrollend', load);
-				this.container.removeEventListener('scroll', load);
-				this.container.removeEventListener($.EVENT_MOVE, load);
-			}
-		},
-		resume: function() {
-			var load = this._loadFn;
-			if(this._destroyed) {
-				return;
-			}
-			window.addEventListener('scroll', load, false);
-			window.addEventListener($.EVENT_MOVE, load, false);
-			window.addEventListener('resize', load, false);
-			if(this._containerIsNotDocument) {
-				this.container.addEventListener('scrollend', load, false);
-				this.container.addEventListener('scroll', load, false);
-				this.container.addEventListener($.EVENT_MOVE, load, false);
-			}
-		},
-		destroy: function() {
-			var self = this;
-			self.pause();
-			self._callbacks = {};
-			$.trigger(this.container, 'destroy', self);
-			self._destroyed = 1;
-		}
-	});
+(function($, window, document) {
+	var mid = 0;
+	$.Lazyload = $.Class.extend({
+		init: function(element, options) {
+			var self = this;
+			this.container = this.element = element;
+			//			placeholder //默认图片
+			this.options = $.extend({
+				selector: '', //查询哪些元素需要lazyload
+				diff: false, //距离视窗底部多少像素出发lazyload
+				force: false, //强制加载(不论元素是否在是视窗内)
+				autoDestroy: true, //元素加载完后是否自动销毁当前插件对象
+				duration: 100 //滑动停止多久后开始加载
+			}, options);
+
+			this._key = 0;
+			this._containerIsNotDocument = this.container.nodeType !== 9;
+			this._callbacks = {};
+
+			this._init();
+		},
+		_init: function() {
+			this._initLoadFn();
+
+			this.addElements();
+
+			this._loadFn();
+
+			$.ready(function() {
+				this._loadFn();
+			}.bind(this));
+
+			this.resume();
+		},
+		_initLoadFn: function() {
+			var self = this;
+			self._loadFn = this._buffer(function() { // 加载延迟项
+				if(self.options.autoDestroy && self._counter == 0 && $.isEmptyObject(self._callbacks)) {
+					self.destroy();
+				}
+				self._loadItems();
+			}, self.options.duration, self);
+		},
+		/**
+		 *根据加载函数实现加载器
+		 *@param {Function} load 加载函数
+		 *@returns {Function} 加载器
+		 */
+		_createLoader: function(load) {
+			var value, loading, handles = [],
+				h;
+			return function(handle) {
+				if(!loading) {
+					loading = true;
+					load(function(v) {
+						value = v;
+						while(h = handles.shift()) {
+							try {
+								h && h.apply(null, [value]);
+							} catch(e) {
+								setTimeout(function() {
+									throw e;
+								}, 0)
+							}
+						}
+					})
+				}
+				if(value) {
+					handle && handle.apply(null, [value]);
+					return value;
+				}
+				handle && handles.push(handle);
+				return value;
+			}
+		},
+		_buffer: function(fn, ms, context) {
+			var timer;
+			var lastStart = 0;
+			var lastEnd = 0;
+			var ms = ms || 150;
+
+			function run() {
+				if(timer) {
+					timer.cancel();
+					timer = 0;
+				}
+				lastStart = $.now();
+				fn.apply(context || this, arguments);
+				lastEnd = $.now();
+			}
+
+			return $.extend(function() {
+				if(
+					(!lastStart) || // 从未运行过
+					(lastEnd >= lastStart && $.now() - lastEnd > ms) || // 上次运行成功后已经超过ms毫秒
+					(lastEnd < lastStart && $.now() - lastStart > ms * 8) // 上次运行或未完成,后8*ms毫秒
+				) {
+					run();
+				} else {
+					if(timer) {
+						timer.cancel();
+					}
+					timer = $.later(run, ms, null, arguments);
+				}
+			}, {
+				stop: function() {
+					if(timer) {
+						timer.cancel();
+						timer = 0;
+					}
+				}
+			});
+		},
+		_getBoundingRect: function(c) {
+			var vh, vw, left, top;
+
+			if(c !== undefined) {
+				vh = c.offsetHeight;
+				vw = c.offsetWidth;
+				var offset = $.offset(c);
+				left = offset.left;
+				top = offset.top;
+			} else {
+				vh = window.innerHeight;
+				vw = window.innerWidth;
+				left = 0;
+				top = window.pageYOffset;
+			}
+
+			var diff = this.options.diff;
+
+			var diffX = diff === false ? vw : diff;
+			var diffX0 = 0;
+			var diffX1 = diffX;
+
+			var diffY = diff === false ? vh : diff;
+			var diffY0 = 0;
+			var diffY1 = diffY;
+
+			var right = left + vw;
+			var bottom = top + vh;
+
+			left -= diffX0;
+			right += diffX1;
+			top -= diffY0;
+			bottom += diffY1;
+			return {
+				left: left,
+				top: top,
+				right: right,
+				bottom: bottom
+			};
+		},
+		_cacheWidth: function(el) {
+			if(el._mui_lazy_width) {
+				return el._mui_lazy_width;
+			}
+			return el._mui_lazy_width = el.offsetWidth;
+		},
+		_cacheHeight: function(el) {
+			if(el._mui_lazy_height) {
+				return el._mui_lazy_height;
+			}
+			return el._mui_lazy_height = el.offsetHeight;
+		},
+		_isCross: function(r1, r2) {
+			var r = {};
+			r.top = Math.max(r1.top, r2.top);
+			r.bottom = Math.min(r1.bottom, r2.bottom);
+			r.left = Math.max(r1.left, r2.left);
+			r.right = Math.min(r1.right, r2.right);
+			return r.bottom >= r.top && r.right >= r.left;
+		},
+		_elementInViewport: function(elem, windowRegion, containerRegion) {
+			// display none or inside display none
+			if(!elem.offsetWidth) {
+				return false;
+			}
+			var elemOffset = $.offset(elem);
+			var inContainer = true;
+			var inWin;
+			var left = elemOffset.left;
+			var top = elemOffset.top;
+			var elemRegion = {
+				left: left,
+				top: top,
+				right: left + this._cacheWidth(elem),
+				bottom: top + this._cacheHeight(elem)
+			};
+
+			inWin = this._isCross(windowRegion, elemRegion);
+
+			if(inWin && containerRegion) {
+				inContainer = this._isCross(containerRegion, elemRegion);
+			}
+			// 确保在容器内出现
+			// 并且在视窗内也出现
+			return inContainer && inWin;
+		},
+		_loadItems: function() {
+			var self = this;
+			// container is display none
+			if(self._containerIsNotDocument && !self.container.offsetWidth) {
+				return;
+			}
+			self._windowRegion = self._getBoundingRect();
+
+			if(self._containerIsNotDocument) {
+				self._containerRegion = self._getBoundingRect(this.container);
+			}
+			$.each(self._callbacks, function(key, callback) {
+				callback && self._loadItem(key, callback);
+			});
+		},
+		_loadItem: function(key, callback) {
+			var self = this;
+			callback = callback || self._callbacks[key];
+			if(!callback) {
+				return true;
+			}
+			var el = callback.el;
+			var remove = false;
+			var fn = callback.fn;
+			if(self.options.force || self._elementInViewport(el, self._windowRegion, self._containerRegion)) {
+				try {
+					remove = fn.call(self, el, key);
+				} catch(e) {
+					setTimeout(function() {
+						throw e;
+					}, 0);
+				}
+			}
+			if(remove !== false) {
+				delete self._callbacks[key];
+			}
+			return remove;
+		},
+		addCallback: function(el, fn) {
+			var self = this;
+			var callbacks = self._callbacks;
+			var callback = {
+				el: el,
+				fn: fn || $.noop
+			};
+			var key = ++this._key;
+			callbacks[key] = callback;
+
+			// add 立即检测,防止首屏元素问题
+			if(self._windowRegion) {
+				self._loadItem(key, callback);
+			} else {
+				self.refresh();
+			}
+		},
+		addElements: function(elements) {
+			var self = this;
+			self._counter = self._counter || 0;
+			var lazyloads = [];
+			if(!elements && self.options.selector) {
+				lazyloads = self.container.querySelectorAll(self.options.selector);
+			} else {
+				$.each(elements, function(index, el) {
+					lazyloads = lazyloads.concat($.qsa(self.options.selector, el));
+				});
+			}
+			//addElements时,自动初始化一次
+			if(self._containerIsNotDocument) {
+				self._containerRegion = self._getBoundingRect(self.container);
+			}
+			$.each(lazyloads, function(index, el) {
+				if(!el.getAttribute('data-lazyload-id')) {
+					if(self.addElement(el)) {
+						el.setAttribute('data-lazyload-id', mid++);
+						self.addCallback(el, self.handle);
+					}
+				}
+			});
+		},
+		addElement: function(el) {
+			return true;
+		},
+		handle: function() {
+			//throw new Error('需子类实现');
+		},
+		refresh: function(check) {
+			if(check) { //检查新的lazyload
+				this.addElements();
+			}
+			this._loadFn();
+		},
+		pause: function() {
+			var load = this._loadFn;
+			if(this._destroyed) {
+				return;
+			}
+			window.removeEventListener('scroll', load);
+			window.removeEventListener($.EVENT_MOVE, load);
+			window.removeEventListener('resize', load);
+			if(this._containerIsNotDocument) {
+				this.container.removeEventListener('scrollend', load);
+				this.container.removeEventListener('scroll', load);
+				this.container.removeEventListener($.EVENT_MOVE, load);
+			}
+		},
+		resume: function() {
+			var load = this._loadFn;
+			if(this._destroyed) {
+				return;
+			}
+			window.addEventListener('scroll', load, false);
+			window.addEventListener($.EVENT_MOVE, load, false);
+			window.addEventListener('resize', load, false);
+			if(this._containerIsNotDocument) {
+				this.container.addEventListener('scrollend', load, false);
+				this.container.addEventListener('scroll', load, false);
+				this.container.addEventListener($.EVENT_MOVE, load, false);
+			}
+		},
+		destroy: function() {
+			var self = this;
+			self.pause();
+			self._callbacks = {};
+			$.trigger(this.container, 'destroy', self);
+			self._destroyed = 1;
+		}
+	});
 })(mui, window, document);

文件差异内容过多而无法显示
+ 8 - 8
tooth/js/mui.min.js


+ 388 - 388
tooth/js/mui.picker.js

@@ -1,389 +1,389 @@
-/**
- * 选择列表插件
- * varstion 2.0.0
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-(function($, window, document, undefined) {
-
-	var MAX_EXCEED = 30;
-	var VISIBLE_RANGE = 90;
-	var DEFAULT_ITEM_HEIGHT = 40;
-	var BLUR_WIDTH = 10;
-
-	var rad2deg = $.rad2deg = function(rad) {
-		return rad / (Math.PI / 180);
-	};
-
-	var deg2rad = $.deg2rad = function(deg) {
-		return deg * (Math.PI / 180);
-	};
-
-	var platform = navigator.platform.toLowerCase();
-	var userAgent = navigator.userAgent.toLowerCase();
-	var isIos = (userAgent.indexOf('iphone') > -1 ||
-			userAgent.indexOf('ipad') > -1 ||
-			userAgent.indexOf('ipod') > -1) &&
-		(platform.indexOf('iphone') > -1 ||
-			platform.indexOf('ipad') > -1 ||
-			platform.indexOf('ipod') > -1);
-	//alert(isIos);
-
-	var Picker = $.Picker = function(holder, options) {
-		var self = this;
-		self.holder = holder;
-		self.options = options || {};
-		self.init();
-		self.initInertiaParams();
-		self.calcElementItemPostion(true);
-		self.bindEvent();
-	};
-
-	Picker.prototype.findElementItems = function() {
-		var self = this;
-		self.elementItems = [].slice.call(self.holder.querySelectorAll('li'));
-		return self.elementItems;
-	};
-
-	Picker.prototype.init = function() {
-		var self = this;
-		self.list = self.holder.querySelector('ul');
-		self.findElementItems();
-		self.height = self.holder.offsetHeight;
-		self.r = self.height / 2 - BLUR_WIDTH;
-		self.d = self.r * 2;
-		self.itemHeight = self.elementItems.length > 0 ? self.elementItems[0].offsetHeight : DEFAULT_ITEM_HEIGHT;
-		self.itemAngle = parseInt(self.calcAngle(self.itemHeight * 0.8));
-		self.hightlightRange = self.itemAngle / 2;
-		self.visibleRange = VISIBLE_RANGE;
-		self.beginAngle = 0;
-		self.beginExceed = self.beginAngle - MAX_EXCEED;
-		self.list.angle = self.beginAngle;
-		if (isIos) {
-			self.list.style.webkitTransformOrigin = "center center " + self.r + "px";
-		}
-	};
-
-	Picker.prototype.calcElementItemPostion = function(andGenerateItms) {
-		var self = this;
-		if (andGenerateItms) {
-			self.items = [];
-		}
-		self.elementItems.forEach(function(item) {
-			var index = self.elementItems.indexOf(item);
-			self.endAngle = self.itemAngle * index;
-			item.angle = self.endAngle;
-			item.style.webkitTransformOrigin = "center center -" + self.r + "px";
-			item.style.webkitTransform = "translateZ(" + self.r + "px) rotateX(" + (-self.endAngle) + "deg)";
-			if (andGenerateItms) {
-				var dataItem = {};
-				dataItem.text = item.innerHTML || '';
-				dataItem.value = item.getAttribute('data-value') || dataItem.text;
-				self.items.push(dataItem);
-			}
-		});
-		self.endExceed = self.endAngle + MAX_EXCEED;
-		self.calcElementItemVisibility(self.beginAngle);
-	};
-
-	Picker.prototype.calcAngle = function(c) {
-		var self = this;
-		var a = b = parseFloat(self.r);
-		//直径的整倍数部分直接乘以 180
-		c = Math.abs(c); //只算角度不关心正否值
-		var intDeg = parseInt(c / self.d) * 180;
-		c = c % self.d;
-		//余弦
-		var cosC = (a * a + b * b - c * c) / (2 * a * b);
-		var angleC = intDeg + rad2deg(Math.acos(cosC));
-		return angleC;
-	};
-
-	Picker.prototype.calcElementItemVisibility = function(angle) {
-		var self = this;
-		self.elementItems.forEach(function(item) {
-			var difference = Math.abs(item.angle - angle);
-			if (difference < self.hightlightRange) {
-				item.classList.add('highlight');
-			} else if (difference < self.visibleRange) {
-				item.classList.add('visible');
-				item.classList.remove('highlight');
-			} else {
-				item.classList.remove('highlight');
-				item.classList.remove('visible');
-			}
-		});
-	};
-
-	Picker.prototype.setAngle = function(angle) {
-		var self = this;
-		self.list.angle = angle;
-		self.list.style.webkitTransform = "perspective(1000px) rotateY(0deg) rotateX(" + angle + "deg)";
-		self.calcElementItemVisibility(angle);
-	};
-
-	Picker.prototype.bindEvent = function() {
-		var self = this;
-		var lastAngle = 0;
-		var startY = null;
-		var isPicking = false;
-		self.holder.addEventListener($.EVENT_START, function(event) {
-			isPicking = true;
-			event.preventDefault();
-			self.list.style.webkitTransition = '';
-			startY = (event.changedTouches ? event.changedTouches[0] : event).pageY;
-			lastAngle = self.list.angle;
-			self.updateInertiaParams(event, true);
-		}, false);
-		self.holder.addEventListener($.EVENT_END, function(event) {
-			isPicking = false;
-			event.preventDefault();
-			self.startInertiaScroll(event);
-		}, false);
-		self.holder.addEventListener($.EVENT_CANCEL, function(event) {
-			isPicking = false;
-			event.preventDefault();
-			self.startInertiaScroll(event);
-		}, false);
-		self.holder.addEventListener($.EVENT_MOVE, function(event) {
-			if (!isPicking) {
-				return;
-			}
-			event.preventDefault();
-			var endY = (event.changedTouches ? event.changedTouches[0] : event).pageY;
-			var dragRange = endY - startY;
-			var dragAngle = self.calcAngle(dragRange);
-			var newAngle = dragRange > 0 ? lastAngle - dragAngle : lastAngle + dragAngle;
-			if (newAngle > self.endExceed) {
-				newAngle = self.endExceed
-			}
-			if (newAngle < self.beginExceed) {
-				newAngle = self.beginExceed
-			}
-			self.setAngle(newAngle);
-			self.updateInertiaParams(event);
-		}, false);
-		//--
-		self.list.addEventListener('tap', function(event) {
-			elementItem = event.target;
-			if (elementItem.tagName == 'LI') {
-				self.setSelectedIndex(self.elementItems.indexOf(elementItem), 200);
-			}
-		}, false);
-	};
-
-	Picker.prototype.initInertiaParams = function() {
-		var self = this;
-		self.lastMoveTime = 0;
-		self.lastMoveStart = 0;
-		self.stopInertiaMove = false;
-	};
-
-	Picker.prototype.updateInertiaParams = function(event, isStart) {
-		var self = this;
-		var point = event.changedTouches ? event.changedTouches[0] : event;
-		if (isStart) {
-			self.lastMoveStart = point.pageY;
-			self.lastMoveTime = event.timeStamp || Date.now();
-			self.startAngle = self.list.angle;
-		} else {
-			var nowTime = event.timeStamp || Date.now();
-			if (nowTime - self.lastMoveTime > 300) {
-				self.lastMoveTime = nowTime;
-				self.lastMoveStart = point.pageY;
-			}
-		}
-		self.stopInertiaMove = true;
-	};
-
-	Picker.prototype.startInertiaScroll = function(event) {
-		var self = this;
-		var point = event.changedTouches ? event.changedTouches[0] : event;
-		/** 
-		 * 缓动代码
-		 */
-		var nowTime = event.timeStamp || Date.now();
-		var v = (point.pageY - self.lastMoveStart) / (nowTime - self.lastMoveTime); //最后一段时间手指划动速度  
-		var dir = v > 0 ? -1 : 1; //加速度方向  
-		var deceleration = dir * 0.0006 * -1;
-		var duration = Math.abs(v / deceleration); // 速度消减至0所需时间  
-		var dist = v * duration / 2; //最终移动多少 
-		var startAngle = self.list.angle;
-		var distAngle = self.calcAngle(dist) * dir;
-		//----
-		var srcDistAngle = distAngle;
-		if (startAngle + distAngle < self.beginExceed) {
-			distAngle = self.beginExceed - startAngle;
-			duration = duration * (distAngle / srcDistAngle) * 0.6;
-		}
-		if (startAngle + distAngle > self.endExceed) {
-			distAngle = self.endExceed - startAngle;
-			duration = duration * (distAngle / srcDistAngle) * 0.6;
-		}
-		//----
-		if (distAngle == 0) {
-			self.endScroll();
-			return;
-		}
-		self.scrollDistAngle(nowTime, startAngle, distAngle, duration);
-	};
-
-	Picker.prototype.scrollDistAngle = function(nowTime, startAngle, distAngle, duration) {
-		var self = this;
-		self.stopInertiaMove = false;
-		(function(nowTime, startAngle, distAngle, duration) {
-			var frameInterval = 13;
-			var stepCount = duration / frameInterval;
-			var stepIndex = 0;
-			(function inertiaMove() {
-				if (self.stopInertiaMove) return;
-				var newAngle = self.quartEaseOut(stepIndex, startAngle, distAngle, stepCount);
-				self.setAngle(newAngle);
-				stepIndex++;
-				if (stepIndex > stepCount - 1 || newAngle < self.beginExceed || newAngle > self.endExceed) {
-					self.endScroll();
-					return;
-				}
-				setTimeout(inertiaMove, frameInterval);
-			})();
-		})(nowTime, startAngle, distAngle, duration);
-	};
-
-	Picker.prototype.quartEaseOut = function(t, b, c, d) {
-		return -c * ((t = t / d - 1) * t * t * t - 1) + b;
-	};
-
-	Picker.prototype.endScroll = function() {
-		var self = this;
-		if (self.list.angle < self.beginAngle) {
-			self.list.style.webkitTransition = "150ms ease-out";
-			self.setAngle(self.beginAngle);
-		} else if (self.list.angle > self.endAngle) {
-			self.list.style.webkitTransition = "150ms ease-out";
-			self.setAngle(self.endAngle);
-		} else {
-			var index = parseInt((self.list.angle / self.itemAngle).toFixed(0));
-			self.list.style.webkitTransition = "100ms ease-out";
-			self.setAngle(self.itemAngle * index);
-		}
-		self.triggerChange();
-	};
-
-	Picker.prototype.triggerChange = function(force) {
-		var self = this;
-		setTimeout(function() {
-			var index = self.getSelectedIndex();
-			var item = self.items[index];
-			if ($.trigger && (index != self.lastIndex || force === true)) {
-				$.trigger(self.holder, 'change', {
-					"index": index,
-					"item": item
-				});
-				//console.log('change:' + index);
-			}
-			self.lastIndex = index;
-			typeof force === 'function' && force();
-		}, 0);
-	};
-
-	Picker.prototype.correctAngle = function(angle) {
-		var self = this;
-		if (angle < self.beginAngle) {
-			return self.beginAngle;
-		} else if (angle > self.endAngle) {
-			return self.endAngle;
-		} else {
-			return angle;
-		}
-	};
-
-	Picker.prototype.setItems = function(items) {
-		var self = this;
-		self.items = items || [];
-		var buffer = [];
-		self.items.forEach(function(item) {
-			if (item !== null && item !== undefined) {
-				buffer.push('<li>' + (item.text || item) + '</li>');
-			}
-		});
-		self.list.innerHTML = buffer.join('');
-		self.findElementItems();
-		self.calcElementItemPostion();
-		self.setAngle(self.correctAngle(self.list.angle));
-		self.triggerChange(true);
-	};
-
-	Picker.prototype.getItems = function() {
-		var self = this;
-		return self.items;
-	};
-
-	Picker.prototype.getSelectedIndex = function() {
-		var self = this;
-		return parseInt((self.list.angle / self.itemAngle).toFixed(0));
-	};
-
-	Picker.prototype.setSelectedIndex = function(index, duration, callback) {
-		var self = this;
-		self.list.style.webkitTransition = '';
-		var angle = self.correctAngle(self.itemAngle * index);
-		if (duration && duration > 0) {
-			var distAngle = angle - self.list.angle;
-			self.scrollDistAngle(Date.now(), self.list.angle, distAngle, duration);
-		} else {
-			self.setAngle(angle);
-		}
-		self.triggerChange(callback);
-	};
-
-	Picker.prototype.getSelectedItem = function() {
-		var self = this;
-		return self.items[self.getSelectedIndex()];
-	};
-
-	Picker.prototype.getSelectedValue = function() {
-		var self = this;
-		return (self.items[self.getSelectedIndex()] || {}).value;
-	};
-
-	Picker.prototype.getSelectedText = function() {
-		var self = this;
-		return (self.items[self.getSelectedIndex()] || {}).text;
-	};
-
-	Picker.prototype.setSelectedValue = function(value, duration, callback) {
-		var self = this;
-		for (var index in self.items) {
-			var item = self.items[index];
-			if (item.value == value) {
-				self.setSelectedIndex(index, duration, callback);
-				return;
-			}
-		}
-	};
-
-	if ($.fn) {
-		$.fn.picker = function(options) {
-			//遍历选择的元素
-			this.each(function(i, element) {
-				if (element.picker) return;
-				if (options) {
-					element.picker = new Picker(element, options);
-				} else {
-					var optionsText = element.getAttribute('data-picker-options');
-					var _options = optionsText ? JSON.parse(optionsText) : {};
-					element.picker = new Picker(element, _options);
-				}
-			});
-			return this[0] ? this[0].picker : null;
-		};
-
-		//自动初始化
-		$.ready(function() {
-			$('.mui-picker').picker();
-		});
-	}
-
-})(window.mui || window, window, document, undefined);
+/**
+ * 选择列表插件
+ * varstion 2.0.0
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+(function($, window, document, undefined) {
+
+	var MAX_EXCEED = 30;
+	var VISIBLE_RANGE = 90;
+	var DEFAULT_ITEM_HEIGHT = 40;
+	var BLUR_WIDTH = 10;
+
+	var rad2deg = $.rad2deg = function(rad) {
+		return rad / (Math.PI / 180);
+	};
+
+	var deg2rad = $.deg2rad = function(deg) {
+		return deg * (Math.PI / 180);
+	};
+
+	var platform = navigator.platform.toLowerCase();
+	var userAgent = navigator.userAgent.toLowerCase();
+	var isIos = (userAgent.indexOf('iphone') > -1 ||
+			userAgent.indexOf('ipad') > -1 ||
+			userAgent.indexOf('ipod') > -1) &&
+		(platform.indexOf('iphone') > -1 ||
+			platform.indexOf('ipad') > -1 ||
+			platform.indexOf('ipod') > -1);
+	//alert(isIos);
+
+	var Picker = $.Picker = function(holder, options) {
+		var self = this;
+		self.holder = holder;
+		self.options = options || {};
+		self.init();
+		self.initInertiaParams();
+		self.calcElementItemPostion(true);
+		self.bindEvent();
+	};
+
+	Picker.prototype.findElementItems = function() {
+		var self = this;
+		self.elementItems = [].slice.call(self.holder.querySelectorAll('li'));
+		return self.elementItems;
+	};
+
+	Picker.prototype.init = function() {
+		var self = this;
+		self.list = self.holder.querySelector('ul');
+		self.findElementItems();
+		self.height = self.holder.offsetHeight;
+		self.r = self.height / 2 - BLUR_WIDTH;
+		self.d = self.r * 2;
+		self.itemHeight = self.elementItems.length > 0 ? self.elementItems[0].offsetHeight : DEFAULT_ITEM_HEIGHT;
+		self.itemAngle = parseInt(self.calcAngle(self.itemHeight * 0.8));
+		self.hightlightRange = self.itemAngle / 2;
+		self.visibleRange = VISIBLE_RANGE;
+		self.beginAngle = 0;
+		self.beginExceed = self.beginAngle - MAX_EXCEED;
+		self.list.angle = self.beginAngle;
+		if (isIos) {
+			self.list.style.webkitTransformOrigin = "center center " + self.r + "px";
+		}
+	};
+
+	Picker.prototype.calcElementItemPostion = function(andGenerateItms) {
+		var self = this;
+		if (andGenerateItms) {
+			self.items = [];
+		}
+		self.elementItems.forEach(function(item) {
+			var index = self.elementItems.indexOf(item);
+			self.endAngle = self.itemAngle * index;
+			item.angle = self.endAngle;
+			item.style.webkitTransformOrigin = "center center -" + self.r + "px";
+			item.style.webkitTransform = "translateZ(" + self.r + "px) rotateX(" + (-self.endAngle) + "deg)";
+			if (andGenerateItms) {
+				var dataItem = {};
+				dataItem.text = item.innerHTML || '';
+				dataItem.value = item.getAttribute('data-value') || dataItem.text;
+				self.items.push(dataItem);
+			}
+		});
+		self.endExceed = self.endAngle + MAX_EXCEED;
+		self.calcElementItemVisibility(self.beginAngle);
+	};
+
+	Picker.prototype.calcAngle = function(c) {
+		var self = this;
+		var a = b = parseFloat(self.r);
+		//直径的整倍数部分直接乘以 180
+		c = Math.abs(c); //只算角度不关心正否值
+		var intDeg = parseInt(c / self.d) * 180;
+		c = c % self.d;
+		//余弦
+		var cosC = (a * a + b * b - c * c) / (2 * a * b);
+		var angleC = intDeg + rad2deg(Math.acos(cosC));
+		return angleC;
+	};
+
+	Picker.prototype.calcElementItemVisibility = function(angle) {
+		var self = this;
+		self.elementItems.forEach(function(item) {
+			var difference = Math.abs(item.angle - angle);
+			if (difference < self.hightlightRange) {
+				item.classList.add('highlight');
+			} else if (difference < self.visibleRange) {
+				item.classList.add('visible');
+				item.classList.remove('highlight');
+			} else {
+				item.classList.remove('highlight');
+				item.classList.remove('visible');
+			}
+		});
+	};
+
+	Picker.prototype.setAngle = function(angle) {
+		var self = this;
+		self.list.angle = angle;
+		self.list.style.webkitTransform = "perspective(1000px) rotateY(0deg) rotateX(" + angle + "deg)";
+		self.calcElementItemVisibility(angle);
+	};
+
+	Picker.prototype.bindEvent = function() {
+		var self = this;
+		var lastAngle = 0;
+		var startY = null;
+		var isPicking = false;
+		self.holder.addEventListener($.EVENT_START, function(event) {
+			isPicking = true;
+			event.preventDefault();
+			self.list.style.webkitTransition = '';
+			startY = (event.changedTouches ? event.changedTouches[0] : event).pageY;
+			lastAngle = self.list.angle;
+			self.updateInertiaParams(event, true);
+		}, false);
+		self.holder.addEventListener($.EVENT_END, function(event) {
+			isPicking = false;
+			event.preventDefault();
+			self.startInertiaScroll(event);
+		}, false);
+		self.holder.addEventListener($.EVENT_CANCEL, function(event) {
+			isPicking = false;
+			event.preventDefault();
+			self.startInertiaScroll(event);
+		}, false);
+		self.holder.addEventListener($.EVENT_MOVE, function(event) {
+			if (!isPicking) {
+				return;
+			}
+			event.preventDefault();
+			var endY = (event.changedTouches ? event.changedTouches[0] : event).pageY;
+			var dragRange = endY - startY;
+			var dragAngle = self.calcAngle(dragRange);
+			var newAngle = dragRange > 0 ? lastAngle - dragAngle : lastAngle + dragAngle;
+			if (newAngle > self.endExceed) {
+				newAngle = self.endExceed
+			}
+			if (newAngle < self.beginExceed) {
+				newAngle = self.beginExceed
+			}
+			self.setAngle(newAngle);
+			self.updateInertiaParams(event);
+		}, false);
+		//--
+		self.list.addEventListener('tap', function(event) {
+			elementItem = event.target;
+			if (elementItem.tagName == 'LI') {
+				self.setSelectedIndex(self.elementItems.indexOf(elementItem), 200);
+			}
+		}, false);
+	};
+
+	Picker.prototype.initInertiaParams = function() {
+		var self = this;
+		self.lastMoveTime = 0;
+		self.lastMoveStart = 0;
+		self.stopInertiaMove = false;
+	};
+
+	Picker.prototype.updateInertiaParams = function(event, isStart) {
+		var self = this;
+		var point = event.changedTouches ? event.changedTouches[0] : event;
+		if (isStart) {
+			self.lastMoveStart = point.pageY;
+			self.lastMoveTime = event.timeStamp || Date.now();
+			self.startAngle = self.list.angle;
+		} else {
+			var nowTime = event.timeStamp || Date.now();
+			if (nowTime - self.lastMoveTime > 300) {
+				self.lastMoveTime = nowTime;
+				self.lastMoveStart = point.pageY;
+			}
+		}
+		self.stopInertiaMove = true;
+	};
+
+	Picker.prototype.startInertiaScroll = function(event) {
+		var self = this;
+		var point = event.changedTouches ? event.changedTouches[0] : event;
+		/** 
+		 * 缓动代码
+		 */
+		var nowTime = event.timeStamp || Date.now();
+		var v = (point.pageY - self.lastMoveStart) / (nowTime - self.lastMoveTime); //最后一段时间手指划动速度  
+		var dir = v > 0 ? -1 : 1; //加速度方向  
+		var deceleration = dir * 0.0006 * -1;
+		var duration = Math.abs(v / deceleration); // 速度消减至0所需时间  
+		var dist = v * duration / 2; //最终移动多少 
+		var startAngle = self.list.angle;
+		var distAngle = self.calcAngle(dist) * dir;
+		//----
+		var srcDistAngle = distAngle;
+		if (startAngle + distAngle < self.beginExceed) {
+			distAngle = self.beginExceed - startAngle;
+			duration = duration * (distAngle / srcDistAngle) * 0.6;
+		}
+		if (startAngle + distAngle > self.endExceed) {
+			distAngle = self.endExceed - startAngle;
+			duration = duration * (distAngle / srcDistAngle) * 0.6;
+		}
+		//----
+		if (distAngle == 0) {
+			self.endScroll();
+			return;
+		}
+		self.scrollDistAngle(nowTime, startAngle, distAngle, duration);
+	};
+
+	Picker.prototype.scrollDistAngle = function(nowTime, startAngle, distAngle, duration) {
+		var self = this;
+		self.stopInertiaMove = false;
+		(function(nowTime, startAngle, distAngle, duration) {
+			var frameInterval = 13;
+			var stepCount = duration / frameInterval;
+			var stepIndex = 0;
+			(function inertiaMove() {
+				if (self.stopInertiaMove) return;
+				var newAngle = self.quartEaseOut(stepIndex, startAngle, distAngle, stepCount);
+				self.setAngle(newAngle);
+				stepIndex++;
+				if (stepIndex > stepCount - 1 || newAngle < self.beginExceed || newAngle > self.endExceed) {
+					self.endScroll();
+					return;
+				}
+				setTimeout(inertiaMove, frameInterval);
+			})();
+		})(nowTime, startAngle, distAngle, duration);
+	};
+
+	Picker.prototype.quartEaseOut = function(t, b, c, d) {
+		return -c * ((t = t / d - 1) * t * t * t - 1) + b;
+	};
+
+	Picker.prototype.endScroll = function() {
+		var self = this;
+		if (self.list.angle < self.beginAngle) {
+			self.list.style.webkitTransition = "150ms ease-out";
+			self.setAngle(self.beginAngle);
+		} else if (self.list.angle > self.endAngle) {
+			self.list.style.webkitTransition = "150ms ease-out";
+			self.setAngle(self.endAngle);
+		} else {
+			var index = parseInt((self.list.angle / self.itemAngle).toFixed(0));
+			self.list.style.webkitTransition = "100ms ease-out";
+			self.setAngle(self.itemAngle * index);
+		}
+		self.triggerChange();
+	};
+
+	Picker.prototype.triggerChange = function(force) {
+		var self = this;
+		setTimeout(function() {
+			var index = self.getSelectedIndex();
+			var item = self.items[index];
+			if ($.trigger && (index != self.lastIndex || force === true)) {
+				$.trigger(self.holder, 'change', {
+					"index": index,
+					"item": item
+				});
+				//console.log('change:' + index);
+			}
+			self.lastIndex = index;
+			typeof force === 'function' && force();
+		}, 0);
+	};
+
+	Picker.prototype.correctAngle = function(angle) {
+		var self = this;
+		if (angle < self.beginAngle) {
+			return self.beginAngle;
+		} else if (angle > self.endAngle) {
+			return self.endAngle;
+		} else {
+			return angle;
+		}
+	};
+
+	Picker.prototype.setItems = function(items) {
+		var self = this;
+		self.items = items || [];
+		var buffer = [];
+		self.items.forEach(function(item) {
+			if (item !== null && item !== undefined) {
+				buffer.push('<li>' + (item.text || item) + '</li>');
+			}
+		});
+		self.list.innerHTML = buffer.join('');
+		self.findElementItems();
+		self.calcElementItemPostion();
+		self.setAngle(self.correctAngle(self.list.angle));
+		self.triggerChange(true);
+	};
+
+	Picker.prototype.getItems = function() {
+		var self = this;
+		return self.items;
+	};
+
+	Picker.prototype.getSelectedIndex = function() {
+		var self = this;
+		return parseInt((self.list.angle / self.itemAngle).toFixed(0));
+	};
+
+	Picker.prototype.setSelectedIndex = function(index, duration, callback) {
+		var self = this;
+		self.list.style.webkitTransition = '';
+		var angle = self.correctAngle(self.itemAngle * index);
+		if (duration && duration > 0) {
+			var distAngle = angle - self.list.angle;
+			self.scrollDistAngle(Date.now(), self.list.angle, distAngle, duration);
+		} else {
+			self.setAngle(angle);
+		}
+		self.triggerChange(callback);
+	};
+
+	Picker.prototype.getSelectedItem = function() {
+		var self = this;
+		return self.items[self.getSelectedIndex()];
+	};
+
+	Picker.prototype.getSelectedValue = function() {
+		var self = this;
+		return (self.items[self.getSelectedIndex()] || {}).value;
+	};
+
+	Picker.prototype.getSelectedText = function() {
+		var self = this;
+		return (self.items[self.getSelectedIndex()] || {}).text;
+	};
+
+	Picker.prototype.setSelectedValue = function(value, duration, callback) {
+		var self = this;
+		for (var index in self.items) {
+			var item = self.items[index];
+			if (item.value == value) {
+				self.setSelectedIndex(index, duration, callback);
+				return;
+			}
+		}
+	};
+
+	if ($.fn) {
+		$.fn.picker = function(options) {
+			//遍历选择的元素
+			this.each(function(i, element) {
+				if (element.picker) return;
+				if (options) {
+					element.picker = new Picker(element, options);
+				} else {
+					var optionsText = element.getAttribute('data-picker-options');
+					var _options = optionsText ? JSON.parse(optionsText) : {};
+					element.picker = new Picker(element, _options);
+				}
+			});
+			return this[0] ? this[0].picker : null;
+		};
+
+		//自动初始化
+		$.ready(function() {
+			$('.mui-picker').picker();
+		});
+	}
+
+})(window.mui || window, window, document, undefined);
 //end

文件差异内容过多而无法显示
+ 6 - 6
tooth/js/mui.picker.min.js


+ 159 - 159
tooth/js/mui.poppicker.js

@@ -1,160 +1,160 @@
-/**
- * 弹出选择列表插件
- * 此组件依赖 listpcker ,请在页面中先引入 mui.picker.css + mui.picker.js
- * varstion 1.0.1
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-(function($, document) {
-
-	//创建 DOM
-	$.dom = function(str) {
-		if (typeof(str) !== 'string') {
-			if ((str instanceof Array) || (str[0] && str.length)) {
-				return [].slice.call(str);
-			} else {
-				return [str];
-			}
-		}
-		if (!$.__create_dom_div__) {
-			$.__create_dom_div__ = document.createElement('div');
-		}
-		$.__create_dom_div__.innerHTML = str;
-		return [].slice.call($.__create_dom_div__.childNodes);
-	};
-
-	var panelBuffer = '<div class="mui-poppicker">\
-		<div class="mui-poppicker-header">\
-			<button class="mui-btn mui-poppicker-btn-cancel">取消</button>\
-			<button class="mui-btn mui-btn-blue mui-poppicker-btn-ok">确定</button>\
-			<div class="mui-poppicker-clear"></div>\
-		</div>\
-		<div class="mui-poppicker-body">\
-		</div>\
-	</div>';
-
-	var pickerBuffer = '<div class="mui-picker">\
-		<div class="mui-picker-inner">\
-			<div class="mui-pciker-rule mui-pciker-rule-ft"></div>\
-			<ul class="mui-pciker-list">\
-			</ul>\
-			<div class="mui-pciker-rule mui-pciker-rule-bg"></div>\
-		</div>\
-	</div>';
-
-	//定义弹出选择器类
-	var PopPicker = $.PopPicker = $.Class.extend({
-		//构造函数
-		init: function(options) {
-			var self = this;
-			self.options = options || {};
-			self.options.buttons = self.options.buttons || ['取消', '确定'];
-			self.panel = $.dom(panelBuffer)[0];
-			document.body.appendChild(self.panel);
-			self.ok = self.panel.querySelector('.mui-poppicker-btn-ok');
-			self.cancel = self.panel.querySelector('.mui-poppicker-btn-cancel');
-			self.body = self.panel.querySelector('.mui-poppicker-body');
-			self.mask = $.createMask();
-			self.cancel.innerText = self.options.buttons[0];
-			self.ok.innerText = self.options.buttons[1];
-			self.cancel.addEventListener('tap', function(event) {
-				self.hide();
-			}, false);
-			self.ok.addEventListener('tap', function(event) {
-				if (self.callback) {
-					var rs = self.callback(self.getSelectedItems());
-					if (rs !== false) {
-						self.hide();
-					}
-				}
-			}, false);
-			self.mask[0].addEventListener('tap', function() {
-				self.hide();
-			}, false);
-			self._createPicker();
-			//防止滚动穿透
-			self.panel.addEventListener($.EVENT_START, function(event) {
-				event.preventDefault();
-			}, false);
-			self.panel.addEventListener($.EVENT_MOVE, function(event) {
-				event.preventDefault();
-			}, false);
-		},
-		_createPicker: function() {
-			var self = this;
-			var layer = self.options.layer || 1;
-			var width = (100 / layer) + '%';
-			self.pickers = [];
-			for (var i = 1; i <= layer; i++) {
-				var pickerElement = $.dom(pickerBuffer)[0];
-				pickerElement.style.width = width;
-				self.body.appendChild(pickerElement);
-				var picker = $(pickerElement).picker();
-				self.pickers.push(picker);
-				pickerElement.addEventListener('change', function(event) {
-					var nextPickerElement = this.nextSibling;
-					if (nextPickerElement && nextPickerElement.picker) {
-						var eventData = event.detail || {};
-						var preItem = eventData.item || {};
-						nextPickerElement.picker.setItems(preItem.children);
-					}
-				}, false);
-			}
-		},
-		//填充数据
-		setData: function(data) {
-			var self = this;
-			data = data || [];
-			self.pickers[0].setItems(data);
-		},
-		//获取选中的项(数组)
-		getSelectedItems: function() {
-			var self = this;
-			var items = [];
-			for (var i in self.pickers) {    
-				if(self.pickers.hasOwnProperty(i)) { // 修复for in会访问继承属性造成items报错情况
-					var picker = self.pickers[i];
-					items.push(picker.getSelectedItem() || {});
-				}
-			}
-			return items;
-		},
-		//显示
-		show: function(callback) {
-			var self = this;
-			self.callback = callback;
-			self.mask.show();
-			document.body.classList.add($.className('poppicker-active-for-page'));
-			self.panel.classList.add($.className('active'));
-			//处理物理返回键
-			self.__back = $.back;
-			$.back = function() {
-				self.hide();
-			};
-		},
-		//隐藏
-		hide: function() {
-			var self = this;
-			if (self.disposed) return;
-			self.panel.classList.remove($.className('active'));
-			self.mask.close();
-			document.body.classList.remove($.className('poppicker-active-for-page'));
-			//处理物理返回键
-			$.back=self.__back;
-		},
-		dispose: function() {
-			var self = this;
-			self.hide();
-			setTimeout(function() {
-				self.panel.parentNode.removeChild(self.panel);
-				for (var name in self) {
-					self[name] = null;
-					delete self[name];
-				};
-				self.disposed = true;
-			}, 300);
-		}
-	});
-
+/**
+ * 弹出选择列表插件
+ * 此组件依赖 listpcker ,请在页面中先引入 mui.picker.css + mui.picker.js
+ * varstion 1.0.1
+ * by Houfeng
+ * Houfeng@DCloud.io
+ */
+
+(function($, document) {
+
+	//创建 DOM
+	$.dom = function(str) {
+		if (typeof(str) !== 'string') {
+			if ((str instanceof Array) || (str[0] && str.length)) {
+				return [].slice.call(str);
+			} else {
+				return [str];
+			}
+		}
+		if (!$.__create_dom_div__) {
+			$.__create_dom_div__ = document.createElement('div');
+		}
+		$.__create_dom_div__.innerHTML = str;
+		return [].slice.call($.__create_dom_div__.childNodes);
+	};
+
+	var panelBuffer = '<div class="mui-poppicker">\
+		<div class="mui-poppicker-header">\
+			<button class="mui-btn mui-poppicker-btn-cancel">取消</button>\
+			<button class="mui-btn mui-btn-blue mui-poppicker-btn-ok">确定</button>\
+			<div class="mui-poppicker-clear"></div>\
+		</div>\
+		<div class="mui-poppicker-body">\
+		</div>\
+	</div>';
+
+	var pickerBuffer = '<div class="mui-picker">\
+		<div class="mui-picker-inner">\
+			<div class="mui-pciker-rule mui-pciker-rule-ft"></div>\
+			<ul class="mui-pciker-list">\
+			</ul>\
+			<div class="mui-pciker-rule mui-pciker-rule-bg"></div>\
+		</div>\
+	</div>';
+
+	//定义弹出选择器类
+	var PopPicker = $.PopPicker = $.Class.extend({
+		//构造函数
+		init: function(options) {
+			var self = this;
+			self.options = options || {};
+			self.options.buttons = self.options.buttons || ['取消', '确定'];
+			self.panel = $.dom(panelBuffer)[0];
+			document.body.appendChild(self.panel);
+			self.ok = self.panel.querySelector('.mui-poppicker-btn-ok');
+			self.cancel = self.panel.querySelector('.mui-poppicker-btn-cancel');
+			self.body = self.panel.querySelector('.mui-poppicker-body');
+			self.mask = $.createMask();
+			self.cancel.innerText = self.options.buttons[0];
+			self.ok.innerText = self.options.buttons[1];
+			self.cancel.addEventListener('tap', function(event) {
+				self.hide();
+			}, false);
+			self.ok.addEventListener('tap', function(event) {
+				if (self.callback) {
+					var rs = self.callback(self.getSelectedItems());
+					if (rs !== false) {
+						self.hide();
+					}
+				}
+			}, false);
+			self.mask[0].addEventListener('tap', function() {
+				self.hide();
+			}, false);
+			self._createPicker();
+			//防止滚动穿透
+			self.panel.addEventListener($.EVENT_START, function(event) {
+				event.preventDefault();
+			}, false);
+			self.panel.addEventListener($.EVENT_MOVE, function(event) {
+				event.preventDefault();
+			}, false);
+		},
+		_createPicker: function() {
+			var self = this;
+			var layer = self.options.layer || 1;
+			var width = (100 / layer) + '%';
+			self.pickers = [];
+			for (var i = 1; i <= layer; i++) {
+				var pickerElement = $.dom(pickerBuffer)[0];
+				pickerElement.style.width = width;
+				self.body.appendChild(pickerElement);
+				var picker = $(pickerElement).picker();
+				self.pickers.push(picker);
+				pickerElement.addEventListener('change', function(event) {
+					var nextPickerElement = this.nextSibling;
+					if (nextPickerElement && nextPickerElement.picker) {
+						var eventData = event.detail || {};
+						var preItem = eventData.item || {};
+						nextPickerElement.picker.setItems(preItem.children);
+					}
+				}, false);
+			}
+		},
+		//填充数据
+		setData: function(data) {
+			var self = this;
+			data = data || [];
+			self.pickers[0].setItems(data);
+		},
+		//获取选中的项(数组)
+		getSelectedItems: function() {
+			var self = this;
+			var items = [];
+			for (var i in self.pickers) {    
+				if(self.pickers.hasOwnProperty(i)) { // 修复for in会访问继承属性造成items报错情况
+					var picker = self.pickers[i];
+					items.push(picker.getSelectedItem() || {});
+				}
+			}
+			return items;
+		},
+		//显示
+		show: function(callback) {
+			var self = this;
+			self.callback = callback;
+			self.mask.show();
+			document.body.classList.add($.className('poppicker-active-for-page'));
+			self.panel.classList.add($.className('active'));
+			//处理物理返回键
+			self.__back = $.back;
+			$.back = function() {
+				self.hide();
+			};
+		},
+		//隐藏
+		hide: function() {
+			var self = this;
+			if (self.disposed) return;
+			self.panel.classList.remove($.className('active'));
+			self.mask.close();
+			document.body.classList.remove($.className('poppicker-active-for-page'));
+			//处理物理返回键
+			$.back=self.__back;
+		},
+		dispose: function() {
+			var self = this;
+			self.hide();
+			setTimeout(function() {
+				self.panel.parentNode.removeChild(self.panel);
+				for (var name in self) {
+					self[name] = null;
+					delete self[name];
+				};
+				self.disposed = true;
+			}, 300);
+		}
+	});
+
 })(mui, document);

+ 381 - 381
tooth/js/mui.previewimage.js

@@ -1,382 +1,382 @@
-(function($, window) {
-
-	var template = '<div id="{{id}}" class="mui-slider mui-preview-image mui-fullscreen"><div class="mui-preview-header">{{header}}</div><div class="mui-slider-group"></div><div class="mui-preview-footer mui-hidden">{{footer}}</div><div class="mui-preview-loading"><span class="mui-spinner mui-spinner-white"></span></div></div>';
-	var itemTemplate = '<div class="mui-slider-item mui-zoom-wrapper {{className}}"><div class="mui-zoom-scroller"><img src="{{src}}" data-preview-lazyload="{{lazyload}}" style="{{style}}" class="mui-zoom"></div></div>';
-	var defaultGroupName = '__DEFAULT';
-	var div = document.createElement('div');
-	var imgId = 0;
-	var PreviewImage = function(options) {
-		this.options = $.extend(true, {
-			id: '__MUI_PREVIEWIMAGE',
-			zoom: true,
-			header: '<span class="mui-preview-indicator"></span>',
-			footer: ''
-		}, options || {});
-		this.init();
-		this.initEvent();
-	};
-	var proto = PreviewImage.prototype;
-	proto.init = function() {
-		var options = this.options;
-		var el = document.getElementById(this.options.id);
-		if (!el) {
-			div.innerHTML = template.replace(/\{\{id\}\}/g, this.options.id).replace('{{header}}', options.header).replace('{{footer}}', options.footer);
-			document.body.appendChild(div.firstElementChild);
-			el = document.getElementById(this.options.id);
-		}
-
-		this.element = el;
-		this.scroller = this.element.querySelector($.classSelector('.slider-group'));
-		this.indicator = this.element.querySelector($.classSelector('.preview-indicator'));
-		this.loader = this.element.querySelector($.classSelector('.preview-loading'));
-		if (options.footer) {
-			this.element.querySelector($.classSelector('.preview-footer')).classList.remove($.className('hidden'));
-		}
-		this.addImages();
-	};
-	proto.initEvent = function() {
-		var self = this;
-		$(document.body).on('tap', 'img[data-preview-src]', function() {
-			self.open(this);
-			return false;
-		});
-		var laterClose = null;
-		var laterCloseEvent = function() {
-			!laterClose && (laterClose = $.later(function() {
-				self.loader.removeEventListener('tap', laterCloseEvent);
-				self.scroller.removeEventListener('tap', laterCloseEvent);
-				self.close();
-			}, 300));
-		};
-		this.scroller.addEventListener('doubletap', function() {
-			if (laterClose) {
-				laterClose.cancel();
-				laterClose = null;
-			}
-		});
-		this.element.addEventListener('webkitAnimationEnd', function() {
-			if (self.element.classList.contains($.className('preview-out'))) { //close
-				self.element.style.display = 'none';
-				self.element.classList.remove($.className('preview-out'));
-				self.element.classList.remove($.className('preview-in'));
-				laterClose = null;
-			} else { //open
-				self.loader.addEventListener('tap', laterCloseEvent);
-				self.scroller.addEventListener('tap', laterCloseEvent);
-			}
-		});
-		this.element.addEventListener('slide', function(e) {
-			if (self.options.zoom) {
-				var lastZoomerEl = self.element.querySelector('.mui-zoom-wrapper:nth-child(' + (self.lastIndex + 1) + ')');
-				if (lastZoomerEl) {
-					$(lastZoomerEl).zoom().setZoom(1);
-				}
-			}
-			var slideNumber = e.detail.slideNumber;
-			self.lastIndex = slideNumber;
-			self.indicator && (self.indicator.innerText = (slideNumber + 1) + '/' + self.currentGroup.length);
-			self._loadItem(slideNumber);
-
-		});
-	};
-	proto.addImages = function(group, index) {
-		this.groups = {};
-		var imgs = [];
-		if (group) {
-			if (group === defaultGroupName) {
-				imgs = document.querySelectorAll("img[data-preview-src]:not([data-preview-group])");
-			} else {
-				imgs = document.querySelectorAll("img[data-preview-src][data-preview-group='" + group + "']");
-			}
-		} else {
-			imgs = document.querySelectorAll("img[data-preview-src]");
-		}
-		if (imgs.length) {
-			for (var i = 0, len = imgs.length; i < len; i++) {
-				this.addImage(imgs[i]);
-			}
-		}
-	};
-	proto.addImage = function(img) {
-		var group = img.getAttribute('data-preview-group');
-		group = group || defaultGroupName;
-		if (!this.groups[group]) {
-			this.groups[group] = [];
-		}
-		var src = img.getAttribute('src');
-		if (img.__mui_img_data && img.__mui_img_data.src === src) { //已缓存且图片未变化
-			this.groups[group].push(img.__mui_img_data);
-		} else {
-			var lazyload = img.getAttribute('data-preview-src');
-			if (!lazyload) {
-				lazyload = src;
-			}
-			var imgObj = {
-				src: src,
-				lazyload: src === lazyload ? '' : lazyload,
-				loaded: src === lazyload ? true : false,
-				sWidth: 0,
-				sHeight: 0,
-				sTop: 0,
-				sLeft: 0,
-				sScale: 1,
-				el: img
-			};
-			this.groups[group].push(imgObj);
-			img.__mui_img_data = imgObj;
-		}
-	};
-
-
-	proto.empty = function() {
-		this.scroller.innerHTML = '';
-	};
-	proto._initImgData = function(itemData, imgEl) {
-		if (!itemData.sWidth) {
-			var img = itemData.el;
-			itemData.sWidth = img.offsetWidth;
-			itemData.sHeight = img.offsetHeight;
-			var offset = $.offset(img);
-			itemData.sTop = offset.top;
-			itemData.sLeft = offset.left;
-			itemData.sScale = Math.max(itemData.sWidth / window.innerWidth, itemData.sHeight / window.innerHeight);
-		}
-		imgEl.style.webkitTransform = 'translate3d(0,0,0) scale(' + itemData.sScale + ')';
-	};
-
-	proto._getScale = function(from, to) {
-		var scaleX = from.width / to.width;
-		var scaleY = from.height / to.height;
-		var scale = 1;
-		if (scaleX <= scaleY) {
-			scale = from.height / (to.height * scaleX);
-		} else {
-			scale = from.width / (to.width * scaleY);
-		}
-		return scale;
-	};
-	proto._imgTransitionEnd = function(e) {
-		var img = e.target;
-		img.classList.remove($.className('transitioning'));
-		img.removeEventListener('webkitTransitionEnd', this._imgTransitionEnd.bind(this));
-	};
-	proto._loadItem = function(index, isOpening) { //TODO 暂时仅支持img
-		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (index + 1) + ')'));
-		var itemData = this.currentGroup[index];
-		var imgEl = itemEl.querySelector('img');
-		this._initImgData(itemData, imgEl);
-		if (isOpening) {
-			var posi = this._getPosition(itemData);
-			imgEl.style.webkitTransitionDuration = '0ms';
-			imgEl.style.webkitTransform = 'translate3d(' + posi.x + 'px,' + posi.y + 'px,0) scale(' + itemData.sScale + ')';
-			imgEl.offsetHeight;
-		}
-		if (!itemData.loaded && imgEl.getAttribute('data-preview-lazyload')) {
-			var self = this;
-			self.loader.classList.add($.className('active'));
-			//移动位置动画
-			imgEl.style.webkitTransitionDuration = '0.5s';
-			imgEl.addEventListener('webkitTransitionEnd', self._imgTransitionEnd.bind(self));
-			imgEl.style.webkitTransform = 'translate3d(0,0,0) scale(' + itemData.sScale + ')';
-			this.loadImage(imgEl, function() {
-				itemData.loaded = true;
-				imgEl.src = itemData.lazyload;
-				self._initZoom(itemEl, this.width, this.height);
-				imgEl.classList.add($.className('transitioning'));
-				imgEl.addEventListener('webkitTransitionEnd', self._imgTransitionEnd.bind(self));
-				imgEl.setAttribute('style', '');
-				imgEl.offsetHeight;
-				self.loader.classList.remove($.className('active'));
-			});
-		} else {
-			itemData.lazyload && (imgEl.src = itemData.lazyload);
-			this._initZoom(itemEl, imgEl.width, imgEl.height);
-			imgEl.classList.add($.className('transitioning'));
-			imgEl.addEventListener('webkitTransitionEnd', this._imgTransitionEnd.bind(this));
-			imgEl.setAttribute('style', '');
-			imgEl.offsetHeight;
-		}
-		this._preloadItem(index + 1);
-		this._preloadItem(index - 1);
-	};
-	proto._preloadItem = function(index) {
-		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (index + 1) + ')'));
-		if (itemEl) {
-			var itemData = this.currentGroup[index];
-			if (!itemData.sWidth) {
-				var imgEl = itemEl.querySelector('img');
-				this._initImgData(itemData, imgEl);
-			}
-		}
-	};
-	proto._initZoom = function(zoomWrapperEl, zoomerWidth, zoomerHeight) {
-		if (!this.options.zoom) {
-			return;
-		}
-		if (zoomWrapperEl.getAttribute('data-zoomer')) {
-			return;
-		}
-		var zoomEl = zoomWrapperEl.querySelector($.classSelector('.zoom'));
-		if (zoomEl.tagName === 'IMG') {
-			var self = this;
-			var maxZoom = self._getScale({
-				width: zoomWrapperEl.offsetWidth,
-				height: zoomWrapperEl.offsetHeight
-			}, {
-				width: zoomerWidth,
-				height: zoomerHeight
-			});
-			$(zoomWrapperEl).zoom({
-				maxZoom: Math.max(maxZoom, 1)
-			});
-		} else {
-			$(zoomWrapperEl).zoom();
-		}
-	};
-	proto.loadImage = function(imgEl, callback) {
-		var onReady = function() {
-			callback && callback.call(this);
-		};
-		var img = new Image();
-		img.onload = onReady;
-		img.onerror = onReady;
-		img.src = imgEl.getAttribute('data-preview-lazyload');
-	};
-	proto.getRangeByIndex = function(index, length) {
-		return {
-			from: 0,
-			to: length - 1
-		};
-		//		var from = Math.max(index - 1, 0);
-		//		var to = Math.min(index + 1, length);
-		//		if (index === length - 1) {
-		//			from = Math.max(length - 3, 0);
-		//			to = length - 1;
-		//		}
-		//		if (index === 0) {
-		//			from = 0;
-		//			to = Math.min(2, length - 1);
-		//		}
-		//		return {
-		//			from: from,
-		//			to: to
-		//		};
-	};
-
-	proto._getPosition = function(itemData) {
-		var sLeft = itemData.sLeft - window.pageXOffset;
-		var sTop = itemData.sTop - window.pageYOffset;
-		var left = (window.innerWidth - itemData.sWidth) / 2;
-		var top = (window.innerHeight - itemData.sHeight) / 2;
-		return {
-			left: sLeft,
-			top: sTop,
-			x: sLeft - left,
-			y: sTop - top
-		};
-	};
-	proto.refresh = function(index, groupArray) {
-		this.currentGroup = groupArray;
-		//重新生成slider
-		var length = groupArray.length;
-		var itemHtml = [];
-		var currentRange = this.getRangeByIndex(index, length);
-		var from = currentRange.from;
-		var to = currentRange.to + 1;
-		var currentIndex = index;
-		var className = '';
-		var itemStr = '';
-		var wWidth = window.innerWidth;
-		var wHeight = window.innerHeight;
-		for (var i = 0; from < to; from++, i++) {
-			var itemData = groupArray[from];
-			var style = '';
-			if (itemData.sWidth) {
-				style = '-webkit-transform:translate3d(0,0,0) scale(' + itemData.sScale + ');transform:translate3d(0,0,0) scale(' + itemData.sScale + ')';
-			}
-			itemStr = itemTemplate.replace('{{src}}', itemData.src).replace('{{lazyload}}', itemData.lazyload).replace('{{style}}', style);
-			if (from === index) {
-				currentIndex = i;
-				className = $.className('active');
-			} else {
-				className = '';
-			}
-			itemHtml.push(itemStr.replace('{{className}}', className));
-		}
-		this.scroller.innerHTML = itemHtml.join('');
-		this.element.style.display = 'block';
-		this.element.classList.add($.className('preview-in'));
-		this.lastIndex = currentIndex;
-		this.element.offsetHeight;
-		$(this.element).slider().gotoItem(currentIndex, 0);
-		this.indicator && (this.indicator.innerText = (currentIndex + 1) + '/' + this.currentGroup.length);
-		this._loadItem(currentIndex, true);
-	};
-	proto.openByGroup = function(index, group) {
-		index = Math.min(Math.max(0, index), this.groups[group].length - 1);
-		this.refresh(index, this.groups[group]);
-	};
-	proto.open = function(index, group) {
-		if (this.isShown()) {
-			return;
-		}
-		if (typeof index === "number") {
-			group = group || defaultGroupName;
-			this.addImages(group, index); //刷新当前group
-			this.openByGroup(index, group);
-		} else {
-			group = index.getAttribute('data-preview-group');
-			group = group || defaultGroupName;
-			this.addImages(group, index); //刷新当前group
-			this.openByGroup(this.groups[group].indexOf(index.__mui_img_data), group);
-		}
-	};
-	proto.close = function(index, group) {
-		if (!this.isShown()) {
-			return;
-		}
-		this.element.classList.remove($.className('preview-in'));
-		this.element.classList.add($.className('preview-out'));
-		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (this.lastIndex + 1) + ')'));
-		var imgEl = itemEl.querySelector('img');
-		if (imgEl) {
-			imgEl.classList.add($.className('transitioning'));
-			var itemData = this.currentGroup[this.lastIndex];
-			var posi = this._getPosition(itemData);
-			var sLeft = posi.left;
-			var sTop = posi.top;
-			if (sTop > window.innerHeight || sLeft > window.innerWidth || sTop < 0 || sLeft < 0) { //out viewport
-				imgEl.style.opacity = 0;
-				imgEl.style.webkitTransitionDuration = '0.5s';
-				imgEl.style.webkitTransform = 'scale(' + itemData.sScale + ')';
-			} else {
-				if (this.options.zoom) {
-					$(imgEl.parentNode.parentNode).zoom().toggleZoom(0);
-				}
-				imgEl.style.webkitTransitionDuration = '0.5s';
-				imgEl.style.webkitTransform = 'translate3d(' + posi.x + 'px,' + posi.y + 'px,0) scale(' + itemData.sScale + ')';
-			}
-		}
-		var zoomers = this.element.querySelectorAll($.classSelector('.zoom-wrapper'));
-		for (var i = 0, len = zoomers.length; i < len; i++) {
-			$(zoomers[i]).zoom().destroy();
-		}
-		$(this.element).slider().destroy();
-//		this.empty();
-	};
-	proto.isShown = function() {
-		return this.element.classList.contains($.className('preview-in'));
-	};
-
-	var previewImageApi = null;
-	$.previewImage = function(options) {
-		if (!previewImageApi) {
-			previewImageApi = new PreviewImage(options);
-		}
-		return previewImageApi;
-	};
-	$.getPreviewImage = function() {
-		return previewImageApi;
-	}
-
+(function($, window) {
+
+	var template = '<div id="{{id}}" class="mui-slider mui-preview-image mui-fullscreen"><div class="mui-preview-header">{{header}}</div><div class="mui-slider-group"></div><div class="mui-preview-footer mui-hidden">{{footer}}</div><div class="mui-preview-loading"><span class="mui-spinner mui-spinner-white"></span></div></div>';
+	var itemTemplate = '<div class="mui-slider-item mui-zoom-wrapper {{className}}"><div class="mui-zoom-scroller"><img src="{{src}}" data-preview-lazyload="{{lazyload}}" style="{{style}}" class="mui-zoom"></div></div>';
+	var defaultGroupName = '__DEFAULT';
+	var div = document.createElement('div');
+	var imgId = 0;
+	var PreviewImage = function(options) {
+		this.options = $.extend(true, {
+			id: '__MUI_PREVIEWIMAGE',
+			zoom: true,
+			header: '<span class="mui-preview-indicator"></span>',
+			footer: ''
+		}, options || {});
+		this.init();
+		this.initEvent();
+	};
+	var proto = PreviewImage.prototype;
+	proto.init = function() {
+		var options = this.options;
+		var el = document.getElementById(this.options.id);
+		if (!el) {
+			div.innerHTML = template.replace(/\{\{id\}\}/g, this.options.id).replace('{{header}}', options.header).replace('{{footer}}', options.footer);
+			document.body.appendChild(div.firstElementChild);
+			el = document.getElementById(this.options.id);
+		}
+
+		this.element = el;
+		this.scroller = this.element.querySelector($.classSelector('.slider-group'));
+		this.indicator = this.element.querySelector($.classSelector('.preview-indicator'));
+		this.loader = this.element.querySelector($.classSelector('.preview-loading'));
+		if (options.footer) {
+			this.element.querySelector($.classSelector('.preview-footer')).classList.remove($.className('hidden'));
+		}
+		this.addImages();
+	};
+	proto.initEvent = function() {
+		var self = this;
+		$(document.body).on('tap', 'img[data-preview-src]', function() {
+			self.open(this);
+			return false;
+		});
+		var laterClose = null;
+		var laterCloseEvent = function() {
+			!laterClose && (laterClose = $.later(function() {
+				self.loader.removeEventListener('tap', laterCloseEvent);
+				self.scroller.removeEventListener('tap', laterCloseEvent);
+				self.close();
+			}, 300));
+		};
+		this.scroller.addEventListener('doubletap', function() {
+			if (laterClose) {
+				laterClose.cancel();
+				laterClose = null;
+			}
+		});
+		this.element.addEventListener('webkitAnimationEnd', function() {
+			if (self.element.classList.contains($.className('preview-out'))) { //close
+				self.element.style.display = 'none';
+				self.element.classList.remove($.className('preview-out'));
+				self.element.classList.remove($.className('preview-in'));
+				laterClose = null;
+			} else { //open
+				self.loader.addEventListener('tap', laterCloseEvent);
+				self.scroller.addEventListener('tap', laterCloseEvent);
+			}
+		});
+		this.element.addEventListener('slide', function(e) {
+			if (self.options.zoom) {
+				var lastZoomerEl = self.element.querySelector('.mui-zoom-wrapper:nth-child(' + (self.lastIndex + 1) + ')');
+				if (lastZoomerEl) {
+					$(lastZoomerEl).zoom().setZoom(1);
+				}
+			}
+			var slideNumber = e.detail.slideNumber;
+			self.lastIndex = slideNumber;
+			self.indicator && (self.indicator.innerText = (slideNumber + 1) + '/' + self.currentGroup.length);
+			self._loadItem(slideNumber);
+
+		});
+	};
+	proto.addImages = function(group, index) {
+		this.groups = {};
+		var imgs = [];
+		if (group) {
+			if (group === defaultGroupName) {
+				imgs = document.querySelectorAll("img[data-preview-src]:not([data-preview-group])");
+			} else {
+				imgs = document.querySelectorAll("img[data-preview-src][data-preview-group='" + group + "']");
+			}
+		} else {
+			imgs = document.querySelectorAll("img[data-preview-src]");
+		}
+		if (imgs.length) {
+			for (var i = 0, len = imgs.length; i < len; i++) {
+				this.addImage(imgs[i]);
+			}
+		}
+	};
+	proto.addImage = function(img) {
+		var group = img.getAttribute('data-preview-group');
+		group = group || defaultGroupName;
+		if (!this.groups[group]) {
+			this.groups[group] = [];
+		}
+		var src = img.getAttribute('src');
+		if (img.__mui_img_data && img.__mui_img_data.src === src) { //已缓存且图片未变化
+			this.groups[group].push(img.__mui_img_data);
+		} else {
+			var lazyload = img.getAttribute('data-preview-src');
+			if (!lazyload) {
+				lazyload = src;
+			}
+			var imgObj = {
+				src: src,
+				lazyload: src === lazyload ? '' : lazyload,
+				loaded: src === lazyload ? true : false,
+				sWidth: 0,
+				sHeight: 0,
+				sTop: 0,
+				sLeft: 0,
+				sScale: 1,
+				el: img
+			};
+			this.groups[group].push(imgObj);
+			img.__mui_img_data = imgObj;
+		}
+	};
+
+
+	proto.empty = function() {
+		this.scroller.innerHTML = '';
+	};
+	proto._initImgData = function(itemData, imgEl) {
+		if (!itemData.sWidth) {
+			var img = itemData.el;
+			itemData.sWidth = img.offsetWidth;
+			itemData.sHeight = img.offsetHeight;
+			var offset = $.offset(img);
+			itemData.sTop = offset.top;
+			itemData.sLeft = offset.left;
+			itemData.sScale = Math.max(itemData.sWidth / window.innerWidth, itemData.sHeight / window.innerHeight);
+		}
+		imgEl.style.webkitTransform = 'translate3d(0,0,0) scale(' + itemData.sScale + ')';
+	};
+
+	proto._getScale = function(from, to) {
+		var scaleX = from.width / to.width;
+		var scaleY = from.height / to.height;
+		var scale = 1;
+		if (scaleX <= scaleY) {
+			scale = from.height / (to.height * scaleX);
+		} else {
+			scale = from.width / (to.width * scaleY);
+		}
+		return scale;
+	};
+	proto._imgTransitionEnd = function(e) {
+		var img = e.target;
+		img.classList.remove($.className('transitioning'));
+		img.removeEventListener('webkitTransitionEnd', this._imgTransitionEnd.bind(this));
+	};
+	proto._loadItem = function(index, isOpening) { //TODO 暂时仅支持img
+		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (index + 1) + ')'));
+		var itemData = this.currentGroup[index];
+		var imgEl = itemEl.querySelector('img');
+		this._initImgData(itemData, imgEl);
+		if (isOpening) {
+			var posi = this._getPosition(itemData);
+			imgEl.style.webkitTransitionDuration = '0ms';
+			imgEl.style.webkitTransform = 'translate3d(' + posi.x + 'px,' + posi.y + 'px,0) scale(' + itemData.sScale + ')';
+			imgEl.offsetHeight;
+		}
+		if (!itemData.loaded && imgEl.getAttribute('data-preview-lazyload')) {
+			var self = this;
+			self.loader.classList.add($.className('active'));
+			//移动位置动画
+			imgEl.style.webkitTransitionDuration = '0.5s';
+			imgEl.addEventListener('webkitTransitionEnd', self._imgTransitionEnd.bind(self));
+			imgEl.style.webkitTransform = 'translate3d(0,0,0) scale(' + itemData.sScale + ')';
+			this.loadImage(imgEl, function() {
+				itemData.loaded = true;
+				imgEl.src = itemData.lazyload;
+				self._initZoom(itemEl, this.width, this.height);
+				imgEl.classList.add($.className('transitioning'));
+				imgEl.addEventListener('webkitTransitionEnd', self._imgTransitionEnd.bind(self));
+				imgEl.setAttribute('style', '');
+				imgEl.offsetHeight;
+				self.loader.classList.remove($.className('active'));
+			});
+		} else {
+			itemData.lazyload && (imgEl.src = itemData.lazyload);
+			this._initZoom(itemEl, imgEl.width, imgEl.height);
+			imgEl.classList.add($.className('transitioning'));
+			imgEl.addEventListener('webkitTransitionEnd', this._imgTransitionEnd.bind(this));
+			imgEl.setAttribute('style', '');
+			imgEl.offsetHeight;
+		}
+		this._preloadItem(index + 1);
+		this._preloadItem(index - 1);
+	};
+	proto._preloadItem = function(index) {
+		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (index + 1) + ')'));
+		if (itemEl) {
+			var itemData = this.currentGroup[index];
+			if (!itemData.sWidth) {
+				var imgEl = itemEl.querySelector('img');
+				this._initImgData(itemData, imgEl);
+			}
+		}
+	};
+	proto._initZoom = function(zoomWrapperEl, zoomerWidth, zoomerHeight) {
+		if (!this.options.zoom) {
+			return;
+		}
+		if (zoomWrapperEl.getAttribute('data-zoomer')) {
+			return;
+		}
+		var zoomEl = zoomWrapperEl.querySelector($.classSelector('.zoom'));
+		if (zoomEl.tagName === 'IMG') {
+			var self = this;
+			var maxZoom = self._getScale({
+				width: zoomWrapperEl.offsetWidth,
+				height: zoomWrapperEl.offsetHeight
+			}, {
+				width: zoomerWidth,
+				height: zoomerHeight
+			});
+			$(zoomWrapperEl).zoom({
+				maxZoom: Math.max(maxZoom, 1)
+			});
+		} else {
+			$(zoomWrapperEl).zoom();
+		}
+	};
+	proto.loadImage = function(imgEl, callback) {
+		var onReady = function() {
+			callback && callback.call(this);
+		};
+		var img = new Image();
+		img.onload = onReady;
+		img.onerror = onReady;
+		img.src = imgEl.getAttribute('data-preview-lazyload');
+	};
+	proto.getRangeByIndex = function(index, length) {
+		return {
+			from: 0,
+			to: length - 1
+		};
+		//		var from = Math.max(index - 1, 0);
+		//		var to = Math.min(index + 1, length);
+		//		if (index === length - 1) {
+		//			from = Math.max(length - 3, 0);
+		//			to = length - 1;
+		//		}
+		//		if (index === 0) {
+		//			from = 0;
+		//			to = Math.min(2, length - 1);
+		//		}
+		//		return {
+		//			from: from,
+		//			to: to
+		//		};
+	};
+
+	proto._getPosition = function(itemData) {
+		var sLeft = itemData.sLeft - window.pageXOffset;
+		var sTop = itemData.sTop - window.pageYOffset;
+		var left = (window.innerWidth - itemData.sWidth) / 2;
+		var top = (window.innerHeight - itemData.sHeight) / 2;
+		return {
+			left: sLeft,
+			top: sTop,
+			x: sLeft - left,
+			y: sTop - top
+		};
+	};
+	proto.refresh = function(index, groupArray) {
+		this.currentGroup = groupArray;
+		//重新生成slider
+		var length = groupArray.length;
+		var itemHtml = [];
+		var currentRange = this.getRangeByIndex(index, length);
+		var from = currentRange.from;
+		var to = currentRange.to + 1;
+		var currentIndex = index;
+		var className = '';
+		var itemStr = '';
+		var wWidth = window.innerWidth;
+		var wHeight = window.innerHeight;
+		for (var i = 0; from < to; from++, i++) {
+			var itemData = groupArray[from];
+			var style = '';
+			if (itemData.sWidth) {
+				style = '-webkit-transform:translate3d(0,0,0) scale(' + itemData.sScale + ');transform:translate3d(0,0,0) scale(' + itemData.sScale + ')';
+			}
+			itemStr = itemTemplate.replace('{{src}}', itemData.src).replace('{{lazyload}}', itemData.lazyload).replace('{{style}}', style);
+			if (from === index) {
+				currentIndex = i;
+				className = $.className('active');
+			} else {
+				className = '';
+			}
+			itemHtml.push(itemStr.replace('{{className}}', className));
+		}
+		this.scroller.innerHTML = itemHtml.join('');
+		this.element.style.display = 'block';
+		this.element.classList.add($.className('preview-in'));
+		this.lastIndex = currentIndex;
+		this.element.offsetHeight;
+		$(this.element).slider().gotoItem(currentIndex, 0);
+		this.indicator && (this.indicator.innerText = (currentIndex + 1) + '/' + this.currentGroup.length);
+		this._loadItem(currentIndex, true);
+	};
+	proto.openByGroup = function(index, group) {
+		index = Math.min(Math.max(0, index), this.groups[group].length - 1);
+		this.refresh(index, this.groups[group]);
+	};
+	proto.open = function(index, group) {
+		if (this.isShown()) {
+			return;
+		}
+		if (typeof index === "number") {
+			group = group || defaultGroupName;
+			this.addImages(group, index); //刷新当前group
+			this.openByGroup(index, group);
+		} else {
+			group = index.getAttribute('data-preview-group');
+			group = group || defaultGroupName;
+			this.addImages(group, index); //刷新当前group
+			this.openByGroup(this.groups[group].indexOf(index.__mui_img_data), group);
+		}
+	};
+	proto.close = function(index, group) {
+		if (!this.isShown()) {
+			return;
+		}
+		this.element.classList.remove($.className('preview-in'));
+		this.element.classList.add($.className('preview-out'));
+		var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (this.lastIndex + 1) + ')'));
+		var imgEl = itemEl.querySelector('img');
+		if (imgEl) {
+			imgEl.classList.add($.className('transitioning'));
+			var itemData = this.currentGroup[this.lastIndex];
+			var posi = this._getPosition(itemData);
+			var sLeft = posi.left;
+			var sTop = posi.top;
+			if (sTop > window.innerHeight || sLeft > window.innerWidth || sTop < 0 || sLeft < 0) { //out viewport
+				imgEl.style.opacity = 0;
+				imgEl.style.webkitTransitionDuration = '0.5s';
+				imgEl.style.webkitTransform = 'scale(' + itemData.sScale + ')';
+			} else {
+				if (this.options.zoom) {
+					$(imgEl.parentNode.parentNode).zoom().toggleZoom(0);
+				}
+				imgEl.style.webkitTransitionDuration = '0.5s';
+				imgEl.style.webkitTransform = 'translate3d(' + posi.x + 'px,' + posi.y + 'px,0) scale(' + itemData.sScale + ')';
+			}
+		}
+		var zoomers = this.element.querySelectorAll($.classSelector('.zoom-wrapper'));
+		for (var i = 0, len = zoomers.length; i < len; i++) {
+			$(zoomers[i]).zoom().destroy();
+		}
+		$(this.element).slider().destroy();
+//		this.empty();
+	};
+	proto.isShown = function() {
+		return this.element.classList.contains($.className('preview-in'));
+	};
+
+	var previewImageApi = null;
+	$.previewImage = function(options) {
+		if (!previewImageApi) {
+			previewImageApi = new PreviewImage(options);
+		}
+		return previewImageApi;
+	};
+	$.getPreviewImage = function() {
+		return previewImageApi;
+	}
+
 })(mui, window);

文件差异内容过多而无法显示
+ 627 - 627
tooth/js/mui.view.js


+ 321 - 321
tooth/js/mui.zoom.js

@@ -1,322 +1,322 @@
-(function($, window) {
-	var CLASS_ZOOM = $.className('zoom');
-	var CLASS_ZOOM_SCROLLER = $.className('zoom-scroller');
-
-	var SELECTOR_ZOOM = '.' + CLASS_ZOOM;
-	var SELECTOR_ZOOM_SCROLLER = '.' + CLASS_ZOOM_SCROLLER;
-
-	var EVENT_PINCH_START = 'pinchstart';
-	var EVENT_PINCH = 'pinch';
-	var EVENT_PINCH_END = 'pinchend';
-	if ('ongesturestart' in window) {
-		EVENT_PINCH_START = 'gesturestart';
-		EVENT_PINCH = 'gesturechange';
-		EVENT_PINCH_END = 'gestureend';
-	}
-	$.Zoom = function(element, options) {
-		var zoom = this;
-
-		zoom.options = $.extend($.Zoom.defaults, options);
-
-		zoom.wrapper = zoom.element = element;
-		zoom.scroller = element.querySelector(SELECTOR_ZOOM_SCROLLER);
-		zoom.scrollerStyle = zoom.scroller && zoom.scroller.style;
-
-		zoom.zoomer = element.querySelector(SELECTOR_ZOOM);
-		zoom.zoomerStyle = zoom.zoomer && zoom.zoomer.style;
-
-		zoom.init = function() {
-			//自动启用
-			$.options.gestureConfig.pinch = true;
-			$.options.gestureConfig.doubletap = true;
-			zoom.initEvents();
-		};
-
-		zoom.initEvents = function(detach) {
-			var action = detach ? 'removeEventListener' : 'addEventListener';
-			var target = zoom.scroller;
-
-			target[action](EVENT_PINCH_START, zoom.onPinchstart);
-			target[action](EVENT_PINCH, zoom.onPinch);
-			target[action](EVENT_PINCH_END, zoom.onPinchend);
-
-			target[action]($.EVENT_START, zoom.onTouchstart);
-			target[action]($.EVENT_MOVE, zoom.onTouchMove);
-			target[action]($.EVENT_CANCEL, zoom.onTouchEnd);
-			target[action]($.EVENT_END, zoom.onTouchEnd);
-
-			target[action]('drag', zoom.dragEvent);
-			target[action]('doubletap', zoom.doubleTapEvent);
-		};
-		zoom.dragEvent = function(e) {
-			if (imageIsMoved || isGesturing) {
-				e.stopPropagation();
-			}
-		};
-		zoom.doubleTapEvent = function(e) {
-			zoom.toggleZoom(e.detail.center);
-		};
-		zoom.transition = function(style, time) {
-			time = time || 0;
-			style['webkitTransitionDuration'] = time + 'ms';
-			return zoom;
-		};
-		zoom.translate = function(style, x, y) {
-			x = x || 0;
-			y = y || 0;
-			style['webkitTransform'] = 'translate3d(' + x + 'px,' + y + 'px,0px)';
-			return zoom;
-		};
-		zoom.scale = function(style, scale) {
-			scale = scale || 1;
-			style['webkitTransform'] = 'translate3d(0,0,0) scale(' + scale + ')';
-			return zoom;
-		};
-		zoom.scrollerTransition = function(time) {
-			return zoom.transition(zoom.scrollerStyle, time);
-		};
-		zoom.scrollerTransform = function(x, y) {
-			return zoom.translate(zoom.scrollerStyle, x, y);
-		};
-		zoom.zoomerTransition = function(time) {
-			return zoom.transition(zoom.zoomerStyle, time);
-		};
-		zoom.zoomerTransform = function(scale) {
-			return zoom.scale(zoom.zoomerStyle, scale);
-		};
-
-		// Gestures
-		var scale = 1,
-			currentScale = 1,
-			isScaling = false,
-			isGesturing = false;
-		zoom.onPinchstart = function(e) {
-			isGesturing = true;
-		};
-		zoom.onPinch = function(e) {
-			if (!isScaling) {
-				zoom.zoomerTransition(0);
-				isScaling = true;
-			}
-			scale = (e.detail ? e.detail.scale : e.scale) * currentScale;
-			if (scale > zoom.options.maxZoom) {
-				scale = zoom.options.maxZoom - 1 + Math.pow((scale - zoom.options.maxZoom + 1), 0.5);
-			}
-			if (scale < zoom.options.minZoom) {
-				scale = zoom.options.minZoom + 1 - Math.pow((zoom.options.minZoom - scale + 1), 0.5);
-			}
-			zoom.zoomerTransform(scale);
-		};
-		zoom.onPinchend = function(e) {
-			scale = Math.max(Math.min(scale, zoom.options.maxZoom), zoom.options.minZoom);
-			zoom.zoomerTransition(zoom.options.speed).zoomerTransform(scale);
-			currentScale = scale;
-			isScaling = false;
-		};
-		zoom.setZoom = function(newScale) {
-			scale = currentScale = newScale;
-			zoom.scrollerTransition(zoom.options.speed).scrollerTransform(0, 0);
-			zoom.zoomerTransition(zoom.options.speed).zoomerTransform(scale);
-		};
-		zoom.toggleZoom = function(position, speed) {
-			if (typeof position === 'number') {
-				speed = position;
-				position = undefined;
-			}
-			speed = typeof speed === 'undefined' ? zoom.options.speed : speed;
-			if (scale && scale !== 1) {
-				scale = currentScale = 1;
-				zoom.scrollerTransition(speed).scrollerTransform(0, 0);
-			} else {
-				scale = currentScale = zoom.options.maxZoom;
-				if (position) {
-					var offset = $.offset(zoom.zoomer);
-					var top = offset.top;
-					var left = offset.left;
-					var offsetX = (position.x - left) * scale;
-					var offsetY = (position.y - top) * scale;
-					this._cal();
-					if (offsetX >= imageMaxX && offsetX <= (imageMaxX + wrapperWidth)) { //center
-						offsetX = imageMaxX - offsetX + wrapperWidth / 2;
-					} else if (offsetX < imageMaxX) { //left
-						offsetX = imageMaxX - offsetX + wrapperWidth / 2;
-					} else if (offsetX > (imageMaxX + wrapperWidth)) { //right
-						offsetX = imageMaxX + wrapperWidth - offsetX - wrapperWidth / 2;
-					}
-					if (offsetY >= imageMaxY && offsetY <= (imageMaxY + wrapperHeight)) { //middle
-						offsetY = imageMaxY - offsetY + wrapperHeight / 2;
-					} else if (offsetY < imageMaxY) { //top
-						offsetY = imageMaxY - offsetY + wrapperHeight / 2;
-					} else if (offsetY > (imageMaxY + wrapperHeight)) { //bottom
-						offsetY = imageMaxY + wrapperHeight - offsetY - wrapperHeight / 2;
-					}
-					offsetX = Math.min(Math.max(offsetX, imageMinX), imageMaxX);
-					offsetY = Math.min(Math.max(offsetY, imageMinY), imageMaxY);
-					zoom.scrollerTransition(speed).scrollerTransform(offsetX, offsetY);
-				} else {
-					zoom.scrollerTransition(speed).scrollerTransform(0, 0);
-				}
-			}
-			zoom.zoomerTransition(speed).zoomerTransform(scale);
-		};
-
-		zoom._cal = function() {
-			wrapperWidth = zoom.wrapper.offsetWidth;
-			wrapperHeight = zoom.wrapper.offsetHeight;
-			imageWidth = zoom.zoomer.offsetWidth;
-			imageHeight = zoom.zoomer.offsetHeight;
-			var scaledWidth = imageWidth * scale;
-			var scaledHeight = imageHeight * scale;
-			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
-			imageMaxX = -imageMinX;
-			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
-			imageMaxY = -imageMinY;
-		};
-
-		var wrapperWidth, wrapperHeight, imageIsTouched, imageIsMoved, imageCurrentX, imageCurrentY, imageMinX, imageMinY, imageMaxX, imageMaxY, imageWidth, imageHeight, imageTouchesStart = {},
-			imageTouchesCurrent = {},
-			imageStartX, imageStartY, velocityPrevPositionX, velocityPrevTime, velocityX, velocityPrevPositionY, velocityY;
-
-		zoom.onTouchstart = function(e) {
-			e.preventDefault();
-			imageIsTouched = true;
-			imageTouchesStart.x = e.type === $.EVENT_START ? e.targetTouches[0].pageX : e.pageX;
-			imageTouchesStart.y = e.type === $.EVENT_START ? e.targetTouches[0].pageY : e.pageY;
-		};
-		zoom.onTouchMove = function(e) {
-			e.preventDefault();
-			if (!imageIsTouched) return;
-			if (!imageIsMoved) {
-				wrapperWidth = zoom.wrapper.offsetWidth;
-				wrapperHeight = zoom.wrapper.offsetHeight;
-				imageWidth = zoom.zoomer.offsetWidth;
-				imageHeight = zoom.zoomer.offsetHeight;
-				var translate = $.parseTranslateMatrix($.getStyles(zoom.scroller, 'webkitTransform'));
-				imageStartX = translate.x || 0;
-				imageStartY = translate.y || 0;
-				zoom.scrollerTransition(0);
-			}
-			var scaledWidth = imageWidth * scale;
-			var scaledHeight = imageHeight * scale;
-
-			if (scaledWidth < wrapperWidth && scaledHeight < wrapperHeight) return;
-
-			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
-			imageMaxX = -imageMinX;
-			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
-			imageMaxY = -imageMinY;
-
-			imageTouchesCurrent.x = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageX : e.pageX;
-			imageTouchesCurrent.y = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageY : e.pageY;
-
-			if (!imageIsMoved && !isScaling) {
-				//				if (Math.abs(imageTouchesCurrent.y - imageTouchesStart.y) < Math.abs(imageTouchesCurrent.x - imageTouchesStart.x)) {
-				//TODO 此处需要优化,当遇到长图,需要上下滚动时,下列判断会导致滚动不流畅
-				if (
-					(Math.floor(imageMinX) === Math.floor(imageStartX) && imageTouchesCurrent.x < imageTouchesStart.x) ||
-					(Math.floor(imageMaxX) === Math.floor(imageStartX) && imageTouchesCurrent.x > imageTouchesStart.x)
-				) {
-					imageIsTouched = false;
-					return;
-				}
-				//				}
-			}
-			imageIsMoved = true;
-			imageCurrentX = imageTouchesCurrent.x - imageTouchesStart.x + imageStartX;
-			imageCurrentY = imageTouchesCurrent.y - imageTouchesStart.y + imageStartY;
-
-			if (imageCurrentX < imageMinX) {
-				imageCurrentX = imageMinX + 1 - Math.pow((imageMinX - imageCurrentX + 1), 0.8);
-			}
-			if (imageCurrentX > imageMaxX) {
-				imageCurrentX = imageMaxX - 1 + Math.pow((imageCurrentX - imageMaxX + 1), 0.8);
-			}
-
-			if (imageCurrentY < imageMinY) {
-				imageCurrentY = imageMinY + 1 - Math.pow((imageMinY - imageCurrentY + 1), 0.8);
-			}
-			if (imageCurrentY > imageMaxY) {
-				imageCurrentY = imageMaxY - 1 + Math.pow((imageCurrentY - imageMaxY + 1), 0.8);
-			}
-
-			//Velocity
-			if (!velocityPrevPositionX) velocityPrevPositionX = imageTouchesCurrent.x;
-			if (!velocityPrevPositionY) velocityPrevPositionY = imageTouchesCurrent.y;
-			if (!velocityPrevTime) velocityPrevTime = $.now();
-			velocityX = (imageTouchesCurrent.x - velocityPrevPositionX) / ($.now() - velocityPrevTime) / 2;
-			velocityY = (imageTouchesCurrent.y - velocityPrevPositionY) / ($.now() - velocityPrevTime) / 2;
-			if (Math.abs(imageTouchesCurrent.x - velocityPrevPositionX) < 2) velocityX = 0;
-			if (Math.abs(imageTouchesCurrent.y - velocityPrevPositionY) < 2) velocityY = 0;
-			velocityPrevPositionX = imageTouchesCurrent.x;
-			velocityPrevPositionY = imageTouchesCurrent.y;
-			velocityPrevTime = $.now();
-
-			zoom.scrollerTransform(imageCurrentX, imageCurrentY);
-		};
-		zoom.onTouchEnd = function(e) {
-			if (!e.touches.length) {
-				isGesturing = false;
-			}
-			if (!imageIsTouched || !imageIsMoved) {
-				imageIsTouched = false;
-				imageIsMoved = false;
-				return;
-			}
-			imageIsTouched = false;
-			imageIsMoved = false;
-			var momentumDurationX = 300;
-			var momentumDurationY = 300;
-			var momentumDistanceX = velocityX * momentumDurationX;
-			var newPositionX = imageCurrentX + momentumDistanceX;
-			var momentumDistanceY = velocityY * momentumDurationY;
-			var newPositionY = imageCurrentY + momentumDistanceY;
-
-			if (velocityX !== 0) momentumDurationX = Math.abs((newPositionX - imageCurrentX) / velocityX);
-			if (velocityY !== 0) momentumDurationY = Math.abs((newPositionY - imageCurrentY) / velocityY);
-			var momentumDuration = Math.max(momentumDurationX, momentumDurationY);
-
-			imageCurrentX = newPositionX;
-			imageCurrentY = newPositionY;
-
-			var scaledWidth = imageWidth * scale;
-			var scaledHeight = imageHeight * scale;
-			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
-			imageMaxX = -imageMinX;
-			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
-			imageMaxY = -imageMinY;
-			imageCurrentX = Math.max(Math.min(imageCurrentX, imageMaxX), imageMinX);
-			imageCurrentY = Math.max(Math.min(imageCurrentY, imageMaxY), imageMinY);
-
-			zoom.scrollerTransition(momentumDuration).scrollerTransform(imageCurrentX, imageCurrentY);
-		};
-		zoom.destroy = function() {
-			zoom.initEvents(true); //detach
-			delete $.data[zoom.wrapper.getAttribute('data-zoomer')];
-			zoom.wrapper.setAttribute('data-zoomer', '');
-		}
-		zoom.init();
-		return zoom;
-	};
-	$.Zoom.defaults = {
-		speed: 300,
-		maxZoom: 3,
-		minZoom: 1,
-	};
-	$.fn.zoom = function(options) {
-		var zoomApis = [];
-		this.each(function() {
-			var zoomApi = null;
-			var self = this;
-			var id = self.getAttribute('data-zoomer');
-			if (!id) {
-				id = ++$.uuid;
-				$.data[id] = zoomApi = new $.Zoom(self, options);
-				self.setAttribute('data-zoomer', id);
-			} else {
-				zoomApi = $.data[id];
-			}
-			zoomApis.push(zoomApi);
-		});
-		return zoomApis.length === 1 ? zoomApis[0] : zoomApis;
-	};
+(function($, window) {
+	var CLASS_ZOOM = $.className('zoom');
+	var CLASS_ZOOM_SCROLLER = $.className('zoom-scroller');
+
+	var SELECTOR_ZOOM = '.' + CLASS_ZOOM;
+	var SELECTOR_ZOOM_SCROLLER = '.' + CLASS_ZOOM_SCROLLER;
+
+	var EVENT_PINCH_START = 'pinchstart';
+	var EVENT_PINCH = 'pinch';
+	var EVENT_PINCH_END = 'pinchend';
+	if ('ongesturestart' in window) {
+		EVENT_PINCH_START = 'gesturestart';
+		EVENT_PINCH = 'gesturechange';
+		EVENT_PINCH_END = 'gestureend';
+	}
+	$.Zoom = function(element, options) {
+		var zoom = this;
+
+		zoom.options = $.extend($.Zoom.defaults, options);
+
+		zoom.wrapper = zoom.element = element;
+		zoom.scroller = element.querySelector(SELECTOR_ZOOM_SCROLLER);
+		zoom.scrollerStyle = zoom.scroller && zoom.scroller.style;
+
+		zoom.zoomer = element.querySelector(SELECTOR_ZOOM);
+		zoom.zoomerStyle = zoom.zoomer && zoom.zoomer.style;
+
+		zoom.init = function() {
+			//自动启用
+			$.options.gestureConfig.pinch = true;
+			$.options.gestureConfig.doubletap = true;
+			zoom.initEvents();
+		};
+
+		zoom.initEvents = function(detach) {
+			var action = detach ? 'removeEventListener' : 'addEventListener';
+			var target = zoom.scroller;
+
+			target[action](EVENT_PINCH_START, zoom.onPinchstart);
+			target[action](EVENT_PINCH, zoom.onPinch);
+			target[action](EVENT_PINCH_END, zoom.onPinchend);
+
+			target[action]($.EVENT_START, zoom.onTouchstart);
+			target[action]($.EVENT_MOVE, zoom.onTouchMove);
+			target[action]($.EVENT_CANCEL, zoom.onTouchEnd);
+			target[action]($.EVENT_END, zoom.onTouchEnd);
+
+			target[action]('drag', zoom.dragEvent);
+			target[action]('doubletap', zoom.doubleTapEvent);
+		};
+		zoom.dragEvent = function(e) {
+			if (imageIsMoved || isGesturing) {
+				e.stopPropagation();
+			}
+		};
+		zoom.doubleTapEvent = function(e) {
+			zoom.toggleZoom(e.detail.center);
+		};
+		zoom.transition = function(style, time) {
+			time = time || 0;
+			style['webkitTransitionDuration'] = time + 'ms';
+			return zoom;
+		};
+		zoom.translate = function(style, x, y) {
+			x = x || 0;
+			y = y || 0;
+			style['webkitTransform'] = 'translate3d(' + x + 'px,' + y + 'px,0px)';
+			return zoom;
+		};
+		zoom.scale = function(style, scale) {
+			scale = scale || 1;
+			style['webkitTransform'] = 'translate3d(0,0,0) scale(' + scale + ')';
+			return zoom;
+		};
+		zoom.scrollerTransition = function(time) {
+			return zoom.transition(zoom.scrollerStyle, time);
+		};
+		zoom.scrollerTransform = function(x, y) {
+			return zoom.translate(zoom.scrollerStyle, x, y);
+		};
+		zoom.zoomerTransition = function(time) {
+			return zoom.transition(zoom.zoomerStyle, time);
+		};
+		zoom.zoomerTransform = function(scale) {
+			return zoom.scale(zoom.zoomerStyle, scale);
+		};
+
+		// Gestures
+		var scale = 1,
+			currentScale = 1,
+			isScaling = false,
+			isGesturing = false;
+		zoom.onPinchstart = function(e) {
+			isGesturing = true;
+		};
+		zoom.onPinch = function(e) {
+			if (!isScaling) {
+				zoom.zoomerTransition(0);
+				isScaling = true;
+			}
+			scale = (e.detail ? e.detail.scale : e.scale) * currentScale;
+			if (scale > zoom.options.maxZoom) {
+				scale = zoom.options.maxZoom - 1 + Math.pow((scale - zoom.options.maxZoom + 1), 0.5);
+			}
+			if (scale < zoom.options.minZoom) {
+				scale = zoom.options.minZoom + 1 - Math.pow((zoom.options.minZoom - scale + 1), 0.5);
+			}
+			zoom.zoomerTransform(scale);
+		};
+		zoom.onPinchend = function(e) {
+			scale = Math.max(Math.min(scale, zoom.options.maxZoom), zoom.options.minZoom);
+			zoom.zoomerTransition(zoom.options.speed).zoomerTransform(scale);
+			currentScale = scale;
+			isScaling = false;
+		};
+		zoom.setZoom = function(newScale) {
+			scale = currentScale = newScale;
+			zoom.scrollerTransition(zoom.options.speed).scrollerTransform(0, 0);
+			zoom.zoomerTransition(zoom.options.speed).zoomerTransform(scale);
+		};
+		zoom.toggleZoom = function(position, speed) {
+			if (typeof position === 'number') {
+				speed = position;
+				position = undefined;
+			}
+			speed = typeof speed === 'undefined' ? zoom.options.speed : speed;
+			if (scale && scale !== 1) {
+				scale = currentScale = 1;
+				zoom.scrollerTransition(speed).scrollerTransform(0, 0);
+			} else {
+				scale = currentScale = zoom.options.maxZoom;
+				if (position) {
+					var offset = $.offset(zoom.zoomer);
+					var top = offset.top;
+					var left = offset.left;
+					var offsetX = (position.x - left) * scale;
+					var offsetY = (position.y - top) * scale;
+					this._cal();
+					if (offsetX >= imageMaxX && offsetX <= (imageMaxX + wrapperWidth)) { //center
+						offsetX = imageMaxX - offsetX + wrapperWidth / 2;
+					} else if (offsetX < imageMaxX) { //left
+						offsetX = imageMaxX - offsetX + wrapperWidth / 2;
+					} else if (offsetX > (imageMaxX + wrapperWidth)) { //right
+						offsetX = imageMaxX + wrapperWidth - offsetX - wrapperWidth / 2;
+					}
+					if (offsetY >= imageMaxY && offsetY <= (imageMaxY + wrapperHeight)) { //middle
+						offsetY = imageMaxY - offsetY + wrapperHeight / 2;
+					} else if (offsetY < imageMaxY) { //top
+						offsetY = imageMaxY - offsetY + wrapperHeight / 2;
+					} else if (offsetY > (imageMaxY + wrapperHeight)) { //bottom
+						offsetY = imageMaxY + wrapperHeight - offsetY - wrapperHeight / 2;
+					}
+					offsetX = Math.min(Math.max(offsetX, imageMinX), imageMaxX);
+					offsetY = Math.min(Math.max(offsetY, imageMinY), imageMaxY);
+					zoom.scrollerTransition(speed).scrollerTransform(offsetX, offsetY);
+				} else {
+					zoom.scrollerTransition(speed).scrollerTransform(0, 0);
+				}
+			}
+			zoom.zoomerTransition(speed).zoomerTransform(scale);
+		};
+
+		zoom._cal = function() {
+			wrapperWidth = zoom.wrapper.offsetWidth;
+			wrapperHeight = zoom.wrapper.offsetHeight;
+			imageWidth = zoom.zoomer.offsetWidth;
+			imageHeight = zoom.zoomer.offsetHeight;
+			var scaledWidth = imageWidth * scale;
+			var scaledHeight = imageHeight * scale;
+			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
+			imageMaxX = -imageMinX;
+			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
+			imageMaxY = -imageMinY;
+		};
+
+		var wrapperWidth, wrapperHeight, imageIsTouched, imageIsMoved, imageCurrentX, imageCurrentY, imageMinX, imageMinY, imageMaxX, imageMaxY, imageWidth, imageHeight, imageTouchesStart = {},
+			imageTouchesCurrent = {},
+			imageStartX, imageStartY, velocityPrevPositionX, velocityPrevTime, velocityX, velocityPrevPositionY, velocityY;
+
+		zoom.onTouchstart = function(e) {
+			e.preventDefault();
+			imageIsTouched = true;
+			imageTouchesStart.x = e.type === $.EVENT_START ? e.targetTouches[0].pageX : e.pageX;
+			imageTouchesStart.y = e.type === $.EVENT_START ? e.targetTouches[0].pageY : e.pageY;
+		};
+		zoom.onTouchMove = function(e) {
+			e.preventDefault();
+			if (!imageIsTouched) return;
+			if (!imageIsMoved) {
+				wrapperWidth = zoom.wrapper.offsetWidth;
+				wrapperHeight = zoom.wrapper.offsetHeight;
+				imageWidth = zoom.zoomer.offsetWidth;
+				imageHeight = zoom.zoomer.offsetHeight;
+				var translate = $.parseTranslateMatrix($.getStyles(zoom.scroller, 'webkitTransform'));
+				imageStartX = translate.x || 0;
+				imageStartY = translate.y || 0;
+				zoom.scrollerTransition(0);
+			}
+			var scaledWidth = imageWidth * scale;
+			var scaledHeight = imageHeight * scale;
+
+			if (scaledWidth < wrapperWidth && scaledHeight < wrapperHeight) return;
+
+			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
+			imageMaxX = -imageMinX;
+			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
+			imageMaxY = -imageMinY;
+
+			imageTouchesCurrent.x = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageX : e.pageX;
+			imageTouchesCurrent.y = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageY : e.pageY;
+
+			if (!imageIsMoved && !isScaling) {
+				//				if (Math.abs(imageTouchesCurrent.y - imageTouchesStart.y) < Math.abs(imageTouchesCurrent.x - imageTouchesStart.x)) {
+				//TODO 此处需要优化,当遇到长图,需要上下滚动时,下列判断会导致滚动不流畅
+				if (
+					(Math.floor(imageMinX) === Math.floor(imageStartX) && imageTouchesCurrent.x < imageTouchesStart.x) ||
+					(Math.floor(imageMaxX) === Math.floor(imageStartX) && imageTouchesCurrent.x > imageTouchesStart.x)
+				) {
+					imageIsTouched = false;
+					return;
+				}
+				//				}
+			}
+			imageIsMoved = true;
+			imageCurrentX = imageTouchesCurrent.x - imageTouchesStart.x + imageStartX;
+			imageCurrentY = imageTouchesCurrent.y - imageTouchesStart.y + imageStartY;
+
+			if (imageCurrentX < imageMinX) {
+				imageCurrentX = imageMinX + 1 - Math.pow((imageMinX - imageCurrentX + 1), 0.8);
+			}
+			if (imageCurrentX > imageMaxX) {
+				imageCurrentX = imageMaxX - 1 + Math.pow((imageCurrentX - imageMaxX + 1), 0.8);
+			}
+
+			if (imageCurrentY < imageMinY) {
+				imageCurrentY = imageMinY + 1 - Math.pow((imageMinY - imageCurrentY + 1), 0.8);
+			}
+			if (imageCurrentY > imageMaxY) {
+				imageCurrentY = imageMaxY - 1 + Math.pow((imageCurrentY - imageMaxY + 1), 0.8);
+			}
+
+			//Velocity
+			if (!velocityPrevPositionX) velocityPrevPositionX = imageTouchesCurrent.x;
+			if (!velocityPrevPositionY) velocityPrevPositionY = imageTouchesCurrent.y;
+			if (!velocityPrevTime) velocityPrevTime = $.now();
+			velocityX = (imageTouchesCurrent.x - velocityPrevPositionX) / ($.now() - velocityPrevTime) / 2;
+			velocityY = (imageTouchesCurrent.y - velocityPrevPositionY) / ($.now() - velocityPrevTime) / 2;
+			if (Math.abs(imageTouchesCurrent.x - velocityPrevPositionX) < 2) velocityX = 0;
+			if (Math.abs(imageTouchesCurrent.y - velocityPrevPositionY) < 2) velocityY = 0;
+			velocityPrevPositionX = imageTouchesCurrent.x;
+			velocityPrevPositionY = imageTouchesCurrent.y;
+			velocityPrevTime = $.now();
+
+			zoom.scrollerTransform(imageCurrentX, imageCurrentY);
+		};
+		zoom.onTouchEnd = function(e) {
+			if (!e.touches.length) {
+				isGesturing = false;
+			}
+			if (!imageIsTouched || !imageIsMoved) {
+				imageIsTouched = false;
+				imageIsMoved = false;
+				return;
+			}
+			imageIsTouched = false;
+			imageIsMoved = false;
+			var momentumDurationX = 300;
+			var momentumDurationY = 300;
+			var momentumDistanceX = velocityX * momentumDurationX;
+			var newPositionX = imageCurrentX + momentumDistanceX;
+			var momentumDistanceY = velocityY * momentumDurationY;
+			var newPositionY = imageCurrentY + momentumDistanceY;
+
+			if (velocityX !== 0) momentumDurationX = Math.abs((newPositionX - imageCurrentX) / velocityX);
+			if (velocityY !== 0) momentumDurationY = Math.abs((newPositionY - imageCurrentY) / velocityY);
+			var momentumDuration = Math.max(momentumDurationX, momentumDurationY);
+
+			imageCurrentX = newPositionX;
+			imageCurrentY = newPositionY;
+
+			var scaledWidth = imageWidth * scale;
+			var scaledHeight = imageHeight * scale;
+			imageMinX = Math.min((wrapperWidth / 2 - scaledWidth / 2), 0);
+			imageMaxX = -imageMinX;
+			imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0);
+			imageMaxY = -imageMinY;
+			imageCurrentX = Math.max(Math.min(imageCurrentX, imageMaxX), imageMinX);
+			imageCurrentY = Math.max(Math.min(imageCurrentY, imageMaxY), imageMinY);
+
+			zoom.scrollerTransition(momentumDuration).scrollerTransform(imageCurrentX, imageCurrentY);
+		};
+		zoom.destroy = function() {
+			zoom.initEvents(true); //detach
+			delete $.data[zoom.wrapper.getAttribute('data-zoomer')];
+			zoom.wrapper.setAttribute('data-zoomer', '');
+		}
+		zoom.init();
+		return zoom;
+	};
+	$.Zoom.defaults = {
+		speed: 300,
+		maxZoom: 3,
+		minZoom: 1,
+	};
+	$.fn.zoom = function(options) {
+		var zoomApis = [];
+		this.each(function() {
+			var zoomApi = null;
+			var self = this;
+			var id = self.getAttribute('data-zoomer');
+			if (!id) {
+				id = ++$.uuid;
+				$.data[id] = zoomApi = new $.Zoom(self, options);
+				self.setAttribute('data-zoomer', id);
+			} else {
+				zoomApi = $.data[id];
+			}
+			zoomApis.push(zoomApi);
+		});
+		return zoomApis.length === 1 ? zoomApis[0] : zoomApis;
+	};
 })(mui, window);

文件差异内容过多而无法显示
+ 13 - 13
tooth/js/swiper.min.js


+ 263 - 263
tooth/js/wechat-utils-1.0.js

@@ -1,264 +1,264 @@
-/**
- * @author 何秀刚
- * @description wechat 工具类,依赖JQuery,如果引入此文件,自动绑定分享事件。
- * @version V.1.0
- */
-// 获取绑定微信JSSDK的配置参数 
-var getConfigUrl = base_path+"/config/get";
-// JSSDK是否绑定成功
-var jssdkSuccess = true;
-//是否隐藏全局菜单
-if (window.hiddenAllWechatMenu == null) {
-	window.hiddenAllWechatMenu = false;
-}
-	// 使用全局默认
-	window.wxFriend = {
-	    "appId": "",
-	    "imgUrl":'http://s.iamberry.com/soodo/wechat/images/indexShare.jpg',
-	    "link":"http://s.iamberry.com/soodo/wechat/index.html",
-	    "desc":"让你的“笑容停留在18岁”",
-	    "title":"【soodo上朵】柔性声波电动牙刷,赠送您60元现金券",
-	    "netError":"您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
-	    "shareTimeSuccess":"这里是分享朋友圈后调用的文字",
-	    "shareTimeCancel":"这里是取消分享给朋友圈后调用的文字",
-	    "shareAppSuccess":"这里是分享好友后调用的文字",
-	    "shareAppCancel":"这里是取消分享给好友后调用的文字"
-	};
-// 微信共享地址数据
-window.wechatAddr = {
-	"status":false, // 是否调用成功,true成功,false失败
-	"statusMsg":"失败时信息",
-	"detailInfo":"详细地址",
-	"postalCode":"邮编",
-	"userName":"收货人",
-	"userTel":"收货人电话",
-	"nationalCode":"收货地址国家码"
-};
-/** 引入JSSDK1.0基本组件,微信共享地址智能使用1.0版本,并且需要服务器返回参数支持 */
-//incoldeJSFile("http://res.wx.qq.com/open/js/jweixin-1.0.0.js");
-/** 引入JSSDK1.1基本组件 ,支持摇一摇、微信共享地址 */
-incoldeJSFile("//res.wx.qq.com/open/js/jweixin-1.1.0.js"); 
-getConfig(); // 配置JSSDK组件
-
-/** 获取服务器JSSDK参数配置 */
-function getConfig(){
-	$.ajax({
-		type: 'get', url: getConfigUrl, data: {appid: "", url: location.href,"date":new Date().getTime()}, dataType: 'json', timeout: 10000, context: $('body'),
-		success: function(data){setConfig(data);},
-		error: function(xhr, type){
-			getConfig();
-			mui.alert('网络异常,请刷新重试,否则某些功能不能使用!')
-			}
-	});
-}
-
-/**配置JS-SDK*/
-function setConfig(config){
-	wx.config({
-	  debug: false,
-	  appId: config.appId,
-	  timestamp: config.timestamp,
-	  nonceStr: config.nonceStr,
-	  signature: config.signature,
-	  jsApiList: [
-        'checkJsApi',
-        'onMenuShareTimeline',
-        'onMenuShareAppMessage',
-        'hideMenuItems',
-        'scanQRCode',
-        'showMenuItems'
-        ]
-	});
-	wx.ready(function(){ //JSSDK绑定成功
-		wxReadySuccess();
-	});
-	wx.error(function(res){ // JSSDK绑定失败的方法
-		wxReadyError();
-	});
-}
-
-/** JSSDK绑定成功调用事件 */
-function wxReadySuccess() {
-	window.jssdkSuccess = true;
-	shareMessage();
-    wx.getNetworkType({success: function (res) {}});
-    if (window.hiddenAllWechatMenu) {
-    	 wx.showMenuItems({
-	        menuList: [
-	        ] // 要显示的菜单项,所有menu项见附录3
-	    });
-	    wx.hideMenuItems({
-	        menuList: [
-	            "menuItem:copyUrl",
-	            "menuItem:openWithSafari",
-	            "menuItem:originPage",
-	            "menuItem:share:email",
-	            "menuItem:dayMode",
-	            "menuItem:setFont",
-	            "menuItem:nightMode",
-	            "menuItem:share:qq",
-	            "menuItem:dayMode",
-	            "menuItem:exposeArticle",
-	            "menuItem:nightMode",
-	            "menuItem:openWithQQBrowser",
-	            "menuItem:share:QZone",
-	            "menuItem:favorite",
-	            "menuItem:share:facebook",
-	            "menuItem:share:appMessage",
-	            "menuItem:share:brand",
-	            "menuItem:share:timeline"
-	        ] // 要隐藏的菜单项,所有menu项见附录3
-	    });
-    } else {
-    	 wx.showMenuItems({
-	        menuList: [
-	            "menuItem:share:appMessage",
-	            "menuItem:share:timeline"
-	        ] // 要显示的菜单项,所有menu项见附录3
-	    });
-	    wx.hideMenuItems({
-	        menuList: [
-	            "menuItem:copyUrl",
-	            "menuItem:openWithSafari",
-	            "menuItem:originPage",
-	            "menuItem:share:email",
-	            "menuItem:dayMode",
-	            "menuItem:setFont",
-	            "menuItem:nightMode",
-	            "menuItem:share:qq",
-	            "menuItem:dayMode",
-	            "menuItem:exposeArticle",
-	            "menuItem:nightMode",
-	            "menuItem:openWithQQBrowser",
-	            "menuItem:share:QZone",
-	            "menuItem:favorite",
-	            "menuItem:share:brand",
-	            "menuItem:share:facebook"
-	        ] // 要隐藏的菜单项,所有menu项见附录3
-	    });
-    }
-   
-}
-
-/** JSSDK 绑定失败调用方法 */
-function wxReadyError() {
-	// alert(wxFriend.netError);
-}
-
-/** 分享时、分享后调用方法 */
-function shareMessage(title, message) {
-	title = title || wxFriend.title;
-    message = message || wxFriend.desc;
-    wx.onMenuShareTimeline({ //分享到朋友圈,只有标题、图标,没有内容简介
-        title: title, link: wxFriend.link, imgUrl: wxFriend.imgUrl,
-        success: function () {
-        	if (wxFriend.shareAppSuccess != null && wxFriend.shareAppSuccess != "") {
-        		// alert(wxFriend.shareAppSuccess);
-        	}
-        },
-        cancel: function () {
-        	if (wxFriend.shareTimeCancel != null && wxFriend.shareTimeCancel != "") {
-        		// alert(wxFriend.shareTimeCancel);
-        	}
-        }
-    });
-    wx.onMenuShareAppMessage({ // 分享给好友,有标题、内容简介、图标
-        title: title, desc: message, link: wxFriend.link, imgUrl: wxFriend.imgUrl,
-        success: function () {
-        	if (wxFriend.shareAppSuccess != null && wxFriend.shareAppSuccess != "") {
-        		// alert(wxFriend.shareAppSuccess);
-        	}
-        },
-        cancel: function () {
-        	if (wxFriend.shareTimeCancel != null && wxFriend.shareTimeCancel != "") {
-        		// alert(wxFriend.shareTimeCancel);
-        	}
-        }
-    });
-}
-
-/** 
- * 微信支付
- * str:微信支付参数,字符串
- * paySuccessCallBack:微信支付成功后回调方法,此方法必须为全局时,方可以回调成功
- * payCancelCallBack:微信支付失败后回调方法,此方法必须为全局时,方可以回调成功
- */
-function wechatPay(str, paySuccessCallBack, payCancelCallBack) {
-	if (typeof WeixinJSBridge == "undefined"){
-		alert("非微信浏览器!无法发起微信支付请求!");
-		return;
-	}
-	var obj = JSON.parse("{" + str + "}");
-	WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
-       if(res.err_msg=='get_brand_wcpay_request:ok'){
-    	   paySuccessCallBack
-       }else{
-    	   payCancelCallBack
-       }
-	});
-}
-if (typeof WeixinJSBridge == "undefined"){
-   if( document.addEventListener ){
-       document.addEventListener('WeixinJSBridgeReady', wechatPay, false);
-   }else if (document.attachEvent){
-       document.attachEvent('WeixinJSBridgeReady', wechatPay); 
-       document.attachEvent('onWeixinJSBridgeReady', wechatPay);
-   }
-}
-/** 发起微信共享地址Version 1.0 */
-function editAddrV0(config) {
-	WeixinJSBridge.invoke('editAddress', {"appId" : config.appId, "scope" : "jsapi_address", "signType" : "SHA1", "addrSign" : config.addrSign, "timeStamp" : config.timestamp, "nonceStr" : config.nonceStr}, 
-		function(res) {
-			if ("edit_address:ok" == res.err_msg) {
-				var address = res.proviceFirstStageName + "-" + res.addressCitySecondStageName + "-" + res.addressCountiesThirdStageName + "-" + res.addressDetailInfo;
-				wechatAddr.status = true;
-				wechatAddr.detailInfo = address;
-				wechatAddr.postalCode = res.addressPostalCode;
-				wechatAddr.userName = res.userName;
-				wechatAddr.userTel = res.telNumber;
-				return wechatAddr;
-			} else if ("edit_address:fail" == res.err_msg) {// 没有选择
-				wechatAddr.statusMsg = "您没有选择收货地址!";
-				return wechatAddr;
-			} else { // 参数过时,请刷新
-				wechatAddr.statusMsg = "操作过时,请刷新重试!";
-				return wechatAddr;
-			}
-		}
-	);
-}
-/** 
- * 发起微信共享地址Version 1.1<br>
- * {<br>
- * 		status : 状态,true:请求成功,false:请求失败<br>
- * 		errorInfo : 请求失败时的提示信息<br>
- * 		res: { 请求成功时的地址信息,失败为空<br>
- * 			userName : 收货人姓名。<br>
- * 			postalCode : 邮编。<br>
- * 			provinceName 国标收货地址第一级地址(省)。<br>
- * 			cityName : 国标收货地址第二级地址(市)。<br>
- * 			countryName : 国标收货地址第三级地址(区)。<br>
- * 			detailInfo : 详细收货地址信息。<br>
- * 			nationalCode : 收货地址国家码。<br>
- * 			telNumber : 收货人电话<br>
- * 		}
- * }
- */
-function editAddrV1(successCallback, errorCallback) {
-	if (!window.jssdkSuccess) {
-		mui.alert("错误啦 ~~ 请刷新重试!");
-		return;
-	}
-	wx.openAddress({
-		success: successCallback,
-		cancel: errorCallback
-	});
-}
-/** 动态引入wechat utils JavaScript */
-function incoldeJSFile(jsUrl) {
-	var typeHand = document.getElementsByTagName('head').item(0); 
-    var typeScript= document.createElement("script"); 
-    typeScript.type = "text/javascript"; 
-    typeScript.src=jsUrl; 
-    typeHand.appendChild(typeScript); 
+/**
+ * @author 何秀刚
+ * @description wechat 工具类,依赖JQuery,如果引入此文件,自动绑定分享事件。
+ * @version V.1.0
+ */
+// 获取绑定微信JSSDK的配置参数 
+var getConfigUrl = base_path+"/config/get";
+// JSSDK是否绑定成功
+var jssdkSuccess = true;
+//是否隐藏全局菜单
+if (window.hiddenAllWechatMenu == null) {
+	window.hiddenAllWechatMenu = false;
+}
+	// 使用全局默认
+	window.wxFriend = {
+	    "appId": "",
+	    "imgUrl":'http://s.iamberry.com/soodo/wechat/images/indexShare.jpg',
+	    "link":"http://s.iamberry.com/soodo/wechat/index.html",
+	    "desc":"让你的“笑容停留在18岁”",
+	    "title":"【soodo上朵】柔性声波电动牙刷,赠送您60元现金券",
+	    "netError":"您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
+	    "shareTimeSuccess":"这里是分享朋友圈后调用的文字",
+	    "shareTimeCancel":"这里是取消分享给朋友圈后调用的文字",
+	    "shareAppSuccess":"这里是分享好友后调用的文字",
+	    "shareAppCancel":"这里是取消分享给好友后调用的文字"
+	};
+// 微信共享地址数据
+window.wechatAddr = {
+	"status":false, // 是否调用成功,true成功,false失败
+	"statusMsg":"失败时信息",
+	"detailInfo":"详细地址",
+	"postalCode":"邮编",
+	"userName":"收货人",
+	"userTel":"收货人电话",
+	"nationalCode":"收货地址国家码"
+};
+/** 引入JSSDK1.0基本组件,微信共享地址智能使用1.0版本,并且需要服务器返回参数支持 */
+//incoldeJSFile("http://res.wx.qq.com/open/js/jweixin-1.0.0.js");
+/** 引入JSSDK1.1基本组件 ,支持摇一摇、微信共享地址 */
+incoldeJSFile("//res.wx.qq.com/open/js/jweixin-1.1.0.js"); 
+getConfig(); // 配置JSSDK组件
+
+/** 获取服务器JSSDK参数配置 */
+function getConfig(){
+	$.ajax({
+		type: 'get', url: getConfigUrl, data: {appid: "", url: location.href,"date":new Date().getTime()}, dataType: 'json', timeout: 10000, context: $('body'),
+		success: function(data){setConfig(data);},
+		error: function(xhr, type){
+			getConfig();
+			mui.alert('网络异常,请刷新重试,否则某些功能不能使用!')
+			}
+	});
+}
+
+/**配置JS-SDK*/
+function setConfig(config){
+	wx.config({
+	  debug: false,
+	  appId: config.appId,
+	  timestamp: config.timestamp,
+	  nonceStr: config.nonceStr,
+	  signature: config.signature,
+	  jsApiList: [
+        'checkJsApi',
+        'onMenuShareTimeline',
+        'onMenuShareAppMessage',
+        'hideMenuItems',
+        'scanQRCode',
+        'showMenuItems'
+        ]
+	});
+	wx.ready(function(){ //JSSDK绑定成功
+		wxReadySuccess();
+	});
+	wx.error(function(res){ // JSSDK绑定失败的方法
+		wxReadyError();
+	});
+}
+
+/** JSSDK绑定成功调用事件 */
+function wxReadySuccess() {
+	window.jssdkSuccess = true;
+	shareMessage();
+    wx.getNetworkType({success: function (res) {}});
+    if (window.hiddenAllWechatMenu) {
+    	 wx.showMenuItems({
+	        menuList: [
+	        ] // 要显示的菜单项,所有menu项见附录3
+	    });
+	    wx.hideMenuItems({
+	        menuList: [
+	            "menuItem:copyUrl",
+	            "menuItem:openWithSafari",
+	            "menuItem:originPage",
+	            "menuItem:share:email",
+	            "menuItem:dayMode",
+	            "menuItem:setFont",
+	            "menuItem:nightMode",
+	            "menuItem:share:qq",
+	            "menuItem:dayMode",
+	            "menuItem:exposeArticle",
+	            "menuItem:nightMode",
+	            "menuItem:openWithQQBrowser",
+	            "menuItem:share:QZone",
+	            "menuItem:favorite",
+	            "menuItem:share:facebook",
+	            "menuItem:share:appMessage",
+	            "menuItem:share:brand",
+	            "menuItem:share:timeline"
+	        ] // 要隐藏的菜单项,所有menu项见附录3
+	    });
+    } else {
+    	 wx.showMenuItems({
+	        menuList: [
+	            "menuItem:share:appMessage",
+	            "menuItem:share:timeline"
+	        ] // 要显示的菜单项,所有menu项见附录3
+	    });
+	    wx.hideMenuItems({
+	        menuList: [
+	            "menuItem:copyUrl",
+	            "menuItem:openWithSafari",
+	            "menuItem:originPage",
+	            "menuItem:share:email",
+	            "menuItem:dayMode",
+	            "menuItem:setFont",
+	            "menuItem:nightMode",
+	            "menuItem:share:qq",
+	            "menuItem:dayMode",
+	            "menuItem:exposeArticle",
+	            "menuItem:nightMode",
+	            "menuItem:openWithQQBrowser",
+	            "menuItem:share:QZone",
+	            "menuItem:favorite",
+	            "menuItem:share:brand",
+	            "menuItem:share:facebook"
+	        ] // 要隐藏的菜单项,所有menu项见附录3
+	    });
+    }
+   
+}
+
+/** JSSDK 绑定失败调用方法 */
+function wxReadyError() {
+	// alert(wxFriend.netError);
+}
+
+/** 分享时、分享后调用方法 */
+function shareMessage(title, message) {
+	title = title || wxFriend.title;
+    message = message || wxFriend.desc;
+    wx.onMenuShareTimeline({ //分享到朋友圈,只有标题、图标,没有内容简介
+        title: title, link: wxFriend.link, imgUrl: wxFriend.imgUrl,
+        success: function () {
+        	if (wxFriend.shareAppSuccess != null && wxFriend.shareAppSuccess != "") {
+        		// alert(wxFriend.shareAppSuccess);
+        	}
+        },
+        cancel: function () {
+        	if (wxFriend.shareTimeCancel != null && wxFriend.shareTimeCancel != "") {
+        		// alert(wxFriend.shareTimeCancel);
+        	}
+        }
+    });
+    wx.onMenuShareAppMessage({ // 分享给好友,有标题、内容简介、图标
+        title: title, desc: message, link: wxFriend.link, imgUrl: wxFriend.imgUrl,
+        success: function () {
+        	if (wxFriend.shareAppSuccess != null && wxFriend.shareAppSuccess != "") {
+        		// alert(wxFriend.shareAppSuccess);
+        	}
+        },
+        cancel: function () {
+        	if (wxFriend.shareTimeCancel != null && wxFriend.shareTimeCancel != "") {
+        		// alert(wxFriend.shareTimeCancel);
+        	}
+        }
+    });
+}
+
+/** 
+ * 微信支付
+ * str:微信支付参数,字符串
+ * paySuccessCallBack:微信支付成功后回调方法,此方法必须为全局时,方可以回调成功
+ * payCancelCallBack:微信支付失败后回调方法,此方法必须为全局时,方可以回调成功
+ */
+function wechatPay(str, paySuccessCallBack, payCancelCallBack) {
+	if (typeof WeixinJSBridge == "undefined"){
+		alert("非微信浏览器!无法发起微信支付请求!");
+		return;
+	}
+	var obj = JSON.parse("{" + str + "}");
+	WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
+       if(res.err_msg=='get_brand_wcpay_request:ok'){
+    	   paySuccessCallBack
+       }else{
+    	   payCancelCallBack
+       }
+	});
+}
+if (typeof WeixinJSBridge == "undefined"){
+   if( document.addEventListener ){
+       document.addEventListener('WeixinJSBridgeReady', wechatPay, false);
+   }else if (document.attachEvent){
+       document.attachEvent('WeixinJSBridgeReady', wechatPay); 
+       document.attachEvent('onWeixinJSBridgeReady', wechatPay);
+   }
+}
+/** 发起微信共享地址Version 1.0 */
+function editAddrV0(config) {
+	WeixinJSBridge.invoke('editAddress', {"appId" : config.appId, "scope" : "jsapi_address", "signType" : "SHA1", "addrSign" : config.addrSign, "timeStamp" : config.timestamp, "nonceStr" : config.nonceStr}, 
+		function(res) {
+			if ("edit_address:ok" == res.err_msg) {
+				var address = res.proviceFirstStageName + "-" + res.addressCitySecondStageName + "-" + res.addressCountiesThirdStageName + "-" + res.addressDetailInfo;
+				wechatAddr.status = true;
+				wechatAddr.detailInfo = address;
+				wechatAddr.postalCode = res.addressPostalCode;
+				wechatAddr.userName = res.userName;
+				wechatAddr.userTel = res.telNumber;
+				return wechatAddr;
+			} else if ("edit_address:fail" == res.err_msg) {// 没有选择
+				wechatAddr.statusMsg = "您没有选择收货地址!";
+				return wechatAddr;
+			} else { // 参数过时,请刷新
+				wechatAddr.statusMsg = "操作过时,请刷新重试!";
+				return wechatAddr;
+			}
+		}
+	);
+}
+/** 
+ * 发起微信共享地址Version 1.1<br>
+ * {<br>
+ * 		status : 状态,true:请求成功,false:请求失败<br>
+ * 		errorInfo : 请求失败时的提示信息<br>
+ * 		res: { 请求成功时的地址信息,失败为空<br>
+ * 			userName : 收货人姓名。<br>
+ * 			postalCode : 邮编。<br>
+ * 			provinceName 国标收货地址第一级地址(省)。<br>
+ * 			cityName : 国标收货地址第二级地址(市)。<br>
+ * 			countryName : 国标收货地址第三级地址(区)。<br>
+ * 			detailInfo : 详细收货地址信息。<br>
+ * 			nationalCode : 收货地址国家码。<br>
+ * 			telNumber : 收货人电话<br>
+ * 		}
+ * }
+ */
+function editAddrV1(successCallback, errorCallback) {
+	if (!window.jssdkSuccess) {
+		mui.alert("错误啦 ~~ 请刷新重试!");
+		return;
+	}
+	wx.openAddress({
+		success: successCallback,
+		cancel: errorCallback
+	});
+}
+/** 动态引入wechat utils JavaScript */
+function incoldeJSFile(jsUrl) {
+	var typeHand = document.getElementsByTagName('head').item(0); 
+    var typeScript= document.createElement("script"); 
+    typeScript.type = "text/javascript"; 
+    typeScript.src=jsUrl; 
+    typeHand.appendChild(typeScript); 
 }

+ 213 - 213
tooth/logistics-massage.html

@@ -1,213 +1,213 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>物流信息</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-	<body>
-			<div class="mui-content">
-				<div class="logistics-massage-head">
-					
-				
-				<div class="logistics-massage-cell">
-					<div>
-						<img width="80px" src="images/logo.png" />
-				</div>
-				<h4 id="com"></h4>
-				<h6 id="nu"></h6>
-				</div>
-				</div>
-				<div class="content">
-					<article id="logistic">
-						
-						<!--<section style="opacity: .5;">
-							<span class="point-time"></span>
-							<time datetime="2014-07">
-								<span>2018-01-11</span>
-							</time>
-							<aside>
-								<div class="things">
-									开始处理
-								</div>
-								<div class="brief">
-									2018-01-02  12:12:12
-								</div>
-							</aside>
-						</section>
-						<section style="opacity: .5;">
-							<span class="point-time"></span>
-							<time datetime="2014-07">
-								<span>2018-01-11</span>
-							</time>
-							<aside>
-								<div class="things">
-									开始处理
-								</div>
-								<div class="brief">
-									2018-01-02  12:12:12
-								</div>
-							</aside>
-						</section>
-						<section>
-							<span class="point-time"></span>
-							<time datetime="2014-07">
-								<span>2018-01-11</span>
-							</time>
-							<aside>
-								<div class="things">
-									开始处理
-								</div>
-								<div class="brief">
-									2018-01-02  12:12:12
-								</div>
-							</aside>
-						</section>-->
-					</article>
-				</div>
-			</div>
-			<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript" src="js/main.js"></script>
-	<script type="text/javascript">
-		window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-		var com = getParam("salesPostFirm");  //快递公司代码
-		var nu = getParam("salesPostNum");  //快递单号
-		mui.ready(function(){
-			var  name = "";
-			switch (com){
-                case "sto":
-                    name= "申通快递";
-                    break;
-                case "yto":
-                    name= "圆通快递";
-                    break;
-                case "zto":
-                    name= "中通速递";
-                    break;
-                case "sf":
-                    name= "顺丰快递";
-                    break;
-                case "ems":
-                    name= "邮政EMS";
-                    break;
-                case "eyb":
-                    name= "E邮宝";
-                    break;
-                case "zjs":
-                    name= "宅急送";
-                    break;
-                case "yunda":
-                    name= "韵达快递";
-                    break;
-                case "cces":
-                    name= "cces快递";
-                    break;
-                case "pick":
-                    name= "上门提货";
-                    break;
-                case "htky":
-                    name= "汇通快递";
-                    break;
-                case "ttkdex":
-                    name= "天天快递";
-                    break;
-                case "stars":
-                    name= "星晨急便";
-                    break;
-                case "jd":
-                    name= "京东快递";
-                    break;
-                case "01":
-                    name= "其他";
-                    break;
-                case "02":
-                    name= "上门送货";
-                    break;
-                case "longbanwuliu":
-                    name= "龙邦快递";
-                    break;
-                default:
-                    break;
-            }
-			$("#com").html(name);
-			$("#nu").html("单号:" + nu);
-			
-				$.ajax(base_path + '/logistics/getExpressInfo?dates=' + new Date().getTime(), {
-					data: {
-						"com": com,
-						"nu":nu
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt);
-							var html = "";
-							mui.each(dt.data.data, function(index) {
-								var logisticsDate = this.time.substring(0,10);
-								html += '<section style="opacity: .5;">'
-								html += '<span class="point-time"></span>'
-								html += '<time datetime="2014-07"><span>'+ logisticsDate +'</span></time>'
-								html += '<aside>'
-								html += '<div class="things">'+ this.context +'</div>'
-								html += '<div class="brief">'+ this.time +'</div>'
-								html += '</aside>'
-								html += '</section>'
-							});
-							
-							html += '<button type="button" class="my-btn-black order_operate" style="margin: 0 auto;width: 100px;display: block;" fixedStatus="aftermarket" orderId>返回</button>'
-							
-							$("#logistic").html(html);
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-			
-		console.log("页面加载完毕");
-		$(".loading").hide().css("opacity", "0");//隐藏(正在加载...)
-	});	
-	
-	
-	
-	/*订单按钮触发事件*/
-	$(document).on('tap', '.order_operate', function() {
-		window.history.back();
-	});
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>物流信息</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+	<body>
+			<div class="mui-content">
+				<div class="logistics-massage-head">
+					
+				
+				<div class="logistics-massage-cell">
+					<div>
+						<img width="80px" src="images/logo.png" />
+				</div>
+				<h4 id="com"></h4>
+				<h6 id="nu"></h6>
+				</div>
+				</div>
+				<div class="content">
+					<article id="logistic">
+						
+						<!--<section style="opacity: .5;">
+							<span class="point-time"></span>
+							<time datetime="2014-07">
+								<span>2018-01-11</span>
+							</time>
+							<aside>
+								<div class="things">
+									开始处理
+								</div>
+								<div class="brief">
+									2018-01-02  12:12:12
+								</div>
+							</aside>
+						</section>
+						<section style="opacity: .5;">
+							<span class="point-time"></span>
+							<time datetime="2014-07">
+								<span>2018-01-11</span>
+							</time>
+							<aside>
+								<div class="things">
+									开始处理
+								</div>
+								<div class="brief">
+									2018-01-02  12:12:12
+								</div>
+							</aside>
+						</section>
+						<section>
+							<span class="point-time"></span>
+							<time datetime="2014-07">
+								<span>2018-01-11</span>
+							</time>
+							<aside>
+								<div class="things">
+									开始处理
+								</div>
+								<div class="brief">
+									2018-01-02  12:12:12
+								</div>
+							</aside>
+						</section>-->
+					</article>
+				</div>
+			</div>
+			<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript" src="js/main.js"></script>
+	<script type="text/javascript">
+		window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+		var com = getParam("salesPostFirm");  //快递公司代码
+		var nu = getParam("salesPostNum");  //快递单号
+		mui.ready(function(){
+			var  name = "";
+			switch (com){
+                case "sto":
+                    name= "申通快递";
+                    break;
+                case "yto":
+                    name= "圆通快递";
+                    break;
+                case "zto":
+                    name= "中通速递";
+                    break;
+                case "sf":
+                    name= "顺丰快递";
+                    break;
+                case "ems":
+                    name= "邮政EMS";
+                    break;
+                case "eyb":
+                    name= "E邮宝";
+                    break;
+                case "zjs":
+                    name= "宅急送";
+                    break;
+                case "yunda":
+                    name= "韵达快递";
+                    break;
+                case "cces":
+                    name= "cces快递";
+                    break;
+                case "pick":
+                    name= "上门提货";
+                    break;
+                case "htky":
+                    name= "汇通快递";
+                    break;
+                case "ttkdex":
+                    name= "天天快递";
+                    break;
+                case "stars":
+                    name= "星晨急便";
+                    break;
+                case "jd":
+                    name= "京东快递";
+                    break;
+                case "01":
+                    name= "其他";
+                    break;
+                case "02":
+                    name= "上门送货";
+                    break;
+                case "longbanwuliu":
+                    name= "龙邦快递";
+                    break;
+                default:
+                    break;
+            }
+			$("#com").html(name);
+			$("#nu").html("单号:" + nu);
+			
+				$.ajax(base_path + '/logistics/getExpressInfo?dates=' + new Date().getTime(), {
+					data: {
+						"com": com,
+						"nu":nu
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt);
+							var html = "";
+							mui.each(dt.data.data, function(index) {
+								var logisticsDate = this.time.substring(0,10);
+								html += '<section style="opacity: .5;">'
+								html += '<span class="point-time"></span>'
+								html += '<time datetime="2014-07"><span>'+ logisticsDate +'</span></time>'
+								html += '<aside>'
+								html += '<div class="things">'+ this.context +'</div>'
+								html += '<div class="brief">'+ this.time +'</div>'
+								html += '</aside>'
+								html += '</section>'
+							});
+							
+							html += '<button type="button" class="my-btn-black order_operate" style="margin: 0 auto;width: 100px;display: block;" fixedStatus="aftermarket" orderId>返回</button>'
+							
+							$("#logistic").html(html);
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+			
+		console.log("页面加载完毕");
+		$(".loading").hide().css("opacity", "0");//隐藏(正在加载...)
+	});	
+	
+	
+	
+	/*订单按钮触发事件*/
+	$(document).on('tap', '.order_operate', function() {
+		window.history.back();
+	});
+	</script>
+	</body>
+</html>

+ 54 - 54
tooth/member-follow-me.html

@@ -1,55 +1,55 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title>关注soodo上朵</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-						document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-							WeixinJSBridge.call('hideOptionMenu');
-						});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="follow-me-box">
-				<h3 class="cl-red"> 400积分已入账</h3>
-				<br />
-				<div>
-					关注soodo上朵即可使用<br />立即享受2年续保服务
-				</div>
-			</div>
-			<div class="follow-me-cell">
-				<img width="200px" src="images/erweima-soodo.png" />
-				<p>
-					长按识别,关注soodo公众号
-				</p>
-			</div>
-		</div>
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-		<script type="text/javascript" src="js/main.js"></script>
-		<script type="text/javascript">
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			mui.ready(function() {
-				console.log("页面加载完毕");
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>关注soodo上朵</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+						document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+							WeixinJSBridge.call('hideOptionMenu');
+						});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="follow-me-box">
+				<h3 class="cl-red"> 400积分已入账</h3>
+				<br />
+				<div>
+					关注soodo上朵即可使用<br />立即享受2年续保服务
+				</div>
+			</div>
+			<div class="follow-me-cell">
+				<img width="200px" src="images/erweima-soodo.png" />
+				<p>
+					长按识别,关注soodo公众号
+				</p>
+			</div>
+		</div>
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript" src="js/main.js"></script>
+		<script type="text/javascript">
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			mui.ready(function() {
+				console.log("页面加载完毕");
+			});
+		</script>
+	</body>
+
 </html>

+ 402 - 402
tooth/my-center.html

@@ -1,403 +1,403 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="format-detection" content="telephone=no">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>会员中心</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<!--底部菜单开始-->
-		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
-			<a class="mui-tab-item">
-				<span class="iconfont icon-shouye"></span>
-				<span class="mui-tab-label">首页</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-liebiao"></span>
-				<span class="mui-tab-label">列表</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-gouwuche"></span>
-				<span class="mui-tab-label">购物车</span>
-			</a>
-			<a class="mui-tab-item mui-active">
-				<span class="iconfont icon-huiyuan"></span>
-				<span class="mui-tab-label">会员</span>
-			</a>
-		</footer>
-		<!--底部菜单结束-->
-		<div class="mui-content">
-			<div class="vip-user-box">
-				<div class="user-middle">
-					<div class="user-head">
-						<!--头像-->
-						<!--<img id="headDiv" src="images/tx-1.png" />-->
-						<!--等级图标-->
-						<!--<span class="user-leave"><img src="images/icon-vip-1.png" /></span>-->
-					</div>
-					<!--昵称-->
-					<div class="user-name" id="userNickname"></div>
-					<!--用户身份-->
-					<h6 class="userIdentity"></h6>
-					<!--进度条-->
-					<div id="demo1" class="progressbar-box">
-						<p class="mui-progressbar mui-progressbar-in" data-progress="100"><span></span></p>
-						<!--<div>
-							<span style="float: left;">磷叶石</span><span class="mui-h5">摩根石</span><span style="float: right;" class="mui-h5">钻石</span>
-						</div>-->
-					</div>
-					<!--<h6 class="my-h6">还差300积分即可升级</h6>-->
-				</div>
-			</div>
-			<div class="jifen-box">
-				<div id="jifen-menu-nav" class="mui-segmented-control">
-					<a class="mui-control-item mui-active" status="1">可用积分
-						<div></div>
-					</a>
-					<a class="mui-control-item" status="3">待入积分
-						<div></div>
-					</a>
-					<a class="mui-control-item" status="2">累计积分
-						<div></div>
-					</a>
-				</div>
-			</div>
-			<div class="order-menu-box">
-				<div id="vip-menu-nav" class="mui-segmented-control">
-					<a class="mui-control-item" status="1">
-						<div class="iconfont icon-daifukuan"></div>
-						待付款
-					</a>
-					<a class="mui-control-item" status="2">
-						<div class="iconfont icon-daifahuo">
-							<!--<span class="mui-badge my-badge-danger"></span>-->
-						</div>
-						待发货
-					</a>
-					<a class="mui-control-item" status="5">
-						<div class="iconfont icon-yifahuo"></div>
-						已发货
-					</a>
-					<a class="mui-control-item" status="20">
-						<div class="iconfont icon-quanbu"></div>
-						全部
-					</a>
-				</div>
-			</div>
-			<ul class="mui-table-view mui-table-view-striped mui-table-view-condensed my-center-no" id="center-menu" >
-				<li class="mui-table-view-cell" id="my-coupon-list">
-					<div class="mui-table">
-						<div class="mui-table-cell mui-col-xs-5 table-middle">
-							<span class="iconfont icon-quanbao"></span>我的券包
-						</div>
-						<div class="mui-table-cell mui-col-xs-5 mui-text-right">
-							<span class="mui-icon mui-icon-arrowright"></span>
-						</div>
-					</div>
-				</li>
-				<li class="mui-table-view-cell" id="add-tooth">
-					<div class="mui-table">
-						<div class="mui-table-cell mui-col-xs-5">
-							<span class="iconfont icon-tianjia"></span>添加牙刷
-						</div>
-						<div class="mui-table-cell mui-col-xs-5 mui-text-right">
-							<span class="mui-icon mui-icon-arrowright"></span>
-						</div>
-					</div>
-				</li>
-				<li class="mui-table-view-cell" href="my-center.html" id="my-toothbrush">
-					<div class="mui-table">
-						<div class="mui-table-cell mui-col-xs-5">
-							<span class="iconfont icon-yashua"></span>我的牙刷
-						</div>
-						<div class="mui-table-cell mui-col-xs-5 mui-text-right">
-							<span class="mui-icon mui-icon-arrowright"></span>
-						</div>
-					</div>
-				</li>
-				<li class="mui-table-view-cell" href="tel:4001234123" id="jifen-shopping">
-					<div class="mui-table">
-						<div class="mui-table-cell mui-col-xs-5">
-							<span class="iconfont icon-jifen"></span>积分商城
-						</div>
-						<div class="mui-table-cell mui-col-xs-5 mui-text-right">
-							<i>敬请期待</i> <span class="mui-icon mui-icon-arrowright"></span>
-						</div>
-					</div>
-				</li>
-			</ul>
-			<div class="mui-content-padded mui-text-center">客服电话:
-				<a class="tel" href="tel:4006781860">400-6781860</a>
-			</div>
-		</div>
-		<!-- 加载ing -->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>加载中...</p>
-		</div>
-		<!-- 加载ing END -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			mui.ready(function() {
-				//进度条
-//				var progressbar1 = mui('#demo1');
-//				mui(progressbar1).progressbar().setProgress(50); //设置进度条50(单位%)
-				$(".loading").hide().css("opacity", "0");//隐藏loadilng
-				var userIdentity;
-				//mask.show(); //显示遮罩层蒙板
-			});
-			
-			$.ajax(base_path + '/wechat/userIntegral/getRankRule?dates=' + new Date().getTime(), {
-					data: {},// ajax参数 没有则不写
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {//先判断isRedirect,然后跳转redirectURL
-							location.href = dt.redirectURL;
-						} else {
-							if(dt.status) {//判断接口返回状态status
-								
-								if(dt.data.memberInfo){//判断用户信息是否为空
-									$(".mui-backdrop").remove(); //移除遮罩层
-									var user = document.body.querySelector('.user-head');//头像容器
-									var head= document.createElement('li');
-									var userHead=dt.data.memberInfo.userHead;
-									
-									if(userHead == null || userHead == "" || typeof(userHead) == "undefined"){//判断头像是否为空
-										head.innerHTML='<img id="headDiv" src="images/logo.png" />';//默认头像
-									}else{
-										head.innerHTML='<img id="headDiv" src="'+userHead+'" />';//用户头像
-									}
-									user.appendChild(head);//添加头像
-									
-									var userNickname=dt.data.memberInfo.userNickname;
-									if(userNickname == null || userNickname == "" || typeof(userNickname) == "undefined") {//判断昵称是否为空
-										$("#userNickname").text("微信用户");
-									}else{
-										$("#userNickname").text(dt.data.memberInfo.userNickname);
-									}
-									
-									if(dt.data.notSendCount){//判断未发货数量
-//											$(".my-badge-danger").text(dt.data.notSendCount);
-											var daifahuo = document.body.querySelector('.icon-daifahuo');
-											var s = document.createElement('li');//创建li标签
-											s.innerHTML ='<span class="mui-badge my-badge-danger">'+dt.data.notSendCount+'</span>';
-											daifahuo.appendChild(s);//插入代发货数量
-										}
-									
-									userIdentity=dt.data.memberInfo.userIdentity;
-									
-									if(userIdentity==1){//判断用户身份是否为会员
-										
-										if(!window.sessionStorage) {
-											mui.alert("您的浏览器不支持sessionStorage");
-										} else {
-											//自定义json数据
-											var obj = {
-												userName: dt.data.memberInfo.userName,
-												sex: dt.data.memberInfo.userSex,
-												age: dt.data.memberInfo.userAgeStage,
-												tel: dt.data.memberInfo.userTel
-											};
-											//json格式化插入    
-											sessionStorage.setItem('user_data', JSON.stringify(obj));
-										}
-										
-										var table = document.body.querySelector('.progressbar-box');//进度条容器
-										var div = document.createElement('li');//创建li标签(进度条)
-										
-										var ico= document.createElement('li');//创建li标签(等级图标)
-										ico.innerHTML='<span class="user-leave"><img src="'+dt.data.listRankRule[0].rankIco+'" /></span>';
-										user.appendChild(ico);//添加图标
-										var progressbar1 = mui('#demo1');
-										var lislength=dt.data.listRankRule.length;
-										if(lislength>2){//判断是否有下下级
-											
-											var poorIntegral=dt.data.listRankRule[0].rankRuleIntegral-dt.data.memberInfo.userIntegral;//距离下一个等级的积分
-											div.innerHTML ='<div><span style="float: left;">'//插入等级信息
-													+dt.data.listRankRule[0].rankRuleName+'</span><span class="mui-h5">'
-													+dt.data.listRankRule[1].rankRuleName+'</span><span style="float: right;" class="mui-h5">'
-													+dt.data.listRankRule[2].rankRuleName+'</span></div><h6 class="my-h6">还剩'
-													+poorIntegral+'积分即可升级</h6>';
-											mui(progressbar1).progressbar().setProgress(dt.data.memberInfo.userIntegral/dt.data.listRankRule[0].rankRuleIntegral*100);//进度条%
-											table.appendChild(div);
-										}else if(lislength==2){//只有下一级的情况
-											mui(progressbar1).progressbar().setProgress(dt.data.memberInfo.userIntegral/dt.data.listRankRule[0].rankRuleIntegral*100);//进度条%
-											$(".user-leave img").attr("src",dt.data.listRankRule[0].rankIco);//修改图标
-											var poorIntegral=dt.data.listRankRule[0].rankRuleIntegral-dt.data.memberInfo.userIntegral;//距离下一个等级的积分
-											div.innerHTML ='<div><span style="float: left;">'//插入等级信息
-													+dt.data.listRankRule[0].rankRuleName+'</span><span style="float: right;" class="mui-h5">'
-													+dt.data.listRankRule[1].rankRuleName+'</span></div></br><h6 class="my-h6">还剩'
-													+poorIntegral+'积分即可升级</h6>';
-											table.appendChild(div);
-										}else{//最高级
-											mui(progressbar1).progressbar().setProgress(dt.data.memberInfo.userIntegral/dt.data.listRankRule[0].rankRuleIntegral*100);//进度条%
-											$(".user-leave img").attr("src",dt.data.listRankRule[0].rankIco);//修改图标
-											div.innerHTML ='<div><span style="float: center;">'//插入等级信息
-													+dt.data.listRankRule[0].rankRuleName+'</span></div>';
-											table.appendChild(div);
-										}
-										
-										var userStayIntegral=dt.data.memberInfo.userStayIntegral;
-										var userSurplusIntegral=dt.data.memberInfo.userSurplusIntegral;
-										var userIntegral=dt.data.memberInfo.userIntegral;
-										//判断积分是否为空
-										if(userStayIntegral == null || userStayIntegral == "" || typeof(userStayIntegral) == "undefined") {
-											userStayIntegral = 0;
-										}
-										if(userSurplusIntegral == null || userSurplusIntegral == "" || typeof(userSurplusIntegral) == "undefined") {
-											userSurplusIntegral = 0;
-										}
-										if(userIntegral == null || userIntegral == "" || typeof(userIntegral) == "undefined") {
-											userIntegral = 0;
-										}
-										
-//										var table1 = document.body.querySelector('.mui-segmented-control');
-//										var a = document.createElement('li');//创建li标签
-//										a.innerHTML ='<a class="mui-control-item mui-active status="1"">可用积分<div>'//插入积分信息
-//										+userSurplusIntegral+'</div></a><a class="mui-control-item status="3"">待入积分<div>'
-//										+userStayIntegral+'</div></a><a class="mui-control-item status="2"">累计积分<div>'
-//										+userIntegral+'</div></a>';
-//										table1.appendChild(a);
-										$("#jifen-menu-nav a div").eq(0).text(userSurplusIntegral);
-										$("#jifen-menu-nav a div").eq(1).text(userStayIntegral);
-										$("#jifen-menu-nav a div").eq(2).text(userIntegral);
-									}else{//当为微信用户时
-										if(userNickname){
-											$(".userIdentity").text("微信用户");//不是会员时显示微信用户
-										}
-										$("#my-toothbrush").hide();//隐藏我的牙刷
-										$(".jifen-box").hide();//隐藏积分
-										$(".progressbar-box").hide();//隐藏进度条
-										$(".user-leave").hide();//隐藏会员等级
-//										$(".my-badge-danger").hide();
-								}
-							}else{
-									$(".vip-user-box").hide();
-									$("#my-toothbrush").hide();
-								}
-								
-							} else {
-								mui.alert("进入失败!网络错误");
-							}
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("进入失败!网络错误");
-					}
-				});
-			
-		
-			//头像弹窗
-			$(document).on('tap', '#headDiv', function() {
-				//mask.show(); //显示遮罩层蒙板
-				//判断一下页面上有没有弹窗
-//				if($(".header-dalog").length == 0) {
-//					$("body").append('<div class="dalog-vip-center header-dalog"><div><img width="100%" src="images/to-vip.png" /></div><button type="button">立即购买</button><span class="iconfont icon-guanbi"></span></div>');
-//					$(".header-dalog").show();
-//				} else {
-//					$(".header-dalog").show();
-//				}
-				if(userIdentity==1){
-					//$(".mui-backdrop").remove(); //移除遮罩层
-					location.href = 'my-vip-message.html';
-				}else{
-//					$("body").append('<div class="dalog-vip-center header-dalog"><div><img width="100%" src="images/to-vip.png" /></div><button id="bt-weixin" type="button">立即购买</button><span class="iconfont icon-guanbi"></span></div>');
-//					$(".header-dalog").show();
-					
-				}
-			});
-			/*弹窗按钮状态跳转*/
-			$(document).on('tap', '#bt-weixin', function() {
-				location.href = 'pro-list.html';
-			});
-				
-			
-			//进度条弹窗
-			$(document).on('tap', '#demo1', function() {
-				//mask.show(); //显示遮罩层蒙板
-				if($(".progressbar-dalog").length == 0) {
-					$("body").append('<div class="dalog-vip-center progressbar-dalog"><div><img width="100%" src="images/to-press.png" /></div><button id="bt-member" type="button">我知道了</button><span class="iconfont icon-guanbi"></span></div>');
-					//$(".progressbar-dalog").show();
-				} else {
-					//$(".progressbar-dalog").show();
-				}
-			});
-			$(document).on('tap', '#bt-member', function() {
-				$(".mui-backdrop").remove(); //移除遮罩层
-				$(".progressbar-dalog").hide();//隐藏弹窗
-			});
-			//关闭弹窗
-			$(document).on('tap', '.icon-guanbi', function() {
-				$(".mui-backdrop").remove(); //移除遮罩层
-				$(".dalog-vip-center").hide();//隐藏弹窗
-			});
-			//callback为用户点击蒙版时自动执行的回调;
-			var mask = mui.createMask(function() {
-				$(".dalog-vip-center").hide(); //隐藏弹窗
-			});
-			/*订单状态跳转*/
-			$(document).on('tap', '#vip-menu-nav>a', function() {
-				var status = $(this).attr("status");
-				//带上选中状态跳转
-				location.href = 'order-list.html?salesStatus='+status;
-			});
-			
-			/*积分div跳转积分页面*/
-			$(document).on('tap', '#jifen-menu-nav>a', function() {
-				var status = $(this).attr("status");
-				location.href = 'integral-log.html?integralStatus='+status;
-				console.log(status);
-			});	
-			
-			/*我的券包跳转*/
-			$(document).on('tap', '#my-coupon-list', function() {
-				location.href = 'coupon_list.html';
-			});
-			/*我的牙刷跳转*/
-			$(document).on('tap', '#my-toothbrush', function() {
-				location.href = 'my-tooth.html';
-			});
-			/*添加牙刷跳转*/
-			$(document).on('tap', '#add-tooth', function() {
-				location.href = 'add-tooth.html';
-			});
-			/*积分商城跳转*/
-			$(document).on('tap', '#jifen-shopping', function() {
-				mui.alert("敬请期待!");
-			});
-			
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="format-detection" content="telephone=no">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>会员中心</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<!--底部菜单开始-->
+		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
+			<a class="mui-tab-item">
+				<span class="iconfont icon-shouye"></span>
+				<span class="mui-tab-label">首页</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-liebiao"></span>
+				<span class="mui-tab-label">列表</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-gouwuche"></span>
+				<span class="mui-tab-label">购物车</span>
+			</a>
+			<a class="mui-tab-item mui-active">
+				<span class="iconfont icon-huiyuan"></span>
+				<span class="mui-tab-label">会员</span>
+			</a>
+		</footer>
+		<!--底部菜单结束-->
+		<div class="mui-content">
+			<div class="vip-user-box">
+				<div class="user-middle">
+					<div class="user-head">
+						<!--头像-->
+						<!--<img id="headDiv" src="images/tx-1.png" />-->
+						<!--等级图标-->
+						<!--<span class="user-leave"><img src="images/icon-vip-1.png" /></span>-->
+					</div>
+					<!--昵称-->
+					<div class="user-name" id="userNickname"></div>
+					<!--用户身份-->
+					<h6 class="userIdentity"></h6>
+					<!--进度条-->
+					<div id="demo1" class="progressbar-box">
+						<p class="mui-progressbar mui-progressbar-in" data-progress="100"><span></span></p>
+						<!--<div>
+							<span style="float: left;">磷叶石</span><span class="mui-h5">摩根石</span><span style="float: right;" class="mui-h5">钻石</span>
+						</div>-->
+					</div>
+					<!--<h6 class="my-h6">还差300积分即可升级</h6>-->
+				</div>
+			</div>
+			<div class="jifen-box">
+				<div id="jifen-menu-nav" class="mui-segmented-control">
+					<a class="mui-control-item mui-active" status="1">可用积分
+						<div></div>
+					</a>
+					<a class="mui-control-item" status="3">待入积分
+						<div></div>
+					</a>
+					<a class="mui-control-item" status="2">累计积分
+						<div></div>
+					</a>
+				</div>
+			</div>
+			<div class="order-menu-box">
+				<div id="vip-menu-nav" class="mui-segmented-control">
+					<a class="mui-control-item" status="1">
+						<div class="iconfont icon-daifukuan"></div>
+						待付款
+					</a>
+					<a class="mui-control-item" status="2">
+						<div class="iconfont icon-daifahuo">
+							<!--<span class="mui-badge my-badge-danger"></span>-->
+						</div>
+						待发货
+					</a>
+					<a class="mui-control-item" status="5">
+						<div class="iconfont icon-yifahuo"></div>
+						已发货
+					</a>
+					<a class="mui-control-item" status="20">
+						<div class="iconfont icon-quanbu"></div>
+						全部
+					</a>
+				</div>
+			</div>
+			<ul class="mui-table-view mui-table-view-striped mui-table-view-condensed my-center-no" id="center-menu" >
+				<li class="mui-table-view-cell" id="my-coupon-list">
+					<div class="mui-table">
+						<div class="mui-table-cell mui-col-xs-5 table-middle">
+							<span class="iconfont icon-quanbao"></span>我的券包
+						</div>
+						<div class="mui-table-cell mui-col-xs-5 mui-text-right">
+							<span class="mui-icon mui-icon-arrowright"></span>
+						</div>
+					</div>
+				</li>
+				<li class="mui-table-view-cell" id="add-tooth">
+					<div class="mui-table">
+						<div class="mui-table-cell mui-col-xs-5">
+							<span class="iconfont icon-tianjia"></span>添加牙刷
+						</div>
+						<div class="mui-table-cell mui-col-xs-5 mui-text-right">
+							<span class="mui-icon mui-icon-arrowright"></span>
+						</div>
+					</div>
+				</li>
+				<li class="mui-table-view-cell" href="my-center.html" id="my-toothbrush">
+					<div class="mui-table">
+						<div class="mui-table-cell mui-col-xs-5">
+							<span class="iconfont icon-yashua"></span>我的牙刷
+						</div>
+						<div class="mui-table-cell mui-col-xs-5 mui-text-right">
+							<span class="mui-icon mui-icon-arrowright"></span>
+						</div>
+					</div>
+				</li>
+				<li class="mui-table-view-cell" href="tel:4001234123" id="jifen-shopping">
+					<div class="mui-table">
+						<div class="mui-table-cell mui-col-xs-5">
+							<span class="iconfont icon-jifen"></span>积分商城
+						</div>
+						<div class="mui-table-cell mui-col-xs-5 mui-text-right">
+							<i>敬请期待</i> <span class="mui-icon mui-icon-arrowright"></span>
+						</div>
+					</div>
+				</li>
+			</ul>
+			<div class="mui-content-padded mui-text-center">客服电话:
+				<a class="tel" href="tel:4006781860">400-6781860</a>
+			</div>
+		</div>
+		<!-- 加载ing -->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>加载中...</p>
+		</div>
+		<!-- 加载ing END -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			mui.ready(function() {
+				//进度条
+//				var progressbar1 = mui('#demo1');
+//				mui(progressbar1).progressbar().setProgress(50); //设置进度条50(单位%)
+				$(".loading").hide().css("opacity", "0");//隐藏loadilng
+				var userIdentity;
+				//mask.show(); //显示遮罩层蒙板
+			});
+			
+			$.ajax(base_path + '/wechat/userIntegral/getRankRule?dates=' + new Date().getTime(), {
+					data: {},// ajax参数 没有则不写
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {//先判断isRedirect,然后跳转redirectURL
+							location.href = dt.redirectURL;
+						} else {
+							if(dt.status) {//判断接口返回状态status
+								
+								if(dt.data.memberInfo){//判断用户信息是否为空
+									$(".mui-backdrop").remove(); //移除遮罩层
+									var user = document.body.querySelector('.user-head');//头像容器
+									var head= document.createElement('li');
+									var userHead=dt.data.memberInfo.userHead;
+									
+									if(userHead == null || userHead == "" || typeof(userHead) == "undefined"){//判断头像是否为空
+										head.innerHTML='<img id="headDiv" src="images/logo.png" />';//默认头像
+									}else{
+										head.innerHTML='<img id="headDiv" src="'+userHead+'" />';//用户头像
+									}
+									user.appendChild(head);//添加头像
+									
+									var userNickname=dt.data.memberInfo.userNickname;
+									if(userNickname == null || userNickname == "" || typeof(userNickname) == "undefined") {//判断昵称是否为空
+										$("#userNickname").text("微信用户");
+									}else{
+										$("#userNickname").text(dt.data.memberInfo.userNickname);
+									}
+									
+									if(dt.data.notSendCount){//判断未发货数量
+//											$(".my-badge-danger").text(dt.data.notSendCount);
+											var daifahuo = document.body.querySelector('.icon-daifahuo');
+											var s = document.createElement('li');//创建li标签
+											s.innerHTML ='<span class="mui-badge my-badge-danger">'+dt.data.notSendCount+'</span>';
+											daifahuo.appendChild(s);//插入代发货数量
+										}
+									
+									userIdentity=dt.data.memberInfo.userIdentity;
+									
+									if(userIdentity==1){//判断用户身份是否为会员
+										
+										if(!window.sessionStorage) {
+											mui.alert("您的浏览器不支持sessionStorage");
+										} else {
+											//自定义json数据
+											var obj = {
+												userName: dt.data.memberInfo.userName,
+												sex: dt.data.memberInfo.userSex,
+												age: dt.data.memberInfo.userAgeStage,
+												tel: dt.data.memberInfo.userTel
+											};
+											//json格式化插入    
+											sessionStorage.setItem('user_data', JSON.stringify(obj));
+										}
+										
+										var table = document.body.querySelector('.progressbar-box');//进度条容器
+										var div = document.createElement('li');//创建li标签(进度条)
+										
+										var ico= document.createElement('li');//创建li标签(等级图标)
+										ico.innerHTML='<span class="user-leave"><img src="'+dt.data.listRankRule[0].rankIco+'" /></span>';
+										user.appendChild(ico);//添加图标
+										var progressbar1 = mui('#demo1');
+										var lislength=dt.data.listRankRule.length;
+										if(lislength>2){//判断是否有下下级
+											
+											var poorIntegral=dt.data.listRankRule[0].rankRuleIntegral-dt.data.memberInfo.userIntegral;//距离下一个等级的积分
+											div.innerHTML ='<div><span style="float: left;">'//插入等级信息
+													+dt.data.listRankRule[0].rankRuleName+'</span><span class="mui-h5">'
+													+dt.data.listRankRule[1].rankRuleName+'</span><span style="float: right;" class="mui-h5">'
+													+dt.data.listRankRule[2].rankRuleName+'</span></div><h6 class="my-h6">还剩'
+													+poorIntegral+'积分即可升级</h6>';
+											mui(progressbar1).progressbar().setProgress(dt.data.memberInfo.userIntegral/dt.data.listRankRule[0].rankRuleIntegral*100);//进度条%
+											table.appendChild(div);
+										}else if(lislength==2){//只有下一级的情况
+											mui(progressbar1).progressbar().setProgress(dt.data.memberInfo.userIntegral/dt.data.listRankRule[0].rankRuleIntegral*100);//进度条%
+											$(".user-leave img").attr("src",dt.data.listRankRule[0].rankIco);//修改图标
+											var poorIntegral=dt.data.listRankRule[0].rankRuleIntegral-dt.data.memberInfo.userIntegral;//距离下一个等级的积分
+											div.innerHTML ='<div><span style="float: left;">'//插入等级信息
+													+dt.data.listRankRule[0].rankRuleName+'</span><span style="float: right;" class="mui-h5">'
+													+dt.data.listRankRule[1].rankRuleName+'</span></div></br><h6 class="my-h6">还剩'
+													+poorIntegral+'积分即可升级</h6>';
+											table.appendChild(div);
+										}else{//最高级
+											mui(progressbar1).progressbar().setProgress(dt.data.memberInfo.userIntegral/dt.data.listRankRule[0].rankRuleIntegral*100);//进度条%
+											$(".user-leave img").attr("src",dt.data.listRankRule[0].rankIco);//修改图标
+											div.innerHTML ='<div><span style="float: center;">'//插入等级信息
+													+dt.data.listRankRule[0].rankRuleName+'</span></div>';
+											table.appendChild(div);
+										}
+										
+										var userStayIntegral=dt.data.memberInfo.userStayIntegral;
+										var userSurplusIntegral=dt.data.memberInfo.userSurplusIntegral;
+										var userIntegral=dt.data.memberInfo.userIntegral;
+										//判断积分是否为空
+										if(userStayIntegral == null || userStayIntegral == "" || typeof(userStayIntegral) == "undefined") {
+											userStayIntegral = 0;
+										}
+										if(userSurplusIntegral == null || userSurplusIntegral == "" || typeof(userSurplusIntegral) == "undefined") {
+											userSurplusIntegral = 0;
+										}
+										if(userIntegral == null || userIntegral == "" || typeof(userIntegral) == "undefined") {
+											userIntegral = 0;
+										}
+										
+//										var table1 = document.body.querySelector('.mui-segmented-control');
+//										var a = document.createElement('li');//创建li标签
+//										a.innerHTML ='<a class="mui-control-item mui-active status="1"">可用积分<div>'//插入积分信息
+//										+userSurplusIntegral+'</div></a><a class="mui-control-item status="3"">待入积分<div>'
+//										+userStayIntegral+'</div></a><a class="mui-control-item status="2"">累计积分<div>'
+//										+userIntegral+'</div></a>';
+//										table1.appendChild(a);
+										$("#jifen-menu-nav a div").eq(0).text(userSurplusIntegral);
+										$("#jifen-menu-nav a div").eq(1).text(userStayIntegral);
+										$("#jifen-menu-nav a div").eq(2).text(userIntegral);
+									}else{//当为微信用户时
+										if(userNickname){
+											$(".userIdentity").text("微信用户");//不是会员时显示微信用户
+										}
+										$("#my-toothbrush").hide();//隐藏我的牙刷
+										$(".jifen-box").hide();//隐藏积分
+										$(".progressbar-box").hide();//隐藏进度条
+										$(".user-leave").hide();//隐藏会员等级
+//										$(".my-badge-danger").hide();
+								}
+							}else{
+									$(".vip-user-box").hide();
+									$("#my-toothbrush").hide();
+								}
+								
+							} else {
+								mui.alert("进入失败!网络错误");
+							}
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("进入失败!网络错误");
+					}
+				});
+			
+		
+			//头像弹窗
+			$(document).on('tap', '#headDiv', function() {
+				//mask.show(); //显示遮罩层蒙板
+				//判断一下页面上有没有弹窗
+//				if($(".header-dalog").length == 0) {
+//					$("body").append('<div class="dalog-vip-center header-dalog"><div><img width="100%" src="images/to-vip.png" /></div><button type="button">立即购买</button><span class="iconfont icon-guanbi"></span></div>');
+//					$(".header-dalog").show();
+//				} else {
+//					$(".header-dalog").show();
+//				}
+				if(userIdentity==1){
+					//$(".mui-backdrop").remove(); //移除遮罩层
+					location.href = 'my-vip-message.html';
+				}else{
+//					$("body").append('<div class="dalog-vip-center header-dalog"><div><img width="100%" src="images/to-vip.png" /></div><button id="bt-weixin" type="button">立即购买</button><span class="iconfont icon-guanbi"></span></div>');
+//					$(".header-dalog").show();
+					
+				}
+			});
+			/*弹窗按钮状态跳转*/
+			$(document).on('tap', '#bt-weixin', function() {
+				location.href = 'pro-list.html';
+			});
+				
+			
+			//进度条弹窗
+			$(document).on('tap', '#demo1', function() {
+				//mask.show(); //显示遮罩层蒙板
+				if($(".progressbar-dalog").length == 0) {
+					$("body").append('<div class="dalog-vip-center progressbar-dalog"><div><img width="100%" src="images/to-press.png" /></div><button id="bt-member" type="button">我知道了</button><span class="iconfont icon-guanbi"></span></div>');
+					//$(".progressbar-dalog").show();
+				} else {
+					//$(".progressbar-dalog").show();
+				}
+			});
+			$(document).on('tap', '#bt-member', function() {
+				$(".mui-backdrop").remove(); //移除遮罩层
+				$(".progressbar-dalog").hide();//隐藏弹窗
+			});
+			//关闭弹窗
+			$(document).on('tap', '.icon-guanbi', function() {
+				$(".mui-backdrop").remove(); //移除遮罩层
+				$(".dalog-vip-center").hide();//隐藏弹窗
+			});
+			//callback为用户点击蒙版时自动执行的回调;
+			var mask = mui.createMask(function() {
+				$(".dalog-vip-center").hide(); //隐藏弹窗
+			});
+			/*订单状态跳转*/
+			$(document).on('tap', '#vip-menu-nav>a', function() {
+				var status = $(this).attr("status");
+				//带上选中状态跳转
+				location.href = 'order-list.html?salesStatus='+status;
+			});
+			
+			/*积分div跳转积分页面*/
+			$(document).on('tap', '#jifen-menu-nav>a', function() {
+				var status = $(this).attr("status");
+				location.href = 'integral-log.html?integralStatus='+status;
+				console.log(status);
+			});	
+			
+			/*我的券包跳转*/
+			$(document).on('tap', '#my-coupon-list', function() {
+				location.href = 'coupon_list.html';
+			});
+			/*我的牙刷跳转*/
+			$(document).on('tap', '#my-toothbrush', function() {
+				location.href = 'my-tooth.html';
+			});
+			/*添加牙刷跳转*/
+			$(document).on('tap', '#add-tooth', function() {
+				location.href = 'add-tooth.html';
+			});
+			/*积分商城跳转*/
+			$(document).on('tap', '#jifen-shopping', function() {
+				mui.alert("敬请期待!");
+			});
+			
+		</script>
+	</body>
+
 </html>

+ 163 - 163
tooth/my-tooth.html

@@ -1,164 +1,164 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title>我的牙刷</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script type="text/javascript">
-			// 屏蔽分享
-			window.hiddenAllWechatMenu = true;
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div style="padding: 25px 0;text-align: center;" class="saomiao">
-				<div class="mui-content-padded">
-					<span class="iconfont icon-saomiao cl-red"></span>
-				</div>
-				<p>土豪,请继续添加您的牙刷吧!</p>
-			</div>
-			<div id="pullrefresh_tooth_list">
-			<div>
-				<ul class="my-tooth-ul">
-					<li>
-						<!--<div class="mui-card">
-							<div class="mui-card-header mui-card-media">
-								<img src="images/card-bai.png">
-								<div class="mui-media-body">
-									柔性声波牙刷
-									<h6>产品尾号:3948</h6>
-									<div class="footer">
-										JD购买<span class="mui-pull-right">延保截止:2019-12-20</span>
-									</div>
-								</div>
-							</div>
-						</div>-->
-					</li>
-				</ul>
-			</div>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-		<script type="text/javascript" src="js/main.js"></script>
-		<script type="text/javascript" src="js/wechat-utils-1.0.js"></script>
-		<script type="text/javascript">
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			var pageNumber = 0,pagesize = 10;//pageNumber第几页,pagesize每页条数
-			mui.init({
-				pullRefresh: {
-					container: '#pullrefresh_tooth_list',//上拉加载容器
-					down: {
-						//callback: pulldownRefresh
-					},
-					up: {
-						contentrefresh: '正在加载...',//上拉加载时显示的文字
-						callback: pullupRefresh//上拉加载的回调方法
-					}
-				}
-			});
-			
-			/**
-			 * 上拉加载具体业务实现
-			 */
-			function pullupRefresh() {
-				++pageNumber;//每次上拉页数+1
-				$.ajax(base_path + '/wechat/apparatus/select_apparatus_page?dates=' + new Date().getTime(), {
-							data: {
-								"pageNO":pageNumber,//pageNo第几页
-								"pageSize":pagesize//pageSize每页条数
-							},
-							dataType: 'json',
-							xhrFields: {
-								withCredentials: true
-							},
-							crossDomain: true,
-							type: 'get',
-							timeout: 15000,
-							success: function(dt) {
-								if(dt.isRedirect) {
-									location.href = dt.redirectURL;
-								} else {
-									if(dt.status) {//判断接口返回状态status
-										var table = document.body.querySelector('.my-tooth-ul');//table是插入数据li的父级容器
-										mui('#pullrefresh_tooth_list').pullRefresh().endPullupToRefresh(dt.data.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
-										if(dt.data.length<pagesize){
-											$(".mui-pull-caption-nomore").hide();
-										}
-										mui.each(dt.data, function(index) {
-											var li = document.createElement('li');//创建li标签
-											//li.className='mui-table-view-cell mui-media mui-col-xs-6';//給li标签className
-											var baercode = this.apparatusBarcode.substring(this.apparatusBarcode.length-9);
-											var store = "";
-											/*switch(this.apparatusStore){
-												case 1:
-													store = "天猫";
-													break;
-												case 2:
-													store = "淘宝";
-													break;
-												case 3:
-													store = "京东";
-													break;
-												case 4:
-													store = "微信";
-													break;
-											}*/
-											store = '<span class="">产品尾号:'+ baercode +'</span>';
-											li.innerHTML = '<div class="mui-card"><div class="mui-card-header mui-card-media"> <img src="'+this.productImg+'" style="margin-top: 5px;"> <div class="mui-media-body"> '+this.productName+' <div class="footer"> '+store+'<span class="mui-pull-right">延保截止:'+formatDateFull(this.apparatusWarrantyDate)+'</span> </div> </div> </div></div>';
-											table.appendChild(li);//将li插入table
-										});	
-										$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-									} else {
-										mui.alert("获取产品列表失败!");
-									}
-								}
-							},
-							error: function(xhr, type, errorThrown) {
-								console.log(xhr);
-								mui.alert("获取产品列表失败!网络错误");
-							}
-						});
-			}
-			
-			//调用微信扫一扫
-			$(document).on('tap', '.saomiao', function() {
-				wx.scanQRCode({
-					needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
-					scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
-					success: function(res) {
-						/*var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
-						*/
-					}
-				});
-			});
-
-			
-			
-			mui.ready(function() {
-				mui('#pullrefresh_tooth_list').pullRefresh().pullupLoading();
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>我的牙刷</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script type="text/javascript">
+			// 屏蔽分享
+			window.hiddenAllWechatMenu = true;
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div style="padding: 25px 0;text-align: center;" class="saomiao">
+				<div class="mui-content-padded">
+					<span class="iconfont icon-saomiao cl-red"></span>
+				</div>
+				<p>土豪,请继续添加您的牙刷吧!</p>
+			</div>
+			<div id="pullrefresh_tooth_list">
+			<div>
+				<ul class="my-tooth-ul">
+					<li>
+						<!--<div class="mui-card">
+							<div class="mui-card-header mui-card-media">
+								<img src="images/card-bai.png">
+								<div class="mui-media-body">
+									柔性声波牙刷
+									<h6>产品尾号:3948</h6>
+									<div class="footer">
+										JD购买<span class="mui-pull-right">延保截止:2019-12-20</span>
+									</div>
+								</div>
+							</div>
+						</div>-->
+					</li>
+				</ul>
+			</div>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript" src="js/main.js"></script>
+		<script type="text/javascript" src="js/wechat-utils-1.0.js"></script>
+		<script type="text/javascript">
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			var pageNumber = 0,pagesize = 10;//pageNumber第几页,pagesize每页条数
+			mui.init({
+				pullRefresh: {
+					container: '#pullrefresh_tooth_list',//上拉加载容器
+					down: {
+						//callback: pulldownRefresh
+					},
+					up: {
+						contentrefresh: '正在加载...',//上拉加载时显示的文字
+						callback: pullupRefresh//上拉加载的回调方法
+					}
+				}
+			});
+			
+			/**
+			 * 上拉加载具体业务实现
+			 */
+			function pullupRefresh() {
+				++pageNumber;//每次上拉页数+1
+				$.ajax(base_path + '/wechat/apparatus/select_apparatus_page?dates=' + new Date().getTime(), {
+							data: {
+								"pageNO":pageNumber,//pageNo第几页
+								"pageSize":pagesize//pageSize每页条数
+							},
+							dataType: 'json',
+							xhrFields: {
+								withCredentials: true
+							},
+							crossDomain: true,
+							type: 'get',
+							timeout: 15000,
+							success: function(dt) {
+								if(dt.isRedirect) {
+									location.href = dt.redirectURL;
+								} else {
+									if(dt.status) {//判断接口返回状态status
+										var table = document.body.querySelector('.my-tooth-ul');//table是插入数据li的父级容器
+										mui('#pullrefresh_tooth_list').pullRefresh().endPullupToRefresh(dt.data.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
+										if(dt.data.length<pagesize){
+											$(".mui-pull-caption-nomore").hide();
+										}
+										mui.each(dt.data, function(index) {
+											var li = document.createElement('li');//创建li标签
+											//li.className='mui-table-view-cell mui-media mui-col-xs-6';//給li标签className
+											var baercode = this.apparatusBarcode.substring(this.apparatusBarcode.length-9);
+											var store = "";
+											/*switch(this.apparatusStore){
+												case 1:
+													store = "天猫";
+													break;
+												case 2:
+													store = "淘宝";
+													break;
+												case 3:
+													store = "京东";
+													break;
+												case 4:
+													store = "微信";
+													break;
+											}*/
+											store = '<span class="">产品尾号:'+ baercode +'</span>';
+											li.innerHTML = '<div class="mui-card"><div class="mui-card-header mui-card-media"> <img src="'+this.productImg+'" style="margin-top: 5px;"> <div class="mui-media-body"> '+this.productName+' <div class="footer"> '+store+'<span class="mui-pull-right">延保截止:'+formatDateFull(this.apparatusWarrantyDate)+'</span> </div> </div> </div></div>';
+											table.appendChild(li);//将li插入table
+										});	
+										$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+									} else {
+										mui.alert("获取产品列表失败!");
+									}
+								}
+							},
+							error: function(xhr, type, errorThrown) {
+								console.log(xhr);
+								mui.alert("获取产品列表失败!网络错误");
+							}
+						});
+			}
+			
+			//调用微信扫一扫
+			$(document).on('tap', '.saomiao', function() {
+				wx.scanQRCode({
+					needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
+					scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
+					success: function(res) {
+						/*var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
+						*/
+					}
+				});
+			});
+
+			
+			
+			mui.ready(function() {
+				mui('#pullrefresh_tooth_list').pullRefresh().pullupLoading();
+			});
+		</script>
+	</body>
+
 </html>

+ 252 - 252
tooth/my-vip-message.html

@@ -1,253 +1,253 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title>我的会员信息</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/mui.picker.css" />
-		<link rel="stylesheet" type="text/css" href="css/mui.poppicker.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-//				WeixinJSBridge.call('hideOptionMenu');
-//			});
-		</script>
-	</head>
-	
-	<body>
-		<div class="mui-content">
-			<ul class="mui-table-view mui-table-view-chevron my-vip-msg-list">
-				<li class="mui-table-view-cell" style="padding: 0;">
-					<div class="mui-input-row">
-						<label>姓名</label>
-						<input id="ipt-name" class="mui-text-right" type="text" placeholder="请输入姓名" value="">
-					</div>
-				</li>
-				<li class="mui-table-view-cell">
-					<a class="mui-navigate-right" id="btn-sex">性别 <i class="mui-pull-right update">请选择</i></a>
-				</li>
-				<li class="mui-table-view-cell">
-					<a class="mui-navigate-right" id="btn-age">年龄 <i class="mui-pull-right update">请选择</i></a>
-				</li>
-				<li>
-					<div class="mui-input-row">
-						<label>电话</label>
-						<input id="ipt-tel" class="mui-text-right" type="text"  placeholder="请输入电话号码" value="">
-					</div>
-				</li>
-			</ul>
-			<div class="mui-content-padded">
-				<p class="mui-h6">
-					<span class="iconfont icon-shuoming" style="color: #333;font-size: 16px;margin-right: 5px;"></span>会员说明:生日当天赠送积分、各种特权享不停。
-				</p>
-			</div>
-			<div class="mui-text-center mui-content-padded">
-				<button type="button" class="my-btn-block" id="my-btn-submit" style="margin: 0 auto;padding: 10px 0;">保存</button>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/mui.picker.js"></script>
-		<script type="text/javascript" src="js/mui.poppicker.js"></script>
-		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-		<script type="text/javascript" src="js/main.js"></script>
-		<script type="text/javascript">
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			mui.ready(function() {
-				if(!window.sessionStorage) {
-					mui.alert("您的浏览器不支持sessionStorage");
-				} else {
-					//读取上一个页面带过来的sessionStorage
-					user_data = JSON.parse(sessionStorage.getItem('user_data'));
-					if(user_data != null) {
-						$("#ipt-name").val(user_data.userName);
-						$("#btn-sex i").text(user_data.sex==1?"男":"女").attr("name",user_data.sex);
-						var age='';
-						switch (user_data.age){
-							case 1:
-							age='80后'
-								break;
-							case 2:
-							age='85后'
-								break;
-							case 3:
-							age='90后'
-								break;
-							case 4:
-							age='95后'
-								break;	
-							case 5:
-							age='00后'
-								break;	
-							default:
-							age='其他'
-								break;
-						}
-						$("#btn-age i").text(age).attr("name",user_data.age);
-						$("#ipt-tel").val(user_data.tel);
-					}else{
-						mui.alert("sessionStorage异常!",function(){
-							location.href="my-center.html";
-						});
-					}
-				}
-				//选择性别
-				var userPicker = new mui.PopPicker();
-				userPicker.setData([{
-					value: '1',
-					text: '男'
-				}, {
-					value: '2',
-					text: '女'
-				}]);
-				var showUserPickerButton = dc('btn-sex');
-				showUserPickerButton.addEventListener('tap', function(event) {
-					userPicker.show(function(items) {
-						$("#btn-sex i").text(items[0].text).attr("name",items[0].value);
-						//返回 false 可以阻止选择框的关闭
-						//return false;
-					});
-				}, false);
-				//选择年龄
-				var userPicker1 = new mui.PopPicker();
-				userPicker1.setData([{
-					value: '1',
-					text: '80后'
-				}, {
-					value: '2',
-					text: '85后'
-				}, {
-					value: '3',
-					text: '90后'
-				}, {
-					value: '4',
-					text: '95后'
-				}, {
-					value: '5',
-					text: '00后'
-				}, {
-					value: '6',
-					text: '其他'
-				}]);
-				var showUserPickerButton1 = dc('btn-age');
-				showUserPickerButton1.addEventListener('tap', function(event) {
-					userPicker1.show(function(items) {
-						$("#btn-age i").text(items[0].text).attr("name",items[0].value);
-						//返回 false 可以阻止选择框的关闭
-						//return false;
-					});
-				}, false);
-
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-			});
-			//保存按钮事件
-			$(document).on('tap', '#my-btn-submit', function() {
-				validate(); //先校验文本框
-				if(validate_flag) { //判断是否验证通过
-					var parameter = {}; //ajax参数json集合
-					    parameter["userName"] = $("#ipt-name").val().trim(); //姓名
-						parameter["userSex"] = $("#btn-sex i").attr("name"); //性别
-						if(parameter["userAgeStage"] != null && parameter["userAgeStage"] != "" && typeof(parameter["userAgeStage"])) {
-							parameter["userAgeStage"] =6;
-						}else{
-							parameter["userAgeStage"] = $("#btn-age i").attr("name"); //年龄段
-						}
-						
-						parameter["userTel"] = $("#ipt-tel").val().trim(); //电话
-						console.log(parameter);
-						$.ajax(base_path + '/wechat/member/updateMyMember?dates=' + new Date().getTime(), {
-							data: parameter,
-							dataType: 'json',
-							xhrFields: {
-								withCredentials: true
-							},
-							crossDomain: true,
-							type: 'post',
-							timeout: 15000,
-							success: function(dt) {
-								if(dt.isRedirect) {
-									location.href = dt.redirectURL;
-								} else {
-									if(dt.status) {
-										mui.alert("保存成功!");
-									} else {
-										mui.alert("保存失败!");
-									}
-								}
-							},
-							error: function(xhr, type, errorThrown) {
-								console.log(xhr);
-								mui.alert("保存失败!网络错误");
-							}
-						});
-				} else {
-					mui.alert(dalog_msg);
-				}
-			});
-			//正则表达式示例
-			var dalog_msg = '',
-				validate_flag = false;
-
-			function validate() {
-				var ch_en_num = /^[A-Za-z_\-\u4e00-\u9fa5]{2,10}$/; //简体中文英文(2-10位)
-				var telCode = /^(0?(13|14|15|17|18)[\d]{9}$|(01|02|03|04|05|06|07|08|09)[\d]{7,10}$|(400|800)[0-9]{7}$)/; //手机号,座机(400-800)
-				var name = $("#ipt-name").val().trim(),tel = $("#ipt-tel").val().trim();
-				if(ch_en_num.test(name)) {
-					if($("#btn-sex i").text() != '请选择') {
-						//选择性别通过
-						if($("#btn-age i").text() != '请选择') {
-							//选择年龄通过
-							if(telCode.test(tel)) {
-								//电话验证通过
-								validate_flag = true;
-							} else {
-								//电话未通过验证
-								if(tel != '') {
-									dalog_msg = '您的电话号码格式不正确';
-								} else {
-									dalog_msg = '请您填写电话号码';
-								}
-								validate_flag = false;
-							}
-						} else {
-							//选择年龄未通过验证
-							dalog_msg = '请选择您的年龄段';
-						}
-					} else {
-						//选择性别未通过验证
-						dalog_msg = '请选择您的性别';
-					}
-
-				} else {
-					//姓名未通过验证
-					if(name != '') {
-						dalog_msg = '您的姓名格式不正确';
-					} else {
-						dalog_msg = '请填写您的姓名';
-					}
-					validate_flag = false;
-				}
-				return dalog_msg; //返回提示信息
-			}
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>我的会员信息</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/mui.picker.css" />
+		<link rel="stylesheet" type="text/css" href="css/mui.poppicker.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+//			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+//				WeixinJSBridge.call('hideOptionMenu');
+//			});
+		</script>
+	</head>
+	
+	<body>
+		<div class="mui-content">
+			<ul class="mui-table-view mui-table-view-chevron my-vip-msg-list">
+				<li class="mui-table-view-cell" style="padding: 0;">
+					<div class="mui-input-row">
+						<label>姓名</label>
+						<input id="ipt-name" class="mui-text-right" type="text" placeholder="请输入姓名" value="">
+					</div>
+				</li>
+				<li class="mui-table-view-cell">
+					<a class="mui-navigate-right" id="btn-sex">性别 <i class="mui-pull-right update">请选择</i></a>
+				</li>
+				<li class="mui-table-view-cell">
+					<a class="mui-navigate-right" id="btn-age">年龄 <i class="mui-pull-right update">请选择</i></a>
+				</li>
+				<li>
+					<div class="mui-input-row">
+						<label>电话</label>
+						<input id="ipt-tel" class="mui-text-right" type="text"  placeholder="请输入电话号码" value="">
+					</div>
+				</li>
+			</ul>
+			<div class="mui-content-padded">
+				<p class="mui-h6">
+					<span class="iconfont icon-shuoming" style="color: #333;font-size: 16px;margin-right: 5px;"></span>会员说明:生日当天赠送积分、各种特权享不停。
+				</p>
+			</div>
+			<div class="mui-text-center mui-content-padded">
+				<button type="button" class="my-btn-block" id="my-btn-submit" style="margin: 0 auto;padding: 10px 0;">保存</button>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/mui.picker.js"></script>
+		<script type="text/javascript" src="js/mui.poppicker.js"></script>
+		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript" src="js/main.js"></script>
+		<script type="text/javascript">
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			mui.ready(function() {
+				if(!window.sessionStorage) {
+					mui.alert("您的浏览器不支持sessionStorage");
+				} else {
+					//读取上一个页面带过来的sessionStorage
+					user_data = JSON.parse(sessionStorage.getItem('user_data'));
+					if(user_data != null) {
+						$("#ipt-name").val(user_data.userName);
+						$("#btn-sex i").text(user_data.sex==1?"男":"女").attr("name",user_data.sex);
+						var age='';
+						switch (user_data.age){
+							case 1:
+							age='80后'
+								break;
+							case 2:
+							age='85后'
+								break;
+							case 3:
+							age='90后'
+								break;
+							case 4:
+							age='95后'
+								break;	
+							case 5:
+							age='00后'
+								break;	
+							default:
+							age='其他'
+								break;
+						}
+						$("#btn-age i").text(age).attr("name",user_data.age);
+						$("#ipt-tel").val(user_data.tel);
+					}else{
+						mui.alert("sessionStorage异常!",function(){
+							location.href="my-center.html";
+						});
+					}
+				}
+				//选择性别
+				var userPicker = new mui.PopPicker();
+				userPicker.setData([{
+					value: '1',
+					text: '男'
+				}, {
+					value: '2',
+					text: '女'
+				}]);
+				var showUserPickerButton = dc('btn-sex');
+				showUserPickerButton.addEventListener('tap', function(event) {
+					userPicker.show(function(items) {
+						$("#btn-sex i").text(items[0].text).attr("name",items[0].value);
+						//返回 false 可以阻止选择框的关闭
+						//return false;
+					});
+				}, false);
+				//选择年龄
+				var userPicker1 = new mui.PopPicker();
+				userPicker1.setData([{
+					value: '1',
+					text: '80后'
+				}, {
+					value: '2',
+					text: '85后'
+				}, {
+					value: '3',
+					text: '90后'
+				}, {
+					value: '4',
+					text: '95后'
+				}, {
+					value: '5',
+					text: '00后'
+				}, {
+					value: '6',
+					text: '其他'
+				}]);
+				var showUserPickerButton1 = dc('btn-age');
+				showUserPickerButton1.addEventListener('tap', function(event) {
+					userPicker1.show(function(items) {
+						$("#btn-age i").text(items[0].text).attr("name",items[0].value);
+						//返回 false 可以阻止选择框的关闭
+						//return false;
+					});
+				}, false);
+
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+			});
+			//保存按钮事件
+			$(document).on('tap', '#my-btn-submit', function() {
+				validate(); //先校验文本框
+				if(validate_flag) { //判断是否验证通过
+					var parameter = {}; //ajax参数json集合
+					    parameter["userName"] = $("#ipt-name").val().trim(); //姓名
+						parameter["userSex"] = $("#btn-sex i").attr("name"); //性别
+						if(parameter["userAgeStage"] != null && parameter["userAgeStage"] != "" && typeof(parameter["userAgeStage"])) {
+							parameter["userAgeStage"] =6;
+						}else{
+							parameter["userAgeStage"] = $("#btn-age i").attr("name"); //年龄段
+						}
+						
+						parameter["userTel"] = $("#ipt-tel").val().trim(); //电话
+						console.log(parameter);
+						$.ajax(base_path + '/wechat/member/updateMyMember?dates=' + new Date().getTime(), {
+							data: parameter,
+							dataType: 'json',
+							xhrFields: {
+								withCredentials: true
+							},
+							crossDomain: true,
+							type: 'post',
+							timeout: 15000,
+							success: function(dt) {
+								if(dt.isRedirect) {
+									location.href = dt.redirectURL;
+								} else {
+									if(dt.status) {
+										mui.alert("保存成功!");
+									} else {
+										mui.alert("保存失败!");
+									}
+								}
+							},
+							error: function(xhr, type, errorThrown) {
+								console.log(xhr);
+								mui.alert("保存失败!网络错误");
+							}
+						});
+				} else {
+					mui.alert(dalog_msg);
+				}
+			});
+			//正则表达式示例
+			var dalog_msg = '',
+				validate_flag = false;
+
+			function validate() {
+				var ch_en_num = /^[A-Za-z_\-\u4e00-\u9fa5]{2,10}$/; //简体中文英文(2-10位)
+				var telCode = /^(0?(13|14|15|17|18)[\d]{9}$|(01|02|03|04|05|06|07|08|09)[\d]{7,10}$|(400|800)[0-9]{7}$)/; //手机号,座机(400-800)
+				var name = $("#ipt-name").val().trim(),tel = $("#ipt-tel").val().trim();
+				if(ch_en_num.test(name)) {
+					if($("#btn-sex i").text() != '请选择') {
+						//选择性别通过
+						if($("#btn-age i").text() != '请选择') {
+							//选择年龄通过
+							if(telCode.test(tel)) {
+								//电话验证通过
+								validate_flag = true;
+							} else {
+								//电话未通过验证
+								if(tel != '') {
+									dalog_msg = '您的电话号码格式不正确';
+								} else {
+									dalog_msg = '请您填写电话号码';
+								}
+								validate_flag = false;
+							}
+						} else {
+							//选择年龄未通过验证
+							dalog_msg = '请选择您的年龄段';
+						}
+					} else {
+						//选择性别未通过验证
+						dalog_msg = '请选择您的性别';
+					}
+
+				} else {
+					//姓名未通过验证
+					if(name != '') {
+						dalog_msg = '您的姓名格式不正确';
+					} else {
+						dalog_msg = '请填写您的姓名';
+					}
+					validate_flag = false;
+				}
+				return dalog_msg; //返回提示信息
+			}
+		</script>
+	</body>
+
 </html>

+ 66 - 66
tooth/only-refunds.html

@@ -1,67 +1,67 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>仅退款</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="clearing-box">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
-
-				</ul>
-				<br />
-				<ul class="mui-table-view cusomer-ul">
-					<li>
-						<div class="mui-input-row">
-						<label class="lbl-remarks">退款原因</label>
-						<input class="ipt-remarks" type="text" placeholder="请填写您的退款原因">
-					</div>
-					</li>
-				</ul>
-				<br />
-				<p>提示:提交审核成功后,将在3个工作日内退款将退回原支付账户</p>
-				<br />
-				<div class="mui-content-padded mui-text-center">
-					<button type="button" class="my-btn-black">提交</button>
-				</div>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			//dom加载完毕
-			mui.ready(function() {
-				var str = "";
-				for(i = 0; i < 3; i++) {
-					str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="images/pro-bai.png"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">柔性声波牙刷<h6>颜色:极光白<span class="center">数量:2</span></h6><div>¥2999.00</div></div></div>';
-				}
-				document.querySelector('.shopping-cart-list').innerHTML = str;
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>仅退款</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="clearing-box">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
+
+				</ul>
+				<br />
+				<ul class="mui-table-view cusomer-ul">
+					<li>
+						<div class="mui-input-row">
+						<label class="lbl-remarks">退款原因</label>
+						<input class="ipt-remarks" type="text" placeholder="请填写您的退款原因">
+					</div>
+					</li>
+				</ul>
+				<br />
+				<p>提示:提交审核成功后,将在3个工作日内退款将退回原支付账户</p>
+				<br />
+				<div class="mui-content-padded mui-text-center">
+					<button type="button" class="my-btn-black">提交</button>
+				</div>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			//dom加载完毕
+			mui.ready(function() {
+				var str = "";
+				for(i = 0; i < 3; i++) {
+					str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="images/pro-bai.png"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">柔性声波牙刷<h6>颜色:极光白<span class="center">数量:2</span></h6><div>¥2999.00</div></div></div>';
+				}
+				document.querySelector('.shopping-cart-list').innerHTML = str;
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+			});
+		</script>
+	</body>
+
 </html>

+ 403 - 403
tooth/order-details.html

@@ -1,404 +1,404 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>订单详情</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript">
-			// 屏蔽分享
-			//window.hiddenAllWechatMenu = true;
-		</script>
-	</head>
-
-	<body>
-		<!--底部菜单开始-->
-		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
-			<a class="mui-tab-item ">
-				<span class="iconfont icon-shouye"></span>
-				<span class="mui-tab-label">首页</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-liebiao"></span>
-				<span class="mui-tab-label">列表</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-gouwuche"></span>
-				<span class="mui-tab-label">购物车</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-huiyuan"></span>
-				<span class="mui-tab-label">会员</span>
-			</a>
-		</footer>
-		<!--底部菜单结束-->
-		<div class="mui-content">
-			<div class="address-cantainner">
-				<input type="hidden"  id="salesPostFirm" name="salesPostFirm" value=""/>
-				<input type="hidden"  id="salesPostNum" name="salesPostNum" value=""/>
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
-					<li class="mui-table-view-cell">
-						<div class="mui-table">
-							<!--<div class="mui-table-cell mui-col-xs-12 table-middle" style="display: none;">
-								<div class="add-address"><span class="iconfont icon-jia"></span>添加收货地址</div>
-							</div>-->
-							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
-								<p><span class="iconfont icon-dingwei"></span></p>
-							</div>
-							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
-								<div>收货人:<span id="receiver"></span> <span class="mui-pull-right" id="salesAddressTel">16899996678</span></div>
-								<p>收货地址:<span id="salesAddressInfo"></span></p>
-							</div>
-							<!--<div class="mui-table-cell mui-col-xs-1 mui-text-right table-middle">
-								<p><span class="mui-icon mui-icon-arrowright"></span></p>
-							</div>-->
-						</div>
-					</li>
-				</ul>
-			</div>
-			<div class="clearing-box">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
-
-				</ul>
-				<ul class="mui-table-view">
-					<li class="mui-table-view-cell" style="padding-left:7px;">
-						<a class="btn-youhuiquan">
-							商品总价<span class="mui-pull-right">¥<span id="salesAmount">0.00</span></span>
-						</a>
-					</li>
-					<li class="mui-table-view-cell" style="padding-left:7px;" id="isCouponReduce">
-						<a class="btn-youhuiquan">
-							抵扣金额<span class="mui-pull-right">-¥<span id="couponReduce">0.00</span></span>
-						</a>
-					</li>
-				</ul>
-				<div class="mui-content-padded mui-text-right">实付:<span class="pro-price">¥<span id="salesYetAmount">0.00</span></span></div>
-			</div>
-			<ul class="mui-table-view my-grid-view-no status-list">
-				<li class="mui-table-view-cell">
-					订单状态:<span id="statusName"></span>
-				</li>
-				<li class="mui-table-view-cell">
-					订单编号:<span id="orderId"></span>
-				</li>
-				<li class="mui-table-view-cell">
-					下单时间:<span id="salesCreateDate"></span>
-				</li>
-				<li class="mui-table-view-cell" id="isShowOrderRemark">
-					订单留言:<span id="salesUserRemark"></span>
-				</li>
-			</ul>
-			<br />
-			<div class="mui-content-padded mui-text-center" id="operation">
-				<!--<button type="button" class="my-btn-black">申请售后</button><button type="button" class="my-btn-black">查看物流</button>-->
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script src="js/wechat-utils-1.0.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			var orderId = getParam("orderId");//从URL带过来的订单id
-			
-			var orderStatus = {
-				1: '<button type="button" class="my-btn-black my-order-btn order_operate" fixedStatus="pay" orderId>立即支付</button><button type="button" class="my-btn-black order_operate " fixedStatus="1" orderId>取消订单</button>',
-				2: '<button type="button" class="my-btn-black order_operate " fixedStatus="aftermarket" orderId>申请售后</button>', //申请退款
-				3: '<button type="button" class="my-btn-black order_operate " fixedStatus="3" orderId>取消申请</button>', //退款申请中,可以取消退款
-				5: '<button type="button" class="my-btn-black order_operate " fixedStatus="aftermarket" orderId>申请售后</button>', //已发货状态,可以申请退货、申请换货;
-				6: '<button type="button" class="my-btn-black order_operate " fixedStatus="5" orderId>取消申请</button>', //申请退货中,可以取消申请;
-				7: '<button type="button" class="my-btn-black order_operate " fixedStatus="6" orderId>取消退货</button>', //退货中,可以取消退货
-				11: '<button type="button" class="my-btn-black order_operate " fixedStatus="8" orderId>取消申请</button>' //申请换货中,可以取消申请
-			};
-			
-			//dom加载完毕
-			mui.ready(function() {
-				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
-					data: {
-						"orderId": orderId
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt);
-							var order = dt.data
-							$("#receiver").html(order.salesAddressName);
-							$("#salesAddressTel").html(order.salesAddressTel);
-							$("#salesAddressInfo").html(order.salesAddressInfo);
-							$("#salesAmount").html(accDiv(order.salesAmount,100));
-							
-							if(order.salesPostFirm != null && order.salesPostFirm != "" && typeof(order.salesPostFirm) != "undefined"){
-								$("#salesPostFirm").val(order.salesPostFirm);
-							}
-							if(order.salesPostNum != null && order.salesPostNum != "" && typeof(order.salesPostNum) != "undefined"){
-								$("#salesPostNum").val(order.salesPostNum);
-							}
-							
-							if(order.couponReduce != null && order.couponReduce != "" && typeof(order.couponReduce) != "undefined"){
-								var newCouponReduce = order.salesAmount - order.salesYetAmount;
-								if(newCouponReduce <= 0){
-									newCouponReduce = 0;
-								}else{
-									$("#couponReduce").html(accDiv(newCouponReduce,100));
-								}
-								$("#isCouponReduce").show();
-							}else{
-								$("#isCouponReduce").hide();
-							}
-							$("#salesYetAmount").html(accDiv(order.salesYetAmount,100));
-							var str = "";
-							mui.each(order.orderItemList, function(index) {
-								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ accDiv(this.itemProductDiscount,100) +'</div></div></div>';
-							});
-							document.querySelector('.shopping-cart-list').innerHTML = str;
-							
-							/*订单状态*/
-							var statusName = "";
-							switch (parseInt(order.salesStatus)){
-								case 0 : 
-									statusName = "取消订单";
-									break;
-								case 1 : 
-									statusName = "待支付";
-									break;
-								case 2 : 
-									statusName = "已支付";
-									break;
-								case 3 : 
-									statusName = "退款申请中";
-									break;
-								case 4 : 
-									statusName = "已退款";
-									break;
-								case 5 : 
-									statusName = "已发货";
-									break;
-								case 6 : 
-									statusName = "申请退货中";
-									break;
-								case 7 : 
-									statusName = "退货中";
-									break;
-								case 8 : 
-									statusName = "订单退货完成";
-									break;
-								case 9 : 
-									statusName = "换货中";
-									break;
-								case 10 : 
-									statusName = "换货完成";
-									break;
-								case 11 : 
-									statusName = "申请换货中";
-									break;
-								case 12 : 
-									statusName = "订单完成";
-									break;
-								default:
-									break;
-							}
-							$("#statusName").html(statusName);
-							$("#orderId").html(order.salesOrderid);
-							$("#salesUserRemark").html(order.salesUserRemark);
-							
-							if(order.salesUserRemark != null && order.salesUserRemark != "" && typeof(order.salesUserRemark) != "undefined"){
-								$("#isShowOrderRemark").show();
-							}else{
-								$("#isShowOrderRemark").hide();
-							}
-							
-							$("#salesCreateDate").html(order.salesCreateDate);
-							
-							var status = order.salesStatus;
-							var statusHtml = '';
-							statusHtml = orderStatus[status]; //获取订单状态所展示的按钮
-							if(statusHtml == null || statusHtml == "" || typeof(statusHtml) == "undefined") {
-								statusHtml = '';
-							}
-							if(status == 5 ||  status == 12 ||  status == 6 ||  status == 11) {  //状态为取消,待支付,代发货,退货,换货都没有物流信息
-								if(order.salesPostFirm != null && order.salesPostFirm != "" && typeof(order.salesPostFirm) != "undefined" && order.salesPostNum != null && order.salesPostNum != "" && typeof(order.salesPostNum) != "undefined"){
-									statusHtml += '<button type="button" class="my-btn-black order_operate order_logistics" fixedStatus="logistics" orderId>查询物流</button>';
-								}
-							} 
-							statusHtml  = statusHtml.replace(/\orderId/g,'orderId="'+ order.salesOrderid +'"')
-							$("#operation").html(statusHtml);
-							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-			});
-			
-			
-			/*订单按钮触发事件*/
-			$(document).on('tap', '.order_operate', function() {
-				var status = $(this).attr("fixedStatus");
-				var orderId = $(this).attr("orderId");
-				var remark = "";
-				if( status == "pay") { //调用支付接口
-					pay(orderId);
-				}else if(status == "logistics") {  //查询物流
-					var salesPostFirm = $("#salesPostFirm").val();
-					var salesPostNum = $("#salesPostNum").val();
-					location.href = "logistics-massage.html?salesPostFirm="+salesPostFirm + "&salesPostNum="+salesPostNum;
-				}else if(status == "aftermarket"){
-					location.href = "customer-service.html?orderId=" + orderId;
-				}else{
-					updateOrderStatus(orderId, status, remark);
-				}
-			});
-			
-			/*修改订单状态*/
-			function updateOrderStatus(orderId, status, remark) {
-				var msg = "";
-				if(status == 1){
-					msg = "是否取消该订单";
-				}else if(status == 3){
-					msg = "是否取消申请退款";
-				}else if(status == 5){
-					msg = "是否取消申请退货";
-				}else if(status == 6){
-					msg = "是否取消申请退货";
-				}else if(status == 8){
-					msg = "是否取消申请换货";
-				}
-				
-				var btnArray = ['否', '是'];
-				mui.confirm(msg, "", btnArray, function(e){
-					 if (e.index == 1) {
-					 	$.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
-							data: {
-								"status": status, //更改后的状态
-								"orderId": orderId, //订单id
-								"remark": remark
-							},
-							dataType: 'json',
-							xhrFields: {
-								withCredentials: true
-							},
-							crossDomain: true,
-							type: 'get',
-							timeout: 15000,
-							success: function(dt) {
-								if(dt.resultCode == 200) {
-									//mui.alert("获取订单列表失败!网络错误");
-									//location.reload();//刷新
-								}
-								location.reload();//刷新
-							},
-							error: function(xhr, type, errorThrown) {
-								console.log(xhr);
-								mui.alert("获取订单列表失败!网络错误");
-							}
-						});
-					 }
-				})
-			}
-			
-			/*支付*/
-			function pay(orderId) {
-				$.ajax(base_path + '/wechat/cart/orderPay?dates=' + new Date().getTime(), {
-					data: {
-						"orderId": orderId
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.resultCode == "500") {
-							mui.alert(dt.message);
-							isPay = true;
-							return;
-						};
-						if(dt.data.info == "isOK") {
-							location.href='pay-win.html?orderId='+ dt.data.orderId + "&dates=" + new Date().getTime()
-//							mui.openWindow({
-//								url: base_path+"/wechat/order/paySuccess?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime()
-//							});
-							return;
-						};
-						if(dt.status) {
-							var str = dt.data.info;
-							var obj = JSON.parse("{" + str + "}");
-							WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
-								if(res.err_msg == 'get_brand_wcpay_request:ok') {
-									$.ajax(base_path + '/wechat/order/checkOrderPaySuccess?dates=' + new Date().getTime(), {
-										data: {
-											"orderId": dt.data.orderId
-										},
-										dataType: 'json',
-										xhrFields: {
-											withCredentials: true
-										},
-										crossDomain: true,
-										type: 'get',
-										timeout: 15000,
-										success: function(dataobj) {
-											if(dataobj.isRedirect) {
-												location.href = dataobj.redirectURL;
-											} else {
-												if(dataobj.status == true) { // 支付成功
-													location.href = "pay-win.html?orderId=" + dataobj.data + "&dates=" + new Date().getTime();
-												} else {
-													location.href = "order-details.html?orderId=" + dataobj.data + "&dates=" + new Date().getTime(); // 前往订单详情
-												}
-											}
-										},
-										error: function(xhr, type, errorThrown) {
-											console.log(xhr);
-										}
-									});
-							} else {
-								isPay = true;
-								mui.toast("对不起,支付失败!请稍后重试!");
-							}
-						});
-						} else {
-							isPay = true;
-							mui.alert(dt.message);
-							location.href = "order-details.html?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime(); // 前往订单详情
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-			}
-			
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>订单详情</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript">
+			// 屏蔽分享
+			//window.hiddenAllWechatMenu = true;
+		</script>
+	</head>
+
+	<body>
+		<!--底部菜单开始-->
+		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
+			<a class="mui-tab-item ">
+				<span class="iconfont icon-shouye"></span>
+				<span class="mui-tab-label">首页</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-liebiao"></span>
+				<span class="mui-tab-label">列表</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-gouwuche"></span>
+				<span class="mui-tab-label">购物车</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-huiyuan"></span>
+				<span class="mui-tab-label">会员</span>
+			</a>
+		</footer>
+		<!--底部菜单结束-->
+		<div class="mui-content">
+			<div class="address-cantainner">
+				<input type="hidden"  id="salesPostFirm" name="salesPostFirm" value=""/>
+				<input type="hidden"  id="salesPostNum" name="salesPostNum" value=""/>
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
+					<li class="mui-table-view-cell">
+						<div class="mui-table">
+							<!--<div class="mui-table-cell mui-col-xs-12 table-middle" style="display: none;">
+								<div class="add-address"><span class="iconfont icon-jia"></span>添加收货地址</div>
+							</div>-->
+							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
+								<p><span class="iconfont icon-dingwei"></span></p>
+							</div>
+							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
+								<div>收货人:<span id="receiver"></span> <span class="mui-pull-right" id="salesAddressTel">16899996678</span></div>
+								<p>收货地址:<span id="salesAddressInfo"></span></p>
+							</div>
+							<!--<div class="mui-table-cell mui-col-xs-1 mui-text-right table-middle">
+								<p><span class="mui-icon mui-icon-arrowright"></span></p>
+							</div>-->
+						</div>
+					</li>
+				</ul>
+			</div>
+			<div class="clearing-box">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
+
+				</ul>
+				<ul class="mui-table-view">
+					<li class="mui-table-view-cell" style="padding-left:7px;">
+						<a class="btn-youhuiquan">
+							商品总价<span class="mui-pull-right">¥<span id="salesAmount">0.00</span></span>
+						</a>
+					</li>
+					<li class="mui-table-view-cell" style="padding-left:7px;" id="isCouponReduce">
+						<a class="btn-youhuiquan">
+							抵扣金额<span class="mui-pull-right">-¥<span id="couponReduce">0.00</span></span>
+						</a>
+					</li>
+				</ul>
+				<div class="mui-content-padded mui-text-right">实付:<span class="pro-price">¥<span id="salesYetAmount">0.00</span></span></div>
+			</div>
+			<ul class="mui-table-view my-grid-view-no status-list">
+				<li class="mui-table-view-cell">
+					订单状态:<span id="statusName"></span>
+				</li>
+				<li class="mui-table-view-cell">
+					订单编号:<span id="orderId"></span>
+				</li>
+				<li class="mui-table-view-cell">
+					下单时间:<span id="salesCreateDate"></span>
+				</li>
+				<li class="mui-table-view-cell" id="isShowOrderRemark">
+					订单留言:<span id="salesUserRemark"></span>
+				</li>
+			</ul>
+			<br />
+			<div class="mui-content-padded mui-text-center" id="operation">
+				<!--<button type="button" class="my-btn-black">申请售后</button><button type="button" class="my-btn-black">查看物流</button>-->
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script src="js/wechat-utils-1.0.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			var orderId = getParam("orderId");//从URL带过来的订单id
+			
+			var orderStatus = {
+				1: '<button type="button" class="my-btn-black my-order-btn order_operate" fixedStatus="pay" orderId>立即支付</button><button type="button" class="my-btn-black order_operate " fixedStatus="1" orderId>取消订单</button>',
+				2: '<button type="button" class="my-btn-black order_operate " fixedStatus="aftermarket" orderId>申请售后</button>', //申请退款
+				3: '<button type="button" class="my-btn-black order_operate " fixedStatus="3" orderId>取消申请</button>', //退款申请中,可以取消退款
+				5: '<button type="button" class="my-btn-black order_operate " fixedStatus="aftermarket" orderId>申请售后</button>', //已发货状态,可以申请退货、申请换货;
+				6: '<button type="button" class="my-btn-black order_operate " fixedStatus="5" orderId>取消申请</button>', //申请退货中,可以取消申请;
+				7: '<button type="button" class="my-btn-black order_operate " fixedStatus="6" orderId>取消退货</button>', //退货中,可以取消退货
+				11: '<button type="button" class="my-btn-black order_operate " fixedStatus="8" orderId>取消申请</button>' //申请换货中,可以取消申请
+			};
+			
+			//dom加载完毕
+			mui.ready(function() {
+				$.ajax(base_path + '/wechat/cart/getShopOrderByOrderId?dates=' + new Date().getTime(), {
+					data: {
+						"orderId": orderId
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt);
+							var order = dt.data
+							$("#receiver").html(order.salesAddressName);
+							$("#salesAddressTel").html(order.salesAddressTel);
+							$("#salesAddressInfo").html(order.salesAddressInfo);
+							$("#salesAmount").html(accDiv(order.salesAmount,100));
+							
+							if(order.salesPostFirm != null && order.salesPostFirm != "" && typeof(order.salesPostFirm) != "undefined"){
+								$("#salesPostFirm").val(order.salesPostFirm);
+							}
+							if(order.salesPostNum != null && order.salesPostNum != "" && typeof(order.salesPostNum) != "undefined"){
+								$("#salesPostNum").val(order.salesPostNum);
+							}
+							
+							if(order.couponReduce != null && order.couponReduce != "" && typeof(order.couponReduce) != "undefined"){
+								var newCouponReduce = order.salesAmount - order.salesYetAmount;
+								if(newCouponReduce <= 0){
+									newCouponReduce = 0;
+								}else{
+									$("#couponReduce").html(accDiv(newCouponReduce,100));
+								}
+								$("#isCouponReduce").show();
+							}else{
+								$("#isCouponReduce").hide();
+							}
+							$("#salesYetAmount").html(accDiv(order.salesYetAmount,100));
+							var str = "";
+							mui.each(order.orderItemList, function(index) {
+								str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="'+ this.itemProductPic +'"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">'+ this.itemProductName +'<h6>颜色:'+ this.productColor +'<span class="center">数量:'+ this.itemNum +'</span></h6><div>¥'+ accDiv(this.itemProductDiscount,100) +'</div></div></div>';
+							});
+							document.querySelector('.shopping-cart-list').innerHTML = str;
+							
+							/*订单状态*/
+							var statusName = "";
+							switch (parseInt(order.salesStatus)){
+								case 0 : 
+									statusName = "取消订单";
+									break;
+								case 1 : 
+									statusName = "待支付";
+									break;
+								case 2 : 
+									statusName = "已支付";
+									break;
+								case 3 : 
+									statusName = "退款申请中";
+									break;
+								case 4 : 
+									statusName = "已退款";
+									break;
+								case 5 : 
+									statusName = "已发货";
+									break;
+								case 6 : 
+									statusName = "申请退货中";
+									break;
+								case 7 : 
+									statusName = "退货中";
+									break;
+								case 8 : 
+									statusName = "订单退货完成";
+									break;
+								case 9 : 
+									statusName = "换货中";
+									break;
+								case 10 : 
+									statusName = "换货完成";
+									break;
+								case 11 : 
+									statusName = "申请换货中";
+									break;
+								case 12 : 
+									statusName = "订单完成";
+									break;
+								default:
+									break;
+							}
+							$("#statusName").html(statusName);
+							$("#orderId").html(order.salesOrderid);
+							$("#salesUserRemark").html(order.salesUserRemark);
+							
+							if(order.salesUserRemark != null && order.salesUserRemark != "" && typeof(order.salesUserRemark) != "undefined"){
+								$("#isShowOrderRemark").show();
+							}else{
+								$("#isShowOrderRemark").hide();
+							}
+							
+							$("#salesCreateDate").html(order.salesCreateDate);
+							
+							var status = order.salesStatus;
+							var statusHtml = '';
+							statusHtml = orderStatus[status]; //获取订单状态所展示的按钮
+							if(statusHtml == null || statusHtml == "" || typeof(statusHtml) == "undefined") {
+								statusHtml = '';
+							}
+							if(status == 5 ||  status == 12 ||  status == 6 ||  status == 11) {  //状态为取消,待支付,代发货,退货,换货都没有物流信息
+								if(order.salesPostFirm != null && order.salesPostFirm != "" && typeof(order.salesPostFirm) != "undefined" && order.salesPostNum != null && order.salesPostNum != "" && typeof(order.salesPostNum) != "undefined"){
+									statusHtml += '<button type="button" class="my-btn-black order_operate order_logistics" fixedStatus="logistics" orderId>查询物流</button>';
+								}
+							} 
+							statusHtml  = statusHtml.replace(/\orderId/g,'orderId="'+ order.salesOrderid +'"')
+							$("#operation").html(statusHtml);
+							$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+			});
+			
+			
+			/*订单按钮触发事件*/
+			$(document).on('tap', '.order_operate', function() {
+				var status = $(this).attr("fixedStatus");
+				var orderId = $(this).attr("orderId");
+				var remark = "";
+				if( status == "pay") { //调用支付接口
+					pay(orderId);
+				}else if(status == "logistics") {  //查询物流
+					var salesPostFirm = $("#salesPostFirm").val();
+					var salesPostNum = $("#salesPostNum").val();
+					location.href = "logistics-massage.html?salesPostFirm="+salesPostFirm + "&salesPostNum="+salesPostNum;
+				}else if(status == "aftermarket"){
+					location.href = "customer-service.html?orderId=" + orderId;
+				}else{
+					updateOrderStatus(orderId, status, remark);
+				}
+			});
+			
+			/*修改订单状态*/
+			function updateOrderStatus(orderId, status, remark) {
+				var msg = "";
+				if(status == 1){
+					msg = "是否取消该订单";
+				}else if(status == 3){
+					msg = "是否取消申请退款";
+				}else if(status == 5){
+					msg = "是否取消申请退货";
+				}else if(status == 6){
+					msg = "是否取消申请退货";
+				}else if(status == 8){
+					msg = "是否取消申请换货";
+				}
+				
+				var btnArray = ['否', '是'];
+				mui.confirm(msg, "", btnArray, function(e){
+					 if (e.index == 1) {
+					 	$.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
+							data: {
+								"status": status, //更改后的状态
+								"orderId": orderId, //订单id
+								"remark": remark
+							},
+							dataType: 'json',
+							xhrFields: {
+								withCredentials: true
+							},
+							crossDomain: true,
+							type: 'get',
+							timeout: 15000,
+							success: function(dt) {
+								if(dt.resultCode == 200) {
+									//mui.alert("获取订单列表失败!网络错误");
+									//location.reload();//刷新
+								}
+								location.reload();//刷新
+							},
+							error: function(xhr, type, errorThrown) {
+								console.log(xhr);
+								mui.alert("获取订单列表失败!网络错误");
+							}
+						});
+					 }
+				})
+			}
+			
+			/*支付*/
+			function pay(orderId) {
+				$.ajax(base_path + '/wechat/cart/orderPay?dates=' + new Date().getTime(), {
+					data: {
+						"orderId": orderId
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.resultCode == "500") {
+							mui.alert(dt.message);
+							isPay = true;
+							return;
+						};
+						if(dt.data.info == "isOK") {
+							location.href='pay-win.html?orderId='+ dt.data.orderId + "&dates=" + new Date().getTime()
+//							mui.openWindow({
+//								url: base_path+"/wechat/order/paySuccess?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime()
+//							});
+							return;
+						};
+						if(dt.status) {
+							var str = dt.data.info;
+							var obj = JSON.parse("{" + str + "}");
+							WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
+								if(res.err_msg == 'get_brand_wcpay_request:ok') {
+									$.ajax(base_path + '/wechat/order/checkOrderPaySuccess?dates=' + new Date().getTime(), {
+										data: {
+											"orderId": dt.data.orderId
+										},
+										dataType: 'json',
+										xhrFields: {
+											withCredentials: true
+										},
+										crossDomain: true,
+										type: 'get',
+										timeout: 15000,
+										success: function(dataobj) {
+											if(dataobj.isRedirect) {
+												location.href = dataobj.redirectURL;
+											} else {
+												if(dataobj.status == true) { // 支付成功
+													location.href = "pay-win.html?orderId=" + dataobj.data + "&dates=" + new Date().getTime();
+												} else {
+													location.href = "order-details.html?orderId=" + dataobj.data + "&dates=" + new Date().getTime(); // 前往订单详情
+												}
+											}
+										},
+										error: function(xhr, type, errorThrown) {
+											console.log(xhr);
+										}
+									});
+							} else {
+								isPay = true;
+								mui.toast("对不起,支付失败!请稍后重试!");
+							}
+						});
+						} else {
+							isPay = true;
+							mui.alert(dt.message);
+							location.href = "order-details.html?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime(); // 前往订单详情
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+			}
+			
+		</script>
+	</body>
+
 </html>

+ 375 - 375
tooth/order-list.html

@@ -1,376 +1,376 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>订单列表</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<style>
-			.order_operate{
-				    color: #000!important;border-radius: 0px;border: 1px solid rgba(0,0,0,.5);    padding: 6px 0;width: 40%;
-			}
-		</style>
-		<script type="text/javascript">
-			// 屏蔽分享
-			window.hiddenAllWechatMenu = true;
-		</script>
-	</head>
-
-	<body>
-		<div id="pro-menu" class="mui-segmented-control" id="mui-segmented-control">
-			<a class="mui-control-item mui-active" id="status_1" href="#item1" name="1">待付款</a>
-			<a class="mui-control-item" id="status_2" href="#item2" name="2">待发货</a>
-			<a class="mui-control-item" id="status_5" href="#item3" name="5">已发货</a>
-			<a class="mui-control-item" id="status_20" href="#item4" name="">全部</a>
-		</div>
-		<div id="pullrefresh_pro_list" class="mui-content mui-scroll-wrapper" style="top: 50px;">
-			<div class="mui-scroll">
-				<ul class="my-table-view-order my-table-pull">
-					<li>
-						<!--<ul class="mui-table-view mui-grid-view my-view-no" style="padding-bottom: 0;">
-					        <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-text-left">
-					            <a href="#"><img class="mui-media-object" src="images/pro-bai.png"></a>
-					        </li>
-					        <li class="mui-table-view-cell mui-media mui-col-xs-8 mui-text-left">
-					            <a>
-					                <div class="pro-tit">柔性声波牙刷 <span class="mui-h5 mui-pull-right cl-red">待付款</span></div>
-					                <h6 >颜色:极光白<span class="mui-pull-right">数量:2</span></h6>
-					                <p>¥2999.00</p>
-					            </a>
-					        </li>
-					        <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-text-left">
-					            <a href="#"><img class="mui-media-object" src="images/pro-bai.png"></a>
-					        </li>
-					        <li class="mui-table-view-cell mui-media mui-col-xs-8 mui-text-left">
-					            <a>
-					                <div class="pro-tit">柔性声波牙刷 <span class="mui-h5 mui-pull-right cl-red">待付款</span></div>
-					                <h6 >颜色:极光白<span class="mui-pull-right">数量:2</span></h6>
-					                <p>¥2999.00</p>
-					            </a>
-					        </li>
-					        <li class="mui-table-view-cell mui-media mui-col-xs-6">
-					        	<span class="mui-pull-left">共<span class="cl-red">2</span>件</span>
-					        </li>
-					        <li class="mui-table-view-cell mui-media mui-col-xs-6 mui-text-right">
-					        	合计:<span class="cl-red">¥5998.00</span>
-					        </li>
-					        <li class="mui-table-view-cell mui-media mui-col-xs-5 mui-text-left">
-					        	<h6>58分钟后,订单将失效</h6>
-					        </li>
-					        <li class="mui-table-view-cell mui-media mui-col-xs-7 mui-text-right">
-					        	<button type="button" class="my-order-btn">取消订单</button><button type="button" class="my-order-btn">立即支付</button>
-					        </li>
-					   </ul>-->
-					</li>
-				</ul>
-			</div>
-		</div>
-		<!-- 加载ing -->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>加载中...</p>
-		</div>
-		<!-- 加载ing END -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/jquery.autocompleter.js"></script>
-		<script src="js/main.js"></script>
-		<script src="js/wechat-utils-1.0.js"></script>
-
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			var salesStatus = getParam("salesStatus");  //待支付
-			var pageNumber = 0,
-				pagesize = 10; //pageNumber第几页,pagesize每页条数
-
-//			var orderDesc = '<button type="button" class="my-order-btn order_operate order_desc" fixedStatus="desc" orderId>订单详情</button>';
-			var orderStatus = {
-				1: '<button type="button" class="my-order-btn order_operate pay_order" fixedStatus="pay" orderId>立即支付</button><button type="button" class="my-btn-black my-btn order_operate order_desc" fixedStatus="desc" orderId>订单详情</button>',
-				3: '<button type="button" class="my-order-btn order_operate cancel_apply_refund" fixedStatus="3" orderId>取消申请</button>', //退款申请中
-				6: '<button type="button" class="my-order-btn order_operate cancel_product_return" fixedStatus="5" orderId>取消退货</button>', //申请退货中
-				7: '<button type="button" class="my-order-btn order_operate cancel_product_return" fixedStatus="6" orderId>取消退货</button>', //退货中
-				11: '<button type="button" class="my-order-btn order_operate cancel_apply_exchange" fixedStatus="8" orderId>取消申请</button>' //申请换货中
-			};
-
-			mui.init({
-				pullRefresh: {
-					container: '#pullrefresh_pro_list', //上拉加载容器
-					down: {
-						//callback: pulldownRefresh
-					},
-					up: {
-						contentrefresh: '正在加载...', //上拉加载时显示的文字
-						callback: pullupRefresh //上拉加载的回调方法
-					}
-				}
-			});
-
-			/*订单按钮触发事件*/
-			$(document).on('tap', '.order_operate', function() {
-				var status = $(this).attr("fixedStatus");
-				var orderId = $(this).attr("orderId");
-				var remark = "";
-				if( status == "pay") { //调用支付接口
-					pay(orderId);
-				}else if(status == "desc") {
-					location.href = "order-details.html?orderId="+orderId;
-				}else{
-					updateOrderStatus(orderId, status, remark);
-				}
-			});
-
-			/*修改订单状态*/
-			function updateOrderStatus(orderId, status, remark) {
-				var msg = "";
-				var successMsg = "";
-				if(status == 1){
-					msg = "是否取消该订单";
-					//successMsg = "该订单已取消";
-				}else if(status == 3){
-					msg = "是否取消申请退款";
-				}else if(status == 5){
-					msg = "是否取消申请退货";
-				}else if(status == 6){
-					msg = "是否取消申请退货";
-				}else if(status == 8){
-					msg = "是否取消申请换货";
-				}
-				var btnArray = ['否', '是'];
-				mui.confirm(msg, "", btnArray, function(e){
-					 if (e.index == 1) {
-			            $.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
-							data: {
-								"status": status, //更改后的状态
-								"orderId": orderId, //订单id
-								"remark": remark
-							},
-							dataType: 'json',
-							xhrFields: {
-								withCredentials: true
-							},
-							crossDomain: true,
-							type: 'get',
-							timeout: 15000,
-							success: function(dt) {
-								if(dt.resultCode == 200) {
-									//mui.alert(successMsg);
-								} 
-								pageNumber = 0; //页数归零
-								$('.my-table-pull').empty(); //清空产品列表
-								mui('#pullrefresh_pro_list').pullRefresh().pullupLoading(); //重新加载数据
-								mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
-							},
-							error: function(xhr, type, errorThrown) {
-								console.log(xhr);
-								mui.alert("获取订单列表失败!网络错误");
-							}
-						});
-			        } 
-					
-				})
-				
-			}
-
-			/*支付*/
-			function pay(orderId) {
-				$.ajax(base_path + '/wechat/cart/orderPay?dates=' + new Date().getTime(), {
-					data: {
-						"orderId": orderId
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.resultCode == "500") {
-							mui.alert(dt.message);
-							isPay = true;
-							return;
-						};
-						if(dt.data.info == "isOK") {
-							location.href='pay-win.html?orderId='+ dt.data.orderId + "&dates=" + new Date().getTime()
-//							mui.openWindow({
-//								url: base_path+"/wechat/order/paySuccess?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime()
-//							});
-							return;
-						};
-						if(dt.status) {
-							var str = dt.data.info;
-							var obj = JSON.parse("{" + str + "}");
-							WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
-								if(res.err_msg == 'get_brand_wcpay_request:ok') {
-									$.ajax(base_path + '/wechat/order/checkOrderPaySuccess?dates=' + new Date().getTime(), {
-										data: {
-											"orderId": dt.data.orderId
-										},
-										dataType: 'json',
-										xhrFields: {
-											withCredentials: true
-										},
-										crossDomain: true,
-										type: 'get',
-										timeout: 15000,
-										success: function(dataobj) {
-											if(dataobj.isRedirect) {
-												location.href = dataobj.redirectURL;
-											} else {
-												if(dataobj.status == true) { // 支付成功
-													location.href = "pay-win.html?orderId=" + dataobj.data + "&dates=" + new Date().getTime();
-												} else {
-													location.href = "order-details.html?orderId=" + dataobj.data + "&dates=" + new Date().getTime(); // 前往订单详情
-												}
-											}
-										},
-										error: function(xhr, type, errorThrown) {
-											console.log(xhr);
-										}
-									});
-							} else {
-								isPay = true;
-								mui.toast("对不起,支付失败!请稍后重试!");
-							}
-						});
-						} else {
-							isPay = true;
-							mui.alert(dt.message);
-							location.href = "order-details.html?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime(); // 前往订单详情
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-			}
-			
-			/**
-			 * 上拉加载具体业务实现
-			 */
-			function pullupRefresh() {
-				++pageNumber; //每次上拉页数+1
-				$.ajax(base_path + '/wechat/cart/selectShopOrder?dates=' + new Date().getTime(), {
-					data: {
-						"salesStatus": salesStatus, //产品类型id
-						"pageNO": pageNumber, //pageNo第几页
-						"pageSize": pagesize //pageSize每页条数
-					},
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true	
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {
-							location.href = dt.redirectURL;
-						} else {
-							console.log(dt);
-							if(dt.status) { //判断接口返回状态status
-								var table = document.body.querySelector('.my-table-pull'); //table是插入数据li的父级容器
-								mui('#pullrefresh_pro_list').pullRefresh().endPullupToRefresh(dt.data.orderList.length < pagesize); //endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
-								mui.each(dt.data.orderList, function(index) {
-									var li = document.createElement('li'); //创建li标签
-
-									var orderHtml = '<ul class="mui-table-view mui-grid-view my-view-no order_desc"  style="padding-bottom: 10px;" >';
-									var orderItemHtml = '';
-									var allNum = 0;
-									mui.each(this.orderItemList, function(index) {
-										allNum += this.itemNum;
-										orderItemHtml += '<li class="mui-table-view-cell mui-media mui-col-xs-4 mui-text-left">' +
-											'<a href="#"><img class="mui-media-object" src="' + this.itemProductPic + '"></a>' +
-											'</li>' +
-											'<li class="mui-table-view-cell mui-media mui-col-xs-8 mui-text-left">' +
-											'<a>' +
-											'<div class="pro-tit">' + this.itemProductName + ' <span class="mui-h5 mui-pull-right cl-red"></span></div>' +
-											'<h6 >颜色:' + this.productColor + ' <span class="mui-pull-right">数量:' + this.itemNum + '</span></h6>' +
-											'<p> ¥' + accDiv(this.itemProductDiscount,100) + '</p>' +
-											'</a>' +
-											'</li>';
-									});
-									orderHtml += orderItemHtml;
-									var status = this.salesStatus;
-									var statusHtml = '';
-									statusHtml = orderStatus[status]; //获取订单状态所展示的按钮
-									if(statusHtml == null || statusHtml == "" || typeof(statusHtml) == "undefined") {
-										statusHtml = '';
-									}
-									if(status != 1) {
-										statusHtml += '<button type="button" class="my-order-btn order_operate order_desc" fixedStatus="desc" orderId style=" color: #000!important;border-radius: 0px;border: 1px solid rgba(0,0,0,.5);">订单详情</button>';
-									} 
-									statusHtml  = statusHtml.replace(/\orderId/g,'orderId="'+ this.salesOrderid +'"');
-									
-									orderHtml += '<li class="mui-table-view-cell mui-media mui-col-xs-6">' +
-										'<span class="mui-pull-left">共<span class="cl-red">' + allNum + '</span>件</span>' +
-										'</li>' +
-										'<li class="mui-table-view-cell mui-media mui-col-xs-6 mui-text-right">' +
-										'实付:<span class="cl-red">¥' + accDiv(this.salesYetAmount,100) + '</span>' +
-										'</li>' +
-										'<li class="mui-table-view-cell mui-media mui-col-xs-5 mui-text-left">'
-										//+'<h6>58分钟后,订单将失效</h6>'
-										+
-										'</li>' +
-										'<li class="mui-table-view-cell mui-media mui-col-xs-7 mui-text-right">' +
-										'' +
-										statusHtml +
-										'</li>' +
-										'</ul>';
-
-									li.innerHTML = orderHtml;
-									table.appendChild(li); //将li插入table
-								});
-							} else {
-								mui.alert("获取订单列表失败!");
-							}
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取订单列表失败!网络错误");
-					}
-				});
-			}
-			mui.ready(function() { //ready事件
-				$(".mui-segmented-control>a").removeClass("mui-active");
-				if(salesStatus == null || salesStatus == ""){
-					salesStatus = 1;
-					$("#status_1").addClass("mui-active");
-				}else if(salesStatus == 1){
-					$("#status_1").addClass("mui-active");
-				}else if(salesStatus == 2){
-					$("#status_2").addClass("mui-active");
-				}else if(salesStatus == 5){
-					$("#status_5").addClass("mui-active");
-				}else if(salesStatus == 20){
-					salesStatus  = "";
-					$("#status_20").addClass("mui-active");
-				}
-				mui('#pullrefresh_pro_list').pullRefresh().pullupLoading();
-			});
-			//			头部选项卡点击事件
-			$(document).on('tap', '.mui-segmented-control>a', function() {
-				salesStatus = $(this).attr("name"); //当前点击的类型id
-				pageNumber = 0; //页数归零
-				$('.my-table-pull').empty(); //清空产品列表
-				mui('#pullrefresh_pro_list').pullRefresh().refresh(true);
-				//mui('#pullrefresh_pro_list').pullRefresh().pullupLoading(); //重新加载数据
-				mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>订单列表</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<style>
+			.order_operate{
+				    color: #000!important;border-radius: 0px;border: 1px solid rgba(0,0,0,.5);    padding: 6px 0;width: 40%;
+			}
+		</style>
+		<script type="text/javascript">
+			// 屏蔽分享
+			window.hiddenAllWechatMenu = true;
+		</script>
+	</head>
+
+	<body>
+		<div id="pro-menu" class="mui-segmented-control" id="mui-segmented-control">
+			<a class="mui-control-item mui-active" id="status_1" href="#item1" name="1">待付款</a>
+			<a class="mui-control-item" id="status_2" href="#item2" name="2">待发货</a>
+			<a class="mui-control-item" id="status_5" href="#item3" name="5">已发货</a>
+			<a class="mui-control-item" id="status_20" href="#item4" name="">全部</a>
+		</div>
+		<div id="pullrefresh_pro_list" class="mui-content mui-scroll-wrapper" style="top: 50px;">
+			<div class="mui-scroll">
+				<ul class="my-table-view-order my-table-pull">
+					<li>
+						<!--<ul class="mui-table-view mui-grid-view my-view-no" style="padding-bottom: 0;">
+					        <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-text-left">
+					            <a href="#"><img class="mui-media-object" src="images/pro-bai.png"></a>
+					        </li>
+					        <li class="mui-table-view-cell mui-media mui-col-xs-8 mui-text-left">
+					            <a>
+					                <div class="pro-tit">柔性声波牙刷 <span class="mui-h5 mui-pull-right cl-red">待付款</span></div>
+					                <h6 >颜色:极光白<span class="mui-pull-right">数量:2</span></h6>
+					                <p>¥2999.00</p>
+					            </a>
+					        </li>
+					        <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-text-left">
+					            <a href="#"><img class="mui-media-object" src="images/pro-bai.png"></a>
+					        </li>
+					        <li class="mui-table-view-cell mui-media mui-col-xs-8 mui-text-left">
+					            <a>
+					                <div class="pro-tit">柔性声波牙刷 <span class="mui-h5 mui-pull-right cl-red">待付款</span></div>
+					                <h6 >颜色:极光白<span class="mui-pull-right">数量:2</span></h6>
+					                <p>¥2999.00</p>
+					            </a>
+					        </li>
+					        <li class="mui-table-view-cell mui-media mui-col-xs-6">
+					        	<span class="mui-pull-left">共<span class="cl-red">2</span>件</span>
+					        </li>
+					        <li class="mui-table-view-cell mui-media mui-col-xs-6 mui-text-right">
+					        	合计:<span class="cl-red">¥5998.00</span>
+					        </li>
+					        <li class="mui-table-view-cell mui-media mui-col-xs-5 mui-text-left">
+					        	<h6>58分钟后,订单将失效</h6>
+					        </li>
+					        <li class="mui-table-view-cell mui-media mui-col-xs-7 mui-text-right">
+					        	<button type="button" class="my-order-btn">取消订单</button><button type="button" class="my-order-btn">立即支付</button>
+					        </li>
+					   </ul>-->
+					</li>
+				</ul>
+			</div>
+		</div>
+		<!-- 加载ing -->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>加载中...</p>
+		</div>
+		<!-- 加载ing END -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/jquery.autocompleter.js"></script>
+		<script src="js/main.js"></script>
+		<script src="js/wechat-utils-1.0.js"></script>
+
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			var salesStatus = getParam("salesStatus");  //待支付
+			var pageNumber = 0,
+				pagesize = 10; //pageNumber第几页,pagesize每页条数
+
+//			var orderDesc = '<button type="button" class="my-order-btn order_operate order_desc" fixedStatus="desc" orderId>订单详情</button>';
+			var orderStatus = {
+				1: '<button type="button" class="my-order-btn order_operate pay_order" fixedStatus="pay" orderId>立即支付</button><button type="button" class="my-btn-black my-btn order_operate order_desc" fixedStatus="desc" orderId>订单详情</button>',
+				3: '<button type="button" class="my-order-btn order_operate cancel_apply_refund" fixedStatus="3" orderId>取消申请</button>', //退款申请中
+				6: '<button type="button" class="my-order-btn order_operate cancel_product_return" fixedStatus="5" orderId>取消退货</button>', //申请退货中
+				7: '<button type="button" class="my-order-btn order_operate cancel_product_return" fixedStatus="6" orderId>取消退货</button>', //退货中
+				11: '<button type="button" class="my-order-btn order_operate cancel_apply_exchange" fixedStatus="8" orderId>取消申请</button>' //申请换货中
+			};
+
+			mui.init({
+				pullRefresh: {
+					container: '#pullrefresh_pro_list', //上拉加载容器
+					down: {
+						//callback: pulldownRefresh
+					},
+					up: {
+						contentrefresh: '正在加载...', //上拉加载时显示的文字
+						callback: pullupRefresh //上拉加载的回调方法
+					}
+				}
+			});
+
+			/*订单按钮触发事件*/
+			$(document).on('tap', '.order_operate', function() {
+				var status = $(this).attr("fixedStatus");
+				var orderId = $(this).attr("orderId");
+				var remark = "";
+				if( status == "pay") { //调用支付接口
+					pay(orderId);
+				}else if(status == "desc") {
+					location.href = "order-details.html?orderId="+orderId;
+				}else{
+					updateOrderStatus(orderId, status, remark);
+				}
+			});
+
+			/*修改订单状态*/
+			function updateOrderStatus(orderId, status, remark) {
+				var msg = "";
+				var successMsg = "";
+				if(status == 1){
+					msg = "是否取消该订单";
+					//successMsg = "该订单已取消";
+				}else if(status == 3){
+					msg = "是否取消申请退款";
+				}else if(status == 5){
+					msg = "是否取消申请退货";
+				}else if(status == 6){
+					msg = "是否取消申请退货";
+				}else if(status == 8){
+					msg = "是否取消申请换货";
+				}
+				var btnArray = ['否', '是'];
+				mui.confirm(msg, "", btnArray, function(e){
+					 if (e.index == 1) {
+			            $.ajax(base_path + '/wechat/cart/updateOrderStatus?dates=' + new Date().getTime(), {
+							data: {
+								"status": status, //更改后的状态
+								"orderId": orderId, //订单id
+								"remark": remark
+							},
+							dataType: 'json',
+							xhrFields: {
+								withCredentials: true
+							},
+							crossDomain: true,
+							type: 'get',
+							timeout: 15000,
+							success: function(dt) {
+								if(dt.resultCode == 200) {
+									//mui.alert(successMsg);
+								} 
+								pageNumber = 0; //页数归零
+								$('.my-table-pull').empty(); //清空产品列表
+								mui('#pullrefresh_pro_list').pullRefresh().pullupLoading(); //重新加载数据
+								mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
+							},
+							error: function(xhr, type, errorThrown) {
+								console.log(xhr);
+								mui.alert("获取订单列表失败!网络错误");
+							}
+						});
+			        } 
+					
+				})
+				
+			}
+
+			/*支付*/
+			function pay(orderId) {
+				$.ajax(base_path + '/wechat/cart/orderPay?dates=' + new Date().getTime(), {
+					data: {
+						"orderId": orderId
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.resultCode == "500") {
+							mui.alert(dt.message);
+							isPay = true;
+							return;
+						};
+						if(dt.data.info == "isOK") {
+							location.href='pay-win.html?orderId='+ dt.data.orderId + "&dates=" + new Date().getTime()
+//							mui.openWindow({
+//								url: base_path+"/wechat/order/paySuccess?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime()
+//							});
+							return;
+						};
+						if(dt.status) {
+							var str = dt.data.info;
+							var obj = JSON.parse("{" + str + "}");
+							WeixinJSBridge.invoke('getBrandWCPayRequest', obj, function(res) {
+								if(res.err_msg == 'get_brand_wcpay_request:ok') {
+									$.ajax(base_path + '/wechat/order/checkOrderPaySuccess?dates=' + new Date().getTime(), {
+										data: {
+											"orderId": dt.data.orderId
+										},
+										dataType: 'json',
+										xhrFields: {
+											withCredentials: true
+										},
+										crossDomain: true,
+										type: 'get',
+										timeout: 15000,
+										success: function(dataobj) {
+											if(dataobj.isRedirect) {
+												location.href = dataobj.redirectURL;
+											} else {
+												if(dataobj.status == true) { // 支付成功
+													location.href = "pay-win.html?orderId=" + dataobj.data + "&dates=" + new Date().getTime();
+												} else {
+													location.href = "order-details.html?orderId=" + dataobj.data + "&dates=" + new Date().getTime(); // 前往订单详情
+												}
+											}
+										},
+										error: function(xhr, type, errorThrown) {
+											console.log(xhr);
+										}
+									});
+							} else {
+								isPay = true;
+								mui.toast("对不起,支付失败!请稍后重试!");
+							}
+						});
+						} else {
+							isPay = true;
+							mui.alert(dt.message);
+							location.href = "order-details.html?orderId=" + dt.data.orderId + "&dates=" + new Date().getTime(); // 前往订单详情
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+			}
+			
+			/**
+			 * 上拉加载具体业务实现
+			 */
+			function pullupRefresh() {
+				++pageNumber; //每次上拉页数+1
+				$.ajax(base_path + '/wechat/cart/selectShopOrder?dates=' + new Date().getTime(), {
+					data: {
+						"salesStatus": salesStatus, //产品类型id
+						"pageNO": pageNumber, //pageNo第几页
+						"pageSize": pagesize //pageSize每页条数
+					},
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true	
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {
+							location.href = dt.redirectURL;
+						} else {
+							console.log(dt);
+							if(dt.status) { //判断接口返回状态status
+								var table = document.body.querySelector('.my-table-pull'); //table是插入数据li的父级容器
+								mui('#pullrefresh_pro_list').pullRefresh().endPullupToRefresh(dt.data.orderList.length < pagesize); //endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
+								mui.each(dt.data.orderList, function(index) {
+									var li = document.createElement('li'); //创建li标签
+
+									var orderHtml = '<ul class="mui-table-view mui-grid-view my-view-no order_desc"  style="padding-bottom: 10px;" >';
+									var orderItemHtml = '';
+									var allNum = 0;
+									mui.each(this.orderItemList, function(index) {
+										allNum += this.itemNum;
+										orderItemHtml += '<li class="mui-table-view-cell mui-media mui-col-xs-4 mui-text-left">' +
+											'<a href="#"><img class="mui-media-object" src="' + this.itemProductPic + '"></a>' +
+											'</li>' +
+											'<li class="mui-table-view-cell mui-media mui-col-xs-8 mui-text-left">' +
+											'<a>' +
+											'<div class="pro-tit">' + this.itemProductName + ' <span class="mui-h5 mui-pull-right cl-red"></span></div>' +
+											'<h6 >颜色:' + this.productColor + ' <span class="mui-pull-right">数量:' + this.itemNum + '</span></h6>' +
+											'<p> ¥' + accDiv(this.itemProductDiscount,100) + '</p>' +
+											'</a>' +
+											'</li>';
+									});
+									orderHtml += orderItemHtml;
+									var status = this.salesStatus;
+									var statusHtml = '';
+									statusHtml = orderStatus[status]; //获取订单状态所展示的按钮
+									if(statusHtml == null || statusHtml == "" || typeof(statusHtml) == "undefined") {
+										statusHtml = '';
+									}
+									if(status != 1) {
+										statusHtml += '<button type="button" class="my-order-btn order_operate order_desc" fixedStatus="desc" orderId style=" color: #000!important;border-radius: 0px;border: 1px solid rgba(0,0,0,.5);">订单详情</button>';
+									} 
+									statusHtml  = statusHtml.replace(/\orderId/g,'orderId="'+ this.salesOrderid +'"');
+									
+									orderHtml += '<li class="mui-table-view-cell mui-media mui-col-xs-6">' +
+										'<span class="mui-pull-left">共<span class="cl-red">' + allNum + '</span>件</span>' +
+										'</li>' +
+										'<li class="mui-table-view-cell mui-media mui-col-xs-6 mui-text-right">' +
+										'实付:<span class="cl-red">¥' + accDiv(this.salesYetAmount,100) + '</span>' +
+										'</li>' +
+										'<li class="mui-table-view-cell mui-media mui-col-xs-5 mui-text-left">'
+										//+'<h6>58分钟后,订单将失效</h6>'
+										+
+										'</li>' +
+										'<li class="mui-table-view-cell mui-media mui-col-xs-7 mui-text-right">' +
+										'' +
+										statusHtml +
+										'</li>' +
+										'</ul>';
+
+									li.innerHTML = orderHtml;
+									table.appendChild(li); //将li插入table
+								});
+							} else {
+								mui.alert("获取订单列表失败!");
+							}
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取订单列表失败!网络错误");
+					}
+				});
+			}
+			mui.ready(function() { //ready事件
+				$(".mui-segmented-control>a").removeClass("mui-active");
+				if(salesStatus == null || salesStatus == ""){
+					salesStatus = 1;
+					$("#status_1").addClass("mui-active");
+				}else if(salesStatus == 1){
+					$("#status_1").addClass("mui-active");
+				}else if(salesStatus == 2){
+					$("#status_2").addClass("mui-active");
+				}else if(salesStatus == 5){
+					$("#status_5").addClass("mui-active");
+				}else if(salesStatus == 20){
+					salesStatus  = "";
+					$("#status_20").addClass("mui-active");
+				}
+				mui('#pullrefresh_pro_list').pullRefresh().pullupLoading();
+			});
+			//			头部选项卡点击事件
+			$(document).on('tap', '.mui-segmented-control>a', function() {
+				salesStatus = $(this).attr("name"); //当前点击的类型id
+				pageNumber = 0; //页数归零
+				$('.my-table-pull').empty(); //清空产品列表
+				mui('#pullrefresh_pro_list').pullRefresh().refresh(true);
+				//mui('#pullrefresh_pro_list').pullRefresh().pullupLoading(); //重新加载数据
+				mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
+			});
+		</script>
+	</body>
+
 </html>

文件差异内容过多而无法显示
+ 454 - 454
tooth/pro-details.html


+ 207 - 207
tooth/pro-list.html

@@ -1,208 +1,208 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>产品列表</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<!--底部菜单开始-->
-		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
-			<a class="mui-tab-item">
-				<span class="iconfont icon-shouye"></span>
-				<span class="mui-tab-label">首页</span>
-			</a>
-			<a class="mui-tab-item mui-active">
-				<span class="iconfont icon-liebiao"></span>
-				<span class="mui-tab-label">列表</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-gouwuche"></span>
-				<span class="mui-tab-label">购物车</span>
-			</a>
-			<a class="mui-tab-item">
-				<span class="iconfont icon-huiyuan"></span>
-				<span class="mui-tab-label">会员</span>
-			</a>
-		</footer>
-		<!--底部菜单结束-->
-
-		<!--内容开始-->
-			<div>
-				<!--头部选项卡-->
-				<div id="pro-top-menu" class="mui-segmented-control">
-					<!--(默认选中哪个就加上mui-active),其他不加-->
-					<!--<a class="mui-control-item mui-active">声波牙刷</a>
-					<a class="mui-control-item">刷头</a>-->
-				</div>
-			</div>
-			<!--下拉刷新容器-->
-		<div id="pullrefresh_pro_list" class="mui-content mui-scroll-wrapper" style="top: 44px;">
-			<div class="mui-scroll">
-				<ul class="mui-table-view mui-grid-view my-grid-view-no my-table-pull">
-					<!--<li class="mui-table-view-cell mui-media mui-col-xs-6">
-						<a>
-							<img class="mui-media-object" src="images/pro-bai.png">
-							<div class="pro-name">柔性声波牙刷</div>
-							<h6>极光白</h6>
-							<div class="pro-price">¥199.00</div>
-						</a>
-					</li>-->
-				</ul>
-			</div>
-			</div>
-		<!--内容结束-->
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<!--<script src="js/wechat-utils-1.0.js"></script>-->
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			var typeId = getParam("typeId");//从URL带过来的产品类型id
-			var pageNumber = 0,pagesize = 10;//pageNumber第几页,pagesize每页条数
-			mui.init({
-				pullRefresh: {
-					container: '#pullrefresh_pro_list',//上拉加载容器
-					down: {
-						//callback: pulldownRefresh
-					},
-					up: {
-						contentrefresh: '正在加载...',//上拉加载时显示的文字
-						callback: pullupRefresh//上拉加载的回调方法
-					}
-				}
-			});
-			/**
-			 * 上拉加载具体业务实现
-			 */
-			function pullupRefresh() {		
-				++pageNumber;//每次上拉页数+1
-				$.ajax(base_path + '/wechat/product/listProductColorByTypeId?dates=' + new Date().getTime(), {
-							data: {
-								"typeId":typeId,//产品类型id
-								"pageNo":pageNumber,//pageNo第几页
-								"pageSize":pagesize//pageSize每页条数
-							},
-							dataType: 'json',
-							xhrFields: {
-								withCredentials: true
-							},
-							crossDomain: true,
-							type: 'get',
-							timeout: 15000,
-							success: function(dt) {
-								if(dt.isRedirect) {
-									location.href = dt.redirectURL;
-								} else {
-									if(dt.status) {//判断接口返回状态status
-										var table = document.body.querySelector('.my-table-pull');//table是插入数据li的父级容器
-										mui('#pullrefresh_pro_list').pullRefresh().endPullupToRefresh(dt.data.productColorList.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
-										mui.each(dt.data.productColorList, function(index) {
-											var li = document.createElement('li');//创建li标签
-											li.className='mui-table-view-cell mui-media mui-col-xs-6';//給li标签className
-											li.innerHTML = '<a name="'+this.colorId+'" style="margin-top: 15px;"><img class="mui-media-object" src="'+this.colorImg+'"><div class="pro-name">'+this.productName+'</div><h6 style="margin-top: 5px;">'+this.colorName+'</h6><div class="pro-price" style="margin-top: 10px;">¥'+(this.colorDiscount/100).toFixed(2)+'</div></a>';
-											table.appendChild(li);//将li插入table
-										});	 
-
-									} else {
-										mui.alert("获取产品列表失败!");
-									}
-								}
-							},
-							error: function(xhr, type, errorThrown) {
-								console.log(xhr);
-								mui.alert("获取产品列表失败!网络错误");
-							}
-						});
-			}
-			mui.ready(function() {//ready事件
-				//获取产品类型
-				$.ajax(base_path + '/wechat/product/listProductType?dates=' + new Date().getTime(), {
-					data: {},// ajax参数 没有则不写
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {//先判断isRedirect,然后跳转redirectURL
-							location.href = dt.redirectURL;
-						} else {
-							if(dt.status) {//判断接口返回状态status
-								var table = document.body.querySelector("#pro-top-menu");//table是插入数据li的父级容器
-								//mui.each()循环
-								mui.each(dt.data, function(index) {
-									var li = document.createElement('a');//创建a元素标签
-									if(typeId != null) {//判断产品类型id不为null
-										if(typeId == this.typeId) {	//判断产品类型相等则选中										
-											li.className = 'mui-control-item mui-active';//选中的样式为mui-active
-										} else {
-											li.className = 'mui-control-item';
-										}
-									} else {
-										if(index == 0) {//URL没有产品id则默认选中第0个
-											li.className = 'mui-control-item mui-active';
-											typeId=this.typeId;
-										} else {
-											li.className = 'mui-control-item';
-										}
-									}
-									li.setAttribute("name",this.typeId);//防止页面id重复,所以把typeId放在name里面
-									li.innerHTML=this.typeName;
-									table.appendChild(li);//将li插入table
-								});
-								mui('#pullrefresh_pro_list').pullRefresh().pullupLoading();
-								$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-							} else {
-								mui.alert("获取产品类型失败!");
-							}
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("获取产品类型失败!网络错误");
-					}
-				});
-			});
-			//头部选项卡点击事件
-			$(document).on('tap', '#pro-top-menu>a', function() {
-				typeId=$(this).attr("name");//当前点击的类型id
-				pageNumber=0;//页数归零
-				$('.my-table-pull').empty();//清空产品列表
-				mui('#pullrefresh_pro_list').pullRefresh().pullupLoading();//重新加载数据
-				mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
-			});
-			//跳转产品详情
-			$(document).on('tap', '.my-table-pull>li>a', function() {
-				location.href='pro-details.html?colorId='+$(this).attr("name");
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>产品列表</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<!--底部菜单开始-->
+		<footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
+			<a class="mui-tab-item">
+				<span class="iconfont icon-shouye"></span>
+				<span class="mui-tab-label">首页</span>
+			</a>
+			<a class="mui-tab-item mui-active">
+				<span class="iconfont icon-liebiao"></span>
+				<span class="mui-tab-label">列表</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-gouwuche"></span>
+				<span class="mui-tab-label">购物车</span>
+			</a>
+			<a class="mui-tab-item">
+				<span class="iconfont icon-huiyuan"></span>
+				<span class="mui-tab-label">会员</span>
+			</a>
+		</footer>
+		<!--底部菜单结束-->
+
+		<!--内容开始-->
+			<div>
+				<!--头部选项卡-->
+				<div id="pro-top-menu" class="mui-segmented-control">
+					<!--(默认选中哪个就加上mui-active),其他不加-->
+					<!--<a class="mui-control-item mui-active">声波牙刷</a>
+					<a class="mui-control-item">刷头</a>-->
+				</div>
+			</div>
+			<!--下拉刷新容器-->
+		<div id="pullrefresh_pro_list" class="mui-content mui-scroll-wrapper" style="top: 44px;">
+			<div class="mui-scroll">
+				<ul class="mui-table-view mui-grid-view my-grid-view-no my-table-pull">
+					<!--<li class="mui-table-view-cell mui-media mui-col-xs-6">
+						<a>
+							<img class="mui-media-object" src="images/pro-bai.png">
+							<div class="pro-name">柔性声波牙刷</div>
+							<h6>极光白</h6>
+							<div class="pro-price">¥199.00</div>
+						</a>
+					</li>-->
+				</ul>
+			</div>
+			</div>
+		<!--内容结束-->
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<!--<script src="js/wechat-utils-1.0.js"></script>-->
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			var typeId = getParam("typeId");//从URL带过来的产品类型id
+			var pageNumber = 0,pagesize = 10;//pageNumber第几页,pagesize每页条数
+			mui.init({
+				pullRefresh: {
+					container: '#pullrefresh_pro_list',//上拉加载容器
+					down: {
+						//callback: pulldownRefresh
+					},
+					up: {
+						contentrefresh: '正在加载...',//上拉加载时显示的文字
+						callback: pullupRefresh//上拉加载的回调方法
+					}
+				}
+			});
+			/**
+			 * 上拉加载具体业务实现
+			 */
+			function pullupRefresh() {		
+				++pageNumber;//每次上拉页数+1
+				$.ajax(base_path + '/wechat/product/listProductColorByTypeId?dates=' + new Date().getTime(), {
+							data: {
+								"typeId":typeId,//产品类型id
+								"pageNo":pageNumber,//pageNo第几页
+								"pageSize":pagesize//pageSize每页条数
+							},
+							dataType: 'json',
+							xhrFields: {
+								withCredentials: true
+							},
+							crossDomain: true,
+							type: 'get',
+							timeout: 15000,
+							success: function(dt) {
+								if(dt.isRedirect) {
+									location.href = dt.redirectURL;
+								} else {
+									if(dt.status) {//判断接口返回状态status
+										var table = document.body.querySelector('.my-table-pull');//table是插入数据li的父级容器
+										mui('#pullrefresh_pro_list').pullRefresh().endPullupToRefresh(dt.data.productColorList.length<pagesize);//endPullupToRefresh(ture)表示没有更多数据了,停止上拉加载
+										mui.each(dt.data.productColorList, function(index) {
+											var li = document.createElement('li');//创建li标签
+											li.className='mui-table-view-cell mui-media mui-col-xs-6';//給li标签className
+											li.innerHTML = '<a name="'+this.colorId+'" style="margin-top: 15px;"><img class="mui-media-object" src="'+this.colorImg+'"><div class="pro-name">'+this.productName+'</div><h6 style="margin-top: 5px;">'+this.colorName+'</h6><div class="pro-price" style="margin-top: 10px;">¥'+(this.colorDiscount/100).toFixed(2)+'</div></a>';
+											table.appendChild(li);//将li插入table
+										});	 
+
+									} else {
+										mui.alert("获取产品列表失败!");
+									}
+								}
+							},
+							error: function(xhr, type, errorThrown) {
+								console.log(xhr);
+								mui.alert("获取产品列表失败!网络错误");
+							}
+						});
+			}
+			mui.ready(function() {//ready事件
+				//获取产品类型
+				$.ajax(base_path + '/wechat/product/listProductType?dates=' + new Date().getTime(), {
+					data: {},// ajax参数 没有则不写
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {//先判断isRedirect,然后跳转redirectURL
+							location.href = dt.redirectURL;
+						} else {
+							if(dt.status) {//判断接口返回状态status
+								var table = document.body.querySelector("#pro-top-menu");//table是插入数据li的父级容器
+								//mui.each()循环
+								mui.each(dt.data, function(index) {
+									var li = document.createElement('a');//创建a元素标签
+									if(typeId != null) {//判断产品类型id不为null
+										if(typeId == this.typeId) {	//判断产品类型相等则选中										
+											li.className = 'mui-control-item mui-active';//选中的样式为mui-active
+										} else {
+											li.className = 'mui-control-item';
+										}
+									} else {
+										if(index == 0) {//URL没有产品id则默认选中第0个
+											li.className = 'mui-control-item mui-active';
+											typeId=this.typeId;
+										} else {
+											li.className = 'mui-control-item';
+										}
+									}
+									li.setAttribute("name",this.typeId);//防止页面id重复,所以把typeId放在name里面
+									li.innerHTML=this.typeName;
+									table.appendChild(li);//将li插入table
+								});
+								mui('#pullrefresh_pro_list').pullRefresh().pullupLoading();
+								$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+							} else {
+								mui.alert("获取产品类型失败!");
+							}
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("获取产品类型失败!网络错误");
+					}
+				});
+			});
+			//头部选项卡点击事件
+			$(document).on('tap', '#pro-top-menu>a', function() {
+				typeId=$(this).attr("name");//当前点击的类型id
+				pageNumber=0;//页数归零
+				$('.my-table-pull').empty();//清空产品列表
+				mui('#pullrefresh_pro_list').pullRefresh().pullupLoading();//重新加载数据
+				mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,500);//500毫秒滚动到顶
+			});
+			//跳转产品详情
+			$(document).on('tap', '.my-table-pull>li>a', function() {
+				location.href='pro-details.html?colorId='+$(this).attr("name");
+			});
+		</script>
+	</body>
+
 </html>

+ 92 - 92
tooth/refund-of-refunds.html

@@ -1,93 +1,93 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<title>退货退款</title>
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div class="clearing-box">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
-
-				</ul>
-				<br />
-				<ul class="mui-table-view cusomer-ul">
-					<li>
-						<div class="mui-input-row">
-						<label class="lbl-remarks">退款原因</label>
-						<input class="ipt-remarks" type="text" placeholder="请填写您的退款原因">
-					</div>
-					</li>
-				</ul>
-				</div>
-				<div class="address-cantainner">
-				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
-					<li class="mui-table-view-cell">
-						<div class="mui-table">							
-							<!--选择微信地址后显示的div-->
-							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
-								<p><span class="iconfont icon-dingwei"></span></p>
-							</div>
-							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
-								<div>收货人:杨春有 <span class="mui-pull-right">13592708169</span></div>
-								<p>收货地址:东莞清溪三中金龙工业区徐福记对面优尼雅 电子科技</p>
-							</div>
-						</div>
-					</li>
-				</ul>
-			</div>
-			<div class="clearing-box">
-				<br />
-				<p>提示:</p>
-				<p>1、提交成功后,需联系客服并寄回产品,且将寄回单号和寄件人 信息提供给客服,方便核实</p>
-				<p>2、客服将在收到寄回产品后,会在3个工作日内将退款退回原支 付账户</p>
-				<br />
-				<div class="mui-content-padded mui-text-center">
-					<button type="button" class="my-btn-black">提交</button>
-				</div>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script src="js/mui.min.js"></script>
-		<script src="js/jquery-2.1.1.min.js"></script>
-		<script src="js/main.js"></script>
-		<script>
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			//dom加载完毕
-			mui.ready(function() {
-				var str = "";
-				for(i = 0; i < 3; i++) {
-					str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="images/pro-bai.png"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">柔性声波牙刷<h6>颜色:极光白<span class="center">数量:2</span></h6><div>¥2999.00</div></div></div>';
-				}
-				document.querySelector('.shopping-cart-list').innerHTML = str;
-				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-			});
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<title>退货退款</title>
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div class="clearing-box">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed shopping-cart-list">
+
+				</ul>
+				<br />
+				<ul class="mui-table-view cusomer-ul">
+					<li>
+						<div class="mui-input-row">
+						<label class="lbl-remarks">退款原因</label>
+						<input class="ipt-remarks" type="text" placeholder="请填写您的退款原因">
+					</div>
+					</li>
+				</ul>
+				</div>
+				<div class="address-cantainner">
+				<ul class="mui-table-view mui-table-view-striped my-grid-view-no mui-table-view-condensed">
+					<li class="mui-table-view-cell">
+						<div class="mui-table">							
+							<!--选择微信地址后显示的div-->
+							<div class="mui-table-cell mui-col-xs-1 mui-text-left table-middle">
+								<p><span class="iconfont icon-dingwei"></span></p>
+							</div>
+							<div class="mui-table-cell mui-col-xs-10 mui-text-left table-middle">
+								<div>收货人:杨春有 <span class="mui-pull-right">13592708169</span></div>
+								<p>收货地址:东莞清溪三中金龙工业区徐福记对面优尼雅 电子科技</p>
+							</div>
+						</div>
+					</li>
+				</ul>
+			</div>
+			<div class="clearing-box">
+				<br />
+				<p>提示:</p>
+				<p>1、提交成功后,需联系客服并寄回产品,且将寄回单号和寄件人 信息提供给客服,方便核实</p>
+				<p>2、客服将在收到寄回产品后,会在3个工作日内将退款退回原支 付账户</p>
+				<br />
+				<div class="mui-content-padded mui-text-center">
+					<button type="button" class="my-btn-black">提交</button>
+				</div>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script src="js/mui.min.js"></script>
+		<script src="js/jquery-2.1.1.min.js"></script>
+		<script src="js/main.js"></script>
+		<script>
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			//dom加载完毕
+			mui.ready(function() {
+				var str = "";
+				for(i = 0; i < 3; i++) {
+					str += '<div class="mui-table"><div class="mui-table-cell mui-col-xs-5"><img class="mui-media-object wh-100" src="images/pro-bai.png"></div><div class="mui-table-cell table-middle mui-col-xs-7" style="line-height:2.5">柔性声波牙刷<h6>颜色:极光白<span class="center">数量:2</span></h6><div>¥2999.00</div></div></div>';
+				}
+				document.querySelector('.shopping-cart-list').innerHTML = str;
+				$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+			});
+		</script>
+	</body>
+
 </html>

+ 354 - 354
tooth/register-vip.html

@@ -1,355 +1,355 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="UTF-8">
-		<title>注册会员</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<link rel="stylesheet" type="text/css" href="css/mui.picker.min.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<script>
-			//屏蔽分享
-			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
-				WeixinJSBridge.call('hideOptionMenu');
-			});
-		</script>
-	</head>
-
-	<body>
-		<div class="mui-content">
-			<div style="margin: 20px 0;text-align: center;">
-				<div style="padding: 10px 0;">
-					<span class="iconfont icon-chenggong" style="color: #3bbf64;font-size: 40px;"></span>
-				</div>
-				<h4> 已成功扫描唯一码 </h4>
-				<p id="barCodeId"></p>
-				<p>别忘了完善下方的会员信息</p>
-				<p style="width: 60%;margin-left: 20%;">成功注册会员后,你就可以获得牙刷的延保服务和免费的400积分啦</p>
-			</div>
-			<img width="100%" src="images/youhuiquan.jpg" />
-			<div style="padding: 15px 10px;">
-				完善信息
-			</div>
-			<form class="mui-input-group">
-				<div class="mui-input-row line-bottom">
-					<label>您的姓名</label>
-					<input type="text" class="mui-input-clear" id="ipt-name" placeholder="填写您的姓名">
-				</div>
-				<div class="mui-table my-table" style="padding:15px 10px;">
-					<div class="mui-table-cell mui-col-xs-2">
-						<label>您的性别</label>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label>男</label>
-							<input id="maleId" class="iconfont icon-boy" name="radio0" type="radio" checked="" value="1">
-						</div>
-					</div>
-					<div class="mui-table-cell mui-col-xs-5">
-						<div class="mui-input-row mui-radio mui-left">
-							<label>女</label>
-							<input id="femaleId" class="iconfont icon-girl" name="radio0" type="radio" value="2">
-						</div>
-					</div>
-				</div>
-				<div class="mui-table my-table">
-					<div class="mui-table-cell mui-col-xs-2">
-						<label style="display: block;width: 60px;">您的年龄</label>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">80后</label>
-							<input name="radio1" class="radio1" type="radio" checked="" value="1">
-						</div>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">85后</label>
-							<input name="radio1" class="radio1" type="radio" value="2">
-						</div>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">90后</label>
-							<input name="radio1" class="radio1" type="radio" value="3">
-						</div>
-					</div>
-				</div>
-				<div class="mui-table my-table" style="padding-bottom: 12px;">
-					<div class="mui-table-cell mui-col-xs-2">
-						<label></label>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">95后</label>
-							<input name="radio1" class="radio1" type="radio" value="4">
-						</div>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">00后</label>
-							<input name="radio1" class="radio1" type="radio" value="5">
-						</div>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">其他</label>
-							<input name="radio1" class="radio1" type="radio" value="6">
-						</div>
-					</div>
-				</div>
-				<div class="mui-table my-table" style="padding-bottom: 15px;">
-					<div class="mui-table-cell mui-col-xs-2">
-						<label style="display: block;width: 60px;">购买渠道</label>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">JD</label>
-							<input name="radio2" class="radio2" type="radio" checked="" value="1">
-						</div>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">天猫</label>
-							<input name="radio2" class="radio2" type="radio" value="2">
-						</div>
-					</div>
-					<div class="mui-table-cell mui-col-xs-3">
-						<div class="mui-input-row mui-radio mui-left">
-							<label class="my-label">其他</label>
-							<input name="radio2" class="radio2" type="radio" value="3">
-						</div>
-					</div>
-				</div>
-				<div class="mui-input-row line-top">
-					<label>购买日期</label>
-					<input type="text" id="buyDate" class="mui-input-clear" readonly="readonly" placeholder="填写您的购买日期">
-				</div>
-			</form>
-			<br />
-			<div class="mui-content-padded mui-text-center">
-				<button type="button" class="my-btn-black" id="my-btn-submit" style="width: 50%;">提交注册</button>
-			</div>
-		</div>
-		<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-		<script type="text/javascript" src="js/mui.min.js"></script>
-		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-		<script type="text/javascript" src="js/main.js"></script>
-		<script src="js/mui.picker.min.js"></script>
-		<script type="text/javascript">
-			window.addEventListener('pageshow', function(e) {
-				// 通过persisted属性判断是否存在 BF Cache
-				if(e.persisted) {
-					location.reload();
-				}
-			});
-			
-			mui('body').on('tap', '#buyDate', function(event) {
-				var date = new Date();
-				var y = date.getFullYear();
-				var m = date.getMonth();//获取当前月份的日期
-				var d = date.getDate();
-				var picker = new mui.DtPicker({
-					type: "date", //设置日历初始视图模式 
-					beginDate: new Date(2018, 00, 08), //设置开始日期 
-					endDate: new Date(y, m, d) //设置结束日期 
-				});
-				picker.show(function(rs) {
-					
-					$("#buyDate").val(rs.text);
-					picker.dispose();
-					picker = null;
-					
-				});
-			});
-
-			
-			
-			var qrCode = null;
-			var isFocusOn = null;
-			var userIdentity = null;
-			
-			mui.ready(function() {
-				console.log("页面加载完毕");
-				//获取机器条码 barcode
-				qrCode = getParam("qrCode");
-				
-				if(qrCode != null){
-					$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
-					$("#barCodeId").html("("+qrCode+")");
-					$.ajax(base_path + '/wechat/getActivationAndMember?dates=' + new Date().getTime(), {
-							data: {
-								"qrCode":qrCode//产品类型id
-							},
-							dataType: 'json',
-							xhrFields: {
-								withCredentials: true
-							},
-							crossDomain: true,
-							type: 'get',
-							timeout: 15000,
-							success: function(dt) {
-								if(dt.isRedirect) {
-									location.href = dt.redirectURL;
-								} else {
-									if(dt.status) {//判断接口返回状态status
-										if(dt.data.isActivation){
-											//已激活
-											
-											mui.alert('该产品已被激活!', '提醒', function() {  
-												location.href="my-center.html";
-							               }); 
-										}
-										//填充用户数据
-										$("#ipt-name").val(dt.data.memberInfo.userName);
-										if(dt.data.memberInfo.userSex != null){
-											if(dt.data.memberInfo.userSex == 1){
-												$("#maleId").attr("checked", true);
-											}
-											if(dt.data.memberInfo.userSex == 2){
-												$("#femaleId").attr("checked", true);
-											}
-										}
-										var radios = $(".radio1");
-										switch (dt.data.memberInfo.userAgeStage) {
-						                    case (1):
-						                        	radios.eq(0).attr("checked", true);
-						                        break;
-						                    case (2):
-						                     		radios.eq(1).attr("checked", true);
-						                        break;
-						                    case (3):
-						                      		radios.eq(2).attr("checked", true);
-						                        break;
-						                    case (4):
-						                      		radios.eq(3).attr("checked", true);
-						                        break;
-						                    case (5):
-						                     		radios.eq(4).attr("checked", true);
-						                        break;
-						                    case (6):
-						                     	radios.eq(5).attr("checked", true);
-						               }
-										isFocusOn = dt.data.memberInfo.userStatus;
-										userIdentity = dt.data.memberInfo.userIdentity;
-									} else {
-										mui.alert("查询失败!");
-									}
-								}
-							},
-							error: function(xhr, type, errorThrown) {
-								console.log(xhr);
-								mui.alert("网络错误!");
-							}
-						});
-				}
-				
-			});
-			$(document).on('tap', '#my-btn-submit', function() {
-				validate();//验证文本框
-				var userName = $("#ipt-name").val();
-				var userSex = $('input[name="radio0"]:checked ').val();
-				var userAgeStage = $('input[name="radio1"]:checked ').val();
-				var apparatusStore = $('input[name="radio2"]:checked ').val();
-				var buyDate = $("#buyDate").val();
-				var selectDate = new Date(Date.parse(buyDate));
-				var nowDate = new Date(Date.parse(new Date().toLocaleDateString()));
-				//if(selectDate>nowDate){
-					//mui.alert("购买日期不能大于当前日期");
-					//return false;
-				//}
-				if(validate_flag){
-					//验证通过
-					$.ajax(base_path + '/wechat/apparatus/add_apparatus?dates=' + new Date().getTime(), {
-							data: {
-								"barCode":qrCode,//条码
-								"userName":userName,//用户姓名
-								"userSex":userSex,//用户姓名
-								"userAgeStage":userAgeStage,//年龄阶段1:80后 2:85后 3:90后 4:95后 5:00后 6:其他
-								"apparatusStore":apparatusStore,//渠道id 1:天猫2:淘宝3:京东4:微信
-								"buyDate":buyDate//购买日期
-							},
-							dataType: 'json',
-							xhrFields: {
-								withCredentials: true
-							},
-							crossDomain: true,
-							type: 'get',
-							timeout: 15000,
-							success: function(dt) {
-								if(dt.isRedirect) {
-									location.href = dt.redirectURL;
-								} else {
-									if(dt.status) {//判断接口返回状态status
-										mui.alert('注册成功!', '提醒', function() {  
-											if(userIdentity == 1){//会员
-												if(isFocusOn == 1 || isFocusOn == 0){//未关注
-													location.href="member-follow-me.html";
-												}else{//以关注
-													location.href="my-center.html";
-												}
-											}else{//非会员
-												if(isFocusOn == 1 || isFocusOn == 0){//未关注
-													location.href="follow-me.html";
-												}else{//以关注
-													location.href="my-center.html";
-												}
-											}
-							                     
-							               }); 
-									} else {
-										mui.alert(dt.message, '提醒', function() {  
-											 location.href="my-center.html";
-							               }); 
-										//mui.alert(dt.message);
-									}
-								}
-							},
-							error: function(xhr, type, errorThrown) {
-								console.log(xhr);
-								mui.alert("网络错误");
-							}
-						});
-				}else{
-					mui.alert(dalog_msg);//弹窗提示
-				}
-			});	
-			
-			//正则表达式示例
-			var dalog_msg='',validate_flag=false;
-			function validate() {
-				var ch_en_num = /^[A-Za-z_\-\u4e00-\u9fa5]{2,10}$/; //简体中文英文(2-10位)
-				var full_date = /^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/; //日期格式 (2016\12\12,2016-12-12,2016.12.12)
-				var name = $("#ipt-name").val().trim();
-				if(ch_en_num.test(name)) {
-					//验证通过
-					validate_flag=true;
-				} else {
-					//未通过验证
-					if(name != '') {
-						dalog_msg='名字格式不正确';
-					} else {
-						dalog_msg='请填写名字';
-					}
-					validate_flag=false;
-				}
-				if($("#buyDate").val() == null || $("#buyDate").val() == ""){
-					dalog_msg='请选择购买日期';
-					validate_flag=false;
-				}
-				return dalog_msg;//返回提示信息
-			}
-		</script>
-	</body>
-
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>注册会员</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<link rel="stylesheet" type="text/css" href="css/mui.picker.min.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<script>
+			//屏蔽分享
+			document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
+				WeixinJSBridge.call('hideOptionMenu');
+			});
+		</script>
+	</head>
+
+	<body>
+		<div class="mui-content">
+			<div style="margin: 20px 0;text-align: center;">
+				<div style="padding: 10px 0;">
+					<span class="iconfont icon-chenggong" style="color: #3bbf64;font-size: 40px;"></span>
+				</div>
+				<h4> 已成功扫描唯一码 </h4>
+				<p id="barCodeId"></p>
+				<p>别忘了完善下方的会员信息</p>
+				<p style="width: 60%;margin-left: 20%;">成功注册会员后,你就可以获得牙刷的延保服务和免费的400积分啦</p>
+			</div>
+			<img width="100%" src="images/youhuiquan.jpg" />
+			<div style="padding: 15px 10px;">
+				完善信息
+			</div>
+			<form class="mui-input-group">
+				<div class="mui-input-row line-bottom">
+					<label>您的姓名</label>
+					<input type="text" class="mui-input-clear" id="ipt-name" placeholder="填写您的姓名">
+				</div>
+				<div class="mui-table my-table" style="padding:15px 10px;">
+					<div class="mui-table-cell mui-col-xs-2">
+						<label>您的性别</label>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label>男</label>
+							<input id="maleId" class="iconfont icon-boy" name="radio0" type="radio" checked="" value="1">
+						</div>
+					</div>
+					<div class="mui-table-cell mui-col-xs-5">
+						<div class="mui-input-row mui-radio mui-left">
+							<label>女</label>
+							<input id="femaleId" class="iconfont icon-girl" name="radio0" type="radio" value="2">
+						</div>
+					</div>
+				</div>
+				<div class="mui-table my-table">
+					<div class="mui-table-cell mui-col-xs-2">
+						<label style="display: block;width: 60px;">您的年龄</label>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">80后</label>
+							<input name="radio1" class="radio1" type="radio" checked="" value="1">
+						</div>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">85后</label>
+							<input name="radio1" class="radio1" type="radio" value="2">
+						</div>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">90后</label>
+							<input name="radio1" class="radio1" type="radio" value="3">
+						</div>
+					</div>
+				</div>
+				<div class="mui-table my-table" style="padding-bottom: 12px;">
+					<div class="mui-table-cell mui-col-xs-2">
+						<label></label>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">95后</label>
+							<input name="radio1" class="radio1" type="radio" value="4">
+						</div>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">00后</label>
+							<input name="radio1" class="radio1" type="radio" value="5">
+						</div>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">其他</label>
+							<input name="radio1" class="radio1" type="radio" value="6">
+						</div>
+					</div>
+				</div>
+				<div class="mui-table my-table" style="padding-bottom: 15px;">
+					<div class="mui-table-cell mui-col-xs-2">
+						<label style="display: block;width: 60px;">购买渠道</label>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">JD</label>
+							<input name="radio2" class="radio2" type="radio" checked="" value="1">
+						</div>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">天猫</label>
+							<input name="radio2" class="radio2" type="radio" value="2">
+						</div>
+					</div>
+					<div class="mui-table-cell mui-col-xs-3">
+						<div class="mui-input-row mui-radio mui-left">
+							<label class="my-label">其他</label>
+							<input name="radio2" class="radio2" type="radio" value="3">
+						</div>
+					</div>
+				</div>
+				<div class="mui-input-row line-top">
+					<label>购买日期</label>
+					<input type="text" id="buyDate" class="mui-input-clear" readonly="readonly" placeholder="填写您的购买日期">
+				</div>
+			</form>
+			<br />
+			<div class="mui-content-padded mui-text-center">
+				<button type="button" class="my-btn-black" id="my-btn-submit" style="width: 50%;">提交注册</button>
+			</div>
+		</div>
+		<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+		<script type="text/javascript" src="js/mui.min.js"></script>
+		<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript" src="js/main.js"></script>
+		<script src="js/mui.picker.min.js"></script>
+		<script type="text/javascript">
+			window.addEventListener('pageshow', function(e) {
+				// 通过persisted属性判断是否存在 BF Cache
+				if(e.persisted) {
+					location.reload();
+				}
+			});
+			
+			mui('body').on('tap', '#buyDate', function(event) {
+				var date = new Date();
+				var y = date.getFullYear();
+				var m = date.getMonth();//获取当前月份的日期
+				var d = date.getDate();
+				var picker = new mui.DtPicker({
+					type: "date", //设置日历初始视图模式 
+					beginDate: new Date(2018, 00, 08), //设置开始日期 
+					endDate: new Date(y, m, d) //设置结束日期 
+				});
+				picker.show(function(rs) {
+					
+					$("#buyDate").val(rs.text);
+					picker.dispose();
+					picker = null;
+					
+				});
+			});
+
+			
+			
+			var qrCode = null;
+			var isFocusOn = null;
+			var userIdentity = null;
+			
+			mui.ready(function() {
+				console.log("页面加载完毕");
+				//获取机器条码 barcode
+				qrCode = getParam("qrCode");
+				
+				if(qrCode != null){
+					$(".loading").hide().css("opacity", "0"); //隐藏(正在加载...)
+					$("#barCodeId").html("("+qrCode+")");
+					$.ajax(base_path + '/wechat/getActivationAndMember?dates=' + new Date().getTime(), {
+							data: {
+								"qrCode":qrCode//产品类型id
+							},
+							dataType: 'json',
+							xhrFields: {
+								withCredentials: true
+							},
+							crossDomain: true,
+							type: 'get',
+							timeout: 15000,
+							success: function(dt) {
+								if(dt.isRedirect) {
+									location.href = dt.redirectURL;
+								} else {
+									if(dt.status) {//判断接口返回状态status
+										if(dt.data.isActivation){
+											//已激活
+											
+											mui.alert('该产品已被激活!', '提醒', function() {  
+												location.href="my-center.html";
+							               }); 
+										}
+										//填充用户数据
+										$("#ipt-name").val(dt.data.memberInfo.userName);
+										if(dt.data.memberInfo.userSex != null){
+											if(dt.data.memberInfo.userSex == 1){
+												$("#maleId").attr("checked", true);
+											}
+											if(dt.data.memberInfo.userSex == 2){
+												$("#femaleId").attr("checked", true);
+											}
+										}
+										var radios = $(".radio1");
+										switch (dt.data.memberInfo.userAgeStage) {
+						                    case (1):
+						                        	radios.eq(0).attr("checked", true);
+						                        break;
+						                    case (2):
+						                     		radios.eq(1).attr("checked", true);
+						                        break;
+						                    case (3):
+						                      		radios.eq(2).attr("checked", true);
+						                        break;
+						                    case (4):
+						                      		radios.eq(3).attr("checked", true);
+						                        break;
+						                    case (5):
+						                     		radios.eq(4).attr("checked", true);
+						                        break;
+						                    case (6):
+						                     	radios.eq(5).attr("checked", true);
+						               }
+										isFocusOn = dt.data.memberInfo.userStatus;
+										userIdentity = dt.data.memberInfo.userIdentity;
+									} else {
+										mui.alert("查询失败!");
+									}
+								}
+							},
+							error: function(xhr, type, errorThrown) {
+								console.log(xhr);
+								mui.alert("网络错误!");
+							}
+						});
+				}
+				
+			});
+			$(document).on('tap', '#my-btn-submit', function() {
+				validate();//验证文本框
+				var userName = $("#ipt-name").val();
+				var userSex = $('input[name="radio0"]:checked ').val();
+				var userAgeStage = $('input[name="radio1"]:checked ').val();
+				var apparatusStore = $('input[name="radio2"]:checked ').val();
+				var buyDate = $("#buyDate").val();
+				var selectDate = new Date(Date.parse(buyDate));
+				var nowDate = new Date(Date.parse(new Date().toLocaleDateString()));
+				//if(selectDate>nowDate){
+					//mui.alert("购买日期不能大于当前日期");
+					//return false;
+				//}
+				if(validate_flag){
+					//验证通过
+					$.ajax(base_path + '/wechat/apparatus/add_apparatus?dates=' + new Date().getTime(), {
+							data: {
+								"barCode":qrCode,//条码
+								"userName":userName,//用户姓名
+								"userSex":userSex,//用户姓名
+								"userAgeStage":userAgeStage,//年龄阶段1:80后 2:85后 3:90后 4:95后 5:00后 6:其他
+								"apparatusStore":apparatusStore,//渠道id 1:天猫2:淘宝3:京东4:微信
+								"buyDate":buyDate//购买日期
+							},
+							dataType: 'json',
+							xhrFields: {
+								withCredentials: true
+							},
+							crossDomain: true,
+							type: 'get',
+							timeout: 15000,
+							success: function(dt) {
+								if(dt.isRedirect) {
+									location.href = dt.redirectURL;
+								} else {
+									if(dt.status) {//判断接口返回状态status
+										mui.alert('注册成功!', '提醒', function() {  
+											if(userIdentity == 1){//会员
+												if(isFocusOn == 1 || isFocusOn == 0){//未关注
+													location.href="member-follow-me.html";
+												}else{//以关注
+													location.href="my-center.html";
+												}
+											}else{//非会员
+												if(isFocusOn == 1 || isFocusOn == 0){//未关注
+													location.href="follow-me.html";
+												}else{//以关注
+													location.href="my-center.html";
+												}
+											}
+							                     
+							               }); 
+									} else {
+										mui.alert(dt.message, '提醒', function() {  
+											 location.href="my-center.html";
+							               }); 
+										//mui.alert(dt.message);
+									}
+								}
+							},
+							error: function(xhr, type, errorThrown) {
+								console.log(xhr);
+								mui.alert("网络错误");
+							}
+						});
+				}else{
+					mui.alert(dalog_msg);//弹窗提示
+				}
+			});	
+			
+			//正则表达式示例
+			var dalog_msg='',validate_flag=false;
+			function validate() {
+				var ch_en_num = /^[A-Za-z_\-\u4e00-\u9fa5]{2,10}$/; //简体中文英文(2-10位)
+				var full_date = /^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/; //日期格式 (2016\12\12,2016-12-12,2016.12.12)
+				var name = $("#ipt-name").val().trim();
+				if(ch_en_num.test(name)) {
+					//验证通过
+					validate_flag=true;
+				} else {
+					//未通过验证
+					if(name != '') {
+						dalog_msg='名字格式不正确';
+					} else {
+						dalog_msg='请填写名字';
+					}
+					validate_flag=false;
+				}
+				if($("#buyDate").val() == null || $("#buyDate").val() == ""){
+					dalog_msg='请选择购买日期';
+					validate_flag=false;
+				}
+				return dalog_msg;//返回提示信息
+			}
+		</script>
+	</body>
+
 </html>

文件差异内容过多而无法显示
+ 377 - 377
tooth/shopping-cart.html


+ 176 - 176
tooth/welfare-service.html

@@ -1,176 +1,176 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>福利社</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
-		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
-		<!--<script>
-			window.repleFlag = true;
-			window.repleWxData = {
-			    "imgUrl":'https://w.iamberry.com/tooth/common/images/soodoShare.jpg',
-			    "link":window.location.href.split("#")[0],
-			    "desc":"让你的“笑容停留在18岁”",
-			    "title":"【soodo上朵】柔性声波电动牙刷,赠送您60元现金券",
-			};
-			
-			function fenxiang(){
-				var src = location.href;
-								src = "https://s.iamberry.com/soodo/wechat/pro-details.html?colorId="+colorId;
-								window.wxFriend = {
-										"appId": "",
-										"imgUrl": 'https://s.iamberry.com/soodo/wechat/images/indexShare.jpg',
-										"link": src,
-										"desc": '让你的“笑容停留在18岁”',
-										"title": "【soodo上朵】柔性声波电动牙刷,赠送您60元现金券",
-										"netError": "您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
-										"shareTimeSuccess": "分享成功",
-										"shareTimeCancel": "已取消分享",
-										"shareAppSuccess": "分享成功!",
-										"shareAppCancel": "已取消分享"
-								};
-								getConfig();
-			}
-		</script>-->
-	</head>
-	<body>
-			<div class="mui-content">
-					<img src="images/fulishe_1.jpg" style="margin: 5%;width: 90%;"/>
-					<div style="text-align: center;    margin-bottom: 20px;">
-					<button type="button" class="my-btn-receive  fulishe"  style="width: 168px;height: 38px;padding: 0px;">立即领取</button>
-					<!--<div class="mui-content-padded">
-						<h6>你的笑容,我来守护右上角点击,分享给好友,守护他/她的笑容</h6>
-					</div>-->
-					</div>
-					
-					<img src="images/fulishe_2.jpg" class="goToShopping" style="margin: 5%;width: 90%;"/>
-					<div style="text-align: center;margin-bottom: 20px;">
-						<button type="button" class="my-btn-receive goToShopping" style="width: 168px;height: 38px;padding: 0px;    background: #CEB67D;">立即抢购</button>
-					</div>
-					
-			</div>
-			<!-- 加载ing begin-->
-		<div class="loading covers">
-			<div class="loading-bj"></div>
-			<p>正在加载...</p>
-		</div>
-		<!-- 加载ing end -->
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript" src="js/main.js"></script>
-	<script type="text/javascript" src="js/wechat-utils-1.0.js"></script>
-	<script type="text/javascript">
-		
-	window.addEventListener('pageshow', function(e) {
-			// 通过persisted属性判断是否存在 BF Cache
-			if(e.persisted) {
-				location.reload();
-			}
-		});
-			
-	var notReceive=null;	//先判断是否领取过
-	
-	mui.ready(function(){
-		console.log("页面加载完毕");
-		$(".loading").hide().css("opacity", "0");//隐藏(正在加载...)
-		
-		var src = location.href;
-			src = "https://s.iamberry.com/soodo/wechat/welfare-service.html";
-			window.wxFriend = {
-					"appId": "",
-					"imgUrl": 'https://s.iamberry.com/soodo/wechat/images/indexShare.jpg',
-					"link": src,
-					"desc": '让你的齿龄停留在18岁',
-					"title": "【soodo上朵】柔性声波电动牙刷,赠送您60元现金券",
-					"netError": "您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
-					"shareTimeSuccess": "分享成功",
-					"shareTimeCancel": "已取消分享",
-					"shareAppSuccess": "分享成功!",
-					"shareAppCancel": "已取消分享"
-			};
-		
-	});	 
-	mui('body').on('tap', '.fulishe', function(event) {
-		if(notReceive){
-			addAewPeople();
-		}else{
-			mui.openWindow({
-					url: 'pro-list.html'
-			});
-		}
-	});
-	
-	mui('body').on('tap', '.goToShopping', function(event) {
-		location.href="pro-details.html?colorId=44";
-	});
-	
-	
-	
-		$.ajax(base_path + '/wechat/coupon/getIsReceive?dates=' + new Date().getTime(), {
-					data: {},// ajax参数 没有则不写
-					dataType: 'json',
-					xhrFields: {
-						withCredentials: true
-					},
-					crossDomain: true,
-					type: 'get',
-					timeout: 15000,
-					success: function(dt) {
-						if(dt.isRedirect) {//先判断isRedirect,然后跳转redirectURL
-							location.href = dt.redirectURL;
-						} else {
-							if(dt.status) {//判断接口返回状态status
-								notReceive=1;
-							} else {
-								$(".fulishe").text("已领取 去下单");
-							}
-						}
-					},
-					error: function(xhr, type, errorThrown) {
-						console.log(xhr);
-						mui.alert("领取现金券失败!网络错误");
-					}
-				});
-	
-	//领取新人现金券
-	function addAewPeople(){
-			
-			if(notReceive){
-				$.ajax(base_path + '/wechat/coupon/addAewPeople?dates=' + new Date().getTime(), {
-				data: {},// ajax参数 没有则不写
-				dataType: 'json',
-				xhrFields: {
-					withCredentials: true
-				},
-				crossDomain: true,
-				type: 'get',
-				timeout: 15000,
-				success: function(dt) {
-					if(dt.isRedirect) {//先判断isRedirect,然后跳转redirectURL
-						location.href = dt.redirectURL;
-					} else {
-						if(dt.status) {//判断接口返回状态status
-							mui.alert("领取成功!");	
-							notReceive=null;
-							$(".fulishe").text("已领取 去下单");
-						} else {
-							mui.alert("领取失败!");
-						}
-					}
-				},
-				error: function(xhr, type, errorThrown) {
-					console.log(xhr);
-					mui.alert("领取新人现金券失败!网络错误");
-				}
-			});
-			}
-			
-		}
-	</script>
-	</body>
-</html>
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title>福利社</title>
+		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="black">
+		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
+		<!--<script>
+			window.repleFlag = true;
+			window.repleWxData = {
+			    "imgUrl":'https://w.iamberry.com/tooth/common/images/soodoShare.jpg',
+			    "link":window.location.href.split("#")[0],
+			    "desc":"让你的“笑容停留在18岁”",
+			    "title":"【soodo上朵】柔性声波电动牙刷,赠送您60元现金券",
+			};
+			
+			function fenxiang(){
+				var src = location.href;
+								src = "https://s.iamberry.com/soodo/wechat/pro-details.html?colorId="+colorId;
+								window.wxFriend = {
+										"appId": "",
+										"imgUrl": 'https://s.iamberry.com/soodo/wechat/images/indexShare.jpg',
+										"link": src,
+										"desc": '让你的“笑容停留在18岁”',
+										"title": "【soodo上朵】柔性声波电动牙刷,赠送您60元现金券",
+										"netError": "您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
+										"shareTimeSuccess": "分享成功",
+										"shareTimeCancel": "已取消分享",
+										"shareAppSuccess": "分享成功!",
+										"shareAppCancel": "已取消分享"
+								};
+								getConfig();
+			}
+		</script>-->
+	</head>
+	<body>
+			<div class="mui-content">
+					<img src="images/fulishe_1.jpg" style="margin: 5%;width: 90%;"/>
+					<div style="text-align: center;    margin-bottom: 20px;">
+					<button type="button" class="my-btn-receive  fulishe"  style="width: 168px;height: 38px;padding: 0px;">立即领取</button>
+					<!--<div class="mui-content-padded">
+						<h6>你的笑容,我来守护右上角点击,分享给好友,守护他/她的笑容</h6>
+					</div>-->
+					</div>
+					
+					<img src="images/fulishe_2.jpg" class="goToShopping" style="margin: 5%;width: 90%;"/>
+					<div style="text-align: center;margin-bottom: 20px;">
+						<button type="button" class="my-btn-receive goToShopping" style="width: 168px;height: 38px;padding: 0px;    background: #CEB67D;">立即抢购</button>
+					</div>
+					
+			</div>
+			<!-- 加载ing begin-->
+		<div class="loading covers">
+			<div class="loading-bj"></div>
+			<p>正在加载...</p>
+		</div>
+		<!-- 加载ing end -->
+	<script type="text/javascript" src="js/mui.min.js"></script>
+	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript" src="js/main.js"></script>
+	<script type="text/javascript" src="js/wechat-utils-1.0.js"></script>
+	<script type="text/javascript">
+		
+	window.addEventListener('pageshow', function(e) {
+			// 通过persisted属性判断是否存在 BF Cache
+			if(e.persisted) {
+				location.reload();
+			}
+		});
+			
+	var notReceive=null;	//先判断是否领取过
+	
+	mui.ready(function(){
+		console.log("页面加载完毕");
+		$(".loading").hide().css("opacity", "0");//隐藏(正在加载...)
+		
+		var src = location.href;
+			src = "https://s.iamberry.com/soodo/wechat/welfare-service.html";
+			window.wxFriend = {
+					"appId": "",
+					"imgUrl": 'https://s.iamberry.com/soodo/wechat/images/indexShare.jpg',
+					"link": src,
+					"desc": '让你的齿龄停留在18岁',
+					"title": "【soodo上朵】柔性声波电动牙刷,赠送您60元现金券",
+					"netError": "您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
+					"shareTimeSuccess": "分享成功",
+					"shareTimeCancel": "已取消分享",
+					"shareAppSuccess": "分享成功!",
+					"shareAppCancel": "已取消分享"
+			};
+		
+	});	 
+	mui('body').on('tap', '.fulishe', function(event) {
+		if(notReceive){
+			addAewPeople();
+		}else{
+			mui.openWindow({
+					url: 'pro-list.html'
+			});
+		}
+	});
+	
+	mui('body').on('tap', '.goToShopping', function(event) {
+		location.href="pro-details.html?colorId=44";
+	});
+	
+	
+	
+		$.ajax(base_path + '/wechat/coupon/getIsReceive?dates=' + new Date().getTime(), {
+					data: {},// ajax参数 没有则不写
+					dataType: 'json',
+					xhrFields: {
+						withCredentials: true
+					},
+					crossDomain: true,
+					type: 'get',
+					timeout: 15000,
+					success: function(dt) {
+						if(dt.isRedirect) {//先判断isRedirect,然后跳转redirectURL
+							location.href = dt.redirectURL;
+						} else {
+							if(dt.status) {//判断接口返回状态status
+								notReceive=1;
+							} else {
+								$(".fulishe").text("已领取 去下单");
+							}
+						}
+					},
+					error: function(xhr, type, errorThrown) {
+						console.log(xhr);
+						mui.alert("领取现金券失败!网络错误");
+					}
+				});
+	
+	//领取新人现金券
+	function addAewPeople(){
+			
+			if(notReceive){
+				$.ajax(base_path + '/wechat/coupon/addAewPeople?dates=' + new Date().getTime(), {
+				data: {},// ajax参数 没有则不写
+				dataType: 'json',
+				xhrFields: {
+					withCredentials: true
+				},
+				crossDomain: true,
+				type: 'get',
+				timeout: 15000,
+				success: function(dt) {
+					if(dt.isRedirect) {//先判断isRedirect,然后跳转redirectURL
+						location.href = dt.redirectURL;
+					} else {
+						if(dt.status) {//判断接口返回状态status
+							mui.alert("领取成功!");	
+							notReceive=null;
+							$(".fulishe").text("已领取 去下单");
+						} else {
+							mui.alert("领取失败!");
+						}
+					}
+				},
+				error: function(xhr, type, errorThrown) {
+					console.log(xhr);
+					mui.alert("领取新人现金券失败!网络错误");
+				}
+			});
+			}
+			
+		}
+	</script>
+	</body>
+</html>