mirror of
https://github.com/youzan/vant.git
synced 2025-10-19 18:14:13 +00:00
[Build] revert site to webpack config (#3747)
This commit is contained in:
166
docs/site/desktop/App.vue
Normal file
166
docs/site/desktop/App.vue
Normal file
@@ -0,0 +1,166 @@
|
||||
<template>
|
||||
<div class="app">
|
||||
<van-doc
|
||||
:base="base"
|
||||
:config="config"
|
||||
:lang="$vantLang"
|
||||
:github="github"
|
||||
:versions="versions"
|
||||
:simulators="simulators"
|
||||
:search-config="searchConfig"
|
||||
:current-simulator="currentSimulator"
|
||||
@switch-version="onSwitchVersion"
|
||||
>
|
||||
<router-view @changeDemoURL="onChangeDemoURL" />
|
||||
</van-doc>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pkgJson from '../../../package.json';
|
||||
import docConfig, { github, versions, searchConfig } from '../doc.config';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
this.github = github;
|
||||
this.versions = versions;
|
||||
this.searchConfig = searchConfig;
|
||||
|
||||
return {
|
||||
simulators: [`mobile.html${location.hash}`],
|
||||
demoURL: ''
|
||||
};
|
||||
},
|
||||
|
||||
computed: {
|
||||
base() {
|
||||
return `/${this.$vantLang}`;
|
||||
},
|
||||
|
||||
config() {
|
||||
return docConfig[this.$vantLang];
|
||||
},
|
||||
|
||||
currentSimulator() {
|
||||
const { name } = this.$route;
|
||||
return name && name.indexOf('demo') !== -1 ? 1 : 0;
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.showVersionTip();
|
||||
},
|
||||
|
||||
methods: {
|
||||
showVersionTip() {
|
||||
const tip = window.localStorage.getItem('vantVersionTip');
|
||||
|
||||
if (!tip && this.$vantLang === 'zh-CN') {
|
||||
const version = document.querySelector('.van-doc-header__version');
|
||||
version.insertAdjacentHTML('beforeend', `
|
||||
<div class="doc-version-tip">
|
||||
提示:你当前访问的是 Vant 2.0 版本文档,点此切换至旧版文档
|
||||
<div style="text-align: right;">
|
||||
<button class="doc-version-tip__button">好哒</button>
|
||||
</div>
|
||||
</div>
|
||||
`);
|
||||
|
||||
const tip = document.querySelector('.doc-version-tip');
|
||||
const removeTip = event => {
|
||||
event.stopPropagation();
|
||||
tip.parentNode.removeChild(tip);
|
||||
};
|
||||
|
||||
tip.addEventListener('click', removeTip);
|
||||
version.addEventListener('click', removeTip);
|
||||
|
||||
window.localStorage.setItem('vantVersionTip', 1);
|
||||
}
|
||||
},
|
||||
|
||||
onChangeDemoURL(url) {
|
||||
this.simulators = [this.simulators[0], url];
|
||||
},
|
||||
|
||||
onSwitchVersion(version) {
|
||||
if (version !== pkgJson.version) {
|
||||
location.href = `https://youzan.github.io/vant/${version}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.van-doc-intro {
|
||||
padding-top: 20px;
|
||||
font-family: 'Dosis', 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
|
||||
text-align: center;
|
||||
|
||||
p {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.doc-version-tip {
|
||||
position: absolute;
|
||||
top: 35px;
|
||||
left: 50%;
|
||||
z-index: 100;
|
||||
box-sizing: border-box;
|
||||
width: 300px;
|
||||
margin-left: -150px;
|
||||
padding: 15px;
|
||||
color: #333;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 4px 12px #ebedf0;
|
||||
transform-origin: top;
|
||||
cursor: default;
|
||||
animation: version-tip .25s cubic-bezier(0.175, 0.885, 0.32, 1.375);
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
left: 50%;
|
||||
margin-left: -3px;
|
||||
border: 6px solid;
|
||||
border-color: transparent transparent white white;
|
||||
transform: rotate(135deg);
|
||||
content: '';
|
||||
}
|
||||
|
||||
&__button {
|
||||
width: 60px;
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
line-height: 24px;
|
||||
background: #1889f9;
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background: darken(#1889f9, 10%);
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes version-tip {
|
||||
from {
|
||||
transform: scaleY(0);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
to {
|
||||
transform: scaleY(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user