昨日宝塔群内一朋友想对宝塔面板二开,想要做一个网站搜索功能,方便在众多网站列表中快速找出来。宝塔底层是由python驱动(Linux版),在新版本的更新迭代中源码基本也都开放出来了,虽然没有出二开手册,但也算是默认开源了吧。研究了一番,源码还是很明了的,修改一番实现宝塔面板的网站搜索功能。
一.暗中摸索
1.打开网站分类的面板后默认会请求一次网站列表的读取的接口:
二.顺藤摸瓜
找到模板目录下的site.html
模板文件录:/www/server/panel/templates/default/
在50多行处发现请求获取网站列表数据的方法:
经过捕获,获取网站数据列表的方法在代码在/www/server/panel/static/js/site.js中
我们可以看到其实宝塔面板是有搜索功能的,只不过每次读取网站列表(ajax)的时候默认为空,也就是搜索全部。这个表单在site.html是隐藏的。由此分析请求数据列表的url:/data?action=getData,我们来到/www/server/panel/class/data.py中
最终获取数据的源头,以json格式返回
三.画龙点睛
回到我们的site.html文件中,在22行处插入以下代码:
网站筛选:
<input id="search" name="search" class="inputtxt bt-input-text" type="text" placeholder="输入筛选目标网站">
<button onclick='getWeb(1,$$("#search").prop("value"))' class="btn btn-success btn-sm btn-title" type="button">搜索</button>
继续到site.js中,找到getWeb()方法:
search = $("#SearchValue").prop("value");
替换成
search = $("#search").prop("value");
四.滴水穿石
回到宝塔面板的首页,重启面板
再回到网站面板,即可根据网站域名或者备注搜索自己需要找的网站了!(可能浏览器会有缓存,记得多强刷几次。)
王者荣耀无限点券http://av325.com/
gg修改器http://www.zavx.cn/
一如既往技术流
你好,请问下搜索网页某段具体代码怎么整?
谢谢,学到了不少东东
不明觉厉