@@ -202,7 +203,18 @@ export default {
dirDialogVisible: false,
fileDialogVisible: false,
nodeExpandedDict: {},
- isShowDeleteNav: false
+ isShowDeleteNav: false,
+ tourSteps: [
+ {
+ target: '.add-btn',
+ content: this.$t('You can add a file or directory')
+ }
+ ],
+ tourCallbacks: {
+ onStop: () => {
+ this.$utils.tour.finishTour('spider-detail-file-list')
+ }
+ }
}
},
computed: {
diff --git a/frontend/src/i18n/zh.js b/frontend/src/i18n/zh.js
index a7e06890..9a7fefe8 100644
--- a/frontend/src/i18n/zh.js
+++ b/frontend/src/i18n/zh.js
@@ -424,6 +424,16 @@ docker run -d --restart always --name crawlab_worker \\
'Upload a zip file containing all spider files to create the spider (only available for Customized Spider)': '上传一个包含所有爬虫文件的 zip 文件,然后创建爬虫(仅自定义爬虫有效)',
'The spider template to create from (only available for Configurable Spider)': '创建爬虫时引用的模版(仅可配置爬虫有效)',
'Click to confirm to add the spider': '点击并确认添加爬虫',
+ 'You can switch to each section of the spider detail.': '您可以切换到爬虫详情的每一个部分',
+ 'You can switch to different spider using this selector.': '您可以通过这个选择器切换不同的爬虫',
+ 'You can view latest tasks for this spider and click each row to view task detail.': '您可以查看最近的爬虫任务以及点击行来查看任务详情',
+ 'You can edit the detail info for this spider.': '您可以编辑爬虫详情信息',
+ 'Here you can action on the spider, including running a task, uploading a zip file and save the spider info.': '这里您可以对爬虫进行操作,包括运行爬虫任务、上传 zip 文件以及保存爬虫信息',
+ 'File navigation panel.
You can right click on each item to create or delete a file/directory.': '文件导航栏
您可以右键点击一个元素 来添加或删除文件/文件夹',
+ 'Click to add a file or directory on the root directory.': '点击并添加一个文件 或文件夹',
+ 'You can edit, save, rename and delete the selected file in this box.': '在这个栏位中,您可以 编辑、保存、重命名、 删除所选择的文件',
+ 'Here you can add environment variables that will be passed to the spider program when running a task.': '这里您可以添加环境变量,这些环境变量会被传入运行的爬虫程序中',
+ 'You can add, edit and delete schedules (cron jobs) for the spider.': '您可以添加、修改、删除爬虫的定时任务',
// 其他
'Star crawlab-team/crawlab on GitHub': '在 GitHub 上为 Crawlab 加星吧'
diff --git a/frontend/src/views/schedule/ScheduleList.vue b/frontend/src/views/schedule/ScheduleList.vue
index c1955dd5..0fb2a7ab 100644
--- a/frontend/src/views/schedule/ScheduleList.vue
+++ b/frontend/src/views/schedule/ScheduleList.vue
@@ -108,7 +108,7 @@
-
+
@@ -62,7 +71,89 @@ export default {
},
data () {
return {
- activeTabName: 'overview'
+ activeTabName: 'overview',
+ tourSteps: [
+ // top bar
+ {
+ target: '.el-tabs__nav.is-top',
+ content: this.$t('You can switch to each section of the spider detail.')
+ },
+ {
+ target: '#spider-select',
+ content: this.$t('You can switch to different spider using this selector.')
+ },
+ // overview
+ {
+ target: '.task-table-view',
+ content: this.$t('You can view latest tasks for this spider and click each row to view task detail.'),
+ params: {
+ placement: 'right'
+ }
+ },
+ {
+ target: '.spider-form',
+ content: this.$t('You can edit the detail info for this spider.'),
+ params: {
+ placement: 'left'
+ }
+ },
+ {
+ target: '.button-container',
+ content: this.$t('Here you can action on the spider, including running a task, uploading a zip file and save the spider info.'),
+ params: {
+ placement: 'top'
+ }
+ },
+ // file
+ {
+ target: '.tree',
+ content: this.$t('File navigation panel.
You can right click on each item to create or delete a file/directory.')
+ },
+ {
+ target: '.add-btn',
+ content: this.$t('Click to add a file or directory on the root directory.')
+ },
+ {
+ target: '.main-content',
+ content: this.$t('You can edit, save, rename and delete the selected file in this box.'),
+ params: {
+ placement: 'left'
+ }
+ },
+ // environment
+ {
+ target: '.environment-list',
+ content: this.$t('Here you can add environment variables that will be passed to the spider program when running a task.')
+ },
+ // schedules
+ {
+ target: '.schedule-list',
+ content: this.$t('You can add, edit and delete schedules (cron jobs) for the spider.')
+ }
+ ],
+ tourCallbacks: {
+ onStop: () => {
+ this.$utils.tour.finishTour('spider-detail')
+ },
+ onPreviousStep: (currentStep) => {
+ if (currentStep === 5) {
+ this.activeTabName = 'overview'
+ } else if (currentStep === 8) {
+ this.activeTabName = 'files'
+ } else if (currentStep === 9) {
+ this.activeTabName = 'environment'
+ }
+ },
+ onNextStep: (currentStep) => {
+ if (currentStep === 4) {
+ this.activeTabName = 'files'
+ } else if (currentStep === 7) {
+ this.activeTabName = 'environment'
+ } else if (currentStep === 8) {
+ this.activeTabName = 'schedules'
+ }
+ }
+ }
}
},
computed: {
@@ -121,6 +212,11 @@ export default {
// if (this.spiderForm.type === 'configurable') {
// this.activeTabName = 'config'
// }
+ },
+ mounted () {
+ if (!this.$utils.tour.isFinishedTour('spider-detail')) {
+ this.$tours['spider-detail'].start()
+ }
}
}