settmpdata = function (res) { var tmp = JSON.stringify(res); window.localStorage.setItem("server", tmp); } setnickname = function (data) { http_send("/nickname", { id: data.ID, nickname: data.Nickname, ip: data.Ip, port: data.Port, username: data.Username }) } var open_repass_index = 0; openpass = function (ID) { //console.log(ID) if(open_repass_index > 0){ return false } open_repass_index = layer.open({ type: 2, maxmin : true, title: '重置加密密码', shade: 0.4, mask: true, //maxmin: true, //开启最大化最小化按钮 area: ['30vw', '50vh'], content: '/setpass?id=' + ID, shadeClose: false, cancel: function(){ open_repass_index = 0 } }); } getinfo = function () { var token = window.localStorage.getItem("token") var table = layui.table; //展示已知数据 table.render({ elem: '#server_list' , id: 'server_list' , url: '/v1/userinfo' , headers: { Authorization: "Bearer " + token, } , title: '服务器列表' , cols: [[ {field: 'ID', title: 'ID', sort: true, totalRow: true, hide: true} , {field: 'Ip', title: 'IP地址', sort: true, totalRow: true, edit: 'text'} , {field: 'Port', title: '端口', sort: true, totalRow: true, edit: 'text'} , {field: 'Username', title: '用户', sort: true, edit: 'text'} , {field: 'Nickname', title: '备注', edit: 'text'} , {field: 'BeforeTime', title: '上次登录', sort: true, totalRow: true} , {field: 'Controller', title: '操作'} ]] , skin: "row" , even: 'true' , page: true //是否显示分页 , limits: [10, 15, 20] , limit: 10 //每页默认显示的数量 , response: { statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0 } , parseData: function (res) { //将原始数据解析成 table 组件所规定的数据 if (res.token) { window.localStorage.setItem("token", res.token) //更新token } if (res.code == 301 || res.code == 302) { //Token校验失败或过期 layer.msg(res.msg, function () { window.localStorage.clear(); //清空浏览器缓存 if (window != top) { top.location.href = "/login"; } window.location.href = "/login"; }) return } //console.log(res.data.List) for (key in res.data.List) { res.data.List[key].Controller = "  " } settmpdata(res); return { "code": res.code, //解析接口状态 "msg": res.msg, //解析提示文本 "count": res.data.Count, //解析数据长度 "data": res.data.List //解析数据列表 }; }, }); table.on('edit(server_list)', function (obj) { //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值" //console.log(obj.value); //得到修改后的值 //console.log(obj.field); //当前编辑的字段名 //console.log(obj.data); //所在行的所有相关数据 setnickname(obj.data) }); } getinfo() search = function () { var keyword = $('#keyword').val() if (keyword == "") { getinfo() return } var data = JSON.parse(window.localStorage.getItem("server")) var tmp_data = []; //data.data.Count = 1 //data.data.List.splice(0, 1); data.data.List.forEach(function (e) { if (JSON.stringify(e).indexOf(keyword) != -1) { tmp_data.push(e); } }); //console.log(tmp_data) if (tmp_data.length == 0) { layer.msg("搜索内容不存在") return } data.data.Count = tmp_data.length; data.data.List = tmp_data; var table = layui.table; table.render({ elem: '#server_list' , id: 'server_list' , title: '服务器列表' , cols: [[ {field: 'ID', title: 'ID', sort: true, totalRow: true, hide: true} , {field: 'Ip', title: 'IP地址', sort: true, totalRow: true, edit: 'text'} , {field: 'Port', title: '端口', sort: true, totalRow: true, edit: 'text'} , {field: 'Username', title: '用户', sort: true, edit: 'text'} , {field: 'Nickname', title: '备注', edit: 'text'} , {field: 'BeforeTime', title: '上次登录', sort: true, totalRow: true} , {field: 'Controller', title: '操作', width: 100} ]] , skin: "row" , even: 'true' , page: true //是否显示分页 , limits: [10, 15, 20] , limit: 10 //每页默认显示的数量 , response: { statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0 } , data: data.data.List }); } var open_add_index = 0; add = function () { if(open_add_index > 0){ return false } open_add_index = layer.open({ maxmin : true, type: 2, title: '添加SSH服务器', shade: 0.4, mask: true, //maxmin: true, //开启最大化最小化按钮 area: ['30vw', '50vh'], content: '/add', shadeClose: false, cancel: function(){ open_add_index = 0 } }); } del_info = function (ID) { http_send("/delete", {id: ID}, del_callbacl) } del_callbacl = function (result) { layer.msg(result.msg) getinfo() } open_terminal_index = 0; open_terminal = function (ID, sername) { if(open_terminal_index > 0){ return false } open_terminal_index = layer.open({ maxmin : true, type: 2, title: '打开SSH终端:' + sername, shade: 0.4, mask: true, //maxmin: true, //开启最大化最小化按钮 area: ['30vw', '30vh'], content: '/openterm?id=' + ID + "&sername=" + encodeURI(sername), shadeClose: false, cancel: function(){ open_terminal_index = 0 } }); }