pull/109/head
Mr Chen 6 years ago
parent b23938986e
commit bd3e47491e
  1. 2
      plugins/gae/index.html
  2. 42
      plugins/gae/index.py
  3. 35
      plugins/gae/js/gae.js

@ -20,8 +20,8 @@ function readme(){
var html = '<p>开发文档:https://cloud.google.com/sdk/docs/</p>';
html += '<p>* 注意:本插件通过Google <a class="btlink" target="_blank" href="https://cloud.google.com/sdk/docs/scripting-gcloud">JSON 格式</a>赋权免交互式</p>';
html += '<p>* 注意:添加:gcloud auth activate-service-account --key-file [KEY_FILE] << y</p>';
html += '<p>* 注意:设置后,一般同步项目命令:gcloud app deploy << y</p>';
html += '<p>* 注意:可以查看命令,把命令加入到脚本中...自动更新。</p>';
$('.bt-w-main .soft-man-con').html(html);
}
</script>

@ -115,7 +115,7 @@ def projectListAsync():
file = getServerDir() + '/' + args['name'] + '.json'
if not os.path.exists(file):
return 'file not exists!'
return 'not configured file!'
content = public.readFile(file)
contentObj = json.loads(content)
@ -132,6 +132,42 @@ def projectListAsync():
return 'ok'
def projectListCmd():
args = getArgs()
if not 'name' in args:
return 'missing name!'
file = getServerDir() + '/' + args['name'] + '.json'
if not os.path.exists(file):
return 'not configured file!'
content = public.readFile(file)
contentObj = json.loads(content)
asyncUser = contentObj['client_email']
cmd = getServerDir() + '/google-cloud-sdk/bin/'
projectDir = public.getWwwDir() + '/' + args['name']
asyncCmd = 'cd ' + projectDir + ' && ' + cmd + 'gcloud app deploy << y'
return asyncCmd
def projectListUrl():
args = getArgs()
if not 'name' in args:
return 'missing name!'
file = getServerDir() + '/' + args['name'] + '.json'
if not os.path.exists(file):
return 'not configured file!'
content = public.readFile(file)
contentObj = json.loads(content)
asyncUser = contentObj['client_email']
plist = asyncUser.split('@')
url = 'https://' + plist[0] + '.appspot.com'
return url
def projectList():
args = getArgs()
@ -172,5 +208,9 @@ if __name__ == "__main__":
print projectListDel()
elif func == 'project_list_async':
print projectListAsync()
elif func == 'project_list_cmd':
print projectListCmd()
elif func == 'project_list_url':
print projectListUrl()
else:
print 'error'

@ -55,7 +55,8 @@ function projectList(page, search){
'<td>'+ulist[i]['dir']+'</td><td>'+
'<a class="btlink" onclick="gaeSetProject(\''+ulist[i]['name']+'\','+ulist[i]['isset']+')">'+setName+'</a> | ' +
'<a class="btlink" onclick="gaeAsyncProject(\''+ulist[i]['name']+'\')">同步</a> | ' +
'<a class="btlink" target="_blank" href="' + '' +'">查看命令</a>' +
'<a class="btlink" target="_blank" onclick="gaeProjectCmd(\''+ulist[i]['name']+'\')">命令</a> | ' +
'<a class="btlink" target="_blank" onclick="gaeProjectUrl(\''+ulist[i]['name']+'\')">访问</a>' +
'</td></tr>';
}
@ -109,12 +110,38 @@ function gaeProjectDel(pname){
});
}
function gaeAsyncProject(pname){
console.log(pname);
gaePost('project_list_async', {'name':pname}, function(data){
console.log(data);
// layer.msg('同步成功!',{icon:0,time:2000,shade: [0.3, '#000']});
if (data.data !='ok'){
layer.msg(data.data,{icon:0,time:2000,shade: [0.3, '#000']});
} else {
layer.msg('同步成功!',{icon:0,time:2000,shade: [0.3, '#000']});
}
});
}
function gaeProjectCmd(pname){
gaePost('project_list_cmd', {'name':pname}, function(data){
var data_str = data.data;
if (data_str.indexOf('gcloud') !== -1){
layer.msg(data.data,{icon:1,time:5000,shade: [0.3, '#000']});
} else {
layer.msg(data.data,{icon:0,time:5000,shade: [0.3, '#000']});
}
});
}
function gaeProjectUrl(pname){
gaePost('project_list_url', {'name':pname}, function(data){
var data_str = data.data;
if (data_str.indexOf('appspot.com') !== -1){
window.open(data.data);
} else {
layer.msg(data.data,{icon:0,time:5000,shade: [0.3, '#000']});
}
});
}

Loading…
Cancel
Save