Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mould-vuecli3
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lhfe
mould-vuecli3
Commits
9f9a61d1
Commit
9f9a61d1
authored
Aug 28, 2020
by
Jeff
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新规则
parent
fa6117b3
Show whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
373 additions
and
373 deletions
+373
-373
.eslintrc.js
.eslintrc.js
+1
-1
App.vue
src/App.vue
+5
-5
index.vue
src/components/header/index.vue
+3
-3
tipPanel.vue
src/components/header/tipPanel.vue
+2
-2
tutorialContent.vue
src/components/misc/tutorialContent.vue
+2
-2
uploader.vue
src/components/misc/uploader.vue
+12
-12
completeContent.vue
src/components/modal/completeContent.vue
+2
-2
completeModal.vue
src/components/modal/completeModal.vue
+3
-3
modalLayer.vue
src/components/modal/modalLayer.vue
+4
-4
selectContent.vue
src/components/modal/selectContent.vue
+6
-6
selectModal.vue
src/components/modal/selectModal.vue
+3
-3
index.vue
src/components/rightPanel/index.vue
+2
-2
screenshotPanel.vue
src/components/rightPanel/screenshotPanel.vue
+2
-2
index.vue
src/components/sideNav/index.vue
+2
-2
taskComplete.vue
src/components/videoConverter/taskComplete.vue
+7
-7
taskEdit.vue
src/components/videoConverter/taskEdit.vue
+131
-131
webApi.js
src/components/videoConverter/webApi.js
+17
-17
videoChange.vue
src/components/videoCutter/videoChange.vue
+2
-2
videoControl.vue
src/components/videoCutter/videoControl.vue
+12
-12
videoPlayer.vue
src/components/videoCutter/videoPlayer.vue
+24
-24
videoTimeline.vue
src/components/videoCutter/videoTimeline.vue
+33
-33
main.js
src/main.js
+16
-16
registerServiceWorker.js
src/registerServiceWorker.js
+9
-9
index.js
src/router/index.js
+9
-9
global.js
src/store/global.js
+5
-5
index.js
src/store/index.js
+7
-7
moduleA.js
src/store/modules/moduleA.js
+5
-5
uploader.js
src/store/modules/uploader.js
+6
-6
bao2.vue
src/views/bao2.vue
+2
-2
bao3.vue
src/views/bao3.vue
+2
-2
screenshot.vue
src/views/screenshot.vue
+13
-13
videoConverter.vue
src/views/videoConverter.vue
+3
-3
videoCutter.vue
src/views/videoCutter.vue
+21
-21
No files found.
.eslintrc.js
View file @
9f9a61d1
...
@@ -38,7 +38,7 @@ module.exports = {
...
@@ -38,7 +38,7 @@ module.exports = {
],
],
'comma-dangle'
:
[
'error'
,
'never'
],
'comma-dangle'
:
[
'error'
,
'never'
],
quotes
:
[
'error'
,
'single'
],
quotes
:
[
'error'
,
'single'
],
semi
:
[
'error'
,
'
never
'
],
semi
:
[
'error'
,
'
always
'
],
'vue/html-indent'
:
[
'vue/html-indent'
:
[
'error'
,
'error'
,
2
,
2
,
...
...
src/App.vue
View file @
9f9a61d1
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
CommonHeader
from
'@/components/header/index.vue'
import
CommonHeader
from
'@/components/header/index.vue'
;
export
default
{
export
default
{
components
:
{
components
:
{
CommonHeader
,
CommonHeader
,
...
@@ -22,13 +22,13 @@ export default {
...
@@ -22,13 +22,13 @@ export default {
Uploader
:
()
=>
import
(
'@/components/misc/uploader.vue'
)
Uploader
:
()
=>
import
(
'@/components/misc/uploader.vue'
)
},
},
data
()
{
data
()
{
return
{}
return
{}
;
},
},
async
created
()
{
async
created
()
{
let
result
=
await
this
.
$http
.
get
(
'/webapi/home/banner?type=1&category=18'
)
let
result
=
await
this
.
$http
.
get
(
'/webapi/home/banner?type=1&category=18'
)
;
console
.
log
(
'result:'
,
result
)
console
.
log
(
'result:'
,
result
)
;
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
...
...
src/components/header/index.vue
View file @
9f9a61d1
...
@@ -20,16 +20,16 @@ export default {
...
@@ -20,16 +20,16 @@ export default {
tipPanel
:
()
=>
import
(
'@/components/header/tipPanel.vue'
)
tipPanel
:
()
=>
import
(
'@/components/header/tipPanel.vue'
)
},
},
data
()
{
data
()
{
return
{}
return
{}
;
},
},
created
()
{},
created
()
{},
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
showModal
()
{
showModal
()
{
this
.
$modal
.
show
(
'selectModal'
)
this
.
$modal
.
show
(
'selectModal'
)
;
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/components/header/tipPanel.vue
View file @
9f9a61d1
...
@@ -7,11 +7,11 @@
...
@@ -7,11 +7,11 @@
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{}
return
{}
;
},
},
created
()
{},
created
()
{},
mounted
()
{}
mounted
()
{}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/components/misc/tutorialContent.vue
View file @
9f9a61d1
...
@@ -5,10 +5,10 @@
...
@@ -5,10 +5,10 @@
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{}
return
{}
;
},
},
methods
:
{}
methods
:
{}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
style
lang=
"scss"
scoped
></
style
>
src/components/misc/uploader.vue
View file @
9f9a61d1
...
@@ -12,39 +12,39 @@
...
@@ -12,39 +12,39 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
mapActions
}
from
'Vuex'
import
{
mapActions
}
from
'Vuex'
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
videoInput
:
{}
videoInput
:
{}
}
}
;
},
},
mounted
()
{
mounted
()
{
this
.
videoInput
=
this
.
$refs
.
videoInput
this
.
videoInput
=
this
.
$refs
.
videoInput
;
},
},
methods
:
{
methods
:
{
...
mapActions
({
...
mapActions
({
upload
:
'uploader/upload'
upload
:
'uploader/upload'
}),
}),
onVideoInputChange
()
{
onVideoInputChange
()
{
let
file
=
this
.
videoInput
.
files
[
0
]
let
file
=
this
.
videoInput
.
files
[
0
]
;
console
.
log
(
'turbo: onVideoInputChange -> file'
,
file
)
console
.
log
(
'turbo: onVideoInputChange -> file'
,
file
)
;
},
},
onInputClick
()
{
onInputClick
()
{
const
vm
=
this
const
vm
=
this
;
window
.
addEventListener
(
'focus'
,
function
h
()
{
window
.
addEventListener
(
'focus'
,
function
h
()
{
vm
.
clearInputValue
(
vm
.
videoInput
)
vm
.
clearInputValue
(
vm
.
videoInput
)
;
console
.
log
(
'turbo: h -> this.videoInput'
,
vm
.
videoInput
)
console
.
log
(
'turbo: h -> this.videoInput'
,
vm
.
videoInput
)
;
window
.
removeEventListener
(
'focus'
,
h
)
window
.
removeEventListener
(
'focus'
,
h
)
;
})
})
;
},
},
clearInputValue
(
el
)
{
clearInputValue
(
el
)
{
if
(
el
)
{
if
(
el
)
{
el
.
value
=
''
el
.
value
=
''
;
}
}
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
style
lang=
"scss"
scoped
></
style
>
src/components/modal/completeContent.vue
View file @
9f9a61d1
...
@@ -7,10 +7,10 @@
...
@@ -7,10 +7,10 @@
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{}
return
{}
;
},
},
methods
:
{}
methods
:
{}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
style
lang=
"scss"
scoped
></
style
>
src/components/modal/completeModal.vue
View file @
9f9a61d1
...
@@ -8,16 +8,16 @@
...
@@ -8,16 +8,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
CompleteContent
from
'./completeContent'
import
CompleteContent
from
'./completeContent'
;
export
default
{
export
default
{
components
:
{
components
:
{
CompleteContent
CompleteContent
},
},
data
()
{
data
()
{
return
{}
return
{}
;
},
},
methods
:
{}
methods
:
{}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
style
lang=
"scss"
scoped
></
style
>
src/components/modal/modalLayer.vue
View file @
9f9a61d1
...
@@ -6,18 +6,18 @@
...
@@ -6,18 +6,18 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
CompleteModal
from
'@/components/modal/completeModal'
import
CompleteModal
from
'@/components/modal/completeModal'
;
import
SelectModal
from
'@/components/modal/selectModal'
import
SelectModal
from
'@/components/modal/selectModal'
;
export
default
{
export
default
{
components
:
{
components
:
{
CompleteModal
,
CompleteModal
,
SelectModal
SelectModal
},
},
data
()
{
data
()
{
return
{}
return
{}
;
},
},
methods
:
{}
methods
:
{}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
src/components/modal/selectContent.vue
View file @
9f9a61d1
...
@@ -25,23 +25,23 @@ export default {
...
@@ -25,23 +25,23 @@ export default {
data
()
{
data
()
{
return
{
return
{
items
:
[{
text
:
'本地上传'
,
type
:
'upload'
},
{
text
:
'视频库'
},
{
text
:
'我的作品'
}]
items
:
[{
text
:
'本地上传'
,
type
:
'upload'
},
{
text
:
'视频库'
},
{
text
:
'我的作品'
}]
}
}
;
},
},
methods
:
{
methods
:
{
close
()
{
close
()
{
this
.
$modal
.
hide
(
'selectModal'
)
this
.
$modal
.
hide
(
'selectModal'
)
;
},
},
triggerUpload
()
{
triggerUpload
()
{
const
el
=
document
.
getElementById
(
'video-input'
)
const
el
=
document
.
getElementById
(
'video-input'
)
;
el
&&
el
.
click
()
el
&&
el
.
click
()
;
},
},
itemClick
({
item
=
{}
}
=
{})
{
itemClick
({
item
=
{}
}
=
{})
{
if
(
item
.
type
===
'upload'
)
{
if
(
item
.
type
===
'upload'
)
{
this
.
triggerUpload
()
this
.
triggerUpload
()
;
}
}
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
style
lang=
"scss"
scoped
></
style
>
src/components/modal/selectModal.vue
View file @
9f9a61d1
...
@@ -8,16 +8,16 @@
...
@@ -8,16 +8,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
SelectContent
from
'./selectContent'
import
SelectContent
from
'./selectContent'
;
export
default
{
export
default
{
components
:
{
components
:
{
SelectContent
SelectContent
},
},
data
()
{
data
()
{
return
{}
return
{}
;
},
},
methods
:
{}
methods
:
{}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
style
lang=
"scss"
scoped
></
style
>
src/components/rightPanel/index.vue
View file @
9f9a61d1
...
@@ -7,11 +7,11 @@
...
@@ -7,11 +7,11 @@
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{}
return
{}
;
},
},
created
()
{},
created
()
{},
mounted
()
{}
mounted
()
{}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/components/rightPanel/screenshotPanel.vue
View file @
9f9a61d1
...
@@ -7,11 +7,11 @@
...
@@ -7,11 +7,11 @@
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{}
return
{}
;
},
},
created
()
{},
created
()
{},
mounted
()
{}
mounted
()
{}
}
}
;
</
script
>
</
script
>
<
style
></
style
>
<
style
></
style
>
src/components/sideNav/index.vue
View file @
9f9a61d1
...
@@ -21,11 +21,11 @@
...
@@ -21,11 +21,11 @@
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{}
return
{}
;
},
},
created
()
{},
created
()
{},
mounted
()
{}
mounted
()
{}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/components/videoConverter/taskComplete.vue
View file @
9f9a61d1
...
@@ -8,12 +8,12 @@ export default {
...
@@ -8,12 +8,12 @@ export default {
components
:
{},
components
:
{},
props
:
{},
props
:
{},
data
()
{
data
()
{
return
{}
return
{}
;
},
},
computed
:
{},
computed
:
{},
watch
:
{},
watch
:
{},
methods
:
{}
methods
:
{}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/components/videoConverter/taskEdit.vue
View file @
9f9a61d1
...
@@ -80,7 +80,7 @@
...
@@ -80,7 +80,7 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
start
,
stop
,
clear
,
checkStatus
}
from
'./webApi'
import
{
start
,
stop
,
clear
,
checkStatus
}
from
'./webApi'
;
export
default
{
export
default
{
name
:
'TaskEdit'
,
name
:
'TaskEdit'
,
components
:
{},
components
:
{},
...
@@ -88,7 +88,7 @@ export default {
...
@@ -88,7 +88,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
taskList
:
[]
taskList
:
[]
}
}
;
},
},
computed
:
{},
computed
:
{},
watch
:
{},
watch
:
{},
...
@@ -101,35 +101,35 @@ export default {
...
@@ -101,35 +101,35 @@ export default {
state
:
0
,
state
:
0
,
progress
:
60
,
progress
:
60
,
outputFormat
:
'mp4'
outputFormat
:
'mp4'
})
})
;
}
}
},
},
methods
:
{
methods
:
{
async
startTask
(
item
)
{
async
startTask
(
item
)
{
let
result
=
await
start
()
let
result
=
await
start
()
;
if
(
result
)
{
if
(
result
)
{
item
.
state
=
1
item
.
state
=
1
;
}
else
{
}
else
{
item
.
state
=
2
item
.
state
=
2
;
}
}
},
},
async
stopTask
(
item
)
{
async
stopTask
(
item
)
{
let
result
=
await
stop
()
let
result
=
await
stop
()
;
if
(
result
)
{
if
(
result
)
{
item
.
state
=
0
item
.
state
=
0
;
}
}
},
},
async
clearTask
(
item
)
{
async
clearTask
(
item
)
{
let
result
=
await
clear
()
let
result
=
await
clear
()
;
if
(
result
)
{
if
(
result
)
{
let
index
=
this
.
taskList
.
indexOf
(
item
)
let
index
=
this
.
taskList
.
indexOf
(
item
)
;
if
(
index
>
-
1
)
{
if
(
index
>
-
1
)
{
this
.
taskList
.
splice
(
index
,
1
)
this
.
taskList
.
splice
(
index
,
1
)
;
}
}
}
}
},
},
async
checkTaskStatus
()
{
async
checkTaskStatus
()
{
await
checkStatus
()
await
checkStatus
()
;
},
},
addVideo
()
{
addVideo
()
{
this
.
taskList
.
push
({
this
.
taskList
.
push
({
...
@@ -139,18 +139,18 @@ export default {
...
@@ -139,18 +139,18 @@ export default {
state
:
0
,
state
:
0
,
progress
:
60
,
progress
:
60
,
outputFormat
:
'mp4'
outputFormat
:
'mp4'
})
})
;
},
},
clearAllTasks
()
{
clearAllTasks
()
{
this
.
taskList
=
[]
this
.
taskList
=
[]
;
},
},
startAllTasks
()
{
startAllTasks
()
{
this
.
taskList
.
forEach
((
task
)
=>
{
this
.
taskList
.
forEach
((
task
)
=>
{
task
.
state
=
1
task
.
state
=
1
;
})
})
;
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/components/videoConverter/webApi.js
View file @
9f9a61d1
async
function
start
()
{
async
function
start
()
{
let
result
=
await
new
Promise
((
resolve
)
=>
{
let
result
=
await
new
Promise
((
resolve
)
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
resolve
(
true
)
resolve
(
true
)
;
},
1000
)
},
1000
)
;
})
})
;
return
result
return
result
;
}
}
async
function
stop
()
{
async
function
stop
()
{
let
result
=
await
new
Promise
((
resolve
)
=>
{
let
result
=
await
new
Promise
((
resolve
)
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
resolve
(
true
)
resolve
(
true
)
;
},
500
)
},
500
)
;
})
})
;
return
result
return
result
;
}
}
async
function
clear
()
{
async
function
clear
()
{
let
result
=
await
new
Promise
((
resolve
)
=>
{
let
result
=
await
new
Promise
((
resolve
)
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
resolve
(
true
)
resolve
(
true
)
;
},
500
)
},
500
)
;
})
})
;
return
result
return
result
;
}
}
async
function
checkStatus
(
fakeValue
)
{
async
function
checkStatus
(
fakeValue
)
{
let
result
=
await
new
Promise
((
resolve
)
=>
{
let
result
=
await
new
Promise
((
resolve
)
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
resolve
(
fakeValue
++
)
resolve
(
fakeValue
++
)
;
},
500
)
},
500
)
;
})
})
;
return
result
return
result
;
}
}
export
{
start
,
stop
,
clear
,
checkStatus
}
export
{
start
,
stop
,
clear
,
checkStatus
}
;
src/components/videoCutter/videoChange.vue
View file @
9f9a61d1
...
@@ -10,10 +10,10 @@
...
@@ -10,10 +10,10 @@
export
default
{
export
default
{
methods
:
{
methods
:
{
changeVideo
()
{
changeVideo
()
{
this
.
$emit
(
'changeVideo'
)
this
.
$emit
(
'changeVideo'
)
;
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.video-change
{
.video-change
{
...
...
src/components/videoCutter/videoControl.vue
View file @
9f9a61d1
...
@@ -21,27 +21,27 @@
...
@@ -21,27 +21,27 @@
export
default
{
export
default
{
filters
:
{
filters
:
{
formatTime
(
duration
)
{
formatTime
(
duration
)
{
if
(
duration
<=
0
)
return
'00:00'
if
(
duration
<=
0
)
return
'00:00'
;
if
(
!
duration
)
return
'--:--'
if
(
!
duration
)
return
'--:--'
;
let
min
=
~~
(
duration
/
60
)
let
min
=
~~
(
duration
/
60
)
;
min
=
(
min
+
''
).
length
===
1
?
'0'
+
min
:
min
min
=
(
min
+
''
).
length
===
1
?
'0'
+
min
:
min
;
let
sec
=
Math
.
floor
(
duration
%
60
)
let
sec
=
Math
.
floor
(
duration
%
60
)
;
sec
=
(
sec
+
''
).
length
===
1
?
'0'
+
sec
:
sec
sec
=
(
sec
+
''
).
length
===
1
?
'0'
+
sec
:
sec
;
min
=
min
||
'00'
min
=
min
||
'00'
;
sec
=
sec
||
'00'
sec
=
sec
||
'00'
;
return
min
+
':'
+
sec
return
min
+
':'
+
sec
;
}
}
},
},
props
:
[
'duration'
,
'nowTime'
],
// eslint-disable-line
props
:
[
'duration'
,
'nowTime'
],
// eslint-disable-line
data
()
{
data
()
{
return
{}
return
{}
;
},
},
methods
:
{
methods
:
{
play
()
{
play
()
{
this
.
$emit
(
'play'
)
this
.
$emit
(
'play'
)
;
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.video-control
{
.video-control
{
...
...
src/components/videoCutter/videoPlayer.vue
View file @
9f9a61d1
...
@@ -13,54 +13,54 @@ export default {
...
@@ -13,54 +13,54 @@ export default {
state
:
'pluse'
,
state
:
'pluse'
,
times
:
0
,
times
:
0
,
canPlay
:
false
canPlay
:
false
}
}
;
},
},
mounted
()
{
mounted
()
{
this
.
$bus
.
on
(
'videoPlayer.play'
,
(
data
)
=>
{
this
.
$bus
.
on
(
'videoPlayer.play'
,
(
data
)
=>
{
if
(
data
.
time
!==
undefined
)
{
if
(
data
.
time
!==
undefined
)
{
this
.
currentTime
(
data
.
time
)
this
.
currentTime
(
data
.
time
)
;
}
}
if
(
data
.
play
)
{
if
(
data
.
play
)
{
this
.
play
()
this
.
play
()
;
}
else
{
}
else
{
this
.
pause
()
this
.
pause
()
;
}
}
})
})
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
videoDom
.
addEventListener
(
'canplay'
,
this
.
canPlayFunc
)
this
.
$refs
.
videoDom
.
addEventListener
(
'canplay'
,
this
.
canPlayFunc
)
;
this
.
$refs
.
videoDom
.
addEventListener
(
'ended'
,
()
=>
{
this
.
$refs
.
videoDom
.
addEventListener
(
'ended'
,
()
=>
{
this
.
$emit
(
'ended'
)
this
.
$emit
(
'ended'
)
;
})
})
;
this
.
$refs
.
videoDom
.
addEventListener
(
'timeupdate'
,
()
=>
{
this
.
$refs
.
videoDom
.
addEventListener
(
'timeupdate'
,
()
=>
{
this
.
$emit
(
'timeupdate'
,
this
.
$refs
.
videoDom
.
currentTime
)
this
.
$emit
(
'timeupdate'
,
this
.
$refs
.
videoDom
.
currentTime
)
;
})
})
;
})
})
;
},
},
beforeDestroy
()
{
beforeDestroy
()
{
this
.
$refs
.
videoDom
.
removeEventListener
(
'canplay'
)
this
.
$refs
.
videoDom
.
removeEventListener
(
'canplay'
)
;
this
.
$refs
.
videoDom
.
removeEventListener
(
'ended'
)
this
.
$refs
.
videoDom
.
removeEventListener
(
'ended'
)
;
this
.
$refs
.
videoDom
.
removeEventListener
(
'timeupdate'
)
this
.
$refs
.
videoDom
.
removeEventListener
(
'timeupdate'
)
;
},
},
methods
:
{
methods
:
{
canPlayFunc
()
{
canPlayFunc
()
{
this
.
canPlay
=
true
this
.
canPlay
=
true
;
let
from
=
this
.
$parent
.
$options
.
name
||
'videoPlayer'
let
from
=
this
.
$parent
.
$options
.
name
||
'videoPlayer'
;
this
.
$bus
.
emit
(
`
${
from
}
.canPlay`
,
this
.
$refs
.
videoDom
.
duration
)
this
.
$bus
.
emit
(
`
${
from
}
.canPlay`
,
this
.
$refs
.
videoDom
.
duration
)
;
},
},
play
()
{
play
()
{
if
(
!
this
.
canPlay
)
return
if
(
!
this
.
canPlay
)
return
;
this
.
$refs
.
videoDom
.
play
()
this
.
$refs
.
videoDom
.
play
()
;
},
},
pause
()
{
pause
()
{
if
(
!
this
.
canPlay
)
return
if
(
!
this
.
canPlay
)
return
;
this
.
$refs
.
videoDom
.
pause
()
this
.
$refs
.
videoDom
.
pause
()
;
},
},
currentTime
(
time
)
{
currentTime
(
time
)
{
if
(
!
this
.
canPlay
)
return
if
(
!
this
.
canPlay
)
return
;
this
.
$refs
.
videoDom
.
currentTime
=
time
this
.
$refs
.
videoDom
.
currentTime
=
time
;
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.video-player
{
.video-player
{
...
...
src/components/videoCutter/videoTimeline.vue
View file @
9f9a61d1
...
@@ -26,32 +26,32 @@ export default {
...
@@ -26,32 +26,32 @@ export default {
let
_this
=
vnode
.
context
,
let
_this
=
vnode
.
context
,
mousemove
=
null
,
mousemove
=
null
,
mouseup
=
null
,
mouseup
=
null
,
dataAction
=
''
dataAction
=
''
;
mousemove
=
(
e
)
=>
{
mousemove
=
(
e
)
=>
{
_this
.
dragMove
&&
_this
.
dragMove
(
e
.
pageX
,
dataAction
,
e
)
_this
.
dragMove
&&
_this
.
dragMove
(
e
.
pageX
,
dataAction
,
e
)
;
}
}
;
mouseup
=
(
e
)
=>
{
mouseup
=
(
e
)
=>
{
document
.
removeEventListener
(
'mousemove'
,
mousemove
)
document
.
removeEventListener
(
'mousemove'
,
mousemove
)
;
document
.
removeEventListener
(
'mouseup'
,
mouseup
)
document
.
removeEventListener
(
'mouseup'
,
mouseup
)
;
_this
.
dragUp
&&
_this
.
dragUp
(
e
.
pageX
,
dataAction
,
e
)
_this
.
dragUp
&&
_this
.
dragUp
(
e
.
pageX
,
dataAction
,
e
)
;
}
}
;
el
.
onmousedown
=
(
e
)
=>
{
el
.
onmousedown
=
(
e
)
=>
{
dataAction
=
e
.
target
.
dataset
.
action
dataAction
=
e
.
target
.
dataset
.
action
;
if
(
e
.
which
===
3
||
e
.
which
===
2
)
{
if
(
e
.
which
===
3
||
e
.
which
===
2
)
{
e
.
stopPropagation
()
e
.
stopPropagation
()
;
return
return
;
}
}
document
.
addEventListener
(
'mousemove'
,
mousemove
)
document
.
addEventListener
(
'mousemove'
,
mousemove
)
;
document
.
addEventListener
(
'mouseup'
,
mouseup
)
document
.
addEventListener
(
'mouseup'
,
mouseup
)
;
_this
.
dragDown
&&
_this
.
dragDown
(
e
.
pageX
,
dataAction
,
e
)
_this
.
dragDown
&&
_this
.
dragDown
(
e
.
pageX
,
dataAction
,
e
)
;
}
}
;
}
}
},
},
props
:
{
props
:
{
...
@@ -59,45 +59,45 @@ export default {
...
@@ -59,45 +59,45 @@ export default {
type
:
Object
,
type
:
Object
,
required
:
true
,
required
:
true
,
default
:
function
()
{
default
:
function
()
{
return
{
step
:
0.1
,
min
:
0
,
max
:
10
,
val
:
0
,
cut
:
[
0
,
10
]
}
return
{
step
:
0.1
,
min
:
0
,
max
:
10
,
val
:
0
,
cut
:
[
0
,
10
]
}
;
}
}
}
}
},
},
data
()
{
data
()
{
return
{
return
{
width
:
100
width
:
100
}
}
;
},
},
methods
:
{
methods
:
{
dragDown
(
dis
,
action
)
{
dragDown
(
dis
,
action
)
{
if
(
!
action
)
return
if
(
!
action
)
return
;
this
.
width
=
this
.
$refs
.
sliderWidth
.
clientWidth
this
.
width
=
this
.
$refs
.
sliderWidth
.
clientWidth
;
this
.
action
=
action
this
.
action
=
action
;
this
.
dragHand
=
true
this
.
dragHand
=
true
;
this
.
mpos
=
{
this
.
mpos
=
{
x
:
dis
,
x
:
dis
,
v
:
this
.
info
.
val
v
:
this
.
info
.
val
}
}
;
this
.
$emit
(
'changeData'
,
{
val
:
this
.
mpos
.
v
,
action
:
action
,
type
:
'start'
})
this
.
$emit
(
'changeData'
,
{
val
:
this
.
mpos
.
v
,
action
:
action
,
type
:
'start'
})
;
},
},
dragMove
(
pos
)
{
dragMove
(
pos
)
{
if
(
!
this
.
action
)
return
if
(
!
this
.
action
)
return
;
let
val
=
0
let
val
=
0
;
console
.
log
(
pos
,
'<_-------------'
)
console
.
log
(
pos
,
'<_-------------'
)
;
// let pre = Math.round(((pos.x - this.mpos.x) / 120 * this.item.len + this.mpos.v) / this.item.step) / (1 / this.item.step);
// let pre = Math.round(((pos.x - this.mpos.x) / 120 * this.item.len + this.mpos.v) / this.item.step) / (1 / this.item.step);
// this.item.val = pre > this.item.max ? this.item.max : pre
<
this
.
item
.
min
?
this
.
item
.
min
:
pre
;
// this.item.val = pre > this.item.max ? this.item.max : pre
<
this
.
item
.
min
?
this
.
item
.
min
:
pre
;
this
.
$emit
(
'changeData'
,
{
val
:
val
,
action
:
this
.
action
,
type
:
'change'
})
this
.
$emit
(
'changeData'
,
{
val
:
val
,
action
:
this
.
action
,
type
:
'change'
})
;
},
},
dragUp
()
{
dragUp
()
{
if
(
!
this
.
action
)
return
if
(
!
this
.
action
)
return
;
let
val
=
0
let
val
=
0
;
this
.
mpos
=
null
this
.
mpos
=
null
;
this
.
dragHand
=
false
this
.
dragHand
=
false
;
this
.
action
=
''
this
.
action
=
''
;
this
.
$emit
(
'changeData'
,
{
val
:
val
,
action
:
this
.
action
,
type
:
'end'
})
this
.
$emit
(
'changeData'
,
{
val
:
val
,
action
:
this
.
action
,
type
:
'end'
})
;
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.video-timeline
{
.video-timeline
{
...
...
src/main.js
View file @
9f9a61d1
import
Vue
from
'vue'
import
Vue
from
'vue'
;
import
App
from
'./App.vue'
import
App
from
'./App.vue'
;
import
router
from
'./router'
import
router
from
'./router'
;
import
store
from
'./store'
import
store
from
'./store'
;
import
'./registerServiceWorker'
import
'./registerServiceWorker'
;
import
'./assets/style/index.scss'
import
'./assets/style/index.scss'
;
import
axios
from
'axios'
import
axios
from
'axios'
;
import
VueBus
from
'vue-bus'
import
VueBus
from
'vue-bus'
;
import
VModal
from
'vue-js-modal'
import
VModal
from
'vue-js-modal'
;
Vue
.
use
(
VueBus
)
Vue
.
use
(
VueBus
)
;
Vue
.
use
(
VModal
)
Vue
.
use
(
VModal
)
;
import
baseURL
from
'../config/baseUrl.js'
import
baseURL
from
'../config/baseUrl.js'
;
console
.
log
(
'baseURL:'
,
baseURL
)
console
.
log
(
'baseURL:'
,
baseURL
)
;
Vue
.
config
.
productionTip
=
false
Vue
.
config
.
productionTip
=
false
;
Vue
.
prototype
.
$http
=
axios
Vue
.
prototype
.
$http
=
axios
;
new
Vue
({
new
Vue
({
router
,
router
,
store
,
store
,
render
:
(
h
)
=>
h
(
App
)
render
:
(
h
)
=>
h
(
App
)
}).
$mount
(
'#app'
)
}).
$mount
(
'#app'
)
;
src/registerServiceWorker.js
View file @
9f9a61d1
/* eslint-disable no-console */
/* eslint-disable no-console */
import
{
register
}
from
'register-service-worker'
import
{
register
}
from
'register-service-worker'
;
if
(
process
.
env
.
NODE_ENV
===
'production'
)
{
if
(
process
.
env
.
NODE_ENV
===
'production'
)
{
register
(
`
${
process
.
env
.
BASE_URL
}
service-worker.js`
,
{
register
(
`
${
process
.
env
.
BASE_URL
}
service-worker.js`
,
{
ready
()
{
ready
()
{
console
.
log
(
'App is being served from cache by a service worker.
\
n'
+
'For more details, visit https://goo.gl/AFskqB'
)
console
.
log
(
'App is being served from cache by a service worker.
\
n'
+
'For more details, visit https://goo.gl/AFskqB'
)
;
},
},
registered
()
{
registered
()
{
console
.
log
(
'Service worker has been registered.'
)
console
.
log
(
'Service worker has been registered.'
)
;
},
},
cached
()
{
cached
()
{
console
.
log
(
'Content has been cached for offline use.'
)
console
.
log
(
'Content has been cached for offline use.'
)
;
},
},
updatefound
()
{
updatefound
()
{
console
.
log
(
'New content is downloading.'
)
console
.
log
(
'New content is downloading.'
)
;
},
},
updated
()
{
updated
()
{
console
.
log
(
'New content is available; please refresh.'
)
console
.
log
(
'New content is available; please refresh.'
)
;
},
},
offline
()
{
offline
()
{
console
.
log
(
'No internet connection found. App is running in offline mode.'
)
console
.
log
(
'No internet connection found. App is running in offline mode.'
)
;
},
},
error
(
error
)
{
error
(
error
)
{
console
.
error
(
'Error during service worker registration:'
,
error
)
console
.
error
(
'Error during service worker registration:'
,
error
)
;
}
}
})
})
;
}
}
src/router/index.js
View file @
9f9a61d1
import
Vue
from
'vue'
import
Vue
from
'vue'
;
import
VueRouter
from
'vue-router'
import
VueRouter
from
'vue-router'
;
import
Bao3
from
'../views/bao3.vue'
import
Bao3
from
'../views/bao3.vue'
;
import
Screenshot
from
'../views/screenshot.vue'
import
Screenshot
from
'../views/screenshot.vue'
;
import
screenshotPanel
from
'../components/rightPanel/screenshotPanel.vue'
import
screenshotPanel
from
'../components/rightPanel/screenshotPanel.vue'
;
Vue
.
use
(
VueRouter
)
Vue
.
use
(
VueRouter
)
;
const
routes
=
[
const
routes
=
[
{
{
...
@@ -37,12 +37,12 @@ const routes = [
...
@@ -37,12 +37,12 @@ const routes = [
panel
:
screenshotPanel
panel
:
screenshotPanel
}
}
}
}
]
]
;
const
router
=
new
VueRouter
({
const
router
=
new
VueRouter
({
mode
:
'history'
,
mode
:
'history'
,
base
:
process
.
env
.
BASE_URL
,
base
:
process
.
env
.
BASE_URL
,
routes
routes
})
})
;
export
default
router
export
default
router
;
src/store/global.js
View file @
9f9a61d1
...
@@ -3,19 +3,19 @@
...
@@ -3,19 +3,19 @@
const
state
=
{
const
state
=
{
_test
:
1
_test
:
1
}
}
;
const
getters
=
{
const
getters
=
{
test
:
(
state
)
=>
state
.
_test
test
:
(
state
)
=>
state
.
_test
}
}
;
const
mutations
=
{}
const
mutations
=
{}
;
const
actions
=
{}
const
actions
=
{}
;
export
default
{
export
default
{
state
,
state
,
getters
,
getters
,
mutations
,
mutations
,
actions
actions
}
}
;
src/store/index.js
View file @
9f9a61d1
import
Vue
from
'vue'
import
Vue
from
'vue'
;
import
Vuex
from
'vuex'
import
Vuex
from
'vuex'
;
import
global
from
'./global'
import
global
from
'./global'
;
import
moduleA
from
'./modules/moduleA'
import
moduleA
from
'./modules/moduleA'
;
import
uploader
from
'./modules/uploader'
import
uploader
from
'./modules/uploader'
;
Vue
.
use
(
Vuex
)
Vue
.
use
(
Vuex
)
;
export
default
new
Vuex
.
Store
({
export
default
new
Vuex
.
Store
({
...
global
,
...
global
,
...
@@ -13,4 +13,4 @@ export default new Vuex.Store({
...
@@ -13,4 +13,4 @@ export default new Vuex.Store({
moduleA
,
moduleA
,
uploader
uploader
}
}
})
})
;
src/store/modules/moduleA.js
View file @
9f9a61d1
...
@@ -3,15 +3,15 @@
...
@@ -3,15 +3,15 @@
const
state
=
{
const
state
=
{
_moduleState
:
'moduleState'
_moduleState
:
'moduleState'
}
}
;
const
getters
=
{
const
getters
=
{
moduleState
:
(
state
)
=>
state
.
_moduleState
moduleState
:
(
state
)
=>
state
.
_moduleState
}
}
;
const
mutations
=
{}
const
mutations
=
{}
;
const
actions
=
{}
const
actions
=
{}
;
export
default
{
export
default
{
namespaced
:
true
,
namespaced
:
true
,
...
@@ -19,4 +19,4 @@ export default {
...
@@ -19,4 +19,4 @@ export default {
getters
,
getters
,
mutations
,
mutations
,
actions
actions
}
}
;
src/store/modules/uploader.js
View file @
9f9a61d1
...
@@ -3,20 +3,20 @@
...
@@ -3,20 +3,20 @@
const
state
=
{
const
state
=
{
video
:
{}
video
:
{}
}
}
;
const
getters
=
{
const
getters
=
{
video
:
(
state
)
=>
state
.
video
video
:
(
state
)
=>
state
.
video
}
}
;
const
mutations
=
{}
const
mutations
=
{}
;
const
actions
=
{
const
actions
=
{
async
upload
(
store
,
payload
)
{
async
upload
(
store
,
payload
)
{
console
.
log
(
'turbo: upload -> store, payload'
,
store
,
payload
)
console
.
log
(
'turbo: upload -> store, payload'
,
store
,
payload
)
;
},
},
async
storeMaterial
()
{}
async
storeMaterial
()
{}
}
}
;
export
default
{
export
default
{
namespaced
:
true
,
namespaced
:
true
,
...
@@ -24,4 +24,4 @@ export default {
...
@@ -24,4 +24,4 @@ export default {
getters
,
getters
,
mutations
,
mutations
,
actions
actions
}
}
;
src/views/bao2.vue
View file @
9f9a61d1
...
@@ -7,11 +7,11 @@
...
@@ -7,11 +7,11 @@
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{}
return
{}
;
},
},
created
()
{},
created
()
{},
mounted
()
{}
mounted
()
{}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/views/bao3.vue
View file @
9f9a61d1
...
@@ -8,11 +8,11 @@
...
@@ -8,11 +8,11 @@
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{}
return
{}
;
},
},
created
()
{},
created
()
{},
mounted
()
{}
mounted
()
{}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/views/screenshot.vue
View file @
9f9a61d1
...
@@ -40,26 +40,26 @@ export default {
...
@@ -40,26 +40,26 @@ export default {
videoEle
:
null
,
videoEle
:
null
,
current
:
0
,
current
:
0
,
duration
:
10
duration
:
10
}
}
;
},
},
created
()
{},
created
()
{},
mounted
()
{
mounted
()
{
let
input
=
document
.
getElementById
(
'screenshot-input'
)
let
input
=
document
.
getElementById
(
'screenshot-input'
)
;
let
fileBtn
=
document
.
getElementById
(
'select-btn'
)
let
fileBtn
=
document
.
getElementById
(
'select-btn'
)
;
fileBtn
.
addEventListener
(
'click'
,
function
()
{
fileBtn
.
addEventListener
(
'click'
,
function
()
{
input
.
click
()
input
.
click
()
;
})
})
;
let
video
=
document
.
getElementById
(
'screenshot-video'
)
let
video
=
document
.
getElementById
(
'screenshot-video'
)
;
video
.
onerror
=
function
(
e
)
{
video
.
onerror
=
function
(
e
)
{
console
.
log
(
'onerror'
,
e
)
console
.
log
(
'onerror'
,
e
)
;
}
}
;
video
.
addEventListener
(
'loadedmetadata'
,
function
(
e
)
{
video
.
addEventListener
(
'loadedmetadata'
,
function
(
e
)
{
console
.
log
(
'loadedmetadata'
,
e
)
console
.
log
(
'loadedmetadata'
,
e
)
;
//webkitVideoDecodedByteCount
//webkitVideoDecodedByteCount
if
(
e
.
target
.
webkitVideoDecodedByteCount
<
1
)
{
if
(
e
.
target
.
webkitVideoDecodedByteCount
<
1
)
{
console
.
error
(
'格式不支持'
)
console
.
error
(
'格式不支持'
)
;
}
}
})
})
;
//loadedmetadata
//loadedmetadata
},
},
...
@@ -67,11 +67,11 @@ export default {
...
@@ -67,11 +67,11 @@ export default {
changeFile
(
e
)
{
changeFile
(
e
)
{
//console.log('changeFile', e)
//console.log('changeFile', e)
if
(
e
.
target
.
files
[
0
])
{
if
(
e
.
target
.
files
[
0
])
{
this
.
srcUrl
=
URL
.
createObjectURL
(
e
.
target
.
files
[
0
])
this
.
srcUrl
=
URL
.
createObjectURL
(
e
.
target
.
files
[
0
])
;
}
}
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
src/views/videoConverter.vue
View file @
9f9a61d1
...
@@ -5,19 +5,19 @@
...
@@ -5,19 +5,19 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
taskEdit
from
'@/components/videoConverter/taskEdit'
import
taskEdit
from
'@/components/videoConverter/taskEdit'
;
export
default
{
export
default
{
name
:
'VideoConverter'
,
name
:
'VideoConverter'
,
components
:
{
taskEdit
},
components
:
{
taskEdit
},
props
:
{},
props
:
{},
data
()
{
data
()
{
return
{}
return
{}
;
},
},
computed
:
{},
computed
:
{},
watch
:
{},
watch
:
{},
created
()
{},
created
()
{},
methods
:
{}
methods
:
{}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/views/videoCutter.vue
View file @
9f9a61d1
...
@@ -48,50 +48,50 @@ export default {
...
@@ -48,50 +48,50 @@ export default {
canPlay
:
false
,
canPlay
:
false
,
noWater
:
true
,
noWater
:
true
,
timelineObj
:
{
step
:
0.1
,
min
:
0
,
max
:
10
,
val
:
0
}
timelineObj
:
{
step
:
0.1
,
min
:
0
,
max
:
10
,
val
:
0
}
}
}
;
},
},
created
()
{},
created
()
{},
mounted
()
{
mounted
()
{
this
.
$bus
.
on
(
'VideoCutter.canPlay'
,
this
.
canPlayFunc
)
this
.
$bus
.
on
(
'VideoCutter.canPlay'
,
this
.
canPlayFunc
)
;
},
},
methods
:
{
methods
:
{
changeVideo
()
{
changeVideo
()
{
console
.
log
(
'todo change video, <-----lilei'
)
console
.
log
(
'todo change video, <-----lilei'
)
;
},
},
canPlayFunc
(
data
)
{
canPlayFunc
(
data
)
{
this
.
duration
=
data
this
.
duration
=
data
;
this
.
timelineObj
.
max
=
this
.
duration
this
.
timelineObj
.
max
=
this
.
duration
;
this
.
canPlay
=
true
this
.
canPlay
=
true
;
},
},
videoPlay
()
{
videoPlay
()
{
if
(
!
this
.
canPlay
)
return
if
(
!
this
.
canPlay
)
return
;
let
ob
=
{}
let
ob
=
{}
;
if
(
this
.
playing
)
{
if
(
this
.
playing
)
{
ob
.
play
=
false
ob
.
play
=
false
;
}
else
{
}
else
{
ob
.
play
=
true
ob
.
play
=
true
;
if
(
this
.
nowTime
>=
this
.
duration
)
{
if
(
this
.
nowTime
>=
this
.
duration
)
{
ob
.
time
=
0
ob
.
time
=
0
;
this
.
timelineObj
.
val
=
0
this
.
timelineObj
.
val
=
0
;
}
}
}
}
this
.
playing
=
!
this
.
playing
this
.
playing
=
!
this
.
playing
;
this
.
$bus
.
emit
(
'videoPlayer.play'
,
ob
)
this
.
$bus
.
emit
(
'videoPlayer.play'
,
ob
)
;
},
},
changeTime
(
data
)
{
changeTime
(
data
)
{
console
.
log
(
data
)
console
.
log
(
data
)
;
},
},
playEnd
()
{
playEnd
()
{
this
.
playing
=
false
this
.
playing
=
false
;
this
.
nowTime
=
this
.
duration
this
.
nowTime
=
this
.
duration
;
this
.
timelineObj
.
val
=
this
.
nowTime
this
.
timelineObj
.
val
=
this
.
nowTime
;
},
},
timeupdate
(
time
)
{
timeupdate
(
time
)
{
this
.
nowTime
=
time
this
.
nowTime
=
time
;
this
.
timelineObj
.
val
=
this
.
nowTime
this
.
timelineObj
.
val
=
this
.
nowTime
;
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment