app.js 3.29 KB
/**
 * 单页面应用
 */
define(
    "order-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 = 'order';
        app.routes = {
            'index': function () {
                fromOutside = false;
                _autoLoading();
                return app.runController('index');
            },
            'index/:tab': function (tab) {
                fromOutside = false;
                _autoLoading();
                var params = {
                    tab:tab
                }
                return app.runController('index',params);
            },

            'submit': function () {
                fromOutside = false;
                _autoLoading();
                return app.runController('submit');
            },
            'order-details/:id': function (id) {
                fromOutside = false;
                _autoLoading();
                var params = {
                    id:id
                }
                return app.runController('order-details', params);
            },
            'customer-order/:id/:sn': function (id,sn) {
                fromOutside = false;
                _autoLoading();
                var params = {
                    id:id,
                    sn:sn
                }
                return app.runController('customer-order', params);
            },
            'rate/:id/:sn': function (id,sn) {
                fromOutside = false;
                _autoLoading();
                var params = {
                    id:id,
                    sn:sn
                }
                return app.runController('rate',params);
            },
            'cost-list/:id': function (id) {
                fromOutside = false;
                _autoLoading();
                var params = {
                    id:id
                }
                return app.runController('cost-list', params);
            },
            '*': function(){
                return app.runController('index');
            }
        }
        return app;
    }
);