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 });
});
}