<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    common

    //     Underscore.js 1.4.2
    //     http://underscorejs.org
    //     (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
    //     Underscore may be freely distributed under the MIT license.
    (function(){var e=this,t=e._,n={},r=Array.prototype,i=Object.prototype,s=Function.prototype,o=r.push,u=r.slice,a=r.concat,f=r.unshift,l=i.toString,c=i.hasOwnProperty,h=r.forEach,p=r.map,d=r.reduce,v=r.reduceRight,m=r.filter,g=r.every,y=r.some,b=r.indexOf,w=r.lastIndexOf,E=Array.isArray,S=Object.keys,x=s.bind,T=function(e){if(e instanceof T)return e;if(!(this instanceof T))return new T(e);this._wrapped=e};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=T),exports._=T):e._=T,T.VERSION="1.4.2";var N=T.each=T.forEach=function(e,t,r){if(e==null)return;if(h&&e.forEach===h)e.forEach(t,r);else if(e.length===+e.length){for(var i=0,s=e.length;i<s;i++)if(t.call(r,e[i],i,e)===n)return}else for(var o in e)if(T.has(e,o)&&t.call(r,e[o],o,e)===n)return};T.map=T.collect=function(e,t,n){var r=[];return e==null?r:p&&e.map===p?e.map(t,n):(N(e,function(e,i,s){r[r.length]=t.call(n,e,i,s)}),r)},T.reduce=T.foldl=T.inject=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(d&&e.reduce===d)return r&&(t=T.bind(t,r)),i?e.reduce(t,n):e.reduce(t);N(e,function(e,s,o){i?n=t.call(r,n,e,s,o):(n=e,i=!0)});if(!i)throw new TypeError("Reduce of empty array with no initial value");return n},T.reduceRight=T.foldr=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(v&&e.reduceRight===v)return r&&(t=T.bind(t,r)),arguments.length>2?e.reduceRight(t,n):e.reduceRight(t);var s=e.length;if(s!==+s){var o=T.keys(e);s=o.length}N(e,function(u,a,f){a=o?o[--s]:--s,i?n=t.call(r,n,e[a],a,f):(n=e[a],i=!0)});if(!i)throw new TypeError("Reduce of empty array with no initial value");return n},T.find=T.detect=function(e,t,n){var r;return C(e,function(e,i,s){if(t.call(n,e,i,s))return r=e,!0}),r},T.filter=T.select=function(e,t,n){var r=[];return e==null?r:m&&e.filter===m?e.filter(t,n):(N(e,function(e,i,s){t.call(n,e,i,s)&&(r[r.length]=e)}),r)},T.reject=function(e,t,n){var r=[];return e==null?r:(N(e,function(e,i,s){t.call(n,e,i,s)||(r[r.length]=e)}),r)},T.every=T.all=function(e,t,r){t||(t=T.identity);var i=!0;return e==null?i:g&&e.every===g?e.every(t,r):(N(e,function(e,s,o){if(!(i=i&&t.call(r,e,s,o)))return n}),!!i)};var C=T.some=T.any=function(e,t,r){t||(t=T.identity);var i=!1;return e==null?i:y&&e.some===y?e.some(t,r):(N(e,function(e,s,o){if(i||(i=t.call(r,e,s,o)))return n}),!!i)};T.contains=T.include=function(e,t){var n=!1;return e==null?n:b&&e.indexOf===b?e.indexOf(t)!=-1:(n=C(e,function(e){return e===t}),n)},T.invoke=function(e,t){var n=u.call(arguments,2);return T.map(e,function(e){return(T.isFunction(t)?t:e[t]).apply(e,n)})},T.pluck=function(e,t){return T.map(e,function(e){return e[t]})},T.where=function(e,t){return T.isEmpty(t)?[]:T.filter(e,function(e){for(var n in t)if(t[n]!==e[n])return!1;return!0})},T.max=function(e,t,n){if(!t&&T.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.max.apply(Math,e);if(!t&&T.isEmpty(e))return-Infinity;var r={computed:-Infinity};return N(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o>=r.computed&&(r={value:e,computed:o})}),r.value},T.min=function(e,t,n){if(!t&&T.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.min.apply(Math,e);if(!t&&T.isEmpty(e))return Infinity;var r={computed:Infinity};return N(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o<r.computed&&(r={value:e,computed:o})}),r.value},T.shuffle=function(e){var t,n=0,r=[];return N(e,function(e){t=T.random(n++),r[n-1]=r[t],r[t]=e}),r};var k=function(e){return T.isFunction(e)?e:function(t){return t[e]}};T.sortBy=function(e,t,n){var r=k(t);return T.pluck(T.map(e,function(e,t,i){return{value:e,index:t,criteria:r.call(n,e,t,i)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||n===void 0)return 1;if(n<r||r===void 0)return-1}return e.index<t.index?-1:1}),"value")};var L=function(e,t,n,r){var i={},s=k(t);return N(e,function(t,o){var u=s.call(n,t,o,e);r(i,u,t)}),i};T.groupBy=function(e,t,n){return L(e,t,n,function(e,t,n){(T.has(e,t)?e[t]:e[t]=[]).push(n)})},T.countBy=function(e,t,n){return L(e,t,n,function(e,t,n){T.has(e,t)||(e[t]=0),e[t]++})},T.sortedIndex=function(e,t,n,r){n=n==null?T.identity:k(n);var i=n.call(r,t),s=0,o=e.length;while(s<o){var u=s+o>>>1;n.call(r,e[u])<i?s=u+1:o=u}return s},T.toArray=function(e){return e?e.length===+e.length?u.call(e):T.values(e):[]},T.size=function(e){return e.length===+e.length?e.length:T.keys(e).length},T.first=T.head=T.take=function(e,t,n){return t!=null&&!n?u.call(e,0,t):e[0]},T.initial=function(e,t,n){return u.call(e,0,e.length-(t==null||n?1:t))},T.last=function(e,t,n){return t!=null&&!n?u.call(e,Math.max(e.length-t,0)):e[e.length-1]},T.rest=T.tail=T.drop=function(e,t,n){return u.call(e,t==null||n?1:t)},T.compact=function(e){return T.filter(e,function(e){return!!e})};var A=function(e,t,n){return N(e,function(e){T.isArray(e)?t?o.apply(n,e):A(e,t,n):n.push(e)}),n};T.flatten=function(e,t){return A(e,t,[])},T.without=function(e){return T.difference(e,u.call(arguments,1))},T.uniq=T.unique=function(e,t,n,r){var i=n?T.map(e,n,r):e,s=[],o=[];return N(i,function(n,r){if(t?!r||o[o.length-1]!==n:!T.contains(o,n))o.push(n),s.push(e[r])}),s},T.union=function(){return T.uniq(a.apply(r,arguments))},T.intersection=function(e){var t=u.call(arguments,1);return T.filter(T.uniq(e),function(e){return T.every(t,function(t){return T.indexOf(t,e)>=0})})},T.difference=function(e){var t=a.apply(r,u.call(arguments,1));return T.filter(e,function(e){return!T.contains(t,e)})},T.zip=function(){var e=u.call(arguments),t=T.max(T.pluck(e,"length")),n=new Array(t);for(var r=0;r<t;r++)n[r]=T.pluck(e,""+r);return n},T.object=function(e,t){var n={};for(var r=0,i=e.length;r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},T.indexOf=function(e,t,n){if(e==null)return-1;var r=0,i=e.length;if(n){if(typeof n!="number")return r=T.sortedIndex(e,t),e[r]===t?r:-1;r=n<0?Math.max(0,i+n):n}if(b&&e.indexOf===b)return e.indexOf(t,n);for(;r<i;r++)if(e[r]===t)return r;return-1},T.lastIndexOf=function(e,t,n){if(e==null)return-1;var r=n!=null;if(w&&e.lastIndexOf===w)return r?e.lastIndexOf(t,n):e.lastIndexOf(t);var i=r?n:e.length;while(i--)if(e[i]===t)return i;return-1},T.range=function(e,t,n){arguments.length<=1&&(t=e||0,e=0),n=arguments[2]||1;var r=Math.max(Math.ceil((t-e)/n),0),i=0,s=new Array(r);while(i<r)s[i++]=e,e+=n;return s};var O=function(){};T.bind=function(t,n){var r,i;if(t.bind===x&&x)return x.apply(t,u.call(arguments,1));if(!T.isFunction(t))throw new TypeError;return i=u.call(arguments,2),r=function(){if(this instanceof r){O.prototype=t.prototype;var e=new O,s=t.apply(e,i.concat(u.call(arguments)));return Object(s)===s?s:e}return t.apply(n,i.concat(u.call(arguments)))}},T.bindAll=function(e){var t=u.call(arguments,1);return t.length==0&&(t=T.functions(e)),N(t,function(t){e[t]=T.bind(e[t],e)}),e},T.memoize=function(e,t){var n={};return t||(t=T.identity),function(){var r=t.apply(this,arguments);return T.has(n,r)?n[r]:n[r]=e.apply(this,arguments)}},T.delay=function(e,t){var n=u.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},T.defer=function(e){return T.delay.apply(T,[e,1].concat(u.call(arguments,1)))},T.throttle=function(e,t){var n,r,i,s,o,u,a=T.debounce(function(){o=s=!1},t);return function(){n=this,r=arguments;var f=function(){i=null,o&&(u=e.apply(n,r)),a()};return i||(i=setTimeout(f,t)),s?o=!0:(s=!0,u=e.apply(n,r)),a(),u}},T.debounce=function(e,t,n){var r,i;return function(){var s=this,o=arguments,u=function(){r=null,n||(i=e.apply(s,o))},a=n&&!r;return clearTimeout(r),r=setTimeout(u,t),a&&(i=e.apply(s,o)),i}},T.once=function(e){var t=!1,n;return function(){return t?n:(t=!0,n=e.apply(this,arguments),e=null,n)}},T.wrap=function(e,t){return function(){var n=[e];return o.apply(n,arguments),t.apply(this,n)}},T.compose=function(){var e=arguments;return function(){var t=arguments;for(var n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},T.after=function(e,t){return e<=0?t():function(){if(--e<1)return t.apply(this,arguments)}},T.keys=S||function(e){if(e!==Object(e))throw new TypeError("Invalid object");var t=[];for(var n in e)T.has(e,n)&&(t[t.length]=n);return t},T.values=function(e){var t=[];for(var n in e)T.has(e,n)&&t.push(e[n]);return t},T.pairs=function(e){var t=[];for(var n in e)T.has(e,n)&&t.push([n,e[n]]);return t},T.invert=function(e){var t={};for(var n in e)T.has(e,n)&&(t[e[n]]=n);return t},T.functions=T.methods=function(e){var t=[];for(var n in e)T.isFunction(e[n])&&t.push(n);return t.sort()},T.extend=function(e){return N(u.call(arguments,1),function(t){for(var n in t)e[n]=t[n]}),e},T.pick=function(e){var t={},n=a.apply(r,u.call(arguments,1));return N(n,function(n){n in e&&(t[n]=e[n])}),t},T.omit=function(e){var t={},n=a.apply(r,u.call(arguments,1));for(var i in e)T.contains(n,i)||(t[i]=e[i]);return t},T.defaults=function(e){return N(u.call(arguments,1),function(t){for(var n in t)e[n]==null&&(e[n]=t[n])}),e},T.clone=function(e){return T.isObject(e)?T.isArray(e)?e.slice():T.extend({},e):e},T.tap=function(e,t){return t(e),e};var M=function(e,t,n,r){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return e===t;e instanceof T&&(e=e._wrapped),t instanceof T&&(t=t._wrapped);var i=l.call(e);if(i!=l.call(t))return!1;switch(i){case"[object String]":return e==String(t);case"[object Number]":return e!=+e?t!=+t:e==0?1/e==1/t:e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object RegExp]":return e.source==t.source&&e.global==t.global&&e.multiline==t.multiline&&e.ignoreCase==t.ignoreCase}if(typeof e!="object"||typeof t!="object")return!1;var s=n.length;while(s--)if(n[s]==e)return r[s]==t;n.push(e),r.push(t);var o=0,u=!0;if(i=="[object Array]"){o=e.length,u=o==t.length;if(u)while(o--)if(!(u=M(e[o],t[o],n,r)))break}else{var a=e.constructor,f=t.constructor;if(a!==f&&!(T.isFunction(a)&&a instanceof a&&T.isFunction(f)&&f instanceof f))return!1;for(var c in e)if(T.has(e,c)){o++;if(!(u=T.has(t,c)&&M(e[c],t[c],n,r)))break}if(u){for(c in t)if(T.has(t,c)&&!(o--))break;u=!o}}return n.pop(),r.pop(),u};T.isEqual=function(e,t){return M(e,t,[],[])},T.isEmpty=function(e){if(e==null)return!0;if(T.isArray(e)||T.isString(e))return e.length===0;for(var t in e)if(T.has(e,t))return!1;return!0},T.isElement=function(e){return!!e&&e.nodeType===1},T.isArray=E||function(e){return l.call(e)=="[object Array]"},T.isObject=function(e){return e===Object(e)},N(["Arguments","Function","String","Number","Date","RegExp"],function(e){T["is"+e]=function(t){return l.call(t)=="[object "+e+"]"}}),T.isArguments(arguments)||(T.isArguments=function(e){return!!e&&!!T.has(e,"callee")}),typeof /./!="function"&&(T.isFunction=function(e){return typeof e=="function"}),T.isFinite=function(e){return T.isNumber(e)&&isFinite(e)},T.isNaN=function(e){return T.isNumber(e)&&e!=+e},T.isBoolean=function(e){return e===!0||e===!1||l.call(e)=="[object Boolean]"},T.isNull=function(e){return e===null},T.isUndefined=function(e){return e===void 0},T.has=function(e,t){return c.call(e,t)},T.noConflict=function(){return e._=t,this},T.identity=function(e){return e},T.times=function(e,t,n){for(var r=0;r<e;r++)t.call(n,r)},T.random=function(e,t){return t==null&&(t=e,e=0),e+(0|Math.random()*(t-e+1))};var _={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"'","/":"/"}};_.unescape=T.invert(_.escape);var D={escape:new RegExp("["+T.keys(_.escape).join("")+"]","g"),unescape:new RegExp("("+T.keys(_.unescape).join("|")+")","g")};T.each(["escape","unescape"],function(e){T[e]=function(t){return t==null?"":(""+t).replace(D[e],function(t){return _[e][t]})}}),T.result=function(e,t){if(e==null)return null;var n=e[t];return T.isFunction(n)?n.call(e):n},T.mixin=function(e){N(T.functions(e),function(t){var n=T[t]=e[t];T.prototype[t]=function(){var e=[this._wrapped];return o.apply(e,arguments),F.call(this,n.apply(T,e))}})};var P=0;T.uniqueId=function(e){var t=P++;return e?e+t:t},T.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var H=/(.)^/,B={"'":"'","\\":"\\","\r":"r","\n":"n","    ":"t","\u2028":"u2028","\u2029":"u2029"},j=/\\|'|\r|\n|\t|\u2028|\u2029/g;T.template=function(e,t,n){n=T.defaults({},n,T.templateSettings);var r=new RegExp([(n.escape||H).source,(n.interpolate||H).source,(n.evaluate||H).source].join("|")+"|$","g"),i=0,s="__p+='";e.replace(r,function(t,n,r,o,u){s+=e.slice(i,u).replace(j,function(e){return"\\"+B[e]}),s+=n?"'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?"'+\n((__t=("+r+"))==null?'':__t)+\n'":o?"';\n"+o+"\n__p+='":"",i=u+t.length}),s+="';\n",n.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{var o=new Function(n.variable||"obj","_",s)}catch(u){throw u.source=s,u}if(t)return o(t,T);var a=function(e){return o.call(this,e,T)};return a.source="function("+(n.variable||"obj")+"){\n"+s+"}",a},T.chain=function(e){return T(e).chain()};var F=function(e){return this._chain?T(e).chain():e};T.mixin(T),N(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=r[e];T.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e=="shift"||e=="splice")&&n.length===0&&delete n[0],F.call(this,n)}}),N(["concat","join","slice"],function(e){var t=r[e];T.prototype[e]=function(){return F.call(this,t.apply(this._wrapped,arguments))}}),T.extend(T.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this);/**
     * 公共配置文件
     * 包含公共常量, 配置和方法
     */
    ;(function() {

        /**
         * 應(yīng)用公共對(duì)象
         */
        // window.App = new Object(); //移到 init.js去
        
        if(!navigator.cookieEnabled){
            alert('請(qǐng)確認(rèn)您當(dāng)前的瀏覽器已開啟Cookie,如果您是IOS設(shè)備,請(qǐng)?jiān)?nbsp; 設(shè)置=>safari=>接受Cookie 中選擇“總是”');
        }
        
        /**
         * 常量定義
         */
        var ua = navigator.userAgent.toUpperCase();
        App.userAgent = ua;
        // 當(dāng)前環(huán)境是否為Android平臺(tái)
        App.IS_ANDROID = ua.indexOf('ANDROID') != -1;
        // 當(dāng)前環(huán)境是否為IOS平臺(tái)
        App.IS_IOS = ua.indexOf('IPHONE OS') != -1;
        // 當(dāng)前環(huán)境是否為本地Native環(huán)境
        App.IS_NATIVE = (App.IS_ANDROID || App.IS_IOS) ? true : false;
        App.IsWIN8 = (ua.indexOf('WINDOWS') != -1 && ua.indexOf('MSIE') != -1);//nokia瀏覽器設(shè)置為電腦版本
        App.IsWP = (ua.indexOf('WINDOWS') != -1 && ua.indexOf('PHONE') != -1 );//nokia瀏覽器設(shè)置為手機(jī)版本
        //媒體來(lái)源于iphone的填I(lǐng)PHONE
        //stz 修正從手機(jī)的瀏覽器而來(lái)的情況:(也算是從瀏覽器而不是native而來(lái))
        /*if(!App.IS_NATIVE){
            window.location.;  
        } else {
            window.location.;
        }*/
        if(!$.fn.tap||ua.indexOf('OPERA') != -1){
            $.fn.tap = $.fn.click;
        }
        if(!$.fn.swipe) $.fn.swipe = function(callback){ return this.bind('swipe', callback) }
     
        App.Cild_direct = "/pa18shoplife/mobile/"; // 環(huán)境需要
        
        if(App.IS_IOS && ua.indexOf('SAFARI') != -1){
            App.IS_NATIVE = false;
            App.IS_IOS = false;
        }
        if(App.IS_ANDROID && !window.android){
            App.IS_NATIVE = false;
            App.IS_ANDROID = false;
        }
        if(!App.IS_NATIVE){
            var header = $('header');
            if(header.size()){
                header.show();
                header.find('span.com_header_back').tap(function(e){
                    back();
                });
                //可以是可以:
                // var header_back = header.find('span.com_header_back');
                // header_back.on('touchstart',function(){
                    // header_back.addClass('com_header_back_grey');
                // });
                // header_back.on('touchend',function(){
                    // header_back.removeClass('com_header_back_grey');
                    // back();
                // })
            }
        }
        
        App.MediaSource = {
            MOBILE_DEFAULT: 'SC03-Direct-00001', // 手機(jī)官網(wǎng)默認(rèn)的媒體來(lái)源
            SMS_Marketing : {
                CHANNEL_1 : 'sc03-marketing-sms-00000001',  // 多波次活動(dòng)早保早優(yōu)惠
                CHANNEL_2 : 'sc03-marketing-sms-00000002',  // 多波次活動(dòng)夏日大促
                CHANNEL_3 : 'sc03-marketing-sms-00000003',  // 多波次活動(dòng)秒殺
                CHANNEL_4 : 'sc03-marketing-zbzyh-00000001' // 早保早優(yōu)惠
            },
            ACTIVITY_DONGYIQU: 'sc03-marketing-dongyiqu-00000001',  // 東一區(qū)活動(dòng)媒體來(lái)源:首頁(yè)廣告
            ACTIVITY_DONGYIQU_NEW: 'sc03-marketing-dyq-0001',       // 新增東一區(qū)活動(dòng)媒體來(lái)源
            ACTIVITY_DONGERQU: 'sc03-marketing-deq-0002',   // 東二區(qū)活動(dòng)媒體來(lái)源:首頁(yè)默認(rèn)
            ACTIVITY_DONGERQU_AD: 'sc03-marketing-deq-b2',  // 東二區(qū)活動(dòng)媒體來(lái)源:首頁(yè)廣告
            ACTIVITY_XIQU: 'sc03-marketing-xq-0003',   // 西區(qū)活動(dòng)媒體來(lái)源:首頁(yè)默認(rèn)
            ACTIVITY_XIQU_AD: 'sc03-marketing-xq-b3',  // 西區(qū)活動(dòng)媒體來(lái)源:首頁(yè)廣告
            ACTIVITY_NANQU: 'sc03-marketing-nq-0004',  // 南區(qū)活動(dòng)媒體來(lái)源:首頁(yè)默認(rèn)
            ACTIVITY_NANQU_AD: 'sc03-marketing-nq-b4', // 南區(qū)活動(dòng)媒體來(lái)源:首頁(yè)廣告
            ACTIVITY_YJXB_AD: 'sc03-yjxb-0000001',
            ACTIVITY_YJXB_AD2: 'sc03-yjxb-0000002',
            ACTIVITY_YJXB_ZBZYH: 'sc03-direct-zbzyh-0000001',
            ACTIVITY_BEIQU: 'sc03-marketing-bq-0005', // 北區(qū)活動(dòng)媒體來(lái)源
            ACTIVITY_ALL: 'upa-marketing-all',        // 非業(yè)務(wù)提供媒體來(lái)源不做統(tǒng)計(jì)只用于程序標(biāo)識(shí)自用
            WEIXIN : 'sc03-channel-weixin-00000001',  // 微信媒體來(lái)源
            SC03_MARKETING_BJS:{//報(bào)價(jià)送
                SX:'SC03-MARKETING-BJS-0001', // 陜西
                GS:'SC03-MARKETING-BJS-0002', // 甘肅
                GZ:'SC03-MARKETING-BJS-0003', // 貴州
                CQ:'SC03-MARKETING-BJS-0004', // 重慶
                NX:'SC03-MARKETING-BJS-0005', // 寧夏
                YN:'SC03-MARKETING-BJS-0006', // 云南
                QH:'SC03-MARKETING-BJS-0007', // 青海
                SC:'SC03-MARKETING-BJS-0008', // 四川
                XJ:'SC03-MARKETING-BJS-0009' // 新疆
            }
        }
        
        //線上環(huán)境
        App.domain="u.pingan.com/upingan/upingan";
        
        //測(cè)試環(huán)境
        //App.domain="dmzstg1.pa18.com/upingan/upingan"; //webtrends 監(jiān)控腳本實(shí)際域名地址,根據(jù)實(shí)際地址更換,線上環(huán)境地址:u.pingan.com/upingan
        
        App.relactPath = ''; //http://www.pingan.com/ebusiness/auto/mobile/upingan/ 坑爹的配置讓我們用這個(gè)轉(zhuǎn)進(jìn)去。。。
     
        // 是否為開發(fā)環(huán)境

        App.IS_DEV = false;
        // 自定義undefined
        App.UNDEFINED = 'UNDEFINED';
        //userId的標(biāo)識(shí)
        //App.userId = 'mobile_sc03';
        //車險(xiǎn)的伙伴標(biāo)識(shí)
        //App.partnerName = 'chexian-mobile';
        //app版本號(hào)
        App.ANDROID_Version=0;
        App.IOS_Version=0;

        // 服務(wù)器地址
        // App.ServerHost = '/';
        // if (window.location.hostname == 'localhost') {
            App.ServerHost = 'http://www.pingan.com/';        
        // }
        
        // 后臺(tái)地址
        App.RequestHost = '/upingan/';

        // 公共提示信息
        App.lang = {
            getFlowIdError : '獲取流程號(hào)失敗, 請(qǐng)稍后重試!',
            serviceError : '系統(tǒng)發(fā)生錯(cuò)誤, 請(qǐng)稍后重試!',
            Tip:'提示:',
            putInStartPlace:'請(qǐng)輸入起點(diǎn)',
            putInEndPlace:'請(qǐng)輸入終點(diǎn)'
        }

        /**
         * 模板文件地址定義
         */
        /*
        App.tplUrls = {
            city : App.relactPath+'tpl/city.html',
            date : App.relactPath+'tpl/date.html',
            headFoot: App.relactPath+'tpl/headfoot.html',
            vehicleType: App.relactPath+'tpl/vehicleType.html'
        }
        */

        /**
         * 公共組件動(dòng)態(tài)加載地址
         */
        /*
        App.completeUrls = {
            touch : 'js/common/touch.js',
            scroll : 'js/common/scroll.js',
            scroll2 : 'js/common/Scroll2.js',
            box : 'js/common/box.js',
            Slide : 'js/common/Slide.js',
            SlideList : 'js/common/SlideList.js'
        }
        */
        //服務(wù)器那邊分頁(yè)單位(幾條數(shù)據(jù)分一頁(yè))
        App.pageDateNum = 10;
        //滑動(dòng)多少像素開始加載
        App.pageDistanceOfSlide = 80;

        /**
         * 證件類型/性別等配置
         */
        /*
        App.comConst = {
            '01' : '居民身份證',
            '02' : '護(hù)照',
            '03' : '軍官證',
            '05' : '駕駛證',
            '06' : '港澳回鄉(xiāng)證或臺(tái)胞證',
            'M' : '男',
            'F' : '女'
        }
        
        App.cerTypes = {
            '居民身份證' : '01',
            '護(hù)照' : '02',
            '軍官證' : '03',
            '駕駛證' : '05',
            '港澳回鄉(xiāng)證或臺(tái)胞證' : '06'
        };
        
        App.genderTypes = {
              '男':'M',
              '女'    :'F'
        }   
        */
        
        /*
         * 保單狀態(tài)
         */
        /*
        App.insureBitStatus = {
            '0' : '可支付',
            '1' : '待審核',
            '2' : '已過(guò)期',
            '3' : '已完成',
            '4' : '待上門收費(fèi)',
            '5' : '審核不通過(guò)'
        }
        */
        /*
         * 圖片上傳最大張數(shù)
         */
        /*
        App.picMaxNum = {
            '1' : 3,
            '2' : 3,
            '3' : 2,
            '4' : 5,
            '6' : 5
        }
        */
        /*
         * 接口請(qǐng)求返回的狀態(tài)碼,手機(jī)官網(wǎng)
         */
        App.Res = {
            CODE_SUCC : 0,    // 正常返回
            CODE_UNLOGIN : -1 // 未登陸    
        }

        /**
         * Web Service接口定義
         */
        var webServiceUrls = {
            // 查詢平安服務(wù)門店信息
            SearchLifeStoreAction: 'pa18shoplife/mobile/store/action/searchLifeStoreAction.jsp'
        }

        /**
         * 在開發(fā)環(huán)境中需要使用的獨(dú)立配置
         */
        if(App.IS_DEV) {
            // 進(jìn)入基本信息頁(yè)面
            // toBaseInfo = 'CarInsureHybird/branches/html5/branches/data/insure/to-base-info.json';
            // modelQueryParent = 'CarInsureHybird/branches/html5/branches/data/insure/model-query-parent.json';
            // toApplyConfirm = 'CarInsureHybird/branches/html5/branches/data/insure/to-apply-confirm.json';
            webServiceUrls = {
            }
        }
        
        App.showHeader = function(){
            if(!App.IS_NATIVE){
                var header = $('header');
                if(header.size()){
                    header.show();
                    header.find('span.com_header_back').tap(function(e){
                        back();
                    });
                }
            }
        }
        
        App.getWebServiceUrl = function(name) {
            return App.ServerHost + webServiceUrls[name];
        }
        
        App.getRequestUrl = function(name) {
            return App.RequestHost + webServiceUrls[name];
        }
        
        /**
         *  獲取jsonp的路徑
         *  example: App.getJSONPUrl('rsupport/vehicle/brand/');     
         */
        App.getJSONPUrl = function(fileName){
            var oldfileName = fileName;
            var origin = location.origin, host = location.host;
            if(!origin){ //android 不識(shí)別 location.origin
                var protocol = location.protocol;
                protocol = protocol=="http:"?"http://":protocol=="https:"?"https://":"file:///";
                origin = protocol + (host||location.hostname);
            }
            console.log(host);
            if(host == "www.pingan.com" || host == 'u.pingan.com') {        //生產(chǎn)測(cè)試路徑
                fileName = 'http://www.pingan.com/' + fileName;
            } else if(host == "stg.pa18.com" || host == "p1.pa18.com") {    //舊環(huán)境測(cè)試地址
                fileName = origin + fileName;
            } else {    //新域名測(cè)試地址 , 比如 http://dmzstg1.pa18.com/upingan/
                fileName = 'http://stg.pa18.com/' + fileName;
            }
            // if(App.IS_ANDROID) fileName = oldfileName; //android 用當(dāng)前根路徑為起點(diǎn)。。。
            return fileName;
        }
        
    })();
    /**
     * Native接口配置
     */
    ;(function(App) {
        var callindex = 0, toString = Object.prototype.toString;
        // 如果fn是一個(gè)函數(shù)類型, 則調(diào)用
        var exec = function(fn) {
            if(toString.call(fn) == '[object Function]') {
                fn();
            }
        }
        /**
         * 調(diào)用一個(gè)Native方法
         * @param {String} name 方法名稱
         */
        App.call = function(name) {
            // 獲取傳遞給Native方法的參數(shù)
            var args = Array.prototype.slice.call(arguments, 1);
            var callback = '', item = null;

            // 遍歷參數(shù)
            for(var i = 0, len = args.length; i < len; i++) {
                item = args[i];
                if(item === undefined) {
                    item = '';
                }

                // 如果參數(shù)是一個(gè)Function類型, 則將Function存儲(chǔ)到window對(duì)象, 并將函數(shù)名傳遞給Native
                if(toString.call(item) == '[object Function]') {
                    callback = name + 'Callback' + i;
                    window[callback] = item;
                    //---stz test:
                    // if(name == 'showLoginPage'){
                    // App.alert('callback: '+callback+' \n '+window[callback]);
                    // }
                    item = callback;
                }
                args[i] = item;
            }

            if(App.IS_ANDROID) {// Android平臺(tái)
                try {
                    for(var i = 0, len = args.length; i < len; i++) {
                        // args[i] = '"' + args[i] + '"';
                        args[i] = '\'' + args[i] + '\'';
                    }
                    eval('window.android.' + name + '(' + args.join(',') + ')');
                } catch(e) {
                    alert(e);
                }
                eval();
            } else if(App.IS_IOS) {// IOS平臺(tái)
                if(args.length) {
                    args = '|' + args.join('|');
                }
                // IOS通過(guò)location.href調(diào)用Native方法, _call變量存儲(chǔ)一個(gè)隨機(jī)數(shù)確保每次調(diào)用時(shí)URL不一致
                callindex++;
                location.href = '#ios:' + name + args + '|' + callindex;
            }
        }
        /**
         * 顯示alert提示信息
         * @param {String} text
         * @param {Function} callback
         */
        App.alert = function(text, callback) {
            if(App.IS_NATIVE) {
                App.call('alert', text, callback);
            } else {
                alert(text);
                exec(callback);
            }
        }
        /**
         * 顯示confirm選擇信息
         * @param {String} text
         * @param {Function} ok
         * @param {Function} cancel
         */
        App.confirm = function(text, ok, cancel) {
            if(App.IS_NATIVE) {
                App.call('confirm', text, ok, cancel);
            } else {
                if(confirm(text)) {
                    exec(ok);
                } else {
                    exec(cancel);
                }
            }
        }
        /**
         * 頁(yè)面跳轉(zhuǎn), 如果在終端設(shè)備中則重新設(shè)置WebView的加載地址
         * @param {String} url
         */
        App.href = function(url) {
            if(App.IS_NATIVE) {
                App.call('href', url);
            } else {
                if(App.relactPath && (url.indexOf('http://')==-1&&url.indexOf('https://')==-1)){
                    //var origin = location.origin, host = location.host;
                    url = App.relactPath + url;
                }
                window.location.href = url;
            }
        }
        /**
         * 在瀏覽器中打開新頁(yè)面
         * @param {String} url
         */
        App.open = function(url) {
            if(App.IS_NATIVE) {
                App.call('open', url);
            } else {
                window.open(url);
            }
        }
        /**
         * 通知Native頁(yè)面加載完成
         */
        App.onload = function() {
            if(App.IS_NATIVE) {
                App.call('onload');
            } else {
                App.onload.returnValue = true;
                if( checkBeeCanvas() )
                    AheadHandle.loadingBee.hideAll();
            }
        }
        /**
         * 所有資源加載完畢(包括腳本) noteby stz 2013-3-26 只有首頁(yè)有,已經(jīng)有App.onload代替了
         */
        // App.loadAll = function() {
        // if(App.IS_NATIVE) {
        // App.call('loadAll');
        // } else {
        // App.loadAll.returnValue = true;
        // if( checkBeeCanvas() )  AheadHandle.loadingBee.hideAll();
        // }
        // }
        /**
         * 開始加載loading動(dòng)畫
         * @param {Boolean} notCancel 是否不能取消, 默認(rèn)能取消
         */
        App.loadingBegin = function(notCancel) {
            if(App.IS_NATIVE) {            
                App.call('loadingBegin', !!notCancel);
            } else {
                if( checkBeeCanvas() )
                    AheadHandle.loadingBee.show();
            }
        }
        /**
         * 加載完成, 隱藏loading動(dòng)畫
         */
        App.loadingFinish = function() {
            // console.log('---------------- loadingFinish -----------------')
            if(App.IS_NATIVE) {            
                App.call('loadingFinish');
            } else {
                if( checkBeeCanvas() )
                    AheadHandle.loadingBee.hide();
            }
        }
        /**
         * 顯示登錄頁(yè)面
         });
         */
        App.showLoginPage = function() {
            if(App.IS_NATIVE) {
                App.call('showLoginPage', function() {
                    Cookie('rumUserLogin', 'Y');
                });
            } else {
                Cookie('rumUserLogin','Y');
                App.href(getLoginRegistUrl('login'));
            }
        }
        /**
         * 改變標(biāo)題
         */
        App.changeTitle = function(title) {
            if(App.IS_NATIVE) {
                App.call('changeTitle', title);
            } else {
                // $('header span.com_header_text').text(title);
                // console.log('Title: ' + title);
            }
        }
        /**
         * 最后一步的返回到native
         * @param {String} menu 返回哪級(jí)哪級(jí)菜單:
         * 首頁(yè)菜單:---------------
         * 車險(xiǎn)報(bào)價(jià): MainCarOffer  這樣調(diào)App.backToPage('MainCarOffer','0')返回首頁(yè)并銷毀調(diào)這個(gè)接口的頁(yè)面
         * 車險(xiǎn)服務(wù): MainCarService [目前不需要]
         * 行車助手: MainCarAssist [目前不需要]
         * 優(yōu)惠: MainFavorable
         * 更多: MainMore
         * 二級(jí)菜單:---------------
         * 會(huì)員中心頁(yè): MemberCenter  
         * 車險(xiǎn)服務(wù): CarInsureSevice
         * 行車助手: CarAssistant
         * @param {String} oldMenu 從哪級(jí)菜單返回的. 如果是'1',直接返回上一級(jí)(默認(rèn)),沒(méi)這個(gè)參數(shù)或者'0'返回到首頁(yè),
         * 總之0銷毀第二級(jí)webview,1銷毀第三級(jí)webview。如App.backToPage('MemberCenter','1')表示從會(huì)員中心的下一級(jí)返回到會(huì)員中心,而App.backToPage('MemberCenter','0')從會(huì)員中心返回到首頁(yè)
         */
        App.backToPage = function(menu, oldMenu) {
            if(!oldMenu)
                oldMenu = '1';
            App.call('backToPage', menu, oldMenu);
            // if(App.IS_NATIVE) {
            // App.call('backToPage', menu, oldMenu);
            // }else{
            // var header = $('header');
            // header.find('span.com_header_back').css('visibility', 'hidden');
            // header.find('span.com_header_vline').css('visibility', 'hidden');
            // }
        }
        /**
         * 從native本地獲取圖片
         * @param {Function} callback 獲取成功后回調(diào),如 :
         * App.getPics(function(imgData){
         *      回傳的 imgData 是圖片對(duì)象的json字符串格式 {"name":"圖片名稱", "size":"566.54", "src":"base64圖片字符串"}
         * })
         */
        App.getPics = function(callback) {
            if(App.IS_NATIVE) {
                App.call('getPics', callback);
            } else {
                callback('{"name":"che1", "size":"566.54", "src":""}');
            }
        }
        /**
         * 從native本地獲取APP數(shù)據(jù)共享
         * @date 2013-3-4
         * @param callback 獲取成功后回調(diào),如:
         * App.getAppShare(function(shareData)){
         *         返回?cái)?shù)據(jù)格式為:{"source": "來(lái)源","phone": "手機(jī)號(hào)碼","car_mark": "車牌號(hào)","certificate_list": [{"certificate_type": "證件類型","certificate_no": "證件號(hào)碼"},{"certificate_type": "證件類型","certificate_no": "證件號(hào)碼"}]}
         * })
         */
        /*
         1:身份證
         2:護(hù)照
         3:軍官證
         5:駕駛證
         6:港澳回鄉(xiāng)證或臺(tái)胞證
         * */
        App.getAppShare = function(callback) {
            if(App.IS_NATIVE) {
                if(App.IS_ANDROID) {
                    if( typeof (window.android.getAppShare) != 'undefined') {        //新版本,有g(shù)etAppShare函數(shù)
                        App.call('getAppShare', callback);
                    }else{
                        callback('');
                    }
                } else {
                    var appVersionCallBack = function(version){
                        var v = version.replace(/\./g, "");
                        if(App.IS_IOS && v >= 202) {                //新版本,有g(shù)etAppShare函數(shù)
                            App.call('getAppShare', callback);
                        }else{                //舊版本,native無(wú)getAppShare函數(shù)
                            callback('');
                        }
                    }
                    App.call('getAppVersion',appVersionCallBack);
                }
            } else {
                callback('');
                //callback('{"source":"com.pingan.carinsure","car_mark":"粵BLZ768","phone":"13600000000","certificate_list":[{"certificate_no":"360727198610022415","certificate_type":"1"}]}');
            }
        }
        /*
         * 將sharedata數(shù)據(jù)從頁(yè)面存儲(chǔ)到native端
         * @date 2013-3-4
         * @param shareData 傳遞的參數(shù)
         * 參數(shù)根式為:'{\"source\": \"哈哈,成功了!\",\"phone\": \"13333333333\",\"car_mark\": \"京A11111\",\"certificate_list\": [{\"certificate_type\": \"1\",\"certificate_no\": \"360121198909051122\"},{\"certificate_type\": \"2\",\"certificate_hu\": \"33333333333333\"}]}';
         * */
        App.updateAppShare = function(shareData) {
            //App.alert(shareData);
            if(App.IS_NATIVE) {
                if(App.IS_ANDROID) {
                    if( typeof (window.android.updateAppShare) != 'undefined') {
                        App.call('updateAppShare', shareData);
                    }
                } else {
                    App.call('updateAppShare', shareData);
                }
            } else {
                //console.log(shareData);
            }
        }
        /**
         * android不能獲取到函數(shù)的 return的值,智能用這個(gè)來(lái)回傳給它。。。糾結(jié)啊.
         * 只需android實(shí)現(xiàn)
         */
        App.returnValueToNative = function(value) {
            // App.alert('returnValueToNative: '+value);
            if(App.IS_NATIVE) {
                App.call('returnValueToNative', value);
            } else {
            }
        }
        /**
         * 通知Native已修改商業(yè)險(xiǎn)和交強(qiáng)險(xiǎn)保險(xiǎn)起期
         */
        App.beginDateModified = function(bizQuote, forceQuote) {
            if(App.IS_NATIVE) {
                App.call('beginDateModified', bizQuote, forceQuote);
            } else {
            }
        }
        /**
         * 頁(yè)面統(tǒng)計(jì)代碼
         * @param {String} pageId
         * @param {Function} callback
         * web,  wp7,wp8 版本暫不出來(lái)
         */
        App.trackEvent = function(eventId, callback) {
            var c = callback ? callback : "";
            function trackSend(version) {
                var v = version.replace(/\./g, "");           
                //wp暫時(shí)沒(méi)有
                if(App.IS_IOS && v > 201) {
                    App.call('trackEvent', eventId, c);
                    App.IOS_Version = version;
                } else if(App.IS_ANDROID && v > 101) {
                    App.call('trackEvent', eventId, c);
                    App.ANDROID_Version = version;
                }
            }
            if(App.IS_NATIVE) {
                if(App.IS_IOS) {
                    if(App.IOS_Version)
                        trackSend(App.IOS_Version);
                    else
                        App.call('getAppVersion', trackSend);

                } else if(App.IS_ANDROID) {
                    if(App.ANDROID_Version)
                        trackSend(App.ANDROID_Version)
                    else
                        App.call('getAppVersion', trackSend);
                }

            } else {
                if( typeof callback == "function")
                    exec(callback);
                console.log(eventId);
            }
        }
     
         App.consoleLog = function(txt) {
             if (App.IS_DEV) {
                 window.console.log(txt);    
             }
         }

    })(App);


    /**
     * 獲取URL參數(shù)
     * @return {String} name
     */
    var getmtParam = function(name) {
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
        var r = window.location.search.substr(1).match(reg);
        if(r) {
            return decodeURI(r[2]);
        }
        return null;
    }
    /**
     * Cookie操作
     */
    var Cookie = function(key, value, options) {
        if(arguments.length > 1 && (!/Object/.test(Object.prototype.toString.call(value)) || value === null || value === undefined)) {
            options = options || {};

            if(value === null || value === undefined) {
                options.expires = -1;
            }

            if( typeof options.expires === 'number') {
                var days = options.expires, t = options.expires = new Date();
                t.setDate(t.getDate() + days);
            }
            value = String(value);

            return (document.cookie = [encodeURIComponent(key), '=', options.raw ? value : encodeURIComponent(value), options.expires ? '; expires=' + options.expires.toUTCString() : '', options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join(''));
        }
        options = value || {};
        var decode = options.raw ? function(s) {
            return s;
        } : decodeURIComponent;
        var pairs = document.cookie.split('; ');
        for(var i = 0, pair; pair = pairs[i] && pairs[i].split('='); i++) {
            if(decode(pair[0]) === key)
                return decode(pair[1] || '');
        }
        return null;
    }


    // 外部app修復(fù) IS_NATIVE的標(biāo)識(shí)
    // IOS還得判斷是否來(lái)自第三方應(yīng)用程序|| Cookie('mt') || null;
    var mtype = getmtParam('mt') || Cookie('mt') || null;
    if(mtype != null){
        Cookie('mt',1,{path:'/upingan/upingan'});
        $.fn.tap = $.fn.click;    
        App.IS_NATIVE = false;
        App.IS_ANDROID = false;
        App.IS_IOS = false;
        $('#innerHead').hide();
        $('#innerFoot').hide();
    }
    //alert("mt="+mtype+"==App.IS_NATIVE="+App.IS_NATIVE+"==App.IS_IOS="+App.IS_IOS);

    //下面為native的操作
    // if(App.IS_ANDROID || App.IS_IOS){
        // if(mtype == null){        //來(lái)自與平安應(yīng)用
             // App.IS_NATIVE = true;
             // if(App.IS_ANDROID){
                 // App.IS_ANDROID = true;
             // }
             // if(App.IS_IOS){
                 // App.IS_IOS = true;
             // }
        // }else{                    //來(lái)自與非平安應(yīng)用
             // Cookie('mt',1);
             // $.fn.tap = $.fn.click;            //微信支持tap事件會(huì)同時(shí)觸發(fā)兩次,轉(zhuǎn)變?yōu)閏lick事件
             // App.IS_NATIVE = false;
             // App.IS_IOS = false;
             // $('#innerHead').hide();
             // $('#innerFoot').hide();
             // //App.showHeader();    
        // }
    // }else{            //來(lái)自與瀏覽器,注:微信中瀏覽器,App.IS_ANDROID 返回為false
        // if(mtype != null){
            // Cookie('mt',1);
            // $.fn.tap = $.fn.click;            //微信支持tap事件會(huì)同時(shí)觸發(fā)兩次,轉(zhuǎn)變?yōu)閏lick事件
            // $('#innerHead').hide();
            // $('#innerFoot').hide();
        // }
        // //App.showHeader();
    // }
     // alert('App.IS_NATIVE'+App.IS_NATIVE);
     // alert('App.IS_ANDROID'+App.IS_ANDROID);
     // alert('App.IS_IOS'+App.IS_IOS);
    //統(tǒng)一更改為click的觸發(fā)事件
    var eventType = getmtParam('event') || Cookie('eventType') || null;
    if(eventType != null){
        Cookie('eventType','true');
        $.fn.tap = $.fn.click;    
    }


    /**
     * 提供給Native調(diào)用的接口函數(shù). 各頁(yè)面根據(jù)情況重寫
     */
    // 返回上一步
    // 這可能是點(diǎn)擊上一步按鈕, 或在Android設(shè)備上點(diǎn)擊返回按鈕
    // 你應(yīng)該你頁(yè)面的js文件中覆蓋這個(gè)函數(shù), 以實(shí)現(xiàn)不同的邏輯
    window.back = function() {
        //App.alert('調(diào)用 back 成功。。stz');
    }
    /**
     * 注冊(cè)/從native按鈕登陸 成功時(shí)native通知我的. 不要重寫
     */
    window.registerSuccess = function() {
        Cookie('rumUserLogin', 'Y');
        if(App.IS_ANDROID) {
            App.returnValueToNative(true);
        }
        //App.alert('cookie已記錄')
    }
    /**
     * 檢查當(dāng)前用戶已經(jīng)登錄
     * @return {Boolean} true: 登錄; false: 未登錄[默認(rèn)值]
     */
    window.rumUserIsLogin = function() {
        // return true; //test
        if(Cookie('rumUserLogin')) {//!=''
            return true;
        }
        return false;
    }
    /**
     * native 動(dòng)態(tài)檢查用戶登陸狀態(tài)是否超時(shí)
     */
    window.reqJudgeIsLogin = function() {
        $.ajax({
            type : 'POST',
            url : App.getWebServiceUrl('imageCount'), //App.getWebServiceUrl('imageCount'), // 'data/member/ImageCount.html'
            data : {
                responseProtocol : 'json'
            },
            dataType : 'json',
            success : function(xml) {
                Cookie('rumUserLogin', 'Y');
                App.returnValueToNative(true);
            },
            error : function(xhr, errorType) {
                if(xhr.status == 0) {
                    Cookie('rumUserLogin', null);
                    App.returnValueToNative(false);
                }
            }
        });
    }
    /**
     * 用戶退出
     */
    window.rumUserLogout = function() {

        if(App.IS_ANDROID) {
            Cookie('rumUserLogin', null);
            App.returnValueToNative(false);
        } else {
            Cookie('rumUserLogin', null);
        }

        //App.alert('cookie已清除')
    }// 公共函數(shù)集合
    /**
     * 會(huì)話保持
     */
    function keepFlow() {
        var flowid = getParams('flowid');
        if(!flowid) {
            flowid = Cookie('flowid');
        }
        if(!flowid) {
            flowid = '';
        }
        if(!window.keepFlowImage) {
            window.keepFlowImage = new Image();
        }//'ebusiness/auto/ris/keep-flow2.do'  App.getWebServiceUrl('keepFlow')
        keepFlowImage.src = getUrlNoCache(App.getWebServiceUrl('keepFlow') + '?flowid=' + flowid);
        if(!window.keepFlowInterval) {
            window.keepFlowInterval = setInterval(function() {
                keepFlow();
            }, 20000);
        }
    }

    /**
     * 移除默認(rèn)焦點(diǎn)
     */
    function removeFocus() {
        var div = document.createElement('div');
        div.className = 'com_page_shadow';
        document.body.appendChild(div);
        setTimeout(function() {
            div.style.display = 'none';
        }, 500);
        App.focusElement = div;
    }

    /**
     * 格式化數(shù)據(jù),把結(jié)構(gòu)數(shù)組格式化為url格式傳參格式
     * @param {object} data
     * format {name:"leo",age:23}
     * @return {string}  name=leo&age=123
     */
    function parseData(data) {
        var str = '';
        if( typeof data == "object") {
            for(key in data) {
                if( typeof data[key] == 'object')
                    str += parseData(data[key]);
                else if(data[key]) //stz+ 有值才加入?yún)?shù)
                    str += key + "=" + data[key] + "&";

            }
        }
        str = str.replace(/(&$)/g, '');
        return str;
    }

    /**
     * 獲取URL參數(shù)
     * @return {String} name
     */
    function getParams(name) {
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
        var r = window.location.search.substr(1).match(reg);
        if(r) {
            return decodeURI(r[2]);
        }
        return null;
    }

    /**
     * 替換輸入框中非 數(shù)字字符
     * @param {string} v 傳入的值
     * @param {sting}  id 被操作控件的id
     */
    function replaceInputToNum(v, id) {
        if(v != '' && id) {
           var value = v.replace(/[^\d]/gi, '');
           if(!App.IS_ANDROID) {
                var j = value.length
                var newV = []
                if(j > 0) {
                    for( i = 0; i < j; i++) {
                        if(i % 4 == 0 && i != 0)
                            newV.push(' ');
                        newV.push(value.charAt(i))
                    }
                    value = newV.join('');
                }
            }
            document.getElementById(id).value = value
        }
    }

    /**
     * 獲取一個(gè)沒(méi)有緩存的URL(通過(guò)追加時(shí)間戳參數(shù))
     * @param {String} url
     * @return {String}
     */
    function getUrlNoCache(url) {
        if(url.indexOf('?') == -1) {
            url += '?_t=';
        } else {
            url += '&_t=';
        }
        return url + new Date().getTime();
    }

    /**
     * 自動(dòng)刪除字符串中符合匹配內(nèi)容的字符
     * @param {String} str
     * @param {Array} chars
     */
    function deleteChars(str, chars) {
        var result = '', s = '', c = '', r = false, clen = chars.length, n = true;

        if(!_.isArray(chars)) {
            chars = [chars];
        }

        for(var i = 0, len = str.length; i < len; i++) {
            s = str[i];
            n = true;

            for(var j = 0; j < clen; j++) {
                c = chars[j];

                if(_.isRegExp(c)) {
                    if(c.test(s)) {
                        n = false;
                        break;
                    }
                } else if(s == c) {
                    n = false;
                    break;
                }
            }

            if(n) {
                result += s;
            }
        }

        return result;
    }

    /**
     * 將元素中的文字自動(dòng)轉(zhuǎn)換為大寫形式, 并刪除空白字符
     */
    function autoToLocaleUpperCase(el) {
        el.bind('keypress', function() {
            var self = $(this), val = self.val();
            if(val) {
                val = val.replace(/\s/g, '');
                self.val(val.toLocaleUpperCase());
            }
        });
    }

    /**
     * 提示錯(cuò)誤信息, 如果屬于系統(tǒng)錯(cuò)誤, 則提示系統(tǒng)錯(cuò)誤信息, 否則提示自定義錯(cuò)誤
     */
    function getErrorMsg(response, errorMsgs) {
        var unknown = '操作的人太多了,請(qǐng)稍后再試。';

        if(!response) {
            App.onload();        //關(guān)閉小蜜蜂
            return unknown+'!';
        }

        if( typeof response == 'string') {
            response = JSON.parse(response);
        }

        var resultCode = +response.resultCode;

        if(resultCode === 0) {
            return true;
        }
        if(resultCode === 555) {
            App.onload();        //關(guān)閉小蜜蜂
            return unknown+'。';
        } else if(response.errorMsg) {
            App.onload();        //關(guān)閉小蜜蜂
            return response.errorMsg || unknown;
        } else if(response.promptText) {
            App.onload();        //關(guān)閉小蜜蜂
            return response.promptText || unknown;
        } else if(response.refuseMessage) {
            App.onload();        //關(guān)閉小蜜蜂
            return response.refuseMessage || unknown;
        } else if(response.error) {
            App.onload();        //關(guān)閉小蜜蜂
            return response.error.value || unknown;
        } else {
            App.onload();        //關(guān)閉小蜜蜂
            // return unknown; //stz
            return errorMsgs[resultCode] || unknown;
        }
        

        
        
    }

    /**
     * 預(yù)處理函數(shù)
     */
    function toPreparation(callback) {

    }

    /**
     * 掩碼數(shù)據(jù)處理
     */
    function setMaskData(key, value) {
        if(!window.maskMap) {
            window.maskMap = {};
        }
        var maskMap = window.maskMap;
        maskMap[key] = value;
    }

    function getMaskData(key, value) {
        var maskMap = window.maskMap;
        if(maskMap) {
            var prev = maskMap[key];
            if(!prev) {
                return false;
            } else if(prev != value) {
                return false;
            } else {
                return true;
            }
        }
    }

    /**
     * Cookie操作
     */
    function Cookie(key, value, options) {
        if(arguments.length > 1 && (!/Object/.test(Object.prototype.toString.call(value)) || value === null || value === undefined)) {
            options = options || {};

            if(value === null || value === undefined) {
                options.expires = -1;
            }

            if( typeof options.expires === 'number') {
                var days = options.expires, t = options.expires = new Date();
                t.setDate(t.getDate() + days);
            }
            value = String(value);

            return (document.cookie = [encodeURIComponent(key), '=', options.raw ? value : encodeURIComponent(value), options.expires ? '; expires=' + options.expires.toUTCString() : '', options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join(''));
        }
        options = value || {};
        var decode = options.raw ? function(s) {
            return s;
        } : decodeURIComponent;
        var pairs = document.cookie.split('; ');
        for(var i = 0, pair; pair = pairs[i] && pairs[i].split('='); i++) {
            if(decode(pair[0]) === key)
                return decode(pair[1] || '');
        }
        return null;
    }

    /*
     * 結(jié)構(gòu)數(shù)組/對(duì)象 轉(zhuǎn)化成 真數(shù)組
     */
    var objectToArray = function(o) {
        if(!$.isArray(o))
            o = [o];
        o.length = o.length;
        return o;
    }
    /*
     * 獲取滾動(dòng)條高度
     */
    function getPageScroll() {
        var yScroll;
        var self = window;
        if(self.pageYOffset) {
            yScroll = self.pageYOffset;
            //xScroll = self.pageXOffset;
        } else if(document.documentElement && document.documentElement.scrollTop) {
            yScroll = document.documentElement.scrollTop;
        } else if(document.body) {
            yScroll = document.body.scrollTop;
        }
        return yScroll;
    }

    /*
     * 微信頁(yè)面內(nèi)部獲取移動(dòng)設(shè)備類型
     * */
    function weixinGetIsNative(){
        var ua2 = navigator.userAgent.toUpperCase();
        // 當(dāng)前環(huán)境是否微信IOS平臺(tái)
           Weixin_IOS = ua2.indexOf('IPHONE OS') != -1;
        return Weixin_IOS;
    }

    /**加法函數(shù),用來(lái)得到精確的加法結(jié)果
     * 說(shuō)明:javascript的加法結(jié)果會(huì)有誤差,在兩個(gè)浮點(diǎn)數(shù)相加的時(shí)候會(huì)比較明顯。這個(gè)函數(shù)返回較為精確的加法結(jié)果。
     * @return arg1和調(diào)用函數(shù)的數(shù)字的和
     */
    Number.prototype.add = function(arg1) {
        var r1, r2, m, arg2 = this.valueOf();
        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))
        return (arg1 * m + arg2 * m) / m
    }
    Number.prototype.sub = function(arg2) {
        var r1, r2, m, n, arg1 = this.valueOf();
        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));
        n = (r1 >= r2) ? r1 : r2;
        return new Number( ((arg1 * m - arg2 * m) / m).toFixed(n) );
    }
    /**
     * 獲取cdn圖片地址 stz
     * @param {String} fileName 圖片在本地相對(duì)于根目錄的位置,如 images/themes/default/images/member/drawUpIcon.png
     * @return {String} 真實(shí)地址
     */
    function getCDNPicURL(fileName){
        var oldfileName = fileName;
        var origin = location.origin, host = location.host;
        if(!origin){ //android 不識(shí)別 location.origin
            var protocol = location.protocol;
            protocol = protocol=="http:"?"http://":protocol=="https:"?"https://":"file:///";
            origin = protocol + (host||location.hostname);
        }
        if(host == "www.pingan.com"||host == "u.pingan.com") {
            //fileName = origin + '/app_series/shop/auto/mobile/'+App.Cild_direct + fileName;  // 取消CDN
            fileName = origin + App.Cild_direct + fileName;
        } else if(host == "dmzstg1.pa18.com" || host == "p1.pa18.com") {
            fileName = origin + App.Cild_direct + fileName;
        } else {
             //fileName = 'images/indexall/slide/' + fileName;
        }
        // if(App.IS_ANDROID) fileName = oldfileName; //android 用當(dāng)前根路徑為起點(diǎn)。。。
        return fileName;
    }

    /**
     * 公共頁(yè)面加載完調(diào)用,封裝 App.onload()
     */
    function AppOnloadCom(){
        App.loadingFinish();
        App.onload();
    }

    // AJAX公共配置
    if($) {
        $.ajaxSettings.ajaxStart = App.loadingBegin;
        $.ajaxSettings.beforeSend = App.loadingBegin;
        $.ajaxSettings.complete = App.loadingFinish;
        $.ajaxSettings.error = function(jqXHR, textStatus, errorThrown) {
            App.loadingFinish();
            if(!window.navigator.onLine || jqXHR.status) {
                App.alert('網(wǎng)絡(luò)連接失敗, 請(qǐng)稍后重試!');
            }
        }
    }
    // keepFlow();
    // 移除默認(rèn)焦點(diǎn)
    removeFocus();
    // App.onload();

    /**
     * 在Android下顯示數(shù)字鍵盤
     */
    if(App.IS_ANDROID) {
        $('.numberfield').attr('type', 'number');
    }

    /**
     * 獲取頁(yè)面名稱
     */
    function getPageName(){
        var str=window.location.href;
        var pageName=str.substring(str.lastIndexOf("/") + 1);
        return pageName||"";
    }

    function checkBeeCanvas(){
        if( typeof (AheadHandle) != 'undefined' && AheadHandle.loadingBee && AheadHandle.loadingBee.canvas) return true;
        return false;
    };

    function getHostWithProtocol(){
        var origin = location.origin, host = location.host;
        if(!origin){
            var protocol = location.protocol;
            protocol = protocol=="http:"?"http://":protocol=="https:"?"https://":"file:///";
            origin = protocol + (host||location.hostname);
        }
        return origin;
    }
    /**
     * 獲取登陸、注冊(cè)地址
     * @param [String] 傳login:表示注冊(cè)地址、 register:登陸地址
     */
    function getLoginRegistUrl(type){
        var _host = getHostWithProtocol();
        var url=null, page=getPageName();
        App.consoleLog(page)
        switch(type){
            case 'login'://www.pingan.com _host+
                //url=App.ServerHost+'customer/toLoginApp.do?type=01&target='+_host+'/ebusiness/auto/mobile/'+App.Cild_direct+page;
                url=App.ServerHost+'customer/toLoginApp.do?type=02&target='+_host+App.Cild_direct+page;
                //url=App.ServerHost+'customer/toLoginApp.do?type=02&target='+encodeURIComponent(_host+App.Cild_direct+page);
            break;
            case 'register':
                url=App.ServerHost+'customer/toRegisterUserApp.do?type=02&target='+_host+App.Cild_direct+page;
            break;
        }
        return url;
    }
    function getFcmmLogOut(){
        var _host = location.host; //getHostWithProtocol(),
        var logoutAddr = 'https://member-stg.pingan.com.cn/pinganone/pa/fcmmLogOut.do';
        if(_host.indexOf('p1.pa18.com')!=-1){//stz mf 130814 p1環(huán)境的登出!
            logoutAddr = 'https://test-member.pingan.com.cn/pinganone/pa/fcmmLogOut.do';
        }
        if(_host == 'www.pingan.com' || _host == 'u.pingan.com') {
            logoutAddr = 'https://member.pingan.com.cn/pinganone/pa/fcmmLogOut.do';
        }
        return logoutAddr;
    }

    /**
     * 日期格式化 mm/dd/yyyy
     */
    function dateFormatOfFlag(date,flag){
            if(!_.isDate(date)) {
            date = new Date();
            }
            if(flag)
                return  parseInt(date.getMonth() + 1)+flag+parseInt(date.getDate())+flag+date.getFullYear();
    }

    /**
     * 日期格式化 hh:mm:ss
     */
    function dateFormathhmmss(date){
            if(!_.isDate(date)) {
            date = new Date();
            }
            var se =date.getSeconds();
            if(se<10){
                se = "0"+se;
            }
            return  date.getHours()+":"+date.getMinutes()+":"+se;
    }

    /**
     *日期格式化
     *@param {String} dateFmt
     *   格式: yyyy-mm-dd hh:MM:ss SS
     */
    function dateFormat(date, dateFmt) {
        if(!_.isDate(date)) {
            date = new Date();
        }
        
        var year = date.getFullYear(),
            month = date.getMonth() + 1,
            month = month < 10 ? ('0'+month) : month,
            d = date.getDate(),
            d = d < 10 ? ('0'+d) : d,
            hour = date.getHours(),
            hour = hour < 10 ? ('0'+hour) : hour,
            minutes = date.getMinutes(),
            minutes = minutes < 10 ? ('0'+minutes) : minutes,
            seconds = date.getSeconds(),
            seconds = seconds < 10 ? ('0'+seconds) : seconds,
            milliseconds = date.getMilliseconds();

            dateFmt = dateFmt ? dateFmt : 'yyyy-MM-dd';
            
            if (/yyyy/.test(dateFmt)) {
                dateFmt = dateFmt.replace('yyyy', year);
            }  
            if (/MM/.test(dateFmt)) {
                dateFmt = dateFmt.replace('MM', month);
            }
            if (/dd/.test(dateFmt)) {
                dateFmt = dateFmt.replace('dd',d);
            }
            if (/hh/.test(dateFmt)) {
                dateFmt = dateFmt.replace('hh', hour);
            }
            if (/mm/.test(dateFmt)) {
                dateFmt = dateFmt.replace('mm', minutes);
            }
            if (/ss/.test(dateFmt)) {
                dateFmt = dateFmt.replace('ss',seconds);
            }
            if (/SS/.test(dateFmt)) {
                dateFmt = dateFmt.replace('SS',milliseconds);
            }  
                    
        return dateFmt;
    }
    //將時(shí)間格式由2013年12月21日轉(zhuǎn)變?yōu)?013-12-21
    function dateFormat2(date){
        var reg = /\d/;
        if(!reg.test(date)){    //不含有數(shù)字,直接返回
            return false;
        }
        if(_.isEmpty(date)) {
            var date = new Date();
            return date.getFullYear() + '-' + parseInt(date.getMonth() + 1) + '-' + parseInt(date.getDate());
        }
        var reg = /\d+/g;
        var dateArr = date.match(reg);
        if(dateArr.length == 2) {
            return dateArr[0] + '-' + dateArr[1];
        } else {
            return dateArr[0] + '-' + dateArr[1] + '-' + dateArr[2];
        }
    }

    function trim(data){  
          return data.replace(/(^\s*)|(\s*$)/g, "");  
    }

    /*
     * 根據(jù)實(shí)時(shí)環(huán)境來(lái)切換地址
     */
    function changeUrl(fileName) {
        var origin = location.origin, host = location.host;
        if(!origin){ //android 不識(shí)別 location.origin
            var protocol = location.protocol;
            protocol = protocol=="http:"?"http://":protocol=="https:"?"https://":"file:///";
            origin = protocol + (host||location.hostname);
        }
        console.log('實(shí)際host: ' + host);
        if(host == "www.pingan.com" || host == 'u.pingan.com') {
            fileName = 'http://u.pingan.com' + fileName;
        }else if(host == "stg.pa18.com" || host == "p1.pa18.com") {
            fileName = origin + fileName;
        }else {
            fileName = 'http://dmzstg1.pa18.com' + fileName;
        }
        console.log('實(shí)際請(qǐng)求地址: ' + fileName);
        return fileName;
    }
           
     

    // 獲取媒體來(lái)源
    var mediaSourceKeyName = 'mediasource',// 媒體來(lái)源參數(shù)標(biāo)識(shí)
        weiXinSourceKeyName = 'mt',
        weiXinSourceKeyVal = 'weixin',
        cachedMediaSource = Cookie(mediaSourceKeyName),
        tempParam = null;
    if (getParams(mediaSourceKeyName)) {
        tempParam = getParams(mediaSourceKeyName);
    } else if (weiXinSourceKeyVal == getParams(weiXinSourceKeyName)) {
        tempParam = App.MediaSource.WEIXIN;
    }
    if (tempParam) {  //  鏈接后面有參數(shù)則直接存否則cachedMediaSource為空時(shí)存一次
        Cookie(mediaSourceKeyName, tempParam);
        cachedMediaSource = tempParam;
    } else if (!cachedMediaSource){
        Cookie(mediaSourceKeyName, App.MediaSource.MOBILE_DEFAULT);
        cachedMediaSource = App.MediaSource.MOBILE_DEFAULT;
    }

    App.resource = cachedMediaSource;

    /**
     * 格式化json ,用于本地格式化
     *
     */
    window.formatJSON=function(result) {
        if(( typeof result) == "string") {
            var data = '';
            eval('data=' + result);
            return data;
        } else if(__typeof__(result) == "Document") { //toString.call(result) == "[object Document]" wp不支持此方式!!!
            return $.xml2json(result);
        }
        return result;
    }
    function __typeof__(objClass) {
        if(objClass.nodeName=='#document'){
            return 'Document'; //ie的xml對(duì)象沒(méi)有 constructor!
        }
        if(objClass && objClass.constructor) {
            var strFun = objClass.constructor.toString();
            var ie_objPos = strFun.indexOf('[object ');
            if(ie_objPos!=-1){ //修復(fù)ie! 都是其內(nèi)部邏輯混亂惹得禍。toString沒(méi)返回字面量
                return strFun.slice(ie_objPos+8,-1);
            }
            var className = strFun.substr(0, strFun.indexOf('('));
            className = className.replace('function', '');
            return className.replace(/(^\s*)|(\s*$)/ig, '');
        }
        return typeof (objClass);
    }
    /**
     * PackTools 核心對(duì)象定義 (js封裝工具框架 實(shí)現(xiàn)封裝、繼承、設(shè)計(jì)模式、網(wǎng)絡(luò)請(qǐng)求封裝等)
     * @author stz
     */
    window.PackTools = {
        /**
         * 提供一個(gè)供全局引用的空函數(shù)對(duì)象
         */
        fn : new Function(),
        /**
         * 通過(guò)原型實(shí)現(xiàn)類繼承
         * @param {Function} childClass
         * @param {Function} parentClass
         */
        inherit : function(childClass, parentClass) {
            if(childClass.subclass && childClass.subclass.constructor == parentClass) {
                return;
            }
            var Constructor = new Function();

            Constructor.prototype = parentClass.prototype;
            childClass.prototype = new Constructor();
            childClass.prototype.constructor = childClass;
            childClass.superclass = parentClass.prototype;
            parentClass.subclass = childClass.prototype;
            if(childClass.prototype.constructor == Object.prototype.constructor) {
                childClass.prototype.constructor = parentClass;
            }
        },
        /**
         * 格式化年月日
         */
        formatYMD : function(dataStr) {
            var temp = dataStr.replace(new RegExp(" ", "g"), '').split('-'), str = '';
            for(var i = 0, len = temp.length; i < len; i++) {
                str += (parseInt(temp[i]) < 10 ? temp[i].replace('0', '') : temp[i]) + (i == 0 ? '年' : i == 1 ? '月' : '日');
            }
            return str;
        }
    }

    /**
     * 更新頁(yè)面高度
     */
    window.uPAResizePage = function(){
        var clientHeight = document.documentElement.clientHeight;
            pageHeihgt = $('body').height(),
            innerFoot = $('#innerFoot'),
            _footBanner = innerFoot.find('.footBanner');
        if (pageHeihgt < clientHeight) {
            // 底部條外邊距  = 瀏覽器可見(jiàn)高度 -頁(yè)面內(nèi)容高度   parseInt:_footBanner原來(lái)的頂部margin要加上去,否則會(huì)自動(dòng)扣除
            innerFoot.css('margin-top',  (clientHeight - pageHeihgt+(parseInt(_footBanner.css('margin-top')))));
        }else{
            innerFoot.css('margin-top',0); //(parseInt(this._footBanner.css('margin-top')))
            pageHeihgt = $('body').height(); //設(shè)置0后反而太小的話
            if (pageHeihgt < clientHeight) {
                innerFoot.css('margin-top',  (clientHeight - pageHeihgt+(parseInt(_footBanner.css('margin-top')))));
            }
        }
    }
             var gDomain="sdc.pingan.com";  // SDC Production Mode Domain
             var gDcsId="dcspymm36v5rgwyi354yjpm91_6q9m ";
             var gFpc="WT-FPC";
             var gConvert=true;
             var gWTIDJS=window.document.createElement("script");
             window.document.getElementsByTagName("head")[0].appendChild(gWTIDJS);
             if ((typeof(gConvert)!="undefined")&&gConvert&&(document.cookie.indexOf(gFpc+"=")==-1)&&(document.cookie.indexOf("WTLOPTOUT=")==-1)){
               gWTIDJS.src="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+"/"+gDcsId+"/wtid.js";
             }

         setTimeout('setsdcjs()',0);
         function setsdcjs(){
             /*
              var jDomain=App.domain;
              //var jDomain="dmzstg1.pingan.com.cn/upingan";//根據(jù)實(shí)際地址更換,線上環(huán)境地址:u.pingan.com/upingan
              var js_path="/js/webtrends/sdc_m.js";           
              var domain="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+jDomain;
              var SDC_js=document.createElement("script");
               SDC_js.src=domain+js_path;
               */
              
              //修改為相對(duì)路徑
              var js_path='',
                  host = window.location.host;
              if (host == 'u.pingan.com' || host == 'dmzstg1.pa18.com') {
                 js_path = App.RequestHost +"upingan/js/webtrends/sdc_m.js";
              } else {
                 js_path = "js/webtrends/sdc_m.js";
              }
              
              //var js_path="js/webtrends/sdc_m.js"; //本地環(huán)境
              var SDC_js=document.createElement("script");
              SDC_js.src=js_path;
            
              var headElem=document.getElementsByTagName("head")[0];
              headElem.appendChild(SDC_js);
         }

    posted on 2014-06-26 09:44 koradji 閱讀(221) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    db2

    dos

    Groovy

    Hibernate

    java

    WAS

    web application

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 久久精品国产精品亚洲艾 | 亚洲天天做日日做天天看| 亚洲色图激情文学| 亚洲第一视频在线观看免费| 2015日韩永久免费视频播放| 国产在线播放免费| 亚洲影院在线观看| 一级女性全黄久久生活片免费 | 亚洲第一黄色网址| 亚洲成人福利网站| 国产日韩久久免费影院| 最近2019中文免费字幕| 亚洲人成人一区二区三区| 亚洲乱码无人区卡1卡2卡3| 野花香高清在线观看视频播放免费 | 2021在线永久免费视频| 亚洲国产成人影院播放| 亚洲国产成人在线视频| 久久免费观看视频| 永久免费bbbbbb视频| 亚洲午夜精品一区二区 | 亚洲av乱码中文一区二区三区| 久久永久免费人妻精品| 免费大片在线观看网站| 亚洲人成777在线播放| 最近国语视频在线观看免费播放 | 18国产精品白浆在线观看免费| 亚洲视频人成在线播放| 亚洲Av高清一区二区三区| 在线看片免费人成视频久网下载 | 亚洲精品乱码久久久久久久久久久久 | 亚洲AV无码之日韩精品| youjizz亚洲| 1000部啪啪毛片免费看| 亚洲色中文字幕无码AV| 美女尿口扒开图片免费| 一个人免费观看www视频在线| 亚洲第一精品在线视频| 丝袜足液精子免费视频| 免费jjzz在在线播放国产| 亚洲欧洲日韩极速播放 |