Conflicts:
	src/views/upload/mobile/index.vue
This commit is contained in:
jmal 2021-03-25 18:03:00 +08:00
commit 77929f9dd0
12 changed files with 3 additions and 5194 deletions

View File

@ -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

View File

@ -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'
}
}
}

View File

@ -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>

View File

@ -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,
};

View File

@ -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>

View File

@ -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
})

View File

@ -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

View File

@ -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>

View File

@ -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>