diff --git a/src/components/DashBoard.vue b/src/components/DashBoard.vue
index 6af8f3d..e6f0feb 100644
--- a/src/components/DashBoard.vue
+++ b/src/components/DashBoard.vue
@@ -38,13 +38,14 @@
里站搜索
查看标签
-
+
{{thumbnailGallery.shortName}}
标签:{{thumbnailGallery.tag}}
-
+
@@ -277,6 +278,14 @@ function postTask(){
}
//查询任务
+function queryRemoteTask(){
+ if(!validateLink(param.value)){
+ ElMessage("链接错误")
+ return
+ }
+ let tempLink = coverLink(param.value)
+ store.dispatch("queryGalleryTask", tempLink)
+}
function queryLocalTask(){
switch (type.value){
case "link":
diff --git a/src/components/HentaiSearch.vue b/src/components/HentaiSearch.vue
index bb0c620..30b849f 100644
--- a/src/components/HentaiSearch.vue
+++ b/src/components/HentaiSearch.vue
@@ -85,8 +85,8 @@ function close(){
-
import {computed, ref, watch} from "vue";
import store from "../store/index.js";
-let props = defineProps(['currentLinks', 'isOnlineReading'])
+let props = defineProps(['currentGallery', 'isOnlineReading'])
let isShowUp = ref()
let onlineReadingScrollbar = ref()
let links = ref()
@@ -19,12 +19,12 @@ watch(props, (props)=>{
//切换本子
function alterPage(){
- console.log(lengthPerPage.value, props.currentLinks.length)
- if(props.currentLinks.length > lengthPerPage.value){
- links.value = props.currentLinks.slice(0, lengthPerPage.value)
- max.value = Math.ceil(props.currentLinks.length / lengthPerPage.value)
+ if(props.currentGallery.images.length > lengthPerPage.value){
+ links.value = props.currentGallery.images.slice(0, lengthPerPage.value)
+ max.value = Math.ceil(props.currentGallery.images.length / lengthPerPage.value)
}else{
- links.value = props.currentLinks
+ links.value = props.currentGallery.images
+ max.value = 0
}
index.value = 0
temp_index.value = 1
@@ -32,7 +32,7 @@ function alterPage(){
//跳转到对应页数
function jump(targetIndex){
- links.value = props.currentLinks.slice(targetIndex * lengthPerPage.value, (targetIndex + 1) * lengthPerPage.value)
+ links.value = props.currentGallery.images.slice(targetIndex * lengthPerPage.value, (targetIndex + 1) * lengthPerPage.value)
index.value = targetIndex
temp_index.value = targetIndex + 1
onlineReadingScrollbar.value.setScrollTop(0)
@@ -44,16 +44,17 @@ function closeDialog(){
-
-
- 在线预览
+
+
+ 在线预览: {{currentGallery.name}} 页数:{{currentGallery.pages}}
- {{index + 1}} - {{(index) * lengthPerPage + 1}} ~ {{(index + 1) * lengthPerPage + 1 > currentLinks.length? currentLinks.length: (index + 1) * lengthPerPage + 1}}
+ {{ index + 1 }} - {{ (index) * lengthPerPage + 1 }} ~
+ {{ (index + 1) * lengthPerPage + 1 > currentGallery.images.length ? currentGallery.images.length : (index + 1) * lengthPerPage }}
+ :preview-src-list="currentGallery.images" :initial-index="index * lengthPerPage + i" loading="lazy"/>
@@ -71,7 +72,7 @@ function closeDialog(){
1 <
< {{max}}
- 下一页
+ 下一页
跳转
diff --git a/src/components/Side.vue b/src/components/Side.vue
index a4d064a..da1e97a 100644
--- a/src/components/Side.vue
+++ b/src/components/Side.vue
@@ -6,6 +6,7 @@
:empty-text="emptyText"
:row-key="gallery=>gallery.gid"
class="table"
+ @cellMouseEnter="showThumbnail"
>
@@ -31,9 +32,7 @@
-
- {{galleryNameType === 'shortName' ? scoped.row.shortName: scoped.row.name}}
-
+ {{galleryNameType === 'shortName' ? scoped.row.shortName: scoped.row.name}}
@@ -42,7 +41,7 @@
下载
{{scoped.row.isCollect ? '取消收藏' : '收藏'}}
- 在线看
+ 在线看
@@ -111,7 +110,7 @@
-
+
请输入授权码后再查看
@@ -124,12 +123,16 @@ import axios from "axios";
import {ElMessage} from "element-plus";
import OnlineReader from "./OnlineReader.vue";
+let link = "https://downloader.lionwebsite.xyz/GalleryManage/"
+
//输入
let inputNode = ref(null)
//是否正在编辑页数
let isEditingPage = ref(false)
//是否正在编辑标签
let isEditingTag = ref(false)
+//是否预览本子
+let isOnlineReading = ref(false)
//临时变量
let galleryForTag = ref({})
@@ -151,9 +154,6 @@ let loadComplete = computed(() => {
let currentTasks = computed(() => {
return store.getters.currentTasks ? store.getters.currentTasks: null
})
-let isOnlineReading = computed(() => {
- return store.state.isOnlineReading
-})
let min = computed(() => {
return store.getters.min
@@ -177,9 +177,7 @@ let emptyText = computed(() => {
})
//在线预览相关
-let currentLinks = computed(() => {
- return store.state.currentLinks
-})
+let currentGallery = ref({name:"name"})
let imageWidth = computed(() => {
return store.state.imageWidth
})
@@ -309,8 +307,9 @@ function updateGallery(link){
function deleteGallery(gid){
store.dispatch("deleteGallery", gid)
}
-function onlineGalleryReader(gid){
- store.dispatch("queryOnlineLinks", gid)
+function onlineGalleryReader(gallery){
+ currentGallery.value = gallery
+ isOnlineReading.value = true;
}
function shareGallery(data){
const {gid, shortName} = data
@@ -333,11 +332,12 @@ function shareGallery(data){
//显示缩略图
function showThumbnail(gallery){
- if(gallery.download !== undefined && gallery.status === "下载完成")
+ if(gallery.status === "下载完成") {
clearTimeout(debounceTimer)
debounceTimer = setTimeout(() => {
store.commit("_changeThumbnailGallery", gallery)
}, 500)
+ }
}
diff --git a/src/store/index.js b/src/store/index.js
index f73fa64..aa62801 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -74,26 +74,6 @@ const actions = {
ElMessage("查询失败")
})
},
- queryOnlineLinks(context, gid){
- // 如果本地有缓存,则直接返回,没有再请求
- if(context.state.onlineLinks[gid] !== undefined){
- context.commit("_setOnlineLinks", gid)
- }
- else {
- axios.get(GalleryManageUrl + "/onlineLinks", {
- params: {
- AuthCode: state.AuthCode,
- gid,
- }
- }).then((res) => {
- if (res.data.result === "success")
- context.commit("_addAndSetOnlineLinks", {gid, links: res.data.data})
-
- else
- ElMessage(res.data.data)
- })
- }
- },
updateGallery(context, link){
axios.post(GalleryManageUrl + "/update", qs.stringify({AuthCode: state.AuthCode, link}))
.then((res) => {
@@ -117,17 +97,6 @@ const actions = {
context.dispatch("loadWeekUsedAmount").then()
context.dispatch("updateGalleryTasks", "all").then(() => confirmCurrentTask(context.state))
- //获取图片合适长度
- // let screenWidth = window.screen.width * 0.9 - 40
- // let width
- // let i
- // for(i=3; i>0; i--)
- // if(screenWidth / i <= 350 || screenWidth / i >= 100){
- // width = screenWidth / i
- // break
- // }
- //
- // width = width - (width % 10)
//写死图片合适宽度
state.imageWidth = 27 + 'vw'
state.imagePadding = 1 + 'vw'
@@ -315,9 +284,12 @@ const mutations = {
break;
case "下载完成":
task.progress = "下载完成"
- let tempLink
- tempLink = task.link.replace("element-plus.org", "exhentai.org").replace("element.org", "e-hentai.org")
- task.download = GalleryManageUrl + "/file/" + encodeURI(task.name.replace("#", "")) + "?link=" + tempLink + "&AuthCode=" + state.AuthCode
+ task.download = GalleryManageUrl + "/file/" + encodeURI(task.name) + ".zip?AuthCode=" + state.AuthCode
+ let links = []
+ for(let i=1; i<=task.pages; i++)
+ links.push(GalleryManageUrl + "/onlineImage/" + i + "?gid=" + task.gid);
+
+ task.images = links
break;
}
@@ -358,7 +330,7 @@ const mutations = {
preDeleteIndex = -1
if(task.status !== "下载完成")
for(let i=0; i < tasks.length; i++)
- if(tasks[i].name === task.name) {
+ if (tasks[i] !== undefined && tasks[i].name === task.name) {
preDeleteIndex = i
task.status = tasks[i].status
task.proceeding = tasks[i].proceeding
@@ -574,30 +546,9 @@ const mutations = {
else
state.length = state.defaultLength
},
- _addAndSetOnlineLinks(state, data){
- let links = JSON.parse(data.links)
- state.onlineLinks[data.gid] = []
- state.currentLinks.splice(0)
- state.currentGid = data.gid
-
- links.forEach((link) => {
- state.onlineLinks[data.gid].push('https://downloader.lionwebsite.xyz/GalleryManage/onlineImage/' + link + '?gid=' + state.currentGid + '&AuthCode=' + state.AuthCode)
- state.currentLinks.push('https://downloader.lionwebsite.xyz/GalleryManage/onlineImage/' + link + '?gid=' + state.currentGid + '&AuthCode=' + state.AuthCode)
- })
-
- state.isOnlineReading = true
- },
- _setOnlineLinks(state, gid){
- state.currentLinks.splice(0)
- state.onlineLinks[gid].forEach((link) => {
- state.currentLinks.push(link)
- })
- state.currentGid = gid
- state.isOnlineReading = true
- },
_changeThumbnailGallery(state, gallery){
state.thumbnailGallery = gallery
- state.thumbnailGallery.url = GalleryManageUrl + "/thumbnail/" + encodeURIComponent(gallery.name) + ".webp?AuthCode="+state.AuthCode
+ state.thumbnailGallery.url = GalleryManageUrl + "/onlineImage/1?gid="+gallery.gid
}
}
@@ -610,10 +561,7 @@ const state = {
tags: new Map(), //可用tag
isSearch: false, //用于决定是否显示搜索结果
- onlineLinks: {}, //在线本子链接
- isOnlineReading: false, //是否在线看
currentGid: "", //当前GID
- currentLinks: [], //当前本子链接
imageWidth: "", //图片宽度
imagePadding: "", //图片padding
lengthPerPage: 0, //在线预览每页图片数量