// ==UserScript==
// @name 开发环境 Eureka 映射
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://eureka地址/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var name2port = { '服务名称': 端口号 };
var ip2name = { '开发人员机子ip': '开发人员名称' };
var lose = ['所有的微服务,为了在表头添加渲染没启动的微服务'];
var table = $('.table.table-striped.table-hover')[2]; //获取服务注册表格
$(table).find('tr').each(function (e) { //遍历修改表格信息
var bTag = $(this).find("b").eq(0);
if (bTag.length == 0) {
return;
}
if (lose.includes(bTag.text())) {
lose.splice($.inArray(bTag.text(), lose), 1); //删除已经注册的服务
}
$(this).find("a").each(function(a, tag) { //遍历修改微服务信息
for (let k in ip2name) {
if (tag.text.indexOf(k) >= 0) {
tag.title = tag.text;
tag.text = ip2name[k]; //映射开发人员ip地址
continue;
}
}
});
if (name2port[bTag.text()]) {
bTag.text(bTag.text() + ' : ' + name2port[bTag.text()]);
}
});
//在表头新增未启动的微服务
var htmls = '';
lose.forEach(function(name) {
var html = `
<tr>
<td><b><span style="color: red;">${name} : ${name2port[name]}</span></b></td>
<td><b>n/a</b> (0)</td>
<td><b></b> (0)</td>
<td>
<b>UP</b> (0)`;
htmls = htmls + html;
});
$(table).find('tbody').prepend(htmls);
})();
大家需要根据自己的情况进行部分属性
① @match 修改监听地址
② name2port 微服务映射端口
③ ip2name 开发人员ip地址映射开发人员名称
④ lose 所有微服务, 有在eureka上注册的微服务,都会从lose数组中删除,最后没被删除的对象都会在表格头添加渲染
如果帮到你,请点个赞吧 O(∩_∩)O~