From f33c7e5a5eabe029687efbe799da37397707149e Mon Sep 17 00:00:00 2001 From: midoks Date: Fri, 17 Feb 2023 19:57:03 +0800 Subject: [PATCH] up --- plugins/migration_api/index.html | 3 +- plugins/migration_api/index.py | 48 ++++++++++++++++++++++++++++++ plugins/migration_api/js/app.js | 50 +++++++++++++++++++++++++++----- 3 files changed, 92 insertions(+), 9 deletions(-) diff --git a/plugins/migration_api/index.html b/plugins/migration_api/index.html index b8680cd1f..ca7d94d10 100755 --- a/plugins/migration_api/index.html +++ b/plugins/migration_api/index.html @@ -243,8 +243,7 @@ label.checkbox_label span { -
-
+
diff --git a/plugins/migration_api/index.py b/plugins/migration_api/index.py index 39c1575ca..1df637b19 100755 --- a/plugins/migration_api/index.py +++ b/plugins/migration_api/index.py @@ -187,6 +187,52 @@ def stepOne(): return mw.returnJson(True, '验证成功') +# 获取本地服务器和环境配置 +def get_src_config(args): + serverInfo = {} + serverInfo['status'] = True + sdir = mw.getServerDir() + + serverInfo['webserver'] = '未安装' + if os.path.exists(sdir + '/openresty/nginx/sbin/nginx'): + serverInfo['webserver'] = 'OpenResty' + serverInfo['php'] = [] + phpversions = ['52', '53', '54', '55', '56', '70', '71', + '72', '73', '74', '80', '81', '82', '83', '84'] + phpPath = sdir + '/php/' + for pv in phpversions: + if not os.path.exists(phpPath + pv + '/bin/php'): + continue + serverInfo['php'].append(pv) + serverInfo['mysql'] = False + if os.path.exists(sdir + '/mysql/bin/mysql'): + serverInfo['mysql'] = True + import psutil + try: + diskInfo = psutil.disk_usage('/www') + except: + diskInfo = psutil.disk_usage('/') + serverInfo['disk'] = diskInfo[2] + return serverInfo + + +def get_dst_config(args): + + data = getCfgData() + api = classApi(data['url'], data['token']) + disk = api.send('/system/disk_info', {}) + info = api.send('/system/get_env_info', {}) + print(disk) + print(info) + + +def stepTwo(): + data = {} + data['local'] = get_src_config(None) + data['remote'] = get_dst_config(None) + + return mw.returnJson(True, 'ok', data) + if __name__ == "__main__": func = sys.argv[1] if func == 'status': @@ -199,5 +245,7 @@ if __name__ == "__main__": print(getStepOneData()) elif func == 'step_one': print(stepOne()) + elif func == 'step_two': + print(stepTwo()) else: print('error') diff --git a/plugins/migration_api/js/app.js b/plugins/migration_api/js/app.js index 3b0694c37..166f194c5 100755 --- a/plugins/migration_api/js/app.js +++ b/plugins/migration_api/js/app.js @@ -30,6 +30,7 @@ function maAsyncPost(method,args){ return syncPost('/plugins/run', {name:'migration_api', func:method, args:_args}); } + function maPostCallbak(method, args, callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); @@ -58,6 +59,16 @@ function maPostCallbak(method, args, callback){ } +function selectProgress(val){ + $('.step_head li').removeClass('active'); + $('.step_head li').each(function(){ + var v = $(this).find('span').text(); + if (val == v){ + $(this).addClass('active'); + } + }); +} + function initStep1(){ var url = $('input[name="sync_url"]').val(); var token = $('input[name="sync_token"]').val(); @@ -65,21 +76,46 @@ function initStep1(){ var rdata = $.parseJSON(rdata.data); showMsg(rdata.msg,function(){ if (rdata.status){ - + selectProgress(2); + initStep2(); } },{ icon: rdata.status ? 1 : 2 }); }); } function initStep2(){ - maPost('step_one',{}, function(rdata){ + maPost('step_two',{}, function(rdata){ var rdata = $.parseJSON(rdata.data); console.log(rdata); - if (rdata.status){ - - } else { - - } + showMsg(rdata.msg,function(){ + if (rdata.status){ + $('.psync_info').hide(); + + var info = rdata.data; + + var body = '
\ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ +
服务当前服务器远程服务器
网站服务'+info['local']['webserver']+'OpenResty
安装MySQL'+(info['local']['mysql']?'是':'否')+'
安装PHP'+info['local']['php'].join('/')+'74
可用磁盘'+info['local']['disk']+'54GB
\ +
'; + body += '
\ + \ + \ + \ +
'; + + $('.psync_path').html(body); + $('.psync_path').show(); + } + },{ icon: rdata.status ? 1 : 2 }); }); }