重构 store 并修复多个 bug

- state.collectGallery.slice(0) → splice(0),修复收藏列表数据残留 bug
   - action 中 state 引用改为 context.state,遵循 Vuex 规范
   - 修复 _searchLocalByLink 中 gid 判空条件(null → undefined)
   - 修复 deleteTask splice 后索引跳过下一个元素
   - 简化 getShortname 用正则替代繁琐的手动遍历
   - 移除 loadWeekUsedAmount 冗余的成功提示弹窗
   - 添加 Axios 全局错误拦截器,统一处理网络请求失败
   - websocket 初始值 {} → null,修正类型
   - resetUndone 硬编码授权码改为从 state 获取
   - computed 移除副作用,改用 watch 实现
   - HentaiSearch 加载指示器 DOM 操作改为响应式 v-show
   - 提取重复的 validateLink 到共享工具函数
   - OnlineReader 全量 watch(store.state) → 精准监听 isReading
This commit is contained in:
chuzhongzai
2026-06-07 16:18:44 +08:00
parent e19ae3d802
commit e25afb7445
8 changed files with 273 additions and 90 deletions
+10 -4
View File
@@ -96,7 +96,7 @@
<script setup>
import store from "../store";
import {computed, ref} from "vue";
import {computed, ref, watch} from "vue";
import OnlineReader from "./OnlineReader.vue";
//输入
@@ -133,18 +133,24 @@ let min = computed(() => {
return store.getters.min
})
let max = computed(() => {
if(targetPage.value > store.getters.max)
store.commit("_changePage", store.getters.max)
return store.getters.max
})
let page = computed(() => {
targetPage.value = store.state.page
return store.state.page
})
let isLion = computed(() => {
return store.state.userId === 3
})
// 同步 store.page → local targetPage,并在 page 超出 max 时修正
watch(page, (newPage) => {
targetPage.value = newPage
})
watch(max, (newMax) => {
if(targetPage.value > newMax)
store.commit("_changePage", newMax)
})
let emptyText = computed(() => {
let action = category.value === 'myDownload' ? '下载': '收藏'
return '您未' + action + "过"