mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-27 17:50:53 +01:00
优化UI界面
This commit is contained in:
@@ -102,7 +102,7 @@ func UpdateNodeStatus() {
|
|||||||
model.ResetNodeStatusToOffline(list)
|
model.ResetNodeStatusToOffline(list)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理接到信息
|
// 处理节点信息
|
||||||
func handleNodeInfo(key string, data *Data) {
|
func handleNodeInfo(key string, data *Data) {
|
||||||
// 添加同步锁
|
// 添加同步锁
|
||||||
v, err := database.RedisClient.Lock(key)
|
v, err := database.RedisClient.Lock(key)
|
||||||
@@ -168,8 +168,32 @@ func UpdateNodeData() {
|
|||||||
return
|
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
|
//先获取所有Redis的nodekey
|
||||||
list, _ := database.RedisClient.HKeys("nodes")
|
/*list, _ := database.RedisClient.HKeys("nodes")
|
||||||
|
|
||||||
if i := utils.Contains(list, key); i == false {
|
if i := utils.Contains(list, key); i == false {
|
||||||
// 构造节点数据
|
// 构造节点数据
|
||||||
@@ -193,7 +217,7 @@ func UpdateNodeData() {
|
|||||||
log.Errorf(err.Error())
|
log.Errorf(err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,15 +61,15 @@
|
|||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
style="display:inline-block;margin-right:10px"
|
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')}}
|
{{$t('Upload')}}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</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">
|
icon="el-icon-video-play">
|
||||||
{{$t('Run')}}
|
{{$t('Run')}}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="normal" type="success" @click="onSave"
|
<el-button size="small" type="success" @click="onSave"
|
||||||
icon="el-icon-check">
|
icon="el-icon-check">
|
||||||
{{$t('Save')}}
|
{{$t('Save')}}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
<el-tooltip :content="$t('Remove')" placement="top">
|
<el-tooltip :content="$t('Remove')" placement="top">
|
||||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="onRemove(scope.row)"></el-button>
|
<el-button type="danger" icon="el-icon-delete" size="mini" @click="onRemove(scope.row)"></el-button>
|
||||||
</el-tooltip>
|
</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-button type="success" icon="fa fa-bug" size="mini" @click="onCrawl(scope.row)"></el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
:visible.sync="addDialogVisible"
|
:visible.sync="addDialogVisible"
|
||||||
:before-close="onAddDialogClose">
|
:before-close="onAddDialogClose">
|
||||||
<el-tabs :active-name="spiderType">
|
<el-tabs :active-name="spiderType">
|
||||||
|
<!-- customized -->
|
||||||
<el-tab-pane name="customized" :label="$t('Customized')">
|
<el-tab-pane name="customized" :label="$t('Customized')">
|
||||||
<el-form :model="spiderForm" ref="addCustomizedForm" inline-message label-width="120px">
|
<el-form :model="spiderForm" ref="addCustomizedForm" inline-message label-width="120px">
|
||||||
<el-form-item :label="$t('Spider Name')" prop="name" required>
|
<el-form-item :label="$t('Spider Name')" prop="name" required>
|
||||||
@@ -55,8 +56,7 @@
|
|||||||
:headers="{Authorization:token}"
|
:headers="{Authorization:token}"
|
||||||
:on-success="onUploadSuccess"
|
:on-success="onUploadSuccess"
|
||||||
:file-list="fileList">
|
:file-list="fileList">
|
||||||
<el-button size="normal" type="primary" icon="el-icon-upload"
|
<el-button size="small" type="primary" icon="el-icon-upload">
|
||||||
style="width: 160px; font-size: 18px;font-weight: bolder">
|
|
||||||
{{$t('Upload')}}
|
{{$t('Upload')}}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -75,9 +75,10 @@
|
|||||||
</p>
|
</p>
|
||||||
</el-alert>
|
</el-alert>
|
||||||
<div class="actions">
|
<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>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
<!-- configurable -->
|
||||||
<el-tab-pane name="configurable" :label="$t('Configurable')">
|
<el-tab-pane name="configurable" :label="$t('Configurable')">
|
||||||
<el-form :model="spiderForm" ref="addConfigurableForm" inline-message label-width="120px">
|
<el-form :model="spiderForm" ref="addConfigurableForm" inline-message label-width="120px">
|
||||||
<el-form-item :label="$t('Spider Name')" prop="name" required>
|
<el-form-item :label="$t('Spider Name')" prop="name" required>
|
||||||
@@ -101,7 +102,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="actions">
|
<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>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -146,7 +147,7 @@
|
|||||||
{{$t('Import Spiders')}}
|
{{$t('Import Spiders')}}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
size="normal"
|
size="small"
|
||||||
type="success"
|
type="success"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
class="btn add"
|
class="btn add"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<!--filter-->
|
<!--filter-->
|
||||||
<div class="filter">
|
<div class="filter">
|
||||||
<div class="left">
|
<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-form-item prop="node_id" :label="$t('Node')">
|
||||||
<el-select v-model="filter.node_id" size="small" :placeholder="$t('Node')" @change="onFilterChange">
|
<el-select v-model="filter.node_id" size="small" :placeholder="$t('Node')" @change="onFilterChange">
|
||||||
<el-option value="" :label="$t('All')"/>
|
<el-option value="" :label="$t('All')"/>
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
:width="col.width">
|
:width="col.width">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</template>
|
</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">
|
<template slot-scope="scope">
|
||||||
<el-tooltip :content="$t('View')" placement="top">
|
<el-tooltip :content="$t('View')" placement="top">
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="onView(scope.row)"></el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="onView(scope.row)"></el-button>
|
||||||
|
|||||||
Reference in New Issue
Block a user