@@ -153,12 +195,13 @@ import axios from "axios";
let AuthCode = ref("")
let isRemember = ref(false)
let isAlterAuthCode = ref(false)
-let isConfigDarkMode = ref(false)
-let isDark = ref(false)
let newAuthCode = ref("")
let tempAuthCode = ref("")
let isQuerying = ref(false)
+let isViewingTag = ref(false)
+let isConfigDarkMode = ref(false)
+let isDark = ref(false)
let keyword = ref("furry yaoi")
let galleries = ref([])
let queryPage = ref({})
@@ -167,15 +210,19 @@ let darkConfig = ref({})
//查询相关
let type = ref("link")
let param = ref("")
+let paramForTags = ref([]) //tidS
let targetResolution = ref("")
let tag = ref("")
+let tagKeyWord = ref("") //查询tag的关键字
let realAuthCode = computed(() => {
return store.state.AuthCode
})
let chosenGallery = computed(() => {
+ paramForTags.value.splice(0)
+ param.value = ''
return store.state.chosenGallery
})
@@ -186,11 +233,40 @@ let loadComplete = computed(() => {
let weekUsed = computed(() => {
return store.state.weekUsed
})
+let tags = computed(() => {
+ let tags = store.state.tags
+ let result = []
+ tags.forEach((tag) => {
+ result.push(tag)
+ })
+
+ if(isViewingTag.value) { //正在查看标签
+ if (tagKeyWord.value.trim() === '')
+ return result
+ else
+ return result.filter((tag) => {
+ return tag.tag.includes(tagKeyWord.value)
+ })
+ }
+ return result
+})
let thumbnailGallery = computed(() => {
return store.state.thumbnailGallery
})
+function pullNewTag(){
+ store.dispatch("loadTags")
+}
+
+function postTag(){
+ store.dispatch("postTag", tag.value)
+}
+
+function deleteTag(tid){
+ store.dispatch("deleteTag", tid)
+}
+
//修改授权码
function alterAuthCode(){
if(newAuthCode.value.trim() === "" || tempAuthCode.value.trim() === "" || newAuthCode.value !== tempAuthCode.value)
@@ -209,7 +285,7 @@ function queryWeekUsedAmount(){
}
function postTask(){
- if(!validateLink(param.value)){
+ if(!validateLink(chosenGallery.value.link)){
ElMessage("链接错误")
return
}
@@ -217,8 +293,10 @@ function postTask(){
ElMessage("请选择分辨率再提交")
return
}
- let tempLink = coverLink(param.value)
- store.dispatch("postGalleryTask", {link: tempLink, targetResolution: targetResolution.value, tag:tag.value})
+ let tempLink = coverLink(chosenGallery.value.link)
+ store.dispatch("postGalleryTask", {link: tempLink,
+ targetResolution: targetResolution.value,
+ tags:tag.value})
targetResolution.value = ""
}
@@ -240,10 +318,89 @@ function queryLocalTask(){
store.commit("_searchLocalByKeyword", param.value)
break
case "tag":
- store.commit("_searchLocalByTag", param.value.includes(",") ? param.value.split(","): [param.value])
+ store.commit("_searchLocalByTag", paramForTags.value)
break
}
}
+let tagInput = ref({}) //用于查询
+let tagInputForSubmit = ref({}) //用于提交
+function completeQueryTag(keyWord, cb) {
+ if(keyWord.includes(' ')) { //查询多个标签的时候
+ let temp = keyWord.split(' ')
+ keyWord = temp[temp.length - 1]
+ }else{ //只有一个标签的时候
+ keyWord = param.value
+ }
+ let result = []
+ let skip
+ let hit = false //用于检测是否有重复标签
+ tags.value.forEach((tag) => {
+ if(tag.tag.includes(keyWord)) {
+ skip = false
+ for (let id of paramForTags.value) { //跳过已选中的标签
+ if(tag.id === id){
+ if(!hit && tag.tag === keyWord){ //是否命中标签
+ hit = true
+ }
+ skip = true
+ break
+ }
+ }
+ if(!skip)
+ result.push({value: tag.tag, tid: tag.id})
+ }
+ })
+ if(result.length === 0 && chosenGallery.value.gid !== undefined && !hit){ //未命中结果并且准备与下载任务一并提交
+ result.push({value: '新建 #' + keyWord + ' 标签?', tag:keyWord})
+ }
+ cb(result)
+}
+
+function removeQueryTag(tid){
+ for (let i=0; i
{
+ if (res.data.result === 'success') {
+ ElMessage('创建标签成功')
+ paramForTags.value.push(parseInt(res.data.tid))
+ tagInputForSubmit.value.blur()
+ store.dispatch("loadTags", false).then()
+ }
+ else
+ ElMessage(res.data.data)
+ })}else{
+ paramForTags.value.push(data.tid)
+ console.log(chosenGallery)
+ if(chosenGallery.value.gid === undefined){
+ queryLocalTask()
+ tagInput.value.blur()
+ }else{
+ tagInputForSubmit.value.blur()
+ }
+ }
+ param.value = ''
+}
+
function resetLocalQuery(){
store.commit("_searchLocalByKeyword", "")
store.commit("_searchLocalByTag", [''])
diff --git a/src/components/Side.vue b/src/components/Side.vue
index 2066612..bb5b4e6 100644
--- a/src/components/Side.vue
+++ b/src/components/Side.vue
@@ -24,7 +24,7 @@
{{props.row.isCollect ? '取消收藏' : '收藏'}}
在线看
预览封面
- 编辑标签
+ 编辑标签
更新本子
@@ -88,20 +88,20 @@