url.js 1.41 KB
/**
 * Url类
 * @author Lee/349238652@qq.com
 */
define(
    'mk7/url',
    [
        'mk7/utils'
    ],
    function(utils) {
        
        var $$ = Dom7;

        var url = {
            base : '',
            to : function(route , params, state) {

                params = utils.extend({}, params);

                if(!utils.isDefined(route) || !route){
                    return false;
                }
                
                var q = [];
                for(var i in params){
                    q.push(i+'='+params[i]);
                }
                q = q.join('&');
                //url规范:user#order-list/all?i=2&j=87
                var url = this.base + '/' + route;
                if(q){
                    url = url + '?' + q;
                }
                if(utils.isDefined(state) && state){
                    url = url + '#' + state;
                }
                return url;
            },
            state : function(route) {
                if(!utils.isDefined(route) || !route){
                    return false;
                }
                window.location.hash = '#' + route;
            },
            get : function(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return r[2]; return '';
            }
        }

        return url;
    }
);