From 7654d638d070a59024a866ee46508cb2fdff41dc Mon Sep 17 00:00:00 2001 From: marvzhang Date: Wed, 29 Jan 2020 12:23:10 +0800 Subject: [PATCH] added tour --- frontend/package.json | 1 + frontend/src/i18n/zh.js | 3 ++ frontend/src/main.js | 7 +++++ frontend/src/utils/index.js | 4 ++- frontend/src/utils/tour.js | 28 +++++++++++++++++ .../views/layout/components/Sidebar/index.vue | 13 ++++++-- frontend/src/views/spider/SpiderList.vue | 22 ++++++++++++-- frontend/yarn.lock | 30 +++++++++++++++++++ 8 files changed, 102 insertions(+), 6 deletions(-) create mode 100644 frontend/src/utils/tour.js diff --git a/frontend/package.json b/frontend/package.json index b08c2689..5f80d096 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -40,6 +40,7 @@ "vue-github-button": "^1.1.2", "vue-i18n": "^8.9.0", "vue-router": "^3.0.1", + "vue-tour": "^1.2.0", "vue-virtual-scroll-list": "^1.3.9", "vuex": "^3.0.1" }, diff --git a/frontend/src/i18n/zh.js b/frontend/src/i18n/zh.js index c9c1d47a..12d261ca 100644 --- a/frontend/src/i18n/zh.js +++ b/frontend/src/i18n/zh.js @@ -406,6 +406,9 @@ docker run -d --restart always --name crawlab_worker \\ 更多信息,请参考 [官方文档](https://docs.crawlab.cn)。 `, + // 教程 + 'Click to add a new spider': '点击并添加爬虫', + // 其他 'Star crawlab-team/crawlab on GitHub': '在 GitHub 上为 Crawlab 加星吧' } diff --git a/frontend/src/main.js b/frontend/src/main.js index ca971a49..5d253547 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -31,6 +31,10 @@ import request from './api/request' import i18n from './i18n' import utils from './utils' +// vue-tour +import VueTour from 'vue-tour' +import 'vue-tour/dist/vue-tour.css' + // code mirror Vue.use(codemirror) @@ -45,6 +49,9 @@ Vue.component('font-awesome-icon', FontAwesomeIcon) Vue.component('font-awesome-layers', FontAwesomeLayers) Vue.component('font-awesome-layers-text', FontAwesomeLayersText) +// vue-tour +Vue.use(VueTour) + Vue.config.productionTip = false // 百度统计 diff --git a/frontend/src/utils/index.js b/frontend/src/utils/index.js index 0578bb07..ab33114f 100644 --- a/frontend/src/utils/index.js +++ b/frontend/src/utils/index.js @@ -1,7 +1,9 @@ import stats from './stats' import encrypt from './encrypt' +import tour from './tour' export default { stats, - encrypt + encrypt, + tour } diff --git a/frontend/src/utils/tour.js b/frontend/src/utils/tour.js new file mode 100644 index 00000000..27f25824 --- /dev/null +++ b/frontend/src/utils/tour.js @@ -0,0 +1,28 @@ +export default { + isFinishedTour: (tourName) => { + if (!localStorage.getItem('tour')) { + localStorage.setItem('tour', JSON.stringify({})) + return false + } + + let data + try { + data = JSON.parse(localStorage.getItem('tour')) + } catch (e) { + localStorage.setItem('tour', JSON.stringify({})) + return false + } + return !!data[tourName] + }, + finishTour: (tourName) => { + let data + try { + data = JSON.parse(localStorage.getItem('tour')) + } catch (e) { + localStorage.setItem('tour', JSON.stringify({})) + data = {} + } + data[tourName] = 1 + localStorage.setItem('tour', JSON.stringify(data)) + } +} diff --git a/frontend/src/views/layout/components/Sidebar/index.vue b/frontend/src/views/layout/components/Sidebar/index.vue index 1123d332..1b16c86f 100644 --- a/frontend/src/views/layout/components/Sidebar/index.vue +++ b/frontend/src/views/layout/components/Sidebar/index.vue @@ -12,7 +12,13 @@ :active-text-color="variables.menuActiveText" mode="vertical" > - + @@ -53,10 +59,11 @@ export default { } }, data () { - return { - } + return {} }, async created () { + }, + mounted () { } } diff --git a/frontend/src/views/spider/SpiderList.vue b/frontend/src/views/spider/SpiderList.vue index def443b7..7f072784 100644 --- a/frontend/src/views/spider/SpiderList.vue +++ b/frontend/src/views/spider/SpiderList.vue @@ -1,5 +1,9 @@