`
Hello______world
  • 浏览: 17545 次
社区版块
存档分类
最新评论

springMvc 前台

    博客分类:
  • js
阅读更多

App.js

/**
 * 1,定制组件
 * 2,对应cookie中的全局变量
 * 3,jquery扩展方法及对验证规则的扩展
 * @author wWX235558
 */
define(['jquery'], function ($) {
    var App = {
        token720: '',
        user: {},
        maps: []
    };

    /**
     * 定义一个模块
     * @param moduleName 模块名称
     * @param fn 模块体
     */
    App.defineModule = function (moduleName, fn) {
        !(function($, b) {
            if (typeof define === "function" && define.amd) {
                define(['jquery', 'core/core'], b);
            } else {
                b($);
            }
        }(jQuery, function() {
            var args = this.arguments;
            //console.log(args);
            return fn(args.slice(2));
        }));
    };

    App.initAjax = function () {
        $("#loading").bind("ajaxSend", function () {
            $(this).show();
        }).bind("ajaxComplete", function () {
            $(this).hide();
        });
        $.ajaxSetup({
            global: true,
            cache: false,
            dataType: "json",
            contentEncoding: "gzip",
            contentType: 'application/json',
            headers: {
               /* "Access-Token": App.token720 ? App.token720 : "",
                "Prefer_Lang": window.mac && mac.Lang*/
            }
        });
    };


    return App;
});



core.js


/**
 *  mac.core 1.2
 */
(function () {

    define([
        'App'
    ], function (App) {
        window.App = App;

        App.initAjax();

        /****************************************jquery validate的扩展*************************************************/
        if (jQuery)(function ($) {
            /**
             * jQuery 静态方法扩展
             */
            $.extend({
                /**
                 * Ajax调用扩展
                 *
                 * @param url {string} 链接地址
                 * @param params
                 * @param callback
                 * @param error
                 * @param async true:异步 | false:同步
                 */
                omcAjax: function (url, params, callback, error, async) {
                    params.token720 = "";
                    $.ajax({
                        type: "POST",
                        url: url,
                        data: JSON.stringify(params),
                        //timeout : 120000,
                        async: async,
                        success: function (data) {
                                if (callback)
                                    callback(data);
                        },
                        error: error || function (data) {
                        }
                    });
                },

                /**
                 * 获取加载对象中指定参数名称的值
                 * @param action {Object} 加载对象
                 * @param name {String} 参数名称
                 * @returns {Object} 返回值
                 */
            });

            /**
             * jQuery对象方法扩展
             */
            $.fn.extend({

                mac: function () {
                    var func = arguments[0];
                    arguments[0] = this;
                    return eval('mac.' + func).apply(this, arguments);
                },

                seek: function (name) {
                    return $(this).find('[name=' + name + ']');
                }
            });
        })(jQuery);

        /*****************************************************原型扩展**************************************************
         * @param {Object} target 目标对象。
         * @param {Object} source 源对象。
         * @param {boolean} deep 是否复制(继承)对象中的对象。
         * @returns {Object} 返回继承了source对象属性的新对象。
         */
        Object.extend = function (target, source, deep) {
            target = target || {};
            var sType = typeof source, i = 1, options;
            if (sType === 'undefined' || sType === 'boolean') {
                deep = sType === 'boolean' ? source : false;
                source = target;
                target = this;
            }
            if (typeof source !== 'object' && Object.prototype.toString.call(source) !== '[object Function]')
                source = {};
            while (i <= 2) {
                options = i === 1 ? target : source;
                if (options != null) {
                    for (var name in options) {
                        var src = target[name], copy = options[name];
                        if (target === copy)
                            continue;
                        if (deep && copy && typeof copy === 'object' && !copy.nodeType)
                            target[name] = this.extend(src ||
                            (copy.length != null ? [] : {}), copy, deep);
                        else if (copy !== undefined)
                            target[name] = copy;
                    }
                }
                i++;
            }
            return target;
        };

        /**
         * 字符串(String)原型对象扩展
         */
        Object.extend(String, {});
        Object.extend(String.prototype, {
            /**
             * 从字符串中左、右或两端删除空格、Tab、回车符或换行符等空白字符
             * @author cWX235881
             */
            trim: function () {
                return this.replace(/(^\s*)|(\s*$)/g, "");
            },
            ltrim: function () {
                return this.replace(/(^\s*)/g, "");
            },
            rtrim: function () {
                return this.replace(/(\s*$)/g, "");
            },
            /**
             * HTML转义字符
             */
            replaceHTMLChar: function () {
                return this.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&nbsp;/g, ' ').replace(/&quot;/g, 'x22').replace(/&#39;/g, 'x27');
            },
            /**
             * 转义特殊字符
             */
            replaceIllegalChar: function () {
                return this.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/ /g, '&nbsp;').replace(/x22/g, '&quot;').replace(/x27/g, '&#39;');
            },
            /**
             * 以指定字符串匹配字符串头部或尾部,相同时返回true
             * @author cWX235881
             */
            endWith: function (str) {
                if (str == null || str == "" || this.length == 0
                    || str.length > this.length)
                    return false;
                return (this.substring(this.length - str.length) == str);
            },
            startWith: function (str) {
                if (str == null || str == "" || this.length == 0
                    || str.length > this.length)
                    return false;
                return (this.substr(0, str.length) == str);
            },
            /**
             * 获取URL传递参数中指定参数名称的值
             * @param name {String} 参数名称
             * @returns {Object} 返回值
             */
            getValue: function (name) {
                var regex = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                var b = this.substr(this.indexOf("\?") + 1).match(regex);
                if (b && b != null) return unescape(b[2]);
                return null;
            },
            /**
             * 对数字字符串格式进行小数截断
             * @param length {Int} 小数截断位数
             */
            fixed: function (length) {
                if (isNaN(this))
                    return this;
                return parseFloat(Number(this).fixed(length));
            },
            /**
             * 对数字格式进行单位转换
             * @param length {Int} 转换的比率,默认为4,如4:相当于处以10000
             */
            unit: function (length) {
                if (isNaN(this))
                    return 0;
                return parseFloat(Number(this).unit(length));
            },
            /**
             *
             */
            format: function () {
                var value = this;
                var source = value.replace(/,/g, '').split('.');
                source[0] = source[0].replace(/(\d)(?=(\d{3})+$)/ig, '$1,');
                return source.join('.');
            },
            /**
             * 判断字符串中是否包含指定字符串
             */
            contains: function (str) {
                var value = this;
                return value.indexOf(str) > -1;

            },
            encrypt: function () {
                var result = "";
                if (this == undefined || this == null || this == "") {
                    return undefined;
                }

                var length = this.length;
                var charArray = [];
                for (var i = 0; i < length; i++) {
                    charArray[i] = this.charCodeAt(i);
                    charArray[i] = charArray[i] * 2;
                }

                return charArray.toString().replace(/,/g, "@");
            }
        });

        /**
         * 日期时间(Date)原型对象扩展
         */
        Object.extend(Date, {});
        Object.extend(Date.prototype, {

            /**
             * 时间格式化
             * @param fmt {String} 格式字符串,如:'%Y-%M-%d %H:%m:%s %S'
             * (%Y:4位年,%M:2位月,%d:2位日,%H:24小时制时,%m:2位分,%s:2位秒,%S:3位毫秒)
             * @return {String} 指定日期格式字符串(如:2014-12-12 22:22:22:234)
             */
            format: function (fmt) {
                var date = this;
                var dateData = {
                    year: date.getFullYear(),
                    month: (date.getMonth() + 1) < 10 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1),
                    day: date.getDate() < 10 ? "0" + date.getDate() : date.getDate(),
                    hours: date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
                    minutes: date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
                    seconds: date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(),
                    mSeconds: date.getMilliseconds()
                };
                return fmt.replace('%Y', dateData.year)
                    .replace('%M', dateData.month)
                    .replace('%d', dateData.day)
                    .replace('%H', dateData.hours)
                    .replace('%m', dateData.minutes)
                    .replace('%s', dateData.seconds)
                    .replace('%S', dateData.mSeconds);
            },
            format: function (fmt) {
                var o = {
                    "M+": this.getMonth() + 1, //月份
                    "d+": this.getDate(), //日
                    "h+": this.getHours(), //小时
                    "m+": this.getMinutes(), //分
                    "s+": this.getSeconds(), //秒
                    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
                    "S": this.getMilliseconds() //毫秒
                };
                if (/(y+)/.test(fmt))
                    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
                for (var k in o)
                    if (new RegExp("(" + k + ")").test(fmt))
                        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
                return fmt;
            }
        });

        /**
         * 数组(Array)原型对象扩展
         */
        Object.extend(Array, {});
        Object.extend(Array.prototype, {
            /**
             * 获取数组中的最大值
             * @returns {number}
             */
            max: function () {
                return Math.max.apply(Math, this);
            },

            /**
             * 获取数组中的最小值
             * @returns {number}
             */
            min: function () {
                return Math.min.apply(Math, this);
            },

            /**
             * 判断数组中是否包含某个元素
             * @param obj {*}
             */
            contains: function (obj) {
                var i = this.length;
                while (i--) {
                    if (this[i] == obj) {
                        return true;
                    }
                }
                return false;
            },

            /**
             * 删除数组中是某个值得所有元素
             * @param val {*}
             */
            removeAll: function (val) {
                var temp = this.slice(0);
                var i = temp.length;
                while (i--) {
                    if (temp[i] === val) {
                        temp.splice(i, 1);
                    }
                }
                return temp;
            },

            /**
             * 获取数组中是某个值的元素序列号
             * @param val {*}
             */
            indexOf: function (val) {
                for (var i = 0; i < this.length; i++) {
                    if (this[i] == val) {
                        return i;
                    }
                }
                return -1;
            },

            /**
             * 删除数组中是某个值的元素
             * @param val {*}
             */
            remove: function (val) {
                var index = this.indexOf(val);
                if (index > -1) {
                    this.splice(index, 1);
                }
            }
        });

        /**
         * 数值(Number)原型对象扩展
         */
        Object.extend(Number, {});
        Object.extend(Number.prototype, {
            format: function () {
                var value = this + '';
                var source = value.replace(/,/g, '').split('.');
                source[0] = source[0].replace(/(\d)(?=(\d{3})+$)/ig, '$1,');
                return source.join('.');
            },

            /**
             * 对数字格式进行小数截断
             * @param length {int} 小数截断位数,默认为0
             */
            fixed: function (length) {
                if (isNaN(this))
                    return 0;
                var s = Math.pow(10, Math.abs(parseInt(length || 0)));
                return parseFloat(Math.round(this * s) / s);
            },

            /**
             * 对数字格式进行单位转换
             * @param length {int} 转换的比率,默认为4,如4:相当于处以10000
             */
            unit: function (length) {
                if (isNaN(this))
                    return 0;
                var len = 4;
                if (length) {
                    len = length;
                }
                var num = 1;
                for (var i = 0; i < Math.abs(len); i++) {
                    num *= 10;
                }
                if (len > 0) {
                    return parseFloat(this / num);
                } else {
                    return parseFloat(this * num);
                }
            }
        });

        /**
         * 加载系统页面(系统模块入口)
         */
        mac.loadSystem = function () {

            if(window.location.pathname=="/changeMenu/changeMenu.html"){
                return;
            }

            //license 提示
            App.showLicense();

            App.initValidate();

            if (Funsionwebsocket != undefined) {
                Funsionwebsocket.close();
            }
            $.omcAjax("/jk/info", {}, function (data) {
                if (data.success) {
                    var url = data.data;

                    SockJs.init(url); //初始化websocket
                }
            });


            var enterPath = omc.login;
            var title = Msg.systemName;
            var bdy = $('#main_view');
            Msg.wind.ip = "";
            //在cookie里面设置登陆类型,后端根据不同的类型进行不同的流程跳转
            Cookies.set("loginType720", "SSO");
            var isUserInDomain = true; //当前用户是否在该域中
            //设置多权限sid,集团多权限,资源多权限sids
            $.omcAjax("/groupSystem/setSids", {}, function (data) {
                if (data.success) {
                    App.stationIds = data.data;
                } else {
                    $.omcAlert(data.data, function () {
                        $.omcAjax("/groupSystem/logout", {}, function (data) {
                            var ro = data;
                            if (ro.success && ro.data != '') {
                                var rec = ro.data.CasServerUrl + "/logout?service=";
                                rec = rec + ro.data.ServerName;
                                rec = encodeURI(rec);
                                rec = rec + "/index.html?t=";
                                rec = rec + new Date().getTime();
                                window.location.href = rec;
                            }

                            //Cookies.clear("token720");
                            Cookies.clear("loginType720");
                            //Cookies.clear("user");
                            Cookies.clear("loadUrl");
                        });
                    });
                    isUserInDomain = false;
                }
            }, null, false);

            $.omcAjax("/groupSystem/auth", {}, function (data) {
                /*var screenType=App.stationIds.groupType;*/
                if (data.success) {
                    if (data.data.userType == "main") {
                        omc.systemMenu = data.data.listMenu;
                        omc.goToButtons = data.data.listButtons;
                        enterPath = omc.main;
                        if (data.data.gsNameKey == Msg.subSystemName || data.data.gsNameKey ==null ) {
                        	title = Msg.systemName + " " + Msg.subSystemName ;
						}else {
							  title = Msg.systemName + " " + data.data.gsNameKey ;
						}
                    } else if (data.data.userType == "innerUser") {
                        enterPath = omc.household;
                    }
                    if (data.data && data.data.sessionid) {
                        Cookies.setSessionid(data.data.sessionid);
                    }
                    if (Cookies.isGeMaxSize()) {
                        Cookies.clearOne();
                    }
                    enterPath = Cookies.get("loadUrl") || enterPath;
                    var _date = new Date();
                    _date.setDate(_date.getDate() + 1);
                    App.token = data.params[0];
                    App.majorServerIp = data.params[1];
                    App.user = data.data.user;
                    App.group = data.data.group;
                    if(data.data.windIp.indexOf('127.0.0.1') == -1){
                        Msg.wind.ip = data.data.windIp;
                    }
                    //Cookies.set("token720", App.token);
                    //Cookies.set("group", App.group);
                }
                else {
                    location.href = data.data.url;
                }
            }, null, false);
            // TODO 获取电站状态配置
            $.omcAjax("/groupParameter/getByIds", {
                keys: ['stationStatus_0', 'stationStatus_1', 'stationStatus_2', 'stationStatus_3', 'gsNameKey',
                    'systemLogo', 'loginBackground', 'systemNameKey', 'mediaUploadKey', 'largeScreenAreaSwitchingTime', 'largeScreenMode', 'carouselInterval'],
                order: 'asc'
            }, function (data) {
                if (data.success) {
                    if (data.params && data.params.length > 0) {
                        Cookies.setSessionid(data.params[0]);
                    }
                    if (data.data && data.data.length > 0) {
                        var stationStatus = [];
                        for (var i = 0; i < data.data.length; i++) {
                            var key = data.data[i]['paramKey'];
                            if (key == 'gsNameKey') {
                                Msg.gs.title = data.data[i]['paramValue'];
                            }
                            else if (key == 'systemLogo') {
                                Msg.systemLogo = data.data[i]['paramValue'];
                            }
                            else if (key == 'loginBackground') {
                                Msg.loginBackground = data.data[i]['paramValue'];
                            }
                            else if (key == 'mediaUploadKey') {
                                Msg.directVideo = data.data[i]['paramValue'];
                            }
                            else if (key == 'systemNameKey'
                                && data.data[i]['paramValue'] && data.data[i]['paramValue'].trim().length > 0) {
                                Msg.subSystemName = data.data[i]['paramValue'];
                            }
                            else if (key == 'largeScreenAreaSwitchingTime') {
                                Msg.largeScreenAreaSwitchingTime = data.data[i]['paramValue'];
                            }
                            else if (key == 'largeScreenMode') {
                                Msg.largeScreenMode = data.data[i]['paramValue'];
                            }
                            else if (key == 'carouselInterval') {
                                Msg.carouselInterval = data.data[i]['paramValue'];
                            }
                            else {
                                stationStatus[+(key.split('_')[1])] = data.data[i]['paramValue'];
                            }
                        }
                        Msg.sm.psm.status_value = stationStatus;
                    }
                }
                //如果数据库连接失败将会弹出异常信息
                else if (data != null) {
                    $.omcAlert(data.data.message);
                }
            }, null, false);

            if (!isUserInDomain) return;

            var styleList = [];
            var prevLoad;
            if (enterPath.indexOf('plants') != -1) {
                styleList = ['css!/plants/css/css.css'];
            }
            else if (enterPath.indexOf('demostration') != -1) {
                styleList = ['css!/demostration/css/css.css'];
            }
            else if (enterPath.indexOf('gs') != -1) {
                styleList = ['css!/main/gs/css/gs.css'];
            }
            else if (enterPath.indexOf('hh') != -1) {
                styleList = ['css!/main/hh/css/ownerDetail.css'];
                prevLoad = function () {
                    if (Msg.loginBackground) {
                        var bg = new Image();
                        bg.src = '/temp/system/image/' + Msg.loginBackground;
                        bg.onload = function () {
                            setTimeout(function () {
                                $('#main_view').css('background-image', 'url(/temp/system/image/' + Msg.loginBackground + ')');
                            }, 1000);
                        };
                    }
                };
            }
            else {
                styleList = [
                    "css!/main/sm/ms/mapSettingManager.css",
                    "css!/main/sm/license/licenseManager.css",
                    "css!/main/sm/logManagment/logManager.css",
                    "css!/main/sm/fm/fileManager.css",
                    "css!/main/ckpi/css/page.css",
                    "css!/main/default/css/default.css",
                    "css!/main/default/page/css/powerAmount.css",
                    "css!/main/default/page/css/envi.css",
                    "css!/main/default/page/css/operationStatistics.css",
                    "css!/main/default/page/css/powerPlan.css",
                    "css!/main/default/page/css/powerPlant.css",
                    "css!/main/default/page/css/powerPr.css",
                    "css!/main/pskpi/css/powerStationQuota.css",
                    "css!/main/pskpi/css/KPIWorkTicketMonth.css",
                    "css!/main/pskpi/css/KPILossAnalysis.css",
                    "css!/main/pskpi/css/KPIAlarmMonth.css",
                    "css!/main/pskpi/css/KPIInefficientInverter.css",
                    "css!/main/pskpi/css/KPIPowerAmount.css",
                    "css!/main/pskpi/css/KPIPowerPlan.css",
                    "css!/main/wa/css/createRpTemp.css",
                    "css!/main/hh/css/ownerDetail.css",
                    "css!/main/mm/css/ticket.css"
                ];
                prevLoad = function () {
                    if (Msg.loginBackground) {
                        var bg = new Image();
                        bg.src = '/temp/system/image/' + Msg.loginBackground;
                        bg.onload = function () {
                            setTimeout(function () {
                                $('#main_view').css('background-image', 'url(/temp/system/image/' + Msg.loginBackground + ')');
                            }, 1000);
                        };
                    }
                };
            }
            require(styleList, function () {
                bdy.omcLoad(enterPath, {}, prevLoad);
            });
            document.title = title;

            i18n.initData(mac.Lang, Msg);
            mac.setLanguage(mac.Lang);
        };

        /**
         * 切换多语言
         */
        mac.switchLanguage = function (langValue) {
            var data = {"lang": langValue};
            Cookies.set("Prefer_Lang", langValue);
            $.ajax({
                type: "POST",
                url: "/i18n/switchlang",
                async: true,
                data: JSON.stringify(data),
                success: function (data) {
                    if (data.success) {
                        var lang = eval('(' + data.data.data + ')');
                        Msg = lang.Msg;
                        mac.Lang = data.data.lang;
                        App.initAjax();
                        mac.loadSystem();
                    }
                },
                error: function () {
                    document.location.reload();
                }
            });
        };

        mac.getMousePos = function (e) {
            var e = e || window.event, d = document
                , de = d.documentElement, db = d.body;
            return {
                x: e.pageX || (e.clientX + (de.scrollLeft || db.scrollLeft)),
                y: e.pageY || (e.clientY + (de.scrollTop || db.scrollTop))
            };
        };
        mac.eval = function (str) {
            var r;
            try {
                r = eval('(' + str + ')');
            } catch (e) {
            }
            return r ? r : str;
        };
        mac.getMsg = function (msg, params) {
            if (params && params.length)
                for (var i = 0; i < params.length; i++)
                    msg = msg.replace('{' + i + '}', params[i]);
            return msg;
        };

        /**
         * set language
         */
        mac.setLanguage = function (lan) {
            $('.text').each(function (n, c) {
                var ec = $(c);
                var msg = ec.html();
                if (msg && msg.length > 4 && msg.substr(0, 4) == 'Msg.')
                    ec.html(mac.eval(msg));
            });

            $("input.text[placeholder]").each(function (i, e) {
                var p = $(e).attr("placeholder");
                var n = "";
                try {
                    n = mac.eval(p);
                } catch (e) {
                    n = p;
                }
                $(e).attr("placeholder", n);
            });

            $("textarea.text[placeholder]").each(function (i, e) {
                var p = $(e).attr("placeholder");
                var n = "";
                try {
                    n = mac.eval(p);
                } catch (e) {
                    n = p;
                }
                $(e).attr("placeholder", n);
            });

            $(".text[title]").each(function (i, e) {
                var p = $(e).attr("title");
                var n = "";
                try {
                    n = mac.eval(p);
                } catch (e) {
                    n = p;
                }
                $(e).attr("title", n);
            });

            i18n.setLanguage(lan || mac.Lang || 'zh');
        };

        /**
         * form id
         */
        mac.init = function (id, data) {
            $("#" + id + " :input").each(function () {
                var name = $(this).attr('name');
                if (name && data[name]) {
                    $(this).val(data[name]);
                }
            });
        };

        mac.findChlidrenId = function (id) {
            var l = omc.systemMenu.length;
            var arr = [];
            for (var i = 0; i < l; i++) {
                (function () {
                    var jsonArray = arguments[0];
                    for (var k in jsonArray) {
                        if ((k.indexOf('children') != -1 && jsonArray[k] != null) || !isNaN(k)) {
                            arguments.callee(jsonArray[k]);
                        } else {
                            if (k == 'qtip' && jsonArray[k] == id) {
                                arr.push(jsonArray["id"]);
                            }
                        }
                    }
                })(omc.systemMenu[i]);
            }

            var ids = [];
            var n = 0;
            for (var i = 0; i < arr.length; i++) {
                var idi = {};
                idi.pid = id;
                idi.id = arr[i];
                ids[n++] = idi;
            }
            return ids;
        };

        mac.initCurrentTime = function () {
            var currentTimer;
            var getCurrentTime = function () {
                //$('.currentTimeShow').text(new Date().toLocaleString());
                $.omcAjax('epmsDate/getCurrentTime', {}, function (res) {
                    if (res.success) {
                        var now = Date.parse(res.data);
                        clearInterval(currentTimer);
                        currentTimer = setInterval(function () {
                            now += 1000;
                            var dateFormat = "yyyy-MM-dd hh:mm:ss";
                            var lang = (mac.Lang && mac.Lang.indexOf('zh') > -1 ? 'zh_cn' : 'en');
                            if (mac.Lang == 'uk'){lang = 'uk';}
                            if (lang == "en") {
                                dateFormat = 'hh:mm:ss MM/dd/yyyy';
                            }else if(lang == "uk"){
                            	dateFormat = 'dd/MM/yyyy hh:mm:ss';
                            }
                            $('.currentTimeShow').text(new Date(now || Date.now()).format(dateFormat));
                        }, 1000);
                    }
                });
            };
            getCurrentTime();
            setInterval(getCurrentTime, 10 * 60 * 1000);
        };

        mac.exeLogout = function () {
            //Cookies.clear("token720");
            Cookies.clear("loginType720");
            //Cookies.clear("user");
            Cookies.clear("loadUrl");
            $.omcAjax("/groupSystem/logout", {}, function (data) {
                var ro = data;
                if (ro.success && ro.data != '') {
                    var rec = ro.data.CasServerUrl + "/logout?service=";
                    rec = rec + ro.data.ServerName;
                    rec = encodeURI(rec);
                    rec = rec + "/index.html?Prefer_Lang=";
//                    rec = rec + new Date().getTime();
                    rec = rec + mac.Lang;
                    window.location.href = rec;
                }
            });
        };
        /**
         * 注销客户
         */
        mac.logout = function () {
            App.confirm({
                title: Msg.info,
                message: Msg.logoutInfo
            }, function () {
                mac.exeLogout();
            });
        };

        /***********************************************************************************/

        /**
         * 获取系统根网络路径
         * @returns {string}
         */
        var rootPath = function () {
            var html = window.location.href;
            var host = window.location.host;
            return html.substring(0, html.lastIndexOf(host) + host.length + 1);
        };

        /**
         * 获取浏览器类型
         * @returns {Object}
         */
        var getBrowser = function () {
            var browser = $.browser;
            if (!browser) {
                function uaMatch(ua) {
                    ua = ua.toLowerCase();

                    var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
                        /(webkit)[ \/]([\w.]+)/.exec(ua) ||
                        /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
                        /(msie) ([\w.]+)/.exec(ua) ||
                        ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
                        [];

                    return {
                        browser: match[1] || "",
                        version: match[2] || "0"
                    };
                }

                var matched = uaMatch(navigator.userAgent);
                browser = {};

                if (matched.browser) {
                    browser[matched.browser] = true;
                    browser.version = matched.version;
                }

                // 区分 Chrome 和 Safari
                if (browser.chrome) {
                    browser.webkit = true;
                } else if (browser.webkit) {
                    browser.safari = true;
                }
            }
            return browser;
        };

        var StringUtil = {
            /**
             * 字符串格式化
             * 例子:
             * "{0}{1}".format("hello", "world");
             */
            format: function () {
                if (arguments.length == 0) {
                    return null;
                }
                var formatStr = arguments[0];
                for (var i = 1; i < arguments.length; i++) {
                    formatStr = formatStr.replace(new RegExp('\\{' + (i - 1) + '\\}', 'gm'), arguments[i]);
                }
                return formatStr;
            }
        };

        window.StringUtil = StringUtil;

        return {
            rootPath: rootPath,
            getBrowser: getBrowser,
            StringUtil: StringUtil
        };
    });

})();



main.js


/**
 * Created by PL02053 on 2016/3/10.
 */
require.config({
    urlArgs: '_=' + (new Date()).getTime(),
    baseUrl: '/js/',
    paths: {
       /*'d3': 'd3.v3.min',*/
        'jquery': 'jquery',
        'json2': 'json2',
         'cookie': 'jquery/Cookies',
        'i18n': '../language/i18n',
        'App':"core/App",
        'core':"core/core"
    },
    waitSeconds: 0
});

require([
    'jquery'
], function () {
    (function ($) {
        require([
            'i18n', 'json2','jquery', 'cookie','App'
        ], function (i18n) {

             require(['core'],function (core) {

              /* $.omcAjax("/user/delDepartment.do", [
                    { "stuId": 1, "stuName": "li","stuSex":"man"},
                    { "stuId": 2, "stuName": "hai","stuSex": "man"},
                    { "stuId": 3, "stuName": "feng", "stuSex":"man"}
                ], function (data) {

                });*/

                 $.omcAjax("/user/delDepartment", {
                     "stuId": 1,
                     "stuName": "li",
                     "stuSex":"man"
                 }, function (data) {

                 });

            })

         /*   $.ajax({
                url:'/delDepartment.do',
                type:'POST', //GET
                async: true,
                data: JSON.stringify({'name':'test','passwd':'123456'}),
                timeout:5000,    //超时时间
                // dataType:'json',    //返回的数据格式:json/xml/html/script/jsonp/text
                beforeSend:function(xhr){
                    console.log(xhr)
                    console.log('发送前')
                },
                success:function(data,textStatus,jqXHR){
                    console.log(data)
                    console.log(textStatus)
                    console.log(jqXHR)
                },
                error:function(xhr,textStatus){
                    console.log('错误')
                    console.log(xhr)
                    console.log(textStatus)
                },
                complete:function(){
                    console.log('结束')
                }
            })*/

            //获取设置sessionid
            /*  $.ajax({
             type: "POST",
             url: "/admin/users",
             data: JSON.stringify({keys: ['systemLogo']}),
             async: false,
             dataType: "json",
             contentEncoding: "gzip",
             contentType: 'application/json',
             success: function (data) {
             if (data.success) {
             if (data.params && data.params.length > 0) {
             Cookies.setSessionid(data.params[0]);
             }
             }
             }
             });*/
        });
    })(jQuery);

    /********************************************************************************************************************************/


 /*   function test(){
        $.ajax({
            //提交数据的类型 POST GET
            type:"POST",
            //提交的网址
            url:"/delDepartment.do",
            //提交的数据
            data:{Name:"sanmao",Password:"sanmaoword"},
            //返回数据的格式
            datatype: "html",//"xml", "html", "script", "json", "jsonp", "text".
            //在请求之前调用的函数
            beforeSend:function(){},
            //成功返回之后调用的函数
            success:function(data){
              alert(11111111111);
            }   ,
            //调用执行后调用的函数
            complete: function(XMLHttpRequest, textStatus){
                alert(XMLHttpRequest.responseText);
                alert(textStatus);
                //HideLoading();
            },
            //调用出错执行的函数
            error: function(){
                //请求出错处理
            }
        });
    }*/


  /* $.ajax({
        url : "http://localhost:8080/user/delDepartment.do",
        type : "POST",
       contentType: "application/json;charset=utf-8",
        data : JSON.stringify({
            "Student": [
                { "stuId": 1, "stuName": "li","stuSex":"man"},
                { "stuId": 2, "stuName": "hai","stuSex": "man"},
                { "stuId": 3, "stuName": "feng", "stuSex":"man"}
            ]

        }),
        // dataType : "text",
         dataType : "json",
        success : function(result) {
            alert(111111111111)
        },
        error:function(msg){
            alert(222222222222)
        }
    })*/

    /*$.ajax({
            type : 'POST',
            contentType : 'application/json',
            url : 'user/add.do',
            data : $.toJSON({}),
            dataType : 'json',
            success : function(data) {
                alert("新增成功!");
            },
            error : function(data) {
                alert("error")
            }
        });*/



});



分享到:
评论

相关推荐

    springmvc前台框架实例

    在"springmvc前台框架实例"中,我们将探讨如何运用Spring MVC构建前端界面并处理用户输入。 首先,Spring MVC的核心组件包括DispatcherServlet、Controller、Model、View和ViewResolver。DispatcherServlet是入口点...

    springMVC前台传数组类型,后台用list类型接收实例代码

    "springMVC前台传数组类型,后台用list类型接收实例代码" SpringMVC是基于Java的Web应用程序框架,它提供了强大的MVC架构模式,以便于开发Web应用程序。在SpringMVC中,前台传递数组类型数据到后台,并用List类型...

    springmvc集成 tiles2实现页面模板局部刷新

    在本文中,我们将深入探讨如何将Spring MVC框架与Tiles2框架集成,以便实现在Web应用程序中的页面模板和局部刷新功能,同时确保浏览器自适应高度。Tiles2是一个强大的视图层框架,它允许开发者创建可重用的页面组件...

    springmvc前台向后台传值几种方式总结(从简单到复杂)

    Spring MVC 是一个强大的Java web框架,它提供了丰富的功能来处理前端与后端的数据交互。... 1. **基本数据类型**: 当需要传递简单类型如`int`, `String`等时,可以直接在控制器方法中声明这些类型的参数。...

    SpringMVC接收前台传递过来的值的实例

    SpringMVC接收前台传递过来的值的实例 SpringMVC是一种流行的Java Web开发框架,用于构建Web应用程序。在SpringMVC中,接收前台传递过来的值是一种常见的操作。本文将为大家分享SpringMVC接收前台传递过来的值的...

    SpringMVC POI Excel 生成导出

    在这个描述中,我们可以看到 SpringMVC POI Excel 生成导出是一个完整的过程,从前台写法到 controller 写法再到 service 写法。这个过程涉及到多个技术点,包括 SpringMVC 框架、POI 库、Excel 文件格式等。 标签...

    jQuery easy ui + SpringMVC

    本资源是本人将SpringMVC + jQuery easy ui整合的CRUD demo,后台核心是spring注解实现的(通过jsbcTemplate连接数据库),前台有基本的jsp和easy ui 两种展现方式,数据库使用oracle,可以通过更改配置文件和驱动jar...

    详解SpringMVC注解版前台向后台传值的两种方式

    在SpringMVC中,从前台向后台传递数据可以通过请求参数或模型属性的方式实现。请求参数适用于简单的键值对,而模型属性则适用于需要将多个参数绑定到一个复杂对象的情况。理解并灵活运用这两种方式,可以更高效地...

    Springmvc如何实现向前台传递数据

    SpringMVC如何实现向前台传递数据 SpringMVC是一种基于Java的Web应用程序框架,它提供了多种方式来实现向前台传递数据。下面将详细介绍四种常见的数据传递方式。 1. 通过Map、Model、ModelMap对象传递数据 在...

    SpringMVC中后台转换json格式

    确保所有依赖库都已引入,并正确配置SpringMVC,以实现后台与前台之间的顺利JSON数据交互。在实际项目中,还可能需要考虑JSON安全问题,例如防止XSS和CSRF攻击,以及优化性能,如使用GZIP压缩等。

    spring+springmvc+hibernate4+easyui+maven完整项目搭建

    SSH 是 Spring、SpringMVC 和 Hibernate 这三个流行的 Java 开发框架的组合,它们在企业级应用开发中扮演着重要角色。Spring 提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,SpringMVC 作为 MVC 设计模式的...

    基于springMVC开发房屋租赁赁.zip

    项目描述 系统分为前台用户界面和后台系统管理: 1. 前台用户界面 ... 查看房源明细、发布房源、提交合同、新闻公告、留言交流 2. 后台系统管理 ... 用户管理:用户列表、用户...SpringMVC+mybatis+bootstrap+jQuery+JSP

    Springmvc获取前台请求数据过程解析

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,用于构建动态的、数据驱动的 Web 应用程序。在本文中,我们将深入探讨 Spring MVC 如何获取前端发送的请求数据,这涉及到从简单的基本类型到复杂对象以及数组和...

    springMVC+mybit+mysql的一个小例子

    简单实现的功能是:mysql中有user表,从页面访问,然后springMVC的控制类负责控制跳转,最终执行dao类对应的mybits配置文件中mapper文件中对应的sql语句,然后返回结果并传给前台。 以下是复制readMe.txt: 如果需要...

    解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题

    解决SpringMVC关于前台日期作为实体类对象参数类型转换错误的问题 在SpringMVC框架中,日期类型的参数转换是常见的问题之一。当我们在实体类中使用java.util.Date类型的属性时,可能会出现类型转换错误的问题。在...

    springmvc-data-object

    描述中的"实现前台页面对象的封装"意味着我们要关注如何将前端页面上的用户输入转换为后端的Java对象。Spring MVC提供了一种优雅的方式——数据绑定,来自动映射请求参数到Java对象的属性上。例如,我们可以创建一个...

    springMVC.pdf

    SpringMVC是Spring框架中一个用于构建Web应用程序的模块,它遵循MVC(Model-View-Controller)设计模式,旨在简化Web层的开发。SpringMVC提供的功能包括处理用户请求、数据校验、格式化、视图解析等,它与Spring提供...

    springmvc例子,FusionCharts例子(前台 java_FusionCharts后台)

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。FusionCharts,则是一款功能丰富的JavaScript图表库,可以用于创建交互式且视觉效果丰富的图表。...

    easyui+springmvc项目

    本项目前台使用easyui,后台使用springMVC注解方式,做了一个权限控制的功能,涵盖了easyui基本控件的使用,如tree控件,datagrid控件,可以为学习这两个框架的朋友提供参考,内附项目使用说明文档以及数据库初始化...

    SpringMVC接受前台传值

    控制器接受前台的值的方式 路径传值 @RequestMapping("/login/{id}") public String demo(@PathVariable Long id){ ... } 通过@PathVariable就可以接受路径/login/{id}中的id值了。 From表单传值 先介绍模拟...

Global site tag (gtag.js) - Google Analytics