유 니 버 설 JS 도구 패키지 개발

3495 단어 ajax자바 script
  • 네트워크 요청 도구 (Ajax 요청, 서버 주소 설정)
  • URL 경로 도구
  • 템 플 릿 렌 더 링 도구
  • 필드 검증 & 유 니 버 설 알림
  • 통일 점프
  • 'use strict'
    var conf = {serverHost : ''};
    //        
    var _mm = 
    {
        //         
        request : function(param)
        {
            var _this = this;        //  mm  
            $.ajax({
                type        : param.method || 'get',        //  param    ,      get  
                url         : param.url    || '',           //    
                dataType    : param.type   || 'json'        //      
                data        : param.data   || '',           //         
                //           
                success     : function(res)
                {
                    //     
                    if(0 === res.status)
                    {
                        typeof param.success === 'function' && param.success(res.data, res.msg);
                    }
                    //      ,     
                    else if (10 === res.status)
                    {
                        _this.doLogin();
                    }
                    //       
                    else if(1 === res.status)
                    {
                        typeof param.error=== 'function' && param.error(res.msg);
                    }
                },                                          
                error       : function(err)
                {
                    typeof param.error=== 'function' && param.error(err.statusText);
                }
            });
        },
        
        //        
        getServerUrl : function(path)
        {
            return conf.serverHost + path;
        },
        
        //   url  
        getUrlParam : function(name)
        {
            // happymall.com/product/list?keyword=xxx&page=1
            //   keyword  :1.  ?   ;2. &     keyword value
            //        
            var reg     = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
            // window location  ;search    url query  (?keyword=xxx&page=1);substr()                     ,   1,    url  ?   ()
            var result  = window.location.search.substr(1).match(reg);
            return result ? decodeURIComponent(result[2]) : null;
        },
        
        //   html  
        renderHtml : function(htmlTemplate, data)        //        
        {
            var template    = Hogan.compile(htmlTemplate),
                result      = template.render(data);
            return result;
        },
        
        //     
        successTips : function(msg)
        {
            alert(msg || '    !');
        },
        
        //     
        errorTips : function(msg)
        {
            alert(msg || '     ~');
        },
        
        //      ,    、  、     
        validate : function(value, type)
        {
            var value = $.trim(value);
            //     ,require      
            if('require' === type)
            {
                //   boolean 
                return !!value;
            }
            //      
            if('phone' === type)
            {
                // 1   11   
                return /^1\d{10}$/.test(value);
            }
            //       
            if('email' === type)
            {
                return /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/.test(value);
            }
        },
        
        //       
        doLogin : function()
        {
            window.location.href = './user-login.html?redirect=' + encodeURIComponent(window.location.href);        //          
        },
        goHome : function()
        {
            window.location.href = './index.html';
        }
    };
    
    //        
    module.exports = _mm;
    

    좋은 웹페이지 즐겨찾기