<div class="layui-card"> <div class="layui-card-header"> <h2 class="header-title">token管ç†</h2> <span class="layui-breadcrumb pull-right"> <a href="#!home_console">首页</a> <a><cite>token管ç†</cite></a> </span> </div> <div class="layui-card-body"> <div class="layui-form toolbar"> 所属应用:<select id="token_clients" lay-filter="token_clients"></select>  æœç´¢ï¼š<input id="tokens-edit-search" class="layui-input search-input" type="text" placeholder="输入用户å"/>  <button id="tokens-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>æœç´¢</button> </div> <!-- æ•°æ®è¡¨æ ¼ --> <table class="layui-table" id="tokens-table" lay-filter="tokens-table"></table> </div> </div> <!-- è¡¨æ ¼æ“作列 --> <script type="text/html" id="tokens-table-bar"> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">åˆ é™¤</a> </script> <script> layui.use(['form', 'table', 'util', 'config', 'admin'],function () { let table = layui.table; let config = layui.config; let layer = layui.layer; let util = layui.util; let admin = layui.admin; let form = layui.form; // æ¸²æŸ“è¡¨æ ¼ table.render({ elem: '#tokens-table', url: config.base_server + 'api-uaa/tokens', method: 'GET', headers:{'Authorization': 'Bearer ' + config.getToken().access_token}, where: {tenantId: config.clientId}, page: true, cols: [[ {type: 'numbers'}, {field: 'tokenValue',width:300, sort: true, title: 'token'}, { sort: true, templet: function (d) { return util.toDateString(d.expiration); }, title: '到期时间' }, {field: 'username',width:180, sort: true, title: '用户å'}, {field: 'grantType',width:180, sort: true, title: '授æƒç±»åž‹'}, {field: 'clientId',width:180, sort: true, title: '所属应用'}, {align: 'center',width:100, toolbar: '#tokens-table-bar', title: 'æ“作'} ]] }); // 获å–应用列表 layer.load(2); admin.req('api-uaa/clients/all', {}, function (data) { layer.closeAll('loading'); if (0 === data.code) { let selected = false; $.each(data.data,function(index,item){ if (config.clientId === item.clientId) { selected = true; } else { selected = false; } //往下拉èœå•é‡Œæ·»åŠ å…ƒç´ $('#token_clients').append(new Option(item.clientName, item.clientId, false, selected)); }) form.render(); } else { layer.msg(data.msg, {icon: 2, time: 500}); } }, 'GET'); // 工具æ¡ç‚¹å‡»äº‹ä»¶ table.on('tool(tokens-table)', function (obj) { if (obj.event === 'del') { // åˆ é™¤ doDelete(obj); } }); // åˆ é™¤ let doDelete = function (obj) { layer.confirm('确定è¦åˆ 除å—?', function (i) { layer.close(i); layer.load(2); admin.req('api-uaa/oauth/remove/token?token=' + obj.data.tokenValue, {}, function (data) { layer.closeAll('loading'); layer.msg('æˆåŠŸ', {icon: 1, time: 500}); obj.del(); }, 'DELETE'); }); }; // æœç´¢æŒ‰é’®ç‚¹å‡»äº‹ä»¶ $('#tokens-btn-search').click(function () { var key = $('#tokens-edit-search').val(); table.reload('tokens-table', {where: {username: key, tenantId: $('#token_clients').val()}}); }); // åº”ç”¨ä¸‹æ¥æ¡†ç‚¹å‡»äº‹ä»¶ form.on('select(token_clients)', function(data){ table.reload('tokens-table', {where: {tenantId: data.value}}); }); }); </script>