diff --git a/src/components/Side.vue b/src/components/Side.vue
index 3778375..ac0fefa 100644
--- a/src/components/Side.vue
+++ b/src/components/Side.vue
@@ -19,7 +19,7 @@
删除
- 编辑标签
+ 编辑标签
更新
分享
@@ -37,7 +37,7 @@
下载
- {{scoped.row.isCollect ? '取消收藏' : '收藏'}}
+ {{scoped.row.isCollect ? '取消收藏' : '收藏'}}
在线看
@@ -59,20 +59,27 @@
视频长度:{{props.row.duration}}
分辨率:{{props.row.resolution}}
任务创建时间:{{props.row.createTimeDisplay}}
+ 标签:{{props.row.tag === '' ? '无': props.row.tag}}
+
+ downloader:{{props.row.downloader}}
+
+
+ 删除
+ 编辑标签
-
+
{{scoped.row.name}}
-
+
下载
- 删除
+ {{scoped.row.isCollect ? '取消收藏' : '收藏'}}
在线播放
@@ -130,7 +137,7 @@
- 提交修改
+ 提交修改
@@ -170,6 +177,7 @@ let player = ref()
//临时变量
let tempTag = ref("")
let tempGid = ref("")
+let tempId = ref("")
let showNameType = ref("shortName") // shortName name
let showType = ref("gallery") // gallery video collect
@@ -216,6 +224,7 @@ let isLion = computed(() => {
return store.state.userId === 3
})
+//在线预览相关
let currentLinks = computed(() => {
return store.state.currentLinks
})
@@ -281,23 +290,40 @@ function changeSortType(){
}
//收藏,编辑标签,提交编辑
-function changeCollect(gid, isCollect){
+function changeGalleryCollect(gid, isCollect){
if(isCollect)
store.dispatch("disCollectGallery", gid)
else
store.dispatch("collectGallery", gid)
}
-function editTag(gid, tag){
+function changeVideoCollect(id, isCollect){
+ if(isCollect)
+ store.dispatch("disCollectVideo", id)
+ else
+ store.dispatch("collectVideo", id)
+}
+function editGalleryTag(gid, tag){
tempTag.value = tag
tempGid.value = gid
isEditingTag.value = true
}
-function submitTag(){
+function editVideoTag(id, tag){
+ tempTag.value = tag
+ tempId.value = id
+ isEditingTag.value = true
+}
+function submitGalleryTag(){
store.dispatch("updateTag", {gid:tempGid.value, tag:tempTag.value})
tempTag.value = ''
tempGid.value = ''
isEditingTag.value = false
}
+function submitVideoTag(){
+ store.dispatch("updateVideoTag", {id:tempId.value, tag:tempTag.value})
+ tempTag.value = ''
+ tempId.value = ''
+ isEditingTag.value = false
+}
//下载,删除,在线看
function downloadTask(link){
diff --git a/src/store/index.js b/src/store/index.js
index d0e371e..1f1174f 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -2,7 +2,6 @@ import vuex from "vuex"
import axios from "axios"
import {ElMessage} from "element-plus"
import qs from "qs"
-import moment from 'moment'
const BaseUrl = "http://downloader.lionwebsite.xyz/"
const GalleryManageUrl = BaseUrl + "GalleryManage"
const VideoManageUrl = BaseUrl + "VideoManage"
@@ -153,7 +152,7 @@ const actions = {
validate(context, AuthCode){
axios.post(BaseUrl + "validate?AuthCode=" + AuthCode).then((res)=>{
if(res.data.result === 'success'){
- context.commit("_authed", {AuthCode, userId: parseInt(res.data.data)})
+ context.commit("_authed", {AuthCode, ...JSON.parse(res.data.data)})
//初始化
context.dispatch("loadMaskDomain").then()
context.dispatch("loadWeekUsedAmount").then()
@@ -207,9 +206,18 @@ const actions = {
context.commit("_collectGallery", gid)
})
},
+ collectVideo(context, id){
+ axios.post(VideoManageUrl + "/collect?" + qs.stringify({
+ id,
+ userId: state.userId
+ })).then((res) => {
+ ElMessage(res.data.data)
+ if(res.data.result === 'success')
+ context.commit("_collectVideo", id)
+ })
+ },
disCollectGallery(context, gid){
- axios.post(GalleryManageUrl + "/disCollect?" + qs.stringify(
- {
+ axios.post(GalleryManageUrl + "/disCollect?" + qs.stringify({
gid,
id:state.userId
})).then((res) => {
@@ -218,11 +226,28 @@ const actions = {
context.commit("_disCollectGallery", gid)
})
},
- updateTag(context, data){
+ disCollectVideo(context, id){
+ axios.post(VideoManageUrl + "/disCollect?" + qs.stringify({
+ id,
+ userId: state.userId
+ })).then((res) => {
+ ElMessage(res.data.data)
+ if(res.data.result === "success")
+ context.commit("_disCollectVideo", id)
+ })
+ },
+ updateGalleryTag(context, data){
axios.post(GalleryManageUrl + "/tag?" + qs.stringify(data)).then((res) => {
ElMessage(res.data.data)
if(res.data.result === 'success')
- context.commit("_updateTag", data)
+ context.commit("_updateGalleryTag", data)
+ })
+ },
+ updateVideoTag(context, data){
+ axios.post(VideoManageUrl + "/tag?" + qs.stringify(data)).then((res) => {
+ ElMessage(res.data.data)
+ if(res.data.result === 'success')
+ context.commit("_updateVideoTag", data)
})
},
deleteGallery(context, gid){
@@ -279,6 +304,14 @@ const mutations = {
}
})
},
+ _collectVideo(state, id){
+ state.totalVideoTask.forEach((video) => {
+ if(!video.isCollect && video.id === id){
+ video.isCollect = true
+ state.collectVideo.push(video)
+ }
+ })
+ },
_disCollectGallery(state, gid){
state.collectGallery.splice(0)
state.totalGalleryTask.forEach((gallery) => {
@@ -289,18 +322,38 @@ const mutations = {
state.collectGallery.push(gallery)
})
},
- _updateTag(state, data){
+ _disCollectVideo(state, id){
+ state.collectVideo.splice(0)
+ state.totalVideoTask.forEach((video) => {
+ if(video.isCollect && video.id === id)
+ video.isCollect = false
+
+ else if(video.isCollect)
+ state.collectVideo.push(video)
+
+ })
+ },
+ _updateGalleryTag(state, data){
state.totalGalleryTask.forEach((gallery) => {
if(gallery.gid === data.gid){
gallery.tag = data.tag
}
})
},
+ _updateVideoTag(state, data){
+ state.totalVideoTask.forEach((video) => {
+ if(video.id === data.id){
+ video.tag = data.tag
+ }
+ })
+ },
_updateGalleryTasks(state, data){
let {tasks, type} = data
if(type === 'all') {
state.totalGalleryTask.splice(0)
state.collectGallery.slice(0)
+ state.downloadGallery.splice(0)
+
tasks.forEach((task) => {
//处理名字
task.shortName = getShortname(task.name)
@@ -326,7 +379,7 @@ const mutations = {
}
//处理时间戳
- task.createTimeDisplay = moment(task.createTime * 1000).format("YYYY-MM-DD HH:mm:ss")
+ task.createTimeDisplay = new Date(task.createTime * 1000).toLocaleString("zh")
//处理标签
if (task.tag === undefined) {
@@ -348,6 +401,10 @@ const mutations = {
task.isCollect = false
}
+ //处理是否下载
+ if(task.downloader === state.username)
+ state.downloadGallery.push(task)
+
state.totalGalleryTask.push(task)
})
}
@@ -401,8 +458,12 @@ const mutations = {
let {tasks, type} = data
if(type === 'all') {
state.totalVideoTask.splice(0)
+ state.collectVideo.splice(0)
+ state.downloadVideo.splice(0)
+
tasks.forEach((task) => {
task.progress = task.status
+ //视频下载很快,所以不太注重下载进度
if (task.status === "下载完成") {
let tempLink
let url = new URL(task.link)
@@ -412,8 +473,35 @@ const mutations = {
tempLink = task.link.replace(mask['raw'], mask['mask'])
})
task.download = VideoManageUrl + "/file/" + encodeURI(task.name) + "?link=" + tempLink + "&AuthCode=" + state.AuthCode
- task.createTimeDisplay = moment(task.createTime * 1000).format("YYYY-MM-DD HH:mm:ss")
}
+
+ //处理时间戳
+ task.createTimeDisplay = new Date(task.createTime * 1000).toLocaleString("zh")
+
+ //处理标签
+ if(task.tag === undefined)
+ task.tag = ""
+
+ //处理是否收藏
+ if(task.collector !== undefined){
+ let collector = task.collector.split(",")
+ delete task.collector
+ for(let i=0; i