app.js 2.13 KB
/**
 * 用户模块,单页面应用
 */
define(
    "user-app",
    [
        'mk7/app'
    ],
    function (app) {

        var $$ = Dom7;

        var _autoLoading = function () {
            var e = $$('.ui-loading-block');
            if (0 == e.length) {
                //<!--预载入页面动画-->
                $$('.view-main').html('<div class="ui-loading-block" id="ui-loading"><div class="ui-loading-cnt"><div class="spinner"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div><div id="loader-inner"><p></p></div> </div> </div>');
                window['waitingTime'] = 10000;  // 显示重新加载的等待时间,默认10s
                if (window['loaderTimer']) {
                    clearTimeout(window['loaderTimer']);
                }
                window['loaderTimer'] = setTimeout(function () {
                    var loaderTips = document.getElementById('loader-inner');
                    var tips = document.createElement('p');
                    tips.className = 'notice';
                    if (loaderTips) {
                        tips.innerHTML = '加载速度太慢?试试<a class="link" href="#" onclick="javascript:location.reload();return false;">重新加载</a>';
                        loaderTips.appendChild(tips);
                    }
                }, window['waitingTime']);
            }
        };

        var fromOutside = true; // 标记是否从外部进来

        app.name = 'user',//用来 user 和 index-controller 构成完整的命名空间 user/index-controller
            app.routes = {
                'index': function () {
                    fromOutside = false;
                    _autoLoading();
                    return app.runController('index');
                },

                '*': function () {
                    if (redirectStatus == 1) {
                        window.location.href = redirect;
                        return;
                    }
                    fromOutside = false;
                    _autoLoading();
                    return app.runController('index');
                }

            }

        return app;
    }
);