Merge branch 'master' of https://gitee.com/jmal/jmal-cloud-view into dev
Conflicts: src/views/upload/mobile/index.vue
This commit is contained in:
commit
77929f9dd0
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" style="margin-right:-2px;display:block;background-repeat-y:initial;background-repeat-x:initial;background-color:rgb(255, 255, 255);animation-play-state:paused" ><circle cx="50" cy="50" r="25.927255630493164" fill="none" stroke="#e90c59" stroke-width="2" opacity="0.5" style="opacity:0.5;animation-play-state:paused" ></circle>
|
||||
|
||||
|
||||
<circle cx="50" cy="50" r="0" fill="none" stroke="#46dff0" stroke-width="2" opacity="1" style="animation-play-state:paused" ></circle><!-- generated by https://loading.io/ --></svg>
|
||||
|
Before Width: | Height: | Size: 713 B |
Binary file not shown.
|
Before Width: | Height: | Size: 102 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.7 MiB |
@ -18,7 +18,7 @@
|
||||
props: {
|
||||
emptyImgUrl: {
|
||||
type: String,
|
||||
default: '~@/assets/img/widget-img.jpeg'
|
||||
default: '~@/assets/img/emptyfile_intro.jpeg'
|
||||
},
|
||||
emptyStatus:{
|
||||
type: String,
|
||||
@ -38,7 +38,7 @@
|
||||
},
|
||||
methods: {
|
||||
sourceImg(){
|
||||
return '~@/assets/img/widget-img.jpeg'
|
||||
return '~@/assets/img/emptyfile_intro.jpeg'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,146 +0,0 @@
|
||||
<template>
|
||||
<transition name="el-fade-in">
|
||||
<div
|
||||
v-if="visible"
|
||||
@click.stop="handleClick"
|
||||
:style="{
|
||||
'right': styleRight,
|
||||
'bottom': styleBottom
|
||||
}"
|
||||
class="el-backtop">
|
||||
<slot>
|
||||
<svg-icon icon-class="Up"/>
|
||||
</slot>
|
||||
</div>
|
||||
</transition>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import throttle from 'throttle-debounce/throttle';
|
||||
|
||||
const cubic = value => Math.pow(value, 3);
|
||||
const easeInOutCubic = value => value < 0.5
|
||||
? cubic(value * 2) / 2
|
||||
: 1 - cubic((1 - value) * 2) / 2;
|
||||
|
||||
export default {
|
||||
name: 'AlBackTop',
|
||||
|
||||
props: {
|
||||
visibilityHeight: {
|
||||
type: Number,
|
||||
default: 200
|
||||
},
|
||||
target: [String],
|
||||
right: {
|
||||
type: Number,
|
||||
default: 40
|
||||
},
|
||||
bottom: {
|
||||
type: Number,
|
||||
default: 40
|
||||
}
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
el: null,
|
||||
container: null,
|
||||
visible: false
|
||||
};
|
||||
},
|
||||
|
||||
computed: {
|
||||
styleBottom() {
|
||||
return `${this.bottom}px`;
|
||||
},
|
||||
styleRight() {
|
||||
return `${this.right}px`;
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.init();
|
||||
this.throttledScrollHandler = throttle(300, this.onScroll);
|
||||
this.container.addEventListener('scroll', this.throttledScrollHandler);
|
||||
|
||||
// window.onbeforeunload = function () {
|
||||
// let scrollPos;
|
||||
// if (typeof window.pageYOffset != 'undefined') {
|
||||
// scrollPos = window.pageYOffset;
|
||||
// }
|
||||
// else if (typeof document.compatMode != 'undefined' && document.compatMode !== 'BackCompat') {
|
||||
// scrollPos = document.documentElement.scrollTop;
|
||||
// }
|
||||
// else if (typeof document.body != 'undefined') {
|
||||
// scrollPos = document.body.scrollTop;
|
||||
// }
|
||||
// document.cookie = "scrollTop=" + scrollPos; //存储滚动条位置到cookies中
|
||||
// }
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
init() {
|
||||
this.container = document;
|
||||
this.el = document.documentElement;
|
||||
if (this.target) {
|
||||
this.el = document.querySelector(this.target);
|
||||
if (!this.el) {
|
||||
throw new Error(`target is not existed: ${this.target}`);
|
||||
}
|
||||
this.container = this.el;
|
||||
}
|
||||
},
|
||||
getScroll(el){
|
||||
return window.pageYOffset || el.scrollTop || document.body.scrollTop || 0
|
||||
},
|
||||
onScroll() {
|
||||
const scrollTop = this.getScroll(this.el);
|
||||
this.visible = scrollTop >= this.visibilityHeight;
|
||||
},
|
||||
handleClick(e) {
|
||||
this.scrollToTop();
|
||||
this.$emit('click', e);
|
||||
},
|
||||
nextPageScrollTop() {
|
||||
this.el.scrollTop = document.body.clientHeight * 0.7 - 150
|
||||
},
|
||||
scrollToTop() {
|
||||
const el = this.el;
|
||||
const beginTime = Date.now();
|
||||
const beginValue = this.getScroll(el);
|
||||
const rAF = window.requestAnimationFrame || (func => setTimeout(func, 16));
|
||||
const frameFunc = () => {
|
||||
const progress = (Date.now() - beginTime) / 500;
|
||||
if (progress < 1) {
|
||||
if(el.scrollTop !== 0){
|
||||
el.scrollTop = beginValue * (1 - easeInOutCubic(progress));
|
||||
}else if(window.pageYOffset !== 0){
|
||||
window.pageYOffset = beginValue * (1 - easeInOutCubic(progress));
|
||||
}else{
|
||||
document.body.scrollTop = beginValue * (1 - easeInOutCubic(progress));
|
||||
}
|
||||
rAF(frameFunc);
|
||||
} else {
|
||||
if(el.scrollTop !== 0){
|
||||
el.scrollTop = 0;
|
||||
}else if(window.pageYOffset !== 0){
|
||||
window.pageYOffset = 0;
|
||||
}else{
|
||||
document.body.scrollTop = 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
rAF(frameFunc);
|
||||
}
|
||||
},
|
||||
|
||||
beforeDestroy() {
|
||||
this.container.removeEventListener('scroll', this.throttledScrollHandler);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
@ -1,45 +0,0 @@
|
||||
const defaultConfig = {
|
||||
width: "100%",
|
||||
height: 600,
|
||||
path: '/static/editor.md/lib/',
|
||||
// theme: 'dark',
|
||||
// previewTheme: 'dark',
|
||||
// editorTheme: 'pastel-on-dark',
|
||||
markdown: '', // 默认填充内容
|
||||
lineWrapping: true, // 编辑框不换行
|
||||
codeFold: true, // 代码折叠
|
||||
placeholder: '请输入...',
|
||||
syncScrolling: true,
|
||||
saveHTMLToTextarea: true, // 保存 HTML 到 Textarea
|
||||
searchReplace: true,
|
||||
watch: true, // 实时预览
|
||||
htmlDecode: "style,script,iframe|on*", // 开启 HTML 标签解析,为了安全性,默认不开启
|
||||
toolbar: true, //工具栏
|
||||
previewCodeHighlight: true, // 预览 HTML 的代码块高亮,默认开启
|
||||
emoji: true,
|
||||
taskList: true,
|
||||
tocm: true, // Using [TOCM]
|
||||
tex: true, // 开启科学公式TeX语言支持,默认关闭
|
||||
flowChart: true, // 开启流程图支持,默认关闭
|
||||
sequenceDiagram: true, // 开启时序/序列图支持,默认关闭,
|
||||
// dialogLockScreen: false, // 设置弹出层对话框不锁屏,全局通用,默认为true
|
||||
// dialogShowMask: false, // 设置弹出层对话框显示透明遮罩层,全局通用,默认为true
|
||||
// dialogDraggable: false, // 设置弹出层对话框不可拖动,全局通用,默认为true
|
||||
// dialogMaskOpacity: 0.4, // 设置透明遮罩层的透明度,全局通用,默认值为0.1
|
||||
// dialogMaskBgColor: "#000", // 设置透明遮罩层的背景颜色,全局通用,默认为#fff
|
||||
// imageUpload: false,
|
||||
// imageFormats: ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
|
||||
// imageUploadURL: "./php/upload.php",
|
||||
// onload: function() {
|
||||
// // this.fullscreen();
|
||||
// // this.unwatch();
|
||||
// // this.watch().fullscreen();
|
||||
// // this.setMarkdown("#PHP");
|
||||
// // this.width("100%");
|
||||
// // this.height(480);
|
||||
// // this.resize("100%", 640);
|
||||
// },
|
||||
};
|
||||
export {
|
||||
defaultConfig,
|
||||
};
|
||||
@ -1,95 +0,0 @@
|
||||
<template>
|
||||
<div class="markdown-view-box">
|
||||
<link rel="stylesheet" href="~@/assets/editor.md/css/editormd.min.css">
|
||||
<link rel="stylesheet" href="~@/assets/editor.md/examples/css/style.css" />
|
||||
<link rel="stylesheet" href="~@/assets/editor.md/css/editormd.preview.min.css" />
|
||||
<div id="markdown-view">
|
||||
<textarea style="display: none;">{{doc.content}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import scriptjs from 'scriptjs'
|
||||
import { defaultConfig } from '@/components/markdown/config/editormd'
|
||||
export default {
|
||||
name: 'editromd',
|
||||
props: {
|
||||
viewId: {
|
||||
'type': String,
|
||||
'default': 'markdown-view'
|
||||
},
|
||||
config: { // 编辑器配置
|
||||
type: Object
|
||||
},
|
||||
initData: {
|
||||
'type': String
|
||||
},
|
||||
initDataDelay: {
|
||||
'type': Number, // 延迟初始化数据时间,单位毫秒
|
||||
'default': 0
|
||||
}
|
||||
},
|
||||
data: function () {
|
||||
return {
|
||||
doc: {},
|
||||
editor: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
fetchScript: function (url) {
|
||||
return new Promise((resolve) => {
|
||||
scriptjs(url, () => {
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
getDoc: function () {
|
||||
return this.doc
|
||||
},
|
||||
getConfig: function () {
|
||||
return { ...defaultConfig, ...this.config }
|
||||
},
|
||||
forceUpdate: function () {
|
||||
this.$forceUpdate()
|
||||
},
|
||||
initView: function () {
|
||||
(async () => {
|
||||
await this.fetchScript('~@/assets/editor.md/jquery.min.js')
|
||||
await this.fetchScript('~@/assets/editor.md/lib/marked.min.js')
|
||||
await this.fetchScript('~@/assets/editor.md/lib/prettify.min.js')
|
||||
await this.fetchScript('~@/assets/editor.md/lib/raphael.min.js')
|
||||
await this.fetchScript('~@/assets/editor.md/lib/underscore.min.js')
|
||||
await this.fetchScript('~@/assets/editor.md/lib/sequence-diagram.min.js')
|
||||
await this.fetchScript('~@/assets/editor.md/lib/flowchart.min.js')
|
||||
await this.fetchScript('~@/assets/editor.md/lib/jquery.flowchart.min.js')
|
||||
await this.fetchScript('~@/assets/editor.md/editormd.min.js')
|
||||
this.$nextTick(() => {
|
||||
this.editor = window.editormd.markdownToHTML(this.viewId, this.getConfig())
|
||||
})
|
||||
})()
|
||||
},
|
||||
setDoc (doc) {
|
||||
if (doc) {
|
||||
let vm = this
|
||||
vm.doc = doc
|
||||
let markdownViewDiv = document.getElementById('markdown-view')
|
||||
if (markdownViewDiv) {
|
||||
markdownViewDiv.innerHTML = '<textarea style="display: none;"></textarea>'
|
||||
vm.initView()
|
||||
if (doc.content) {
|
||||
markdownViewDiv.getElementsByTagName('textarea')[0].innerHTML = doc.content
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
showContent (id) {
|
||||
let vm = this
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
let vm = this
|
||||
let docId = vm.$router.currentRoute.name
|
||||
vm.showContent(docId)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -47,221 +47,6 @@ export const constantRoutes = [
|
||||
component: () => import('@/views/404'),
|
||||
hidden: true
|
||||
},
|
||||
|
||||
// {
|
||||
// path: '/',
|
||||
// component: Layout,
|
||||
// redirect: '/home',
|
||||
// children: [{
|
||||
// path: '',
|
||||
// name: 'Home',
|
||||
// component: () => import('@/views/home/index'),
|
||||
// meta: { title: '所有文件', icon: 'ziyuan' }
|
||||
// }]
|
||||
// },
|
||||
// {
|
||||
// path: '/recently',
|
||||
// component: Layout,
|
||||
// redirect: '/recently',
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'recently',
|
||||
// component: () => import('@/views/recently/index'),
|
||||
// meta: { title: '最近', icon: 'zuijinyuedu' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
//
|
||||
// {
|
||||
// path: '/favorite',
|
||||
// component: Layout,
|
||||
// children: [
|
||||
// {
|
||||
// path: 'index',
|
||||
// name: 'Form',
|
||||
// component: () => import('@/views/favorite/index'),
|
||||
// meta: { title: '收藏', icon: 'Favoritestarrate' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
//
|
||||
// {
|
||||
// path: '/share',
|
||||
// component: Layout,
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'share',
|
||||
// component: () => import('@/views/share/index'),
|
||||
// meta: { title: '分享', icon: 'gongxiangzhongxin' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
//
|
||||
// {
|
||||
// path: '/audio',
|
||||
// component: Layout,
|
||||
// redirect: '/audio',
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'audio',
|
||||
// component: () => import('@/views/fileType/audio'),
|
||||
// meta: { title: '音乐', icon: 'audio' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/video',
|
||||
// component: Layout,
|
||||
// redirect: '/video',
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'video',
|
||||
// component: () => import('@/views/fileType/video'),
|
||||
// meta: { title: '视频', icon: 'video' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/image',
|
||||
// component: Layout,
|
||||
// redirect: '/image',
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'image',
|
||||
// component: () => import('@/views/fileType/image'),
|
||||
// meta: { title: '图片', icon: 'image' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/document',
|
||||
// component: Layout,
|
||||
// redirect: '/document',
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'document',
|
||||
// component: () => import('@/views/fileType/document'),
|
||||
// meta: { title: '文档', icon: 'document' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/markdown',
|
||||
// component: Layout,
|
||||
// hidden: true,
|
||||
// children: [
|
||||
// {
|
||||
// path: 'editor',
|
||||
// name: 'markdown',
|
||||
// component: () => import('@/views/markdown/index'),
|
||||
// meta: { title: '创建文档', icon: 'md' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/setting/user',
|
||||
// component: Layout,
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'setting-user',
|
||||
// component: () => import('@/views/setting/sys/cusomerInfo'),
|
||||
// meta: { title: '个人信息' , icon: 'UserSettings'}
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/setting/manager-users',
|
||||
// component: Layout,
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'manager-users',
|
||||
// component: () => import('@/views/setting/sys/cusomerManager'),
|
||||
// meta: { title: '用户管理' , icon: 'huaban'}
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/setting/manager-roles',
|
||||
// component: Layout,
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'manager-roles',
|
||||
// component: () => import('@/views/setting/sys/roleManager'),
|
||||
// meta: { title: '角色管理' , icon: 'role'}
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/setting/manager-menus',
|
||||
// component: Layout,
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'manager-menus',
|
||||
// component: () => import('@/views/setting/sys/menuManager'),
|
||||
// meta: { title: '菜单管理' , icon: 'menu'}
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/setting/website',
|
||||
// component: Layout,
|
||||
// name: 'website',
|
||||
// meta: { title: '网站管理', icon: 'wangzhanguanli'},
|
||||
// children: [
|
||||
// {
|
||||
// path: 'manager-articles',
|
||||
// name: 'manager-articles',
|
||||
// component: () => import('@/views/setting/articles/articlePageManager'),
|
||||
// meta: { title: '文章' , icon: 'guanlizhuanjiawenzhang'}
|
||||
// },
|
||||
// {
|
||||
// path: 'manager-alone-page',
|
||||
// name: 'manager-alone-page',
|
||||
// component: () => import('@/views/setting/articles/alonePageManager'),
|
||||
// meta: { title: '独立页面' , icon: 'yemianshezhi'}
|
||||
// },
|
||||
// {
|
||||
// path: 'manager-blog',
|
||||
// name: 'manager-blog',
|
||||
// component: () => import('@/views/setting/articles/blogManager'),
|
||||
// meta: { title: '外观' , icon: 'pifu'}
|
||||
// },
|
||||
// {
|
||||
// path: 'manager-categories',
|
||||
// name: 'manager-categories',
|
||||
// component: () => import('@/views/setting/articles/categoryManager'),
|
||||
// meta: { title: '分类', icon: 'fenlei' }
|
||||
// },
|
||||
// {
|
||||
// path: 'manager-tags',
|
||||
// name: 'manager-tags',
|
||||
// component: () => import('@/views/setting/articles/tagManager'),
|
||||
// meta: { title: '标签', icon: 'biaoqian' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// path: '/setting/manager-cloud',
|
||||
// component: Layout,
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// name: 'manager-cloud',
|
||||
// component: () => import('@/views/setting/cloudManager'),
|
||||
// meta: { title: '网盘设置', icon: 'yunshezhi' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
path: '/s',
|
||||
component: Layout,
|
||||
@ -300,40 +85,11 @@ export const dynamicRouters = [
|
||||
component: () => import('@/views/public/share/shareList'),
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/demo',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: 'index_m',
|
||||
name: 'demo_m',
|
||||
component: () => import('@/views/demo/index_m'),
|
||||
meta: { title: 'demo', icon: 'example' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/upload',
|
||||
component: Layout,
|
||||
children: [{
|
||||
path: 'index_m',
|
||||
name: 'upload_m',
|
||||
component: () => import('@/views/upload/mobile/index'),
|
||||
meta: { title: '上传文件列表' }
|
||||
}]
|
||||
},
|
||||
}
|
||||
]
|
||||
|
||||
const createRouter = () => new VueRouter({
|
||||
mode: 'history', // require service support
|
||||
// scrollBehavior (to, from, savedPosition) {
|
||||
// if (savedPosition) {
|
||||
// return savedPosition
|
||||
// } else {
|
||||
// return { x: 0, y: 0 }
|
||||
// }
|
||||
// },
|
||||
routes: constantRoutes
|
||||
})
|
||||
|
||||
|
||||
@ -1,121 +0,0 @@
|
||||
/deep/ .el-backtop {
|
||||
-webkit-backdrop-filter: saturate(180%) blur(20px);
|
||||
backdrop-filter: saturate(180%) blur(1px);
|
||||
background-color: rgba(255,255,255,0.5);
|
||||
color: #272936;
|
||||
z-index: 999;
|
||||
}
|
||||
.article-header {
|
||||
height: 70vh;
|
||||
min-height: 12.5px;
|
||||
position: relative;
|
||||
display: table;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
color: #fff;
|
||||
background-color: #2e2e2e;
|
||||
width: -webkit-calc(100% - -0.0625rem);
|
||||
width: calc(100% - -0.0625rem);
|
||||
-webkit-transition: 1s ease background-color;
|
||||
-moz-transition: 1s ease background-color;
|
||||
-ms-transition: 1s ease background-color;
|
||||
-o-transition: 1s ease background-color;
|
||||
transition: 1s ease background-color;
|
||||
.article-background {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
overflow: hidden;
|
||||
opacity: 1;
|
||||
-webkit-transition: 1s ease opacity;
|
||||
-moz-transition: 1s ease opacity;
|
||||
-ms-transition: 1s ease opacity;
|
||||
-o-transition: 1s ease opacity;
|
||||
transition: 1s ease opacity;
|
||||
}
|
||||
}
|
||||
|
||||
.inner {
|
||||
display: table-cell;
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
width: 100%;
|
||||
left: -1px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.blog-title {
|
||||
font-size: 2.5rem;
|
||||
line-height: 1.5;
|
||||
margin-bottom: .75rem;
|
||||
}
|
||||
|
||||
@media not all, screen and (-webkit-min-device-pixel-ratio: 1.5), not all, not all {
|
||||
.blog-description.font-mono {
|
||||
font-family: Consolas,Menlo,Monaco,"lucida console","Liberation Mono","Courier New","andale mono",monospaceX,monospace,sans-serif;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.typed-cursor {
|
||||
animation: typedjsBlink 0.7s infinite;
|
||||
-webkit-animation: typedjsBlink 0.7s infinite;
|
||||
animation: typedjsBlink 0.7s infinite;
|
||||
}
|
||||
|
||||
@keyframes typedjsBlink {
|
||||
50% {
|
||||
opacity: 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.blog-title {
|
||||
font-size: 1.75rem;
|
||||
font-weight: 400;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
//.blog-description {
|
||||
// font-size: .8125rem;
|
||||
//}
|
||||
|
||||
.cover-wrapper .cover .cover-body {
|
||||
padding-bottom: 68px;
|
||||
.title {
|
||||
font-size: 2rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
.article-header .inner {
|
||||
padding-bottom: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px){
|
||||
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.navbar>.container-fluid {
|
||||
max-width: 960px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1210px) {
|
||||
.navbar>.container-fluid {
|
||||
max-width: 1170px;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,44 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<fancy-tree v-if="source.length > 0" :directoryTreeData="source"></fancy-tree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import FancyTree from"@/components/FancyTree"
|
||||
import api from '@/api/file-api'
|
||||
export default {
|
||||
components: {FancyTree},
|
||||
data() {
|
||||
return {
|
||||
source: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
api.listfiles({
|
||||
username: this.$store.state.user.name,
|
||||
path: "",
|
||||
tempDir: this.tempDir
|
||||
}).then(res => {
|
||||
this.source = res.data
|
||||
})
|
||||
},
|
||||
mounted() {
|
||||
api.listfiles({
|
||||
username: this.$store.state.user.name,
|
||||
path: "",
|
||||
tempDir: this.tempDir
|
||||
}).then(res => {
|
||||
this.source = res.data
|
||||
})
|
||||
},
|
||||
computed: {
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
|
||||
@ -1,65 +0,0 @@
|
||||
<template>
|
||||
<!-- 背景图高斯模糊效果 -->
|
||||
<div class="bgFilter">
|
||||
<div class="box">
|
||||
<img src="http://t8.baidu.com/it/u=2247852322,986532796&fm=79&app=86&size=h300&n=0&g=4n&f=jpeg?sec=1582723247&t=3060bfc4978e78d3accef89c1eb7dc8e" alt="img" class="bg">
|
||||
<div class="content">
|
||||
<!-- <img src="http://t8.baidu.com/it/u=2247852322,986532796&fm=79&app=86&size=h300&n=0&g=4n&f=jpeg?sec=1582723247&t=3060bfc4978e78d3accef89c1eb7dc8e" alt="img"> -->
|
||||
<div class="text">我是文字我是文字我是文字</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: "bgFilter"
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.bgFilter {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000;
|
||||
.box {
|
||||
width: 700px;
|
||||
height: 500px;
|
||||
position: relative;
|
||||
// 我是模糊的背景
|
||||
.bg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
overflow: hidden;
|
||||
-webkit-filter: blur(8px);
|
||||
-moz-filter: blur(8px);
|
||||
-o-filter: blur(8px);
|
||||
-ms-filter: blur(8px);
|
||||
filter: blur(8px);
|
||||
}
|
||||
// 我是图片和上面的文字
|
||||
.content {
|
||||
.text {
|
||||
width: 100%;
|
||||
padding: 30px;
|
||||
box-sizing: border-box;
|
||||
background-color: rgba(255, 255, 255, 0.7);
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
z-index: 1;
|
||||
text-align: right;
|
||||
}
|
||||
img {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 5%;
|
||||
transform: translate(0, -50%);
|
||||
z-index: 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
x
Reference in New Issue
Block a user