diff --git a/index.html b/index.html
index 795e4fb..daf3a5b 100644
--- a/index.html
+++ b/index.html
@@ -3,7 +3,7 @@
-
+
Vite + Vue
diff --git a/src/components/Side.vue b/src/components/Side.vue
index b244ad0..dcfa113 100644
--- a/src/components/Side.vue
+++ b/src/components/Side.vue
@@ -21,10 +21,10 @@
下载
删除
分享
- {{props.row.isCollect ? '取消收藏' : '收藏'}}
+ {{props.row.isCollect ? '取消收藏' : '收藏'}}
在线看
预览封面
- 编辑标签
+ 编辑标签
更新本子
@@ -54,9 +54,15 @@
视频长度:{{props.row.duration}}
分辨率:{{props.row.resolution}}
任务创建时间:{{props.row.createTimeDisplay}}
+ 标签:{{props.row.tag === '' ? '无': props.row.tag}}
+
+ downloader:{{props.row.downloader}}
+
下载
删除
在线播放
+ 编辑标签
+ {{props.row.isCollect ? '取消收藏' : '收藏'}}
@@ -126,7 +132,7 @@
- 提交修改
+ 提交修改
@@ -164,6 +170,7 @@ let player = ref()
//临时变量
let tempTag = ref("")
let tempGid = ref("")
+let tempId = ref("")
let showNameType = ref("shortName") // shortName fullName
@@ -210,7 +217,7 @@ let page = computed(() => {
let isLion = computed(() => {
return store.state.userId === 3
})
-
+//在线预览链接
let currentLinks = computed(() => {
return store.state.currentLinks
})
@@ -270,23 +277,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 80bf306..7cf02de 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,8 +152,7 @@ const actions = {
validate(context, AuthCode){
axios.post(BaseUrl + "validate?AuthCode=" + AuthCode).then((res)=>{
if(res.data.result === 'success'){
- state.userId = parseInt(res.data.data)
- 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()
@@ -196,6 +194,16 @@ 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(
{
@@ -207,11 +215,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){
@@ -267,6 +292,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) => {
@@ -277,17 +310,37 @@ 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)
@@ -313,7 +366,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) {
@@ -335,6 +388,10 @@ const mutations = {
task.isCollect = false
}
+ //处理是否下载
+ if(task.downloader === state.username)
+ state.downloadGallery.push(task)
+
state.totalGalleryTask.push(task)
})
}
@@ -388,8 +445,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)
@@ -399,8 +460,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