فهرست منبع

fix(web): 移除卸载时的 dispose,改为全局常驻手柄支持

按贡献者意见,手柄能力应作为全局能力在页面生命周期内常驻,而非绑定
阅读页组件卸载。移除 onUnmounted 的 disposeXboxGamepad() 调用,保留:
- 无手柄连接时自动停止 rAF 轮询(省电)
- 目录切换经 Vue 状态回调控制 popCataVisible
- 全屏 promise 拒绝捕获
- 按键/摇杆边沿状态按手柄 index 分键
disposeXboxGamepad 保留为模块可选 API。
HapeLee 3 ماه پیش
والد
کامیت
a0d49895d6

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
app/src/main/assets/web/vue/assets/BookChapter-C0r8EeCE.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
app/src/main/assets/web/vue/assets/BookChapter-C7EWfyGZ.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
app/src/main/assets/web/vue/assets/BookShelf-BY0I7NNn.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 1
app/src/main/assets/web/vue/assets/index-CyERTl8r.js


+ 1 - 1
app/src/main/assets/web/vue/index.html

@@ -4,7 +4,7 @@
         <meta charset="UTF-8" />
         <link rel="icon" href="./favicon.ico" />
     <meta name="viewport" content="width=device-width,initial-scale=1.0" />
-      <script type="module" crossorigin src="./assets/index-B0-kopLm.js"></script>
+      <script type="module" crossorigin src="./assets/index-CyERTl8r.js"></script>
       <link rel="modulepreload" crossorigin href="./assets/vendor-DQqeohSF.js">
       <link rel="stylesheet" crossorigin href="./assets/vendor-CXe1BRiH.css">
       <link rel="stylesheet" crossorigin href="./assets/index-CpkaNQMA.css">

+ 1 - 3
modules/web/src/views/BookChapter.vue

@@ -113,7 +113,7 @@ import API from '@api'
 import { useLoading } from '@/hooks/loading'
 import { useThrottleFn } from '@vueuse/shared'
 import { isNullOrBlank } from '@/utils/utils'
-import { disposeXboxGamepad, initXboxGamepad } from '@/utils/xboxGamepad'
+import { initXboxGamepad } from '@/utils/xboxGamepad'
 
 const content = ref()
 // loading spinner
@@ -537,8 +537,6 @@ onUnmounted(() => {
   popCataVisible.value = false
   scrollObserver?.disconnect()
   scrollObserver = null
-
-  disposeXboxGamepad()
 })
 
 const addToBookShelfConfirm = async () => {

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است