mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-21 17:21:09 +01:00
优化UI界面
This commit is contained in:
@@ -102,7 +102,7 @@ func UpdateNodeStatus() {
|
||||
model.ResetNodeStatusToOffline(list)
|
||||
}
|
||||
|
||||
// 处理接到信息
|
||||
// 处理节点信息
|
||||
func handleNodeInfo(key string, data *Data) {
|
||||
// 添加同步锁
|
||||
v, err := database.RedisClient.Lock(key)
|
||||
@@ -168,8 +168,32 @@ func UpdateNodeData() {
|
||||
return
|
||||
}
|
||||
|
||||
// 构造节点数据
|
||||
data := Data{
|
||||
Key: key,
|
||||
Mac: mac,
|
||||
Ip: ip,
|
||||
Master: model.IsMaster(),
|
||||
UpdateTs: time.Now(),
|
||||
UpdateTsUnix: time.Now().Unix(),
|
||||
}
|
||||
|
||||
// 注册节点到Redis
|
||||
dataBytes, err := json.Marshal(&data)
|
||||
if err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
return
|
||||
}
|
||||
|
||||
if err := database.RedisClient.HSet("nodes", key, utils.BytesToString(dataBytes)); err != nil {
|
||||
log.Errorf(err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
// 注释掉,无需这样处理。 直接覆盖key对应的节点信息即可 by xyz 2020.01.01
|
||||
//先获取所有Redis的nodekey
|
||||
list, _ := database.RedisClient.HKeys("nodes")
|
||||
/*list, _ := database.RedisClient.HKeys("nodes")
|
||||
|
||||
if i := utils.Contains(list, key); i == false {
|
||||
// 构造节点数据
|
||||
@@ -193,7 +217,7 @@ func UpdateNodeData() {
|
||||
log.Errorf(err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -61,15 +61,15 @@
|
||||
:file-list="fileList"
|
||||
style="display:inline-block;margin-right:10px"
|
||||
>
|
||||
<el-button size="normal" type="primary" icon="el-icon-upload" v-loading="uploadLoading">
|
||||
<el-button size="small" type="primary" icon="el-icon-upload" v-loading="uploadLoading">
|
||||
{{$t('Upload')}}
|
||||
</el-button>
|
||||
</el-upload>
|
||||
<el-button size="normal" v-if="isShowRun" type="danger" @click="onCrawl"
|
||||
<el-button size="small" v-if="isShowRun" type="danger" @click="onCrawl"
|
||||
icon="el-icon-video-play">
|
||||
{{$t('Run')}}
|
||||
</el-button>
|
||||
<el-button size="normal" type="success" @click="onSave"
|
||||
<el-button size="small" type="success" @click="onSave"
|
||||
icon="el-icon-check">
|
||||
{{$t('Save')}}
|
||||
</el-button>
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
<el-tooltip :content="$t('Remove')" placement="top">
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="onRemove(scope.row)"></el-button>
|
||||
</el-tooltip>
|
||||
<el-tooltip v-if="false" :content="$t(getStatusTooltip(scope.row))" placement="top">
|
||||
<el-tooltip :content="$t(getStatusTooltip(scope.row))" placement="top">
|
||||
<el-button type="success" icon="fa fa-bug" size="mini" @click="onCrawl(scope.row)"></el-button>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
:visible.sync="addDialogVisible"
|
||||
:before-close="onAddDialogClose">
|
||||
<el-tabs :active-name="spiderType">
|
||||
<!-- customized -->
|
||||
<el-tab-pane name="customized" :label="$t('Customized')">
|
||||
<el-form :model="spiderForm" ref="addCustomizedForm" inline-message label-width="120px">
|
||||
<el-form-item :label="$t('Spider Name')" prop="name" required>
|
||||
@@ -55,8 +56,7 @@
|
||||
:headers="{Authorization:token}"
|
||||
:on-success="onUploadSuccess"
|
||||
:file-list="fileList">
|
||||
<el-button size="normal" type="primary" icon="el-icon-upload"
|
||||
style="width: 160px; font-size: 18px;font-weight: bolder">
|
||||
<el-button size="small" type="primary" icon="el-icon-upload">
|
||||
{{$t('Upload')}}
|
||||
</el-button>
|
||||
</el-upload>
|
||||
@@ -75,9 +75,10 @@
|
||||
</p>
|
||||
</el-alert>
|
||||
<div class="actions">
|
||||
<el-button type="primary" @click="onAddCustomized">{{$t('Add')}}</el-button>
|
||||
<el-button size="small" type="primary" @click="onAddCustomized">{{$t('Add')}}</el-button>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<!-- configurable -->
|
||||
<el-tab-pane name="configurable" :label="$t('Configurable')">
|
||||
<el-form :model="spiderForm" ref="addConfigurableForm" inline-message label-width="120px">
|
||||
<el-form-item :label="$t('Spider Name')" prop="name" required>
|
||||
@@ -101,7 +102,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="actions">
|
||||
<el-button type="primary" @click="onAddConfigurable">{{$t('Add')}}</el-button>
|
||||
<el-button size="small" type="primary" @click="onAddConfigurable">{{$t('Add')}}</el-button>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
@@ -146,7 +147,7 @@
|
||||
{{$t('Import Spiders')}}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="normal"
|
||||
size="small"
|
||||
type="success"
|
||||
icon="el-icon-plus"
|
||||
class="btn add"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<!--filter-->
|
||||
<div class="filter">
|
||||
<div class="left">
|
||||
<el-form model="filter" label-width="100px" label-position="right" inline>
|
||||
<el-form :model="filter" label-width="100px" label-position="right" inline>
|
||||
<el-form-item prop="node_id" :label="$t('Node')">
|
||||
<el-select v-model="filter.node_id" size="small" :placeholder="$t('Node')" @change="onFilterChange">
|
||||
<el-option value="" :label="$t('All')"/>
|
||||
@@ -125,7 +125,7 @@
|
||||
:width="col.width">
|
||||
</el-table-column>
|
||||
</template>
|
||||
<el-table-column :label="$t('Action')" align="left" fixed="right" width="150px">
|
||||
<el-table-column :label="$t('Action')" align="left" fixed="right" width="120px">
|
||||
<template slot-scope="scope">
|
||||
<el-tooltip :content="$t('View')" placement="top">
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="onView(scope.row)"></el-button>
|
||||
|
||||
Reference in New Issue
Block a user