<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link href="${ctxPath}/assets/expand/images/favicon.ico" rel="icon"> <title>${constants.getSystemName()}</title> <link rel="stylesheet" href="${ctxPath}/assets/common/libs/layui/css/layui.css?v=${constants.getReleaseVersion()}"/> <link rel="stylesheet" href="${ctxPath}/assets/common/module/admin.css?v=${constants.getReleaseVersion()}"/> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body class="layui-layout-body"> <div class="layui-layout layui-layout-admin"> <!-- 头部 --> @include("/layout/_header.html"){} <!-- 侧边栏 --> @include("/layout/_sidebar.html"){} <!-- 主体部分 --> @include("/layout/_body.html"){} <!-- 底部 --> @include("/layout/_footer.html"){} </div> <!-- 加载动画 --> @include("/layout/loading.html"){} <!-- js全局变量 --> <script type="text/javascript"> var Feng = { ctxPath: "${ctxPath}", version: '${constants.getReleaseVersion()}', wsUrl: '${wsUrl}' }; </script> <script type="text/javascript" src="${ctxPath}/assets/common/libs/layui/layui.js?v=${constants.getReleaseVersion()}"></script> <script type="text/javascript" src="${ctxPath}/assets/common/js/common.js?v=${constants.getReleaseVersion()}"></script> <script> var wsInst = null layui.use(['layer', 'element', 'admin', 'index', 'HttpRequest', 'ws', 'notice', 'i18n'], function () { var $ = layui.jquery; var layer = layui.layer; var admin = layui.admin; var index = layui.index; var HttpRequest = layui.HttpRequest; var ws = layui.ws; var notice = layui.notice; var i18n = layui.i18n; //获取支持的语言列表 let languageTypes = i18n.getLanguageTypes(); for (var i = 0; i < languageTypes.length; i++) { var code = languageTypes[i].code; var description = languageTypes[i].name; $("#languageDiv").append('<dd lay-unselect><a id="tran-' + code + '" href="javascript:;">' + description + '</a></dd>'); //设置监听事件,设置点击按钮切换当前系统语言 (function (code) { $('#tran-' + code).click(function () { i18n.changeUserTranslation(code); }); })(code); } // 记载并缓存翻译的字典 i18n.loadAndCacheTranslation(); // 默认加载主页 index.loadHome({ menuPath: $("#firstPageAction").attr('lay-href'), menuName: '<i class="layui-icon layui-icon-home"></i>' }); // 修改密码点击事件 $('#setPsw').click(function () { admin.open({ id: 'pswForm', type: 2, title: i18n.translate('TITLE_CHANGE_PASSWORD', '修改密码'), shade: 0, content: '${ctxPath}/view/changePassword' }); }); // 退出登录点击事件 $('#btnLogout').click(function () { var request = new HttpRequest(Feng.ctxPath + "/logout", 'post', function (data) { Feng.success("退出成功!"); window.location.href = Feng.ctxPath + "/"; }, function (data) { layer.msg("退出失败!" + data.message, {icon: 5, anim: 6}); }); request.start(); }); wsInst = ws.render({ wsUrl: Feng.wsUrl, //WebSocket的地址 connectErr: function (event) { console.log(event) //如果不支持websocket 回调 }, onWsError: function (event) { //发生连接错误回调 }, onWsOpen: function (event) { //连接成功回调 console.log("Socket 已打开"); wsInst.send("消息发送测试(From Client)"); }, onWsMessage: function (event) { //服务器发送消息回调 let data = event.data; try { let msg = JSON.parse(data) notice.info({ title: '[' + msg.businessTypeValue + ']' + msg.messageTitle, message: msg.messageContent, timeout: false }); $('#messageDot').show(); } catch (e) { } }, onWsClose: function (event) { //关闭连接回调 }, wsSend: function (event) { //发送成功后的回调 }, }) }); window.unload = function () { if (wsInst) { wsInst.close(); } }; </script> </body> </html>