增加插件卸载检查接口

pull/123/head
midoks 3 years ago
parent 6c288e2398
commit 4f8694f723
  1. 5
      class/core/plugins_api.py
  2. 7
      plugins/mysql/index.py
  3. 1
      plugins/mysql/info.json
  4. 33
      route/static/app/soft.js

@ -511,6 +511,7 @@ class plugins_api:
"setup_version": "",
"status": False,
"install_pre_inspection": False,
"uninstall_pre_inspection": False,
}
if checks.find('VERSION') > -1:
@ -536,6 +537,10 @@ class plugins_api:
if 'install_pre_inspection' in info:
pInfo['install_pre_inspection'] = info['install_pre_inspection']
if 'uninstall_pre_inspection' in info:
pInfo['uninstall_pre_inspection'] = info[
'uninstall_pre_inspection']
pInfo['status'] = False
return pInfo

@ -1896,6 +1896,11 @@ def fullSync(version=''):
return json.dumps({'code': 0, 'msg': '点击开始,开始同步!', 'progress': 0})
def uninstallPreInspection(version):
# return "请手动删除MySQL[{}]".format(version)
return 'ok'
if __name__ == "__main__":
func = sys.argv[1]
@ -1919,6 +1924,8 @@ if __name__ == "__main__":
print(initdInstall())
elif func == 'initd_uninstall':
print(initdUinstall())
elif func == 'uninstall_pre_inspection':
print(uninstallPreInspection(version))
elif func == 'run_info':
print(runInfo())
elif func == 'db_status':

@ -5,6 +5,7 @@
"type":"运行环境",
"ps":"一种关系数据库管理系统!",
"coexist": false,
"uninstall_pre_inspection":true,
"checks": "server/mysql/VERSION/bin/mysql",
"path": "server/mysql/VERSION",
"todo_versions":["5.6","5.7","8.0"],

@ -104,7 +104,7 @@ function getSList(isdisplay) {
var mupdate = '';//(plugin.versions[n] == plugin.updates[n]) '' : '<a class="btlink" onclick="softUpdate(\'' + plugin.name + '\',\'' + plugin.versions[n].version + '\',\'' + plugin.updates[n] + '\')">更新</a> | ';
// if (plugin.versions[n] == '') mupdate = '';
handle = mupdate + '<a class="btlink" onclick="softMain(\'' + plugin.name + '\',\'' + plugin.setup_version + '\')">设置</a> | <a class="btlink" onclick="uninstallVersion(\'' + plugin.name + '\',\'' + plugin.setup_version + '\')">卸载</a>';
handle = mupdate + '<a class="btlink" onclick="softMain(\'' + plugin.name + '\',\'' + plugin.setup_version + '\')">设置</a> | <a class="btlink" onclick="uninstallVersion(\'' + plugin.name + '\',\'' + plugin.setup_version + '\',' + plugin.uninstall_pre_inspection +')">卸载</a>';
titleClick = 'onclick="softMain(\'' + plugin.name + '\',\'' + plugin.setup_version + '\')" style="cursor:pointer"';
softPath = '<span class="glyphicon glyphicon-folder-open" title="' + plugin.path + '" onclick="openPath(\'' + plugin.path + '\')"></span>';
@ -173,7 +173,6 @@ function installPreInspection(name, ver, callback){
layer.msg(rdata.data, { icon: rdata.status ? 1 : 2 });
}
},'json');
}
function runInstall(data){
@ -242,7 +241,24 @@ function addVersion(name, ver, type, obj, title, install_pre_inspection) {
}
//卸载软件
function uninstallVersion(name, version) {
function uninstallPreInspection(name, ver, callback){
var loading = layer.msg('正在检查卸载环境...', { icon: 16, time: 0, shade: [0.3, '#000'] });
$.post("/plugins/run", {'name':name,'version':ver,'func':'uninstall_pre_inspection'}, function(rdata) {
layer.close(loading);
if (rdata.status){
if (rdata.data == 'ok'){
callback();
} else {
layer.msg(rdata.data, { icon: 2 });
}
} else {
layer.msg(rdata.data, { icon: rdata.status ? 1 : 2 });
}
},'json');
}
function runUninstallVersion(name, version){
layer.confirm(msgTpl('您真的要卸载[{1}-{2}]吗?', [name, version]), { icon: 3, closeBtn: 2 }, function() {
var data = 'name=' + name + '&version=' + version;
var loadT = layer.msg('正在处理,请稍候...', { icon: 16, time: 0, shade: [0.3, '#000'] });
@ -255,6 +271,17 @@ function uninstallVersion(name, version) {
}
function uninstallVersion(name, version,uninstall_pre_inspection) {
if (uninstall_pre_inspection) {
uninstallPreInspection(name,version,function(){
runUninstallVersion(name,version);
});
return;
}
runUninstallVersion(name,version);
}
//首页显示
function toIndexDisplay(name, version, coexist) {

Loading…
Cancel
Save