{"version":3,"sources":["webpack:///./src/assets/img/yunpan-icon@3x.png","webpack:///./src/assets/img/logo.svg","webpack:///./src/components/Loader.vue?224f","webpack:///./src/components/Loader.vue","webpack:///./src/components/Loader.vue?4578","webpack:///./src/components/Dialog.vue?a61f","webpack:///./src/components/Dialog.vue","webpack:///./src/components/Dialog.vue?6079","webpack:///./src/components/HeaderPlus.vue?3f07","webpack:///./src/components/HeaderPlus.vue","webpack:///./src/components/HeaderPlus.vue?75a1","webpack:///./src/components/HuddlePop.vue?f26f","webpack:///./src/components/HuddlePop.vue","webpack:///./src/components/HuddlePop.vue?c5c2","webpack:///./src/components/FooterBar.vue?a98a","webpack:///./src/components/FooterBar.vue","webpack:///./src/components/FooterBar.vue?89b6","webpack:///./src/components/FilePopItem.vue?b354","webpack:///./src/components/FilePopItem.vue","webpack:///./src/components/FilePopItem.vue?75ed","webpack:///./src/components/FilePop.vue?ac74","webpack:///./src/components/FilePop.vue","webpack:///./src/components/FilePop.vue?732c","webpack:///./src/components/CooperationDialog.vue?2028","webpack:///./src/components/CooperationDialog.vue","webpack:///./src/components/CooperationDialog.vue?f262","webpack:///./src/views/index.vue","webpack:///./src/views/index.vue?c665","webpack:///./src/assets/img/huddle-pop@3x.png","webpack:///./src/assets/img/meet-download-icon@3x.svg","webpack:///./src/components/Loader.vue?c911","webpack:///./src/components/Spin.vue?5edc","webpack:///./src/components/Spin.vue?ef4c","webpack:///./src/components/Spin.vue","webpack:///./src/components/Spin.vue?71fb","webpack:///./src/components/HeaderPlus.vue?5f3b","webpack:///./src/components/FilePop.vue?eb6e","webpack:///./src/assets/img/huddle-frame-quitIcon@3x.png","webpack:///./src/views/index.vue?2910","webpack:///./src/components/FooterBar.vue?848d","webpack:///./src/components/FilePopItem.vue?d91b","webpack:///./src/components/HuddlePop.vue?c32b","webpack:///./src/assets/img/speed-tack-icon@3x.png","webpack:///./src/components/CooperationDialog.vue?e844","webpack:///./src/components/HeaderPlus.vue?066d","webpack:///./src/assets/img/speedup.svg","webpack:////var/static/node_modules/.pnpm/nanoid@3.3.6/node_modules/nanoid/url-alphabet/index.js","webpack:////var/static/node_modules/.pnpm/nanoid@3.3.6/node_modules/nanoid/index.browser.js","webpack:///./src/api/flowhub.ts","webpack:///./src/composable/auth.ts"],"names":["module","exports","_withScopeId","n","_hoisted_1","key","class","_hoisted_2","_hoisted_3","render","_ctx","_cache","$props","$setup","$data","$options","modelValue","innerText","name","props","type","Boolean","required","String","require","action","emits","__exports__","_component_Loader","dialog","title","tip","onClick","args","handleTip","hasCheck","deleteCompletely","isIOS","more","innerHTML","verticalFooter","href","$event","close","cancelTxt","handleAcion","showLoader","okTxt","components","Loader","store","computed","this","cancel","navigator","userAgent","includes","methods","commit","show","setTimeout","xmlns","width","height","viewBox","d","_hoisted_4","_hoisted_5","_hoisted_6","src","draggable","_hoisted_7","_component_IconHome","disabled","isVip","isAndroid","isUseIOSHeader","isNative","callAppHome","alt","onOpenDeviceList","currentDeviceName","isLogin","showSpeedUp","goVip","showVipSpeedUp","isSuperVip","IconHome","setup","envStore","isDev","deviceStore","_deviceStore$currentD","_deviceStore$currentD2","currentDeviceRef","runnerTaskRef","openDeviceList","showDevice","_deviceStore$currentD3","phase","isSelect","isApp","isMiniProgram","self","top","showVip","user","$route","path","$store","getters","runningList","length","taskType","status","_window","_window2","window","webkit","messageHandlers","hdc","xlremote","routename","dispatch","$router","back","$stat","position","actionFrom","isShowVipPop","quitHuddlePop","watch","val","fill","stroke","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","cx","cy","r","_hoisted_35","_hoisted_36","_component_IconTvCinemaNew","currentPage","selectPage","downloadAndPendingList","num","isCinemaShowRef","isPluginShowRef","showPoint","clientVersion","match","IconTvCinemaNew","isServerSupportPlugin","util","hasLabel","baseConfig","baseConfigRef","configIsCinemaDisabled","_baseConfig$value","value","nfo_config","is_disabled","configIsPluginShow","_deviceStore$currentD4","params","platform","localStorage","getItem","undefined","console","log","setItem","immediate","configIsCinemaShow","total","_this$deviceInfoWatch","_this$deviceInfoWatch2","deviceInfoWatchData","client_version","page","push","query","handleSelect","iconLink","file","file_name","parseTime","Date","created_time","style","size","kind","iShowHuddle","MeetIcon","SpeedTackIcon","all","id","spec","file_size","Number","icon_link","mime_type","oVal","huddleNum","isYSvip","formatSize","async","e","_this$file","_this$file$name","_this$file2","_this$file$name2","_this$file3","_this$file4","_this$file5","_this$file6","_this$all$this$filePo","_this$all$this$filePo2","isVideo","stat","data","tab","gcid","hash","info_hash","url","task_name","filePopTaskID","task_size","file_extension","usage","theme","action_from","scene","then","showFilePop","parentIds","catch","files","load","leading","trailing","_component_FilePopItem","_component_Spin","default","_","goBack","backHome","isLoading","loadFunction","FilePopItem","Spin","list","map","closeAndRemovePopStateListener","removeEventListener","history","pushState","location","pathname","addEventListener","parent_id","error","isBack","isBackHome","cooperationExpiresDialogVisiable","cooperationExpiresContent","tipsList","item","index","showPayBtn","handleClick","btnText","closeClass","handelCooperationExpiresDialogClose","closeText","cooperationScene","expiredDay","setLocalUserId","userId","currentLocalUserIdMap","Object","keys","__name","__props","state","toast","queryAuth","scope","privilegeAuth","showHead","router","currentRoute","target","watchDeviceExceedLimit","watchStopHandler","runnerList","newList","fromSpace","t","filter","task","_newList$find","find","v","_v$params","errorcode","filterDevice","deviceMap","toBeFilter","Array","from","isInPC","i","_i$","_i$2","Map","watchRunnerUtilDeviceOnline","unwatch","newMap","filteredDeviceMap","changeCurrentDevice","message","selectDefaultDeviceSpace","_cachedDeviceRunner$p","_filteredDeviceMap$ge","cachedDeviceRunner","cachedSpace","space","has","get","next","_val$params","checking","connecting","loading","curDeviceRunner","deviceInfoRef","values","every","userStore","bodyClass","_router$currentRoute$","_deviceStore$currentD5","cacheIsVip","hasInit","vipType","normal","vip","is_vip","document","body","classList","remove","add","colorMap","statusBarLightMode","noCallback","checkHezi","deviceList","heziStore","getHezi","heziDeviceList","firstHeziDevice","jumpToHezi","startRunner","_deviceStore$currentD6","pollRunnerList","defaultSpace","haveRequestedRunner","isInMac","handleQueryAction","nfo_id","nfo","scrape_result","pop","_router$currentRoute$2","checkIsBindAndIsLogin","pathEnv","authResult","auth","isDeviceLogin","result","isChanged","isBind","user_code","client_id","checkRunner","code","expires_in","replace","newQueryAuth","assign","bindDevice","userID","_authResult","State","Users","user_id","nickname","nickName","replaceState","auto_login","sso","signIn","browser","_store$state$user$nic","_store$state","_await$getSSOUser$nic","address","handleAuth","_router$currentRoute$3","privilege","handleCheck","handleRunner","updateAuthStatus","hasPopDeviceLimitExceededShown","error_message","handleAuthCancel","getFlowHubSlots","needExtraHeaderPadding","getUser","FooterBar","FilePop","Dialog","HuddlePop","CooperationDialog","showCover","nanoid","crypto","getRandomValues","Uint8Array","reduce","byte","toString","toUpperCase","FlowHub","constructor","availableSlotParams","POSITION_CINEMA_EMPTY","slots","accept_source","accept_landing_type","accept_style","accept_event","slotResult","ref","hosts","host","slot","useEnvStore","axios","post","headers","xbaseConfig","clientId","global","deviceID","reactive","startsWith","flowHubInstance","useHuaweiRequest","generateRequestID","timestamp","now","random","Math","floor","requestFunction","payload","Promise","resolve","reject","requestID","resp","_response$data","response","JSON","parse","Error","stringifiedPayload","stringify","getServiceData","_response$data2","postMessage","method","callback","getTime","function","curryGetDeviceStatus","requestFunc","currySignOut","curryGetAuthLink","curryGetEntryLink","useAuth","factory","mapFactoryToRequestComposable","huawei","curRequestFunction","linkResp","paramsToObject","URL","searchParams","updateGlobalProperties","_status$user","authParams","captureException","signOut"],"mappings":"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","file":"js/chunk-6b85e7aa.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"img/logo.svg\";","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-05f2b937\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n key: 0,\n class: \"wapper\"\n};\nconst _hoisted_2 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"loading\"\n}, [/*#__PURE__*/_createElementVNode(\"div\", {\n class: \"loading__image\"\n})], -1));\nconst _hoisted_3 = {\n key: 1\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return _ctx.modelValue ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [_hoisted_2, _createElementVNode(\"span\", null, _toDisplayString(_ctx.innerText), 1)])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.innerText), 1));\n}","import { defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Loader',\n props: {\n modelValue: {\n type: Boolean,\n required: true\n },\n innerText: {\n type: String,\n require: true\n },\n action: {\n type: String,\n require: true\n }\n },\n emits: {},\n setup() {\n return {};\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./Loader.vue?vue&type=template&id=05f2b937&scoped=true&ts=true\"\nimport script from \"./Loader.vue?vue&type=script&lang=ts\"\nexport * from \"./Loader.vue?vue&type=script&lang=ts\"\n\nimport \"./Loader.vue?vue&type=style&index=0&id=05f2b937&lang=scss&scoped=true\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-05f2b937\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vShow as _vShow, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"cover\"\n};\nconst _hoisted_2 = {\n class: \"dialog__body\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Loader = _resolveComponent(\"Loader\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"div\", {\n class: _normalizeClass([\"dialog\", _ctx.action])\n }, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"h2\", null, _toDisplayString(_ctx.dialog.title), 1), _ctx.dialog.tip ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: \"tips\",\n onClick: _cache[0] || (_cache[0] =\n //@ts-ignore\n (...args) => _ctx.handleTip && _ctx.handleTip(...args))\n }, [_ctx.hasCheck ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`qh-icon-${_ctx.deleteCompletely ? 'checked' : 'check'}`)\n }, null, 2)) : _createCommentVNode(\"\", true), _createElementVNode(\"span\", null, _toDisplayString(_ctx.dialog.tip), 1)])) : _createCommentVNode(\"\", true), _ctx.action === 'tip-guide' ? (_openBlock(), _createElementBlock(\"p\", {\n key: 1,\n class: _normalizeClass([\"remind-img\", {\n 'ios': _ctx.isIOS\n }])\n }, null, 2)) : _createCommentVNode(\"\", true), _ctx.dialog.more ? (_openBlock(), _createElementBlock(\"p\", {\n key: 2,\n innerHTML: _ctx.dialog.more\n }, null, 8, _hoisted_3)) : _createCommentVNode(\"\", true)]), _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.dialog.verticalFooter ? 'dialog__vertical' : 'dialog__footer')\n }, [_withDirectives(_createElementVNode(\"a\", {\n href: \"javascript:;\",\n class: \"button-other\",\n onClick: _cache[1] || (_cache[1] = $event => _ctx.close('cancel'))\n }, _toDisplayString(_ctx.dialog.cancelTxt), 513), [[_vShow, _ctx.dialog.cancelTxt]]), _createElementVNode(\"a\", {\n href: \"javascript:;\",\n onClick: _cache[3] || (_cache[3] =\n //@ts-ignore\n (...args) => _ctx.handleAcion && _ctx.handleAcion(...args))\n }, [_createVNode(_component_Loader, {\n modelValue: _ctx.showLoader,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => _ctx.showLoader = $event),\n action: _ctx.action,\n \"inner-text\": _ctx.dialog.okTxt\n }, null, 8, [\"modelValue\", \"action\", \"inner-text\"])]), _ctx.dialog.verticalFooter ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: \"javascript:;\",\n class: \"button-other\",\n onClick: _cache[4] || (_cache[4] = $event => _ctx.close('close'))\n }, \"取消\")) : _createCommentVNode(\"\", true)], 2)], 2)]);\n}","import { defineComponent } from 'vue';\nimport { mapState, useStore } from 'vuex';\nimport Loader from '@remote/components/Loader.vue';\nimport '@remote/assets/css/dialog.scss';\nexport default defineComponent({\n name: 'Dialog',\n components: {\n Loader\n },\n setup() {\n return {\n store: useStore()\n };\n },\n computed: {\n ...mapState(['dialog', 'deleteCompletely', 'showLoader']),\n action() {\n return this.dialog.action;\n },\n cancel() {\n return this.dialog.cancel;\n },\n hasCheck() {\n return this.dialog.hasCheck || false;\n },\n isIOS() {\n return !navigator.userAgent.includes('Android');\n }\n },\n methods: {\n close(type) {\n this.store.commit('dialog', {\n show: false\n });\n this.store.commit('update', {\n action: ''\n });\n setTimeout(() => {\n if (type === 'cancel' && this.cancel) this.store.commit('update', {\n action: this.cancel\n });\n }, 0);\n },\n handleAcion() {\n if (this.dialog.showLoader) {\n this.store.commit('update', {\n showLoader: true\n });\n }\n this.store.commit('update', {\n action: ''\n });\n setTimeout(() => {\n if (this.action) this.store.commit('update', {\n action: this.action\n });\n }, 0);\n },\n handleTip() {\n if (this.hasCheck) {\n this.store.commit('update', {\n deleteCompletely: !this.deleteCompletely\n });\n }\n }\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./Dialog.vue?vue&type=template&id=18011858&ts=true\"\nimport script from \"./Dialog.vue?vue&type=script&lang=ts\"\nexport * from \"./Dialog.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nimport _imports_0 from '@remote/assets/img/logo.svg';\nimport _imports_1 from '../assets/img/speedup.svg';\nconst _withScopeId = n => (_pushScopeId(\"data-v-44627cbf\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n class: \"header-title\"\n};\nconst _hoisted_2 = {\n key: 2,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"12\",\n height: \"12\",\n viewBox: \"0 0 12 12\"\n};\nconst _hoisted_3 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M6.92186 9.69375C6.44211 10.2695 5.55789 10.2695 5.07813 9.69375L1.64018 5.56821C0.988856 4.78661 1.54464 3.59999 2.56205 3.59999L9.43795 3.59999C10.4554 3.59999 11.0111 4.78662 10.3598 5.56821L6.92186 9.69375Z\"\n}, null, -1));\nconst _hoisted_4 = [_hoisted_3];\nconst _hoisted_5 = {\n key: 1,\n class: \"file-tab-vip-speed\"\n};\nconst _hoisted_6 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_1,\n class: \"file-tab-speedIcon\",\n draggable: \"false\"\n}, null, -1));\nconst _hoisted_7 = {\n class: \"file-tab-vipword\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconHome = _resolveComponent(\"IconHome\");\n return _openBlock(), _createElementBlock(\"header\", {\n class: _normalizeClass([\"header\", {\n 'is-disabled': _ctx.disabled,\n 'is-vip': _ctx.isVip,\n 'android-padding': _ctx.isAndroid,\n 'ios-padding': _ctx.isUseIOSHeader\n }])\n }, [_createElementVNode(\"div\", _hoisted_1, [_ctx.isNative ? (_openBlock(), _createBlock(_component_IconHome, {\n key: 0,\n width: \"36\",\n height: \"36\",\n onClick: _ctx.callAppHome\n }, null, 8, [\"onClick\"])) : _createCommentVNode(\"\", true), !_ctx.isNative ? (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n class: \"header-logo\",\n onClick: _cache[0] || (_cache[0] =\n //@ts-ignore\n (...args) => _ctx.callAppHome && _ctx.callAppHome(...args)),\n src: _imports_0,\n alt: \"logo\",\n draggable: \"false\"\n })) : _createCommentVNode(\"\", true), _createElementVNode(\"div\", {\n class: \"header-home\",\n onClick: _cache[1] || (_cache[1] =\n //@ts-ignore\n (...args) => _ctx.onOpenDeviceList && _ctx.onOpenDeviceList(...args))\n }, _toDisplayString(_ctx.currentDeviceName), 1), _ctx.isLogin ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, _hoisted_4)) : _createCommentVNode(\"\", true)]), _ctx.showSpeedUp ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: \"javascript:;\",\n class: \"speed-btn\",\n onClick: _cache[2] || (_cache[2] =\n //@ts-ignore\n (...args) => _ctx.goVip && _ctx.goVip(...args))\n }, \"会员加速\")) : _createCommentVNode(\"\", true), _ctx.showVipSpeedUp ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [_hoisted_6, _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.isSuperVip ? '超级会员' : '会员') + \"特权加速中\", 1)])) : _createCommentVNode(\"\", true)], 2);\n}","import \"core-js/modules/web.self.js\";\nimport { computed, defineComponent } from 'vue';\nimport { mapState, mapGetters, useStore } from 'vuex';\nimport { isAndroidNative as isAndroid, isIOSNative as isIOS } from '@xunlei/universal-native-api';\nimport { IconHome } from '@xunlei/thunder-icon-vue';\nimport { useEnvStore } from '@remote/store/env';\nimport { useDeviceStore } from '@remote/store/device';\nimport { openDeviceList } from '@remote/utils/dialog';\nexport default defineComponent({\n name: 'HeaderPlus',\n components: {\n IconHome\n },\n setup: () => {\n const store = useStore();\n const envStore = useEnvStore();\n const isDev = process.env.NODE_ENV === 'development';\n const deviceStore = useDeviceStore();\n const currentDeviceName = computed(() => {\n var _deviceStore$currentD, _deviceStore$currentD2;\n return (_deviceStore$currentD = (_deviceStore$currentD2 = deviceStore.currentDeviceRef) === null || _deviceStore$currentD2 === void 0 ? void 0 : _deviceStore$currentD2.runnerTaskRef.name) !== null && _deviceStore$currentD !== void 0 ? _deviceStore$currentD : isDev ? '迅雷-远程设备本地' : '迅雷-远程设备';\n });\n return {\n store,\n isDev,\n envStore,\n openDeviceList,\n currentDeviceName\n };\n },\n data() {\n return {\n showDevice: false,\n isAndroid,\n isIOS\n };\n },\n computed: {\n ...mapState(['all', 'user', 'isSelect', 'checking', 'inListFiles', 'isApp', 'isMiniProgram', 'isVip', 'taskType']),\n ...mapGetters(['isLogin', 'isSuperVip', 'showHeader', 'showVip', 'isVip', 'runningList', 'isFullScreen']),\n status() {\n var _deviceStore$currentD3;\n const deviceStore = useDeviceStore();\n return ((_deviceStore$currentD3 = deviceStore.currentDeviceRef) === null || _deviceStore$currentD3 === void 0 ? void 0 : _deviceStore$currentD3.runnerTaskRef.phase) === 'PHASE_TYPE_RUNNING';\n },\n disabled() {\n return this.isSelect;\n },\n isNative() {\n return (isAndroid || isIOS || this.isApp || this.isMiniProgram) && self === top;\n },\n showSpeedUp() {\n return !this.isVip && this.showVip && this.user && this.$route.path !== '/me' && this.$route.path !== '/plugin' && this.$store.getters.showVip;\n },\n showVipSpeedUp() {\n return this.runningList.length > 0 && this.taskType === 'ing' && this.isVip && this.status && this.$route.path !== '/me' && this.$route.path !== '/plugin';\n },\n isUseIOSHeader() {\n var _window, _window2;\n // iOS迅雷和华为浏览器,webview是全屏的,所以要用适配全面屏的header\n return isIOS || Boolean((_window = window) === null || _window === void 0 || (_window = _window.webkit) === null || _window === void 0 || (_window = _window.messageHandlers) === null || _window === void 0 ? void 0 : _window.hdc) || Boolean((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.webkit) === null || _window2 === void 0 || (_window2 = _window2.messageHandlers) === null || _window2 === void 0 ? void 0 : _window2.xlremote);\n }\n },\n methods: {\n async callAppHome() {\n let routename = String(this.$route.name);\n if (!this.isNative) return;\n if (!['home', 'login', 'me', 'plugin'].includes(routename)) {\n this.$router.back();\n } else {\n this.store.dispatch('close');\n }\n },\n goVip() {\n this.$stat({\n action: 'download_tab_top_vipspeed_btn_click'\n });\n this.$stat({\n action: 'vip_accelerate_btn_click'\n });\n this.store.dispatch('goVip', {\n position: 'hyjs'\n });\n },\n onOpenDeviceList() {\n if (this.isLogin) {\n openDeviceList({\n actionFrom: 'homepage'\n });\n }\n }\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./HeaderPlus.vue?vue&type=template&id=44627cbf&scoped=true&ts=true\"\nimport script from \"./HeaderPlus.vue?vue&type=script&lang=ts\"\nexport * from \"./HeaderPlus.vue?vue&type=script&lang=ts\"\n\nimport \"./HeaderPlus.vue?vue&type=style&index=0&id=44627cbf&lang=scss\"\nimport \"./HeaderPlus.vue?vue&type=style&index=1&id=44627cbf&lang=scss&scoped=true\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-44627cbf\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createStaticVNode as _createStaticVNode } from \"vue\";\nimport _imports_0 from '../assets/img/huddle-frame-quitIcon@3x.png';\nimport _imports_1 from '../assets/img/huddle-pop@3x.png';\nconst _hoisted_1 = {\n key: 0,\n class: \"huddle-pop-mask\"\n};\nconst _hoisted_2 = {\n class: \"huddle-pop\"\n};\nconst _hoisted_3 = /*#__PURE__*/_createStaticVNode(\"

组队加速

超级会员专属特权

用户身份 年费超级会员超级会员白金会员
组队次数 无限次 20次/天
\", 4);\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return _ctx.isShowVipPop ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"huddle-pop-quit\",\n draggable: \"false\",\n onClick: _cache[0] || (_cache[0] =\n //@ts-ignore\n (...args) => _ctx.quitHuddlePop && _ctx.quitHuddlePop(...args))\n }), _hoisted_3, _ctx.showVip ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"huddle-pop-bt\",\n onClick: _cache[1] || (_cache[1] =\n //@ts-ignore\n (...args) => _ctx.goVip && _ctx.goVip(...args))\n }, \" 开通超级会员 \")) : _createCommentVNode(\"\", true)])])) : _createCommentVNode(\"\", true);\n}","import { defineComponent } from 'vue';\nimport { mapState, mapGetters, useStore } from 'vuex';\nexport default defineComponent({\n name: 'HuddlePop',\n setup() {\n return {\n store: useStore()\n };\n },\n computed: {\n ...mapState(['isShowVipPop']),\n ...mapGetters(['isYSvip', 'showVip'])\n },\n watch: {\n isYSvip(val) {\n val && this.quitHuddlePop();\n }\n },\n methods: {\n quitHuddlePop() {\n this.store.commit('update', {\n isShowVipPop: false\n });\n },\n goVip() {\n //跳转开通会员界面\n this.$stat({\n action: 'vip_accelerate_btn_click'\n });\n this.store.dispatch('goVip', {\n position: 'groupdl'\n });\n }\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./HuddlePop.vue?vue&type=template&id=990e83a6&ts=true\"\nimport script from \"./HuddlePop.vue?vue&type=script&lang=ts\"\nexport * from \"./HuddlePop.vue?vue&type=script&lang=ts\"\n\nimport \"./HuddlePop.vue?vue&type=style&index=0&id=990e83a6&lang=scss\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, createStaticVNode as _createStaticVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-8eaeab62\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n class: \"footer-box\"\n};\nconst _hoisted_2 = {\n key: 0,\n class: \"red-num\"\n};\nconst _hoisted_3 = {\n key: 1,\n width: \"28\",\n height: \"28\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_4 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"rect\", {\n width: \"28\",\n height: \"28\"\n}, null, -1));\nconst _hoisted_5 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M14.6615 2.17021L24.3385 7.53497C24.7478 7.76192 25 8.18134 25 8.63524V19.3648C25 19.8187 24.7478 20.2381 24.3385 20.465L14.6615 25.8298C14.2522 26.0567 13.7478 26.0567 13.3385 25.8298L3.66155 20.465C3.25218 20.2381 3 19.8187 3 19.3648L3 8.63524C3 8.18134 3.25218 7.76192 3.66155 7.53497L13.3385 2.17021C13.7478 1.94326 14.2522 1.94326 14.6615 2.17021Z\",\n fill: \"#3F85FF\"\n}, null, -1));\nconst _hoisted_6 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M11 14L13.8586 16.8586C13.9367 16.9367 14.0633 16.9367 14.1414 16.8586L17 14\",\n stroke: \"white\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\"\n}, null, -1));\nconst _hoisted_7 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M14 10V15\",\n stroke: \"white\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\"\n}, null, -1));\nconst _hoisted_8 = [_hoisted_4, _hoisted_5, _hoisted_6, _hoisted_7];\nconst _hoisted_9 = {\n key: 2,\n width: \"28\",\n height: \"28\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_10 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M15 10C15 9.44772 14.5523 9 14 9C13.4477 9 13 9.44772 13 10V14.5858L11.7071 13.2929C11.3166 12.9024 10.6834 12.9024 10.2929 13.2929C9.90237 13.6834 9.90237 14.3166 10.2929 14.7071L13.1515 17.5657C13.6201 18.0343 14.3799 18.0343 14.8485 17.5657L17.7071 14.7071C18.0976 14.3166 18.0976 13.6834 17.7071 13.2929C17.3166 12.9024 16.6834 12.9024 16.2929 13.2929L15 14.5858V10Z\",\n fill: \"#6A707C\"\n}, null, -1));\nconst _hoisted_11 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M14.1767 3.0448L23.8536 8.40956C23.9574 8.46712 24 8.55873 24 8.63524V19.3648C24 19.4413 23.9574 19.5329 23.8536 19.5904L14.1767 24.9552C14.0689 25.0149 13.9311 25.0149 13.8233 24.9552L4.14641 19.5904C4.0426 19.5329 4 19.4413 4 19.3648V8.63524C4 8.55873 4.0426 8.46712 4.14641 8.40956L13.8233 3.0448C13.9311 2.98507 14.0689 2.98507 14.1767 3.0448Z\",\n stroke: \"#61636F\",\n \"stroke-width\": \"2\"\n}, null, -1));\nconst _hoisted_12 = [_hoisted_10, _hoisted_11];\nconst _hoisted_13 = {\n key: 0,\n width: \"28\",\n height: \"28\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_14 = /*#__PURE__*/_createStaticVNode(\"\", 5);\nconst _hoisted_19 = [_hoisted_14];\nconst _hoisted_20 = {\n key: 1,\n width: \"28\",\n height: \"28\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_21 = /*#__PURE__*/_createStaticVNode(\"\", 5);\nconst _hoisted_26 = [_hoisted_21];\nconst _hoisted_27 = {\n key: 0,\n class: \"point\"\n};\nconst _hoisted_28 = {\n key: 1,\n width: \"28\",\n height: \"28\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_29 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"rect\", {\n width: \"28\",\n height: \"28\"\n}, null, -1));\nconst _hoisted_30 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M14 3C10.6863 3 8 5.68629 8 9C8 12.3137 10.6863 15 14 15C17.3137 15 20 12.3137 20 9C20 5.68629 17.3137 3 14 3ZM22 9C22 11.8557 20.5037 14.3619 18.2524 15.7775C22.1791 17.2759 25 20.7904 25 25C25 25.5523 24.5523 26 24 26C23.4477 26 23 25.5523 23 25C23 20.6782 19.0723 17 14 17C8.92772 17 5 20.6782 5 25C5 25.5523 4.55228 26 4 26C3.44772 26 3 25.5523 3 25C3 20.7904 5.82093 17.2759 9.74761 15.7775C7.49628 14.3619 6 11.8557 6 9C6 4.58172 9.58172 1 14 1C18.4183 1 22 4.58172 22 9ZM15 19C15 18.4477 14.5523 18 14 18C13.4477 18 13 18.4477 13 19V23C13 23.5523 13.4477 24 14 24C14.5523 24 15 23.5523 15 23V19Z\",\n fill: \"#61636F\"\n}, null, -1));\nconst _hoisted_31 = [_hoisted_29, _hoisted_30];\nconst _hoisted_32 = {\n key: 2,\n width: \"28\",\n height: \"28\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_33 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M25 25C25 19.4772 20.0751 15 14 15C7.92487 15 3 19.4772 3 25C8.5 25 19.5 25 25 25Z\",\n fill: \"#3F85FF\"\n}, null, -1));\nconst _hoisted_34 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"circle\", {\n cx: \"14\",\n cy: \"9\",\n r: \"8\",\n fill: \"#3F85FF\"\n}, null, -1));\nconst _hoisted_35 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M14 18V23\",\n stroke: \"white\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n}, null, -1));\nconst _hoisted_36 = [_hoisted_33, _hoisted_34, _hoisted_35];\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconTvCinemaNew = _resolveComponent(\"IconTvCinemaNew\");\n return _ctx.show ? (_openBlock(), _createElementBlock(\"section\", {\n key: 0,\n class: _normalizeClass({\n 'footer': true,\n 'is-dark': _ctx.currentPage === 'cinema'\n })\n }, [_createElementVNode(\"div\", _hoisted_1, [_createElementVNode(\"div\", {\n class: \"item\",\n onClick: _cache[0] || (_cache[0] = $event => _ctx.selectPage('home'))\n }, [_ctx.downloadAndPendingList.length > 0 && _ctx.status ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, _toDisplayString(_ctx.num), 1)) : _createCommentVNode(\"\", true), _ctx.currentPage === 'home' ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_3, _hoisted_8)) : _createCommentVNode(\"\", true), _ctx.currentPage !== 'home' ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_9, _hoisted_12)) : _createCommentVNode(\"\", true), _createElementVNode(\"p\", {\n class: _normalizeClass({\n 'actived': _ctx.currentPage === 'home'\n })\n }, \" 下载 \", 2)]), _ctx.isCinemaShowRef ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass({\n 'item': true,\n 'is-selected': _ctx.currentPage === 'cinema'\n }),\n onClick: _cache[1] || (_cache[1] = $event => _ctx.selectPage('cinema'))\n }, [_createVNode(_component_IconTvCinemaNew, {\n height: \"28\",\n width: \"28\"\n }), _createElementVNode(\"p\", {\n class: _normalizeClass({\n 'actived': _ctx.currentPage === 'cinema'\n })\n }, \" 个人片库 \", 2)], 2)) : _createCommentVNode(\"\", true), _ctx.isPluginShowRef ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"item\",\n onClick: _cache[2] || (_cache[2] = $event => _ctx.selectPage('plugin'))\n }, [_ctx.currentPage !== 'plugin' ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_13, _hoisted_19)) : _createCommentVNode(\"\", true), _ctx.currentPage === 'plugin' ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_20, _hoisted_26)) : _createCommentVNode(\"\", true), _createElementVNode(\"p\", {\n class: _normalizeClass({\n 'actived': _ctx.currentPage === 'plugin'\n })\n }, \" 小工具 \", 2)])) : _createCommentVNode(\"\", true), _createElementVNode(\"div\", {\n class: \"item\",\n onClick: _cache[3] || (_cache[3] = $event => _ctx.selectPage('me'))\n }, [_ctx.showPoint && _ctx.clientVersion.match(/2.13/) ? (_openBlock(), _createElementBlock(\"span\", _hoisted_27)) : _createCommentVNode(\"\", true), _ctx.currentPage !== 'me' ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_28, _hoisted_31)) : _createCommentVNode(\"\", true), _ctx.currentPage === 'me' ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_32, _hoisted_36)) : _createCommentVNode(\"\", true), _createElementVNode(\"p\", {\n class: _normalizeClass({\n 'actived': _ctx.currentPage === 'me'\n })\n }, \" 我的 \", 2)])])], 2)) : _createCommentVNode(\"\", true);\n}","import \"core-js/modules/es.array.push.js\";\nimport { computed, defineComponent, onBeforeMount, ref, watch } from 'vue';\nimport { mapState, mapGetters } from 'vuex';\nimport { PluginPlatforms } from '@remote/constant';\nimport { IconTvCinemaNew } from '@xunlei/thunder-icon-vue';\nimport { getLocalValue, setLocalValue } from '@remote/utils/index';\nimport { useDeviceStore } from '@remote/store/device';\nexport default defineComponent({\n components: {\n IconTvCinemaNew\n },\n setup() {\n const isCinemaShowRef = ref(false);\n const isPluginShowRef = ref(false);\n const deviceStore = useDeviceStore();\n const isServerSupportPlugin = computed(() => {\n var _deviceStore$currentD;\n return (_deviceStore$currentD = deviceStore.currentDeviceRef) === null || _deviceStore$currentD === void 0 ? void 0 : _deviceStore$currentD.util.hasLabel('withPlugin');\n });\n const baseConfig = computed(() => {\n var _deviceStore$currentD2;\n return (_deviceStore$currentD2 = deviceStore.currentDeviceRef) === null || _deviceStore$currentD2 === void 0 ? void 0 : _deviceStore$currentD2.baseConfigRef;\n });\n const configIsCinemaDisabled = computed(() => {\n var _baseConfig$value;\n return (_baseConfig$value = baseConfig.value) === null || _baseConfig$value === void 0 || (_baseConfig$value = _baseConfig$value.nfo_config) === null || _baseConfig$value === void 0 ? void 0 : _baseConfig$value.is_disabled;\n });\n const configIsPluginShow = computed(() => {\n var _deviceStore$currentD3, _deviceStore$currentD4;\n return Boolean(PluginPlatforms.includes((_deviceStore$currentD3 = (_deviceStore$currentD4 = deviceStore.currentDeviceRef) === null || _deviceStore$currentD4 === void 0 || (_deviceStore$currentD4 = _deviceStore$currentD4.runnerTaskRef) === null || _deviceStore$currentD4 === void 0 || (_deviceStore$currentD4 = _deviceStore$currentD4.params) === null || _deviceStore$currentD4 === void 0 ? void 0 : _deviceStore$currentD4.platform) !== null && _deviceStore$currentD3 !== void 0 ? _deviceStore$currentD3 : '') && isServerSupportPlugin.value);\n });\n onBeforeMount(() => {\n // 读取缓存\n if (localStorage.getItem('isCinemaShow') === 'true') {\n // 个人影院展示缓存\n isCinemaShowRef.value = true;\n }\n if (localStorage.getItem('isPluginShow') === 'true') {\n // 小工具展示缓存\n isPluginShowRef.value = true;\n }\n });\n watch(configIsCinemaDisabled, val => {\n if (val === undefined) return;\n isCinemaShowRef.value = !val;\n console.log('2- isCinemaShowRef.value', val, isCinemaShowRef.value);\n // 更新缓存\n localStorage.setItem('isCinemaShow', String(isCinemaShowRef.value));\n }, {\n immediate: true\n });\n watch(configIsPluginShow, val => {\n isPluginShowRef.value = val;\n // 更新缓存\n localStorage.setItem('isPluginShow', String(isPluginShowRef.value));\n }, {\n immediate: true\n });\n return {\n isCinemaShowRef,\n isPluginShowRef,\n configIsCinemaShow: configIsCinemaDisabled,\n configIsPluginShow\n };\n },\n data() {\n return {\n currentPage: '',\n showPoint: this.isNative && !getLocalValue('hideMePoint')\n };\n },\n computed: {\n ...mapState(['isSelect', 'isNative', 'status', 'curDeviceRunner', 'deviceInfoWatchData']),\n ...mapGetters(['downloadAndPendingList']),\n show() {\n return ['home', 'me', 'plugin', 'cinema'].includes(this.$route.name) && !this.isSelect;\n },\n num() {\n const total = this.downloadAndPendingList.length > 0 ? this.downloadAndPendingList.length : '';\n return total > 20 ? '20+' : total;\n },\n clientVersion() {\n var _this$deviceInfoWatch, _this$deviceInfoWatch2;\n return (_this$deviceInfoWatch = (_this$deviceInfoWatch2 = this.deviceInfoWatchData) === null || _this$deviceInfoWatch2 === void 0 ? void 0 : _this$deviceInfoWatch2.client_version) !== null && _this$deviceInfoWatch !== void 0 ? _this$deviceInfoWatch : '';\n }\n },\n watch: {\n '$route.name': {\n handler(val) {\n if (this.show) {\n this.currentPage = val;\n }\n },\n immediate: true\n }\n },\n methods: {\n selectPage(page) {\n if (this.showPoint) {\n setLocalValue('hideMePoint', true);\n this.showPoint = false;\n }\n this.$router.push({\n name: page,\n query: this.$route.query\n });\n }\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./FooterBar.vue?vue&type=template&id=8eaeab62&scoped=true&ts=true\"\nimport script from \"./FooterBar.vue?vue&type=script&lang=ts\"\nexport * from \"./FooterBar.vue?vue&type=script&lang=ts\"\n\nimport \"./FooterBar.vue?vue&type=style&index=0&id=8eaeab62&lang=scss&scoped=true\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8eaeab62\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nimport _imports_0 from '../assets/img/yunpan-icon@3x.png';\nconst _withScopeId = n => (_pushScopeId(\"data-v-3f7bd9c2\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = [\"src\"];\nconst _hoisted_2 = {\n key: 0,\n class: \"file-item-tackback\",\n src: _imports_0,\n draggable: \"false\"\n};\nconst _hoisted_3 = {\n class: \"file-item__main\"\n};\nconst _hoisted_4 = {\n class: \"file-item__name\"\n};\nconst _hoisted_5 = {\n class: \"file-item__speed\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return _openBlock(), _createElementBlock(\"div\", {\n class: \"file-item\",\n onClick: _cache[0] || (_cache[0] =\n //@ts-ignore\n (...args) => _ctx.handleSelect && _ctx.handleSelect(...args))\n }, [_createElementVNode(\"img\", {\n class: \"file-item__pic\",\n src: _ctx.iconLink,\n alt: \"图片\",\n draggable: \"false\"\n }, null, 8, _hoisted_1), _ctx.file.type === 'user#download' ? (_openBlock(), _createElementBlock(\"img\", _hoisted_2)) : _createCommentVNode(\"\", true), _createElementVNode(\"article\", _hoisted_3, [_createElementVNode(\"p\", _hoisted_4, _toDisplayString(_ctx.file.file_name || _ctx.file.name), 1), _createElementVNode(\"section\", null, [_createElementVNode(\"p\", _hoisted_5, [_withDirectives(_createElementVNode(\"span\", null, _toDisplayString(_ctx.parseTime(new Date(_ctx.file.created_time))), 513), [[_vShow, _ctx.taskType !== 'ing']]), _withDirectives(_createElementVNode(\"span\", {\n style: {\n \"margin-left\": \"5px\"\n }\n }, _toDisplayString(_ctx.size), 513), [[_vShow, _ctx.file.kind !== 'drive#folder']])])])])]);\n}","import { defineComponent } from 'vue';\nimport { formatSize, isTruePlayFormat, parseTime, toast } from '@remote/utils';\nimport { mapState, mapGetters, useStore } from 'vuex';\nimport { USER_DOWNLOAD_URL } from '@remote/constant';\nimport { getIconFromMineType } from '@remote/utils/static-icons';\nimport MeetIcon from '@remote/assets/img/meet-download-icon@3x.svg';\nimport SpeedTackIcon from '@remote/assets/img/speed-tack-icon@3x.png';\nimport debounce from 'lodash/debounce';\nimport { stat } from '@remote/utils/stat';\nimport { categorizeByFileExtension, getExtensionFromFilename } from '@shared/utils/file';\nexport default defineComponent({\n name: 'FileItem',\n props: ['id', 'load'],\n setup() {\n return {\n store: useStore()\n };\n },\n data() {\n return {\n iShowHuddle: true,\n MeetIcon,\n SpeedTackIcon\n };\n },\n computed: {\n ...mapState(['all', 'isSelect', 'taskType', 'tasks', 'filePopTaskID', 'huddleNum', 'teamTaskId', 'showLastCount', 'parentIds', 'isMiniProgram']),\n ...mapGetters(['curList', 'isVip', 'vipType', 'runningList', 'isYSvip', 'showVip', 'appCanPlay']),\n file() {\n return this.all[this.id];\n },\n phase() {\n return this.file.phase;\n },\n spec() {\n const spec = (this.file.params.spec || '').match(/(delete|pause|running)/);\n return spec && this.phase !== 'PHASE_TYPE_ERROR' ? spec[0] : '';\n },\n size() {\n if (this.taskType === 'file' && this.file.kind === 'drive#folder') return '';\n return this.file.file_size !== '0' ? formatSize(this.file.file_size || Number(this.file.size)) : '未知大小';\n },\n iconLink() {\n return this.file.icon_link || getIconFromMineType(this.file.mime_type);\n }\n },\n watch: {\n phase(val, oVal) {\n if (val !== oVal && val === 'PHASE_TYPE_RUNNING' && this.huddleNum > 0 && this.file.type === USER_DOWNLOAD_URL && !this.isYSvip) {\n setTimeout(() => this.store.dispatch('checkHuddle', this.file), 1000);\n }\n }\n },\n methods: {\n parseTime,\n formatSize,\n handleSelect: debounce(async function (e) {\n if (this.file.kind === 'drive#file') {\n var _this$file, _this$file$name, _this$file2, _this$file$name2, _this$file3, _this$file4, _this$file5, _this$file6, _this$all$this$filePo, _this$all$this$filePo2;\n const isVideo = ((_this$file = this.file) === null || _this$file === void 0 || (_this$file = _this$file.mime_type) === null || _this$file === void 0 ? void 0 : _this$file.includes('video')) || isTruePlayFormat((_this$file$name = (_this$file2 = this.file) === null || _this$file2 === void 0 ? void 0 : _this$file2.name) !== null && _this$file$name !== void 0 ? _this$file$name : '');\n stat({\n action: 'complete_file_play_btn_click',\n data: {\n tab: this.taskType === 'ing' ? 'downloading' : 'complete',\n type: categorizeByFileExtension(getExtensionFromFilename((_this$file$name2 = (_this$file3 = this.file) === null || _this$file3 === void 0 ? void 0 : _this$file3.name) !== null && _this$file$name2 !== void 0 ? _this$file$name2 : '')),\n gcid: (_this$file4 = this.file) === null || _this$file4 === void 0 ? void 0 : _this$file4.hash,\n info_hash: (_this$file5 = this.file) === null || _this$file5 === void 0 || (_this$file5 = _this$file5.params) === null || _this$file5 === void 0 ? void 0 : _this$file5.info_hash,\n url: (_this$file6 = this.file) === null || _this$file6 === void 0 || (_this$file6 = _this$file6.params) === null || _this$file6 === void 0 ? void 0 : _this$file6.url,\n task_name: (_this$all$this$filePo = this.all[this.filePopTaskID]) === null || _this$all$this$filePo === void 0 ? void 0 : _this$all$this$filePo.name,\n task_size: (_this$all$this$filePo2 = this.all[this.filePopTaskID]) === null || _this$all$this$filePo2 === void 0 ? void 0 : _this$all$this$filePo2.file_size,\n file_name: this.file.name,\n file_size: this.file.file_size,\n file_extension: this.file.file_extension\n }\n });\n return this.$store.dispatch('getFileInfo', {\n id: this.file.id,\n usage: isVideo ? 2 : 0,\n theme: 'light',\n action_from: 'completed',\n scene: 'download_list'\n }).then(() => {\n this.store.commit('update', {\n showFilePop: false,\n filePopTaskID: '',\n parentIds: []\n });\n }).catch(() => {\n if (this.phase === 'PHASE_TYPE_COMPLETE') {\n toast('打开失败,请检查文件是否存在');\n } else if (['PHASE_TYPE_RUNNING', 'PHASE_TYPE_PAUSED'].includes(this.phase)) {\n toast('该任务尚未有已完成下载的文件,请稍后重试');\n }\n });\n } else {\n this.store.commit('update', {\n files: []\n });\n this.load(this.file);\n }\n }, 500, {\n leading: true,\n trailing: false\n })\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./FilePopItem.vue?vue&type=template&id=3f7bd9c2&scoped=true&ts=true\"\nimport script from \"./FilePopItem.vue?vue&type=script&lang=ts\"\nexport * from \"./FilePopItem.vue?vue&type=script&lang=ts\"\n\nimport \"./FilePopItem.vue?vue&type=style&index=0&id=3f7bd9c2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3f7bd9c2\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-3c6720c5\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n key: 0,\n class: \"dialog\"\n};\nconst _hoisted_2 = {\n class: \"dialog__body\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"file-pop-list\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_FilePopItem = _resolveComponent(\"FilePopItem\");\n const _component_Spin = _resolveComponent(\"Spin\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createVNode(_Transition, {\n name: \"mask\"\n }, {\n default: _withCtx(() => [_ctx.showFilePop ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"cover\",\n onClick: _cache[0] || (_cache[0] =\n //@ts-ignore\n (...args) => _ctx.close && _ctx.close(...args))\n })) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createVNode(_Transition, {\n name: \"pop\"\n }, {\n default: _withCtx(() => [_ctx.showFilePop ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [_ctx.parentIds.length > 1 ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: \"javascript:;\",\n class: \"arrow\",\n title: \"返回\",\n onClick: _cache[1] || (_cache[1] =\n //@ts-ignore\n (...args) => _ctx.goBack && _ctx.goBack(...args))\n })) : _createCommentVNode(\"\", true), _ctx.parentIds.length > 2 ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"back-index\",\n onClick: _cache[2] || (_cache[2] =\n //@ts-ignore\n (...args) => _ctx.backHome && _ctx.backHome(...args))\n }, \" 返回首页 \")) : _createCommentVNode(\"\", true), _ctx.parentIds.length <= 2 ? (_openBlock(), _createElementBlock(\"a\", {\n key: 2,\n href: \"javascript:;\",\n class: \"qh-icon-close\",\n title: \"关闭\",\n onClick: _cache[3] || (_cache[3] =\n //@ts-ignore\n (...args) => _ctx.close && _ctx.close(...args))\n })) : _createCommentVNode(\"\", true), _createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"h2\", {\n class: _normalizeClass({\n 'more': _ctx.parentIds.length > 1,\n 'deep': _ctx.parentIds.length > 2\n })\n }, _toDisplayString(_ctx.parentIds[_ctx.parentIds.length - 1].name), 3), !_ctx.isLoading ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.files, id => {\n return _openBlock(), _createBlock(_component_FilePopItem, {\n id: id,\n key: id,\n load: _ctx.loadFunction\n }, null, 8, [\"id\", \"load\"]);\n }), 128))])) : _createCommentVNode(\"\", true), _ctx.isLoading ? (_openBlock(), _createBlock(_component_Spin, {\n key: 1,\n top: 300\n })) : _createCommentVNode(\"\", true)])])) : _createCommentVNode(\"\", true)]),\n _: 1\n })], 64);\n}","import { defineComponent } from 'vue';\nimport { mapState, mapGetters, useStore } from 'vuex';\nimport FilePopItem from '@remote/components/FilePopItem.vue';\nimport Spin from '@remote/components/Spin.vue';\nimport { disableCloseOnBack, enableCloseOnBack } from '@remote/router';\n// import router from '@remote/router'\nexport default defineComponent({\n components: {\n FilePopItem,\n Spin\n },\n setup() {\n return {\n store: useStore()\n };\n },\n data() {\n return {\n isLoading: false\n };\n },\n computed: {\n ...mapState(['showFilePop', 'filePopTaskID', 'files', 'all', 'parentIds']),\n ...mapGetters(['curList']),\n fileList() {\n const list = this.files.map(id => this.all[id]);\n return list;\n }\n },\n watch: {\n showFilePop(val) {\n // 这里是为了达到点击返回(后退)键,能够关闭弹窗\n const closeAndRemovePopStateListener = () => {\n window.removeEventListener('popstate', closeAndRemovePopStateListener);\n enableCloseOnBack();\n this.close();\n };\n if (val) {\n history.pushState({}, '', location.pathname);\n disableCloseOnBack();\n window.addEventListener('popstate', closeAndRemovePopStateListener);\n }\n }\n },\n mounted() {},\n methods: {\n close() {\n this.store.commit('update', {\n showFilePop: false,\n parentIds: [],\n filePopTaskID: ''\n });\n },\n async loadFunction(file) {\n this.isLoading = true;\n try {\n await this.store.dispatch('getFiles', {\n parent_id: file.id,\n name: file.name\n });\n this.isLoading = false;\n } catch (error) {\n console.log(error);\n this.isLoading = false;\n }\n },\n async goBack() {\n const parent_id = this.parentIds[this.parentIds.length - 2].id;\n await this.store.dispatch('getFiles', {\n parent_id,\n isBack: true\n });\n },\n async backHome() {\n const parent_id = this.parentIds[0].id;\n await this.store.dispatch('getFiles', {\n parent_id,\n isBackHome: true\n });\n }\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./FilePop.vue?vue&type=template&id=3c6720c5&scoped=true&ts=true\"\nimport script from \"./FilePop.vue?vue&type=script&lang=ts\"\nexport * from \"./FilePop.vue?vue&type=script&lang=ts\"\n\nimport \"./FilePop.vue?vue&type=style&index=0&id=3c6720c5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c6720c5\"]])\n\nexport default __exports__","import { vShow as _vShow, createElementVNode as _createElementVNode, withDirectives as _withDirectives, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-d5afb3c6\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n class: \"wapper\"\n};\nconst _hoisted_2 = {\n class: \"cover\"\n};\nconst _hoisted_3 = {\n class: \"pop\"\n};\nconst _hoisted_4 = {\n class: \"pop__body\"\n};\nconst _hoisted_5 = {\n class: \"pop__body-title\"\n};\nconst _hoisted_6 = {\n key: 0\n};\nconst _hoisted_7 = {\n class: \"pop__footer\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_Transition, {\n name: \"mask\"\n }, {\n default: _withCtx(() => [_withDirectives(_createElementVNode(\"div\", _hoisted_2, null, 512), [[_vShow, _ctx.cooperationExpiresDialogVisiable]])]),\n _: 1\n }), _createVNode(_Transition, {\n name: \"pop\"\n }, {\n default: _withCtx(() => [_withDirectives(_createElementVNode(\"div\", _hoisted_3, [_createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"div\", _hoisted_5, _toDisplayString(_ctx.title) + \" \", 1), _ctx.cooperationExpiresContent ? (_openBlock(), _createElementBlock(\"p\", _hoisted_6, _toDisplayString(_ctx.cooperationExpiresContent), 1)) : (_openBlock(true), _createElementBlock(_Fragment, {\n key: 1\n }, _renderList(_ctx.tipsList, (item, index) => {\n return _openBlock(), _createElementBlock(\"p\", {\n key: index\n }, _toDisplayString(item), 1);\n }), 128))]), _createElementVNode(\"div\", _hoisted_7, [_ctx.showPayBtn ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"button be-vip\",\n onClick: _cache[0] || (_cache[0] =\n //@ts-ignore\n (...args) => _ctx.handleClick && _ctx.handleClick(...args))\n }, _toDisplayString(_ctx.btnText), 1)) : _createCommentVNode(\"\", true), _createElementVNode(\"div\", {\n class: _normalizeClass(['button', _ctx.closeClass]),\n onClick: _cache[1] || (_cache[1] =\n //@ts-ignore\n (...args) => _ctx.handelCooperationExpiresDialogClose && _ctx.handelCooperationExpiresDialogClose(...args))\n }, _toDisplayString(_ctx.closeText), 3)])], 512), [[_vShow, _ctx.cooperationExpiresDialogVisiable]])]),\n _: 1\n })]);\n}","import { defineComponent } from 'vue';\nimport { mapState, mapGetters, useStore } from 'vuex';\nimport { setLocalValue, getLocalValue } from '@remote/utils/index';\nexport default defineComponent({\n props: [],\n setup: () => {\n const store = useStore();\n return {\n store\n };\n },\n computed: {\n ...mapState(['cooperationExpiresDialogVisiable', 'cooperationScene', 'cooperationExpiresContent', 'expiredDay', 'isNative']),\n ...mapGetters(['isVip', 'isLogin', 'userId']),\n title() {\n return ['合作协议到期', '合作协议到期', '合作协议即将到期', '提示'][this.cooperationScene || 0];\n },\n btnText() {\n return ['开通会员', '', '开通会员', ''][this.cooperationScene || 0];\n },\n closeText() {\n return ['关闭并退出登录当前设备', '知道了', '知道了', '关闭并退出迅雷'][this.cooperationScene || 0];\n },\n tipsList() {\n return [['1、因设备厂商与迅雷合作协议到期,迅雷已停止对该设备的服务支持,如有疑问,请联系设备厂商;', '2、迅雷会员可继续使用迅雷下载,迅雷继续为会员提供服务支持。'], ['1、因设备厂商与迅雷合作协议到期,迅雷已停止对该设备的服务支持,如有疑问,请联系设备厂商;', '2、迅雷会员可继续使用迅雷下载,迅雷继续为会员提供当前设备服务支持。'], ['1、因设备厂商与迅雷合作协议即将到期,迅雷将停止对该设备的服务支持,如有疑问,请联系设备厂商;', '2、合作到期后,迅雷会员可继续使用迅雷下载,迅雷继续为会员提供当前设备服务支持;', `3、距离合作协议到期还有 ${this.expiredDay} 天。`], ['您的设备授权已过期,软件不可用,请联系设备厂商']][this.cooperationScene || 0];\n },\n closeClass() {\n return ['default', 'primary', 'default', 'default'][this.cooperationScene || 0];\n },\n showPayBtn() {\n return (this.cooperationScene === 0 || this.cooperationScene === 2) && this.btnText && this.$store.getters.showVip;\n }\n },\n methods: {\n /**\n * @description 监听合作弹窗关闭\n */\n handelCooperationExpiresDialogClose() {\n console.log('handelCooperationExpiresDialogClose->');\n this.store.commit('update', {\n cooperationExpiresDialogVisiable: false\n });\n if (this.cooperationScene === 0) {\n if (this.isNative) {\n this.store.dispatch('close');\n } else {\n this.store.dispatch('logout', true);\n }\n } else if (this.cooperationScene === 1) {\n // 1 a.会员用户 b.合作协议已经过期 c.当前账号只弹一次\n this.setLocalUserId(this.userId, true, 'show');\n } else if (this.cooperationScene === 2) {\n // 2 a.非会员用户 b.距离到期时间还有15天、7天、6天、5天、4天、3天、2天、1天、0天时,当天弹出一次 到期时间为 T 距离到期时间还有15天,即T-15 距离到期时间还有1天,即T-1 c.每个账号弹一次\n this.setLocalUserId(this.userId, this.expiredDay, 'expiredDay');\n } else if (this.cooperationScene === 3) {\n this.store.commit('update', {\n deleteCompletely: true\n });\n this.store.dispatch('logout', true);\n }\n },\n /**\n * @description 设置本地缓存 当前逻辑和厂商合作到期相关\n */\n setLocalUserId(id, value, type) {\n let currentLocalUserIdMap = getLocalValue('userIdMap') || {};\n const item = currentLocalUserIdMap[id] || {};\n if (Object.keys(item).length > 0) {\n if (type === 'expiredDay') {\n if (item.expiredDay) {\n item.expiredDay = item.expiredDay.includes(value) ? [...item.expiredDay] : [...item.expiredDay, value];\n } else {\n item.expiredDay = [value];\n }\n } else if (type === 'show') {\n item.show = value;\n // 合作到期就删除expiredDay记录\n if (item.expiredDay) {\n delete item.expiredDay;\n }\n }\n } else {\n if (type === 'expiredDay') {\n if (item.expiredDay) {\n item.expiredDay = item.expiredDay.includes(value) ? [...item.expiredDay] : [...item.expiredDay, value];\n } else {\n item.expiredDay = [value];\n }\n } else if (type === 'show') {\n item.show = value;\n // 合作到期就删除expiredDay记录\n if (item.expiredDay) {\n delete item.expiredDay;\n }\n }\n }\n currentLocalUserIdMap[id] = item;\n setLocalValue('userIdMap', currentLocalUserIdMap);\n },\n handleClick() {\n if (this.cooperationScene === 0) {\n this.$stat({\n action: 'vip_accelerate_btn_click'\n });\n this.store.dispatch('goVip', {\n position: 'expired'\n });\n } else if (this.cooperationScene === 1) {\n //\n } else if (this.cooperationScene === 2) {\n this.$stat({\n action: 'vip_accelerate_btn_click'\n });\n this.store.dispatch('goVip', {\n position: 'expiring'\n });\n }\n }\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./CooperationDialog.vue?vue&type=template&id=d5afb3c6&scoped=true&ts=true\"\nimport script from \"./CooperationDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./CooperationDialog.vue?vue&type=script&lang=ts\"\n\nimport \"./CooperationDialog.vue?vue&type=style&index=0&id=d5afb3c6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d5afb3c6\"]])\n\nexport default __exports__","import \"core-js/modules/es.array.push.js\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { vShow as _vShow, createVNode as _createVNode, withDirectives as _withDirectives, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = {\n class: \"toast\"\n};\nimport { computed, onMounted, watch } from 'vue';\nimport { RouterView } from 'vue-router';\nimport { DEVICE_NAME_MAP, MAX_DEVICE_ONLINE_NUM, STAND_AUTH_PROCESS_PATH_ENV } from '@remote/constant';\nimport Dialog from '@remote/components/Dialog.vue';\nimport Header from '@remote/components/HeaderPlus.vue';\nimport HuddlePop from '@remote/components/HuddlePop.vue';\nimport FooterBar from '@remote/components/FooterBar.vue';\nimport FilePop from '@remote/components/FilePop.vue';\nimport CooperationDialog from '@remote/components/CooperationDialog.vue';\n/* import ReloadPrompt from '@remote/components/ReloadPrompt.vue' */\nimport { getLocalValue, isInXunleiApp, nativeCall, newToast, setLocalValue, stringifySearch } from '@remote/utils';\nimport global from '@remote/store/constantStore';\nimport { useAuth } from '@remote/composable/auth';\nimport sso, { getSSOUser, safeSSOInit } from '@remote/utils/sso';\nimport { useEnvStore } from '@remote/store/env';\nimport { isAndroidNative, isIOSNative, sendMessage } from '@xunlei/universal-native-api';\nimport { store } from '@remote/store';\nimport { stat } from '@remote/utils/stat';\nimport { flowHubInstance } from '@remote/api/flowhub';\nimport router from '@remote/router';\nimport { useHeziStore } from '@remote/store/hezi';\n// import { safeJSONParse } from '@shared/utils'\nimport { useDeviceStore } from '@remote/store/device';\nimport { nextTick } from 'vue';\nimport { platformPath } from '@remote/platform';\nimport { VipVasType, useUserStore } from '@remote/store/user';\nimport { openPopCinemaDetail, openCinemaSourceSetting, openDialogDeviceLimitExceeded, openDeviceList } from '@remote/utils/dialog';\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n setup(__props) {\n const envStore = useEnvStore();\n const dialog = computed(() => {\n return store.state.dialog;\n });\n const toast = computed(() => {\n return store.state.toast;\n });\n const action = computed(() => {\n return store.state.action;\n });\n const queryAuth = computed(() => {\n return {\n ...store.state.queryAuth,\n scope: envStore.scope\n };\n });\n const privilegeAuth = computed(() => {\n return store.state.privilegeAuth;\n });\n const isNative = computed(() => {\n return store.state.isNative;\n });\n const show = computed(() => {\n return dialog.value.show;\n });\n const showHead = computed(() => {\n return ['home', 'me', 'plugin', 'login'].includes(router.currentRoute.value.name);\n });\n const deviceStore = useDeviceStore();\n const target = computed(() => {\n var _deviceStore$currentD, _deviceStore$currentD2;\n return (_deviceStore$currentD = (_deviceStore$currentD2 = deviceStore.currentDeviceRef) === null || _deviceStore$currentD2 === void 0 || (_deviceStore$currentD2 = _deviceStore$currentD2.runnerTaskRef.params) === null || _deviceStore$currentD2 === void 0 ? void 0 : _deviceStore$currentD2.target) !== null && _deviceStore$currentD !== void 0 ? _deviceStore$currentD : '';\n });\n const watchDeviceExceedLimit = () => {\n const watchStopHandler = watch(() => deviceStore.runnerList, newList => {\n // 判断是否需要展示设备数量超出限制弹窗\n if (store.state.fromSpace) {\n const t = newList.filter(task => task.phase === 'PHASE_TYPE_RUNNING').length;\n if (t >= MAX_DEVICE_ONLINE_NUM) {\n var _newList$find;\n // 超出数量限制时,runner不会创建,所以要么找不到相同space的runner,要么找得到runner但是phase不是running\n if (!(newList && ((_newList$find = newList.find(v => {\n var _v$params;\n return ((_v$params = v.params) === null || _v$params === void 0 ? void 0 : _v$params.target) === store.state.fromSpace;\n })) === null || _newList$find === void 0 ? void 0 : _newList$find.phase) === 'PHASE_TYPE_RUNNING')) {\n stat({\n action: 'reconnect_device_page_show',\n data: {\n errorcode: 'over_limit_num'\n }\n });\n store.commit('update', {\n showLoader: false\n });\n watchStopHandler(); // 停止监听\n openDialogDeviceLimitExceeded({});\n return;\n }\n }\n }\n });\n };\n const filterDevice = deviceMap => {\n let toBeFilter = Array.from(deviceMap);\n // 在PC中时,要过滤掉自己。\n if (envStore.isInPC) {\n toBeFilter = toBeFilter.filter(i => {\n var _i$;\n return ((_i$ = i[1]) === null || _i$ === void 0 || (_i$ = _i$.runnerTaskRef) === null || _i$ === void 0 || (_i$ = _i$.params) === null || _i$ === void 0 ? void 0 : _i$.platform) !== 'pcxllite';\n });\n }\n // 不在海康环境中时要过滤掉海康设备\n // if (platformPath !== 'hik') {\n // toBeFilter = toBeFilter.filter(i => i[1]?.runnerTaskRef?.params?.platform !== 'hiksemi')\n // }\n // 不在绿联环境中时要过滤掉绿联设备\n if (platformPath !== 'ugreen' && platformPath !== 'new-ugreen') {\n toBeFilter = toBeFilter.filter(i => {\n var _i$2;\n return ((_i$2 = i[1]) === null || _i$2 === void 0 || (_i$2 = _i$2.runnerTaskRef) === null || _i$2 === void 0 || (_i$2 = _i$2.params) === null || _i$2 === void 0 ? void 0 : _i$2.platform) !== 'ugreen';\n });\n }\n return new Map(toBeFilter);\n };\n const watchRunnerUtilDeviceOnline = () => {\n // 创建一个watcher,监听deviceMap的变化,当有设备上线时,切换到该设备\n const unwatch = watch(deviceStore.deviceMap, newMap => {\n const filteredDeviceMap = filterDevice(newMap);\n for (const i of filteredDeviceMap) {\n if (i[1].runnerTaskRef.phase === 'PHASE_TYPE_RUNNING') {\n deviceStore.changeCurrentDevice(i[0]);\n unwatch();\n newToast({\n message: '检测到有设备上线,已自动切换到该设备'\n });\n break;\n }\n }\n }, {\n immediate: true\n });\n };\n /**\n * 选择默认设备\n * 在第一次调用deviceStore.pollRunnerList之后调用\n * 优先级P0: 使用url中指定的space\n * 优先级P1: 使用本地缓存,且该设备在线\n * 优先级P2: 取第一个在线设备\n * 优先级P3: 使用本地缓存,且该设备离线\n * 优先级P4(兜底): 使用第一个设备\n */\n const selectDefaultDeviceSpace = () => {\n var _cachedDeviceRunner$p, _filteredDeviceMap$ge;\n const cachedDeviceRunner = getLocalValue('curDeviceRunner');\n const cachedSpace = cachedDeviceRunner === null || cachedDeviceRunner === void 0 || (_cachedDeviceRunner$p = cachedDeviceRunner.params) === null || _cachedDeviceRunner$p === void 0 ? void 0 : _cachedDeviceRunner$p.target;\n const deviceMap = deviceStore.deviceMap;\n const filteredDeviceMap = filterDevice(deviceMap);\n // 优先级P0: 使用url中指定的space\n if (envStore.space) {\n console.log('[默认设备]使用url中指定的space', envStore.space);\n return envStore.space;\n }\n // 优先级P1: 使用本地缓存,且该设备在线\n if (cachedSpace && filteredDeviceMap.has(cachedSpace) && ((_filteredDeviceMap$ge = filteredDeviceMap.get(cachedSpace)) === null || _filteredDeviceMap$ge === void 0 ? void 0 : _filteredDeviceMap$ge.runnerTaskRef.phase) === 'PHASE_TYPE_RUNNING') {\n console.log('[默认设备]使用本地缓存(在线)', cachedSpace);\n return cachedSpace;\n }\n // 优先级P2: 取第一个在线设备\n for (const i of filteredDeviceMap) {\n if (i[1].runnerTaskRef.phase === 'PHASE_TYPE_RUNNING') {\n console.log('[默认设备]取第一个在线设备', i[0]);\n return i[0];\n }\n }\n // 此时已无在线设备\n // 优先级P3: 使用本地缓存,且该设备离线\n if (cachedSpace && filteredDeviceMap.has(cachedSpace)) {\n // 优先级P4: 取第一个设备(最近在线)\n // 使用本地缓存,且该设备已离线线\n console.log('[默认设备]使用本地缓存(离线)', cachedSpace);\n return cachedSpace;\n }\n // 优先级P4(兜底): 使用第一个设备\n watchRunnerUtilDeviceOnline();\n console.log('[默认设备]取第一个设备', filteredDeviceMap.keys().next().value);\n return filteredDeviceMap.keys().next().value;\n };\n // 兼容性:监听更新原来store里的curDeviceRunner\n watch(() => {\n var _deviceStore$currentD3;\n return (_deviceStore$currentD3 = deviceStore.currentDeviceRef) === null || _deviceStore$currentD3 === void 0 ? void 0 : _deviceStore$currentD3.runnerTaskRef;\n }, val => {\n var _val$params;\n store.commit('update', {\n checking: false,\n connecting: false,\n loading: false,\n space: val === null || val === void 0 || (_val$params = val.params) === null || _val$params === void 0 ? void 0 : _val$params.target,\n curDeviceRunner: val\n });\n });\n // 兼容性:监听更新原来store里的deviceInfoWatchData\n watch(() => {\n var _deviceStore$currentD4;\n return (_deviceStore$currentD4 = deviceStore.currentDeviceRef) === null || _deviceStore$currentD4 === void 0 ? void 0 : _deviceStore$currentD4.deviceInfoRef;\n }, val => {\n store.commit('update', {\n deviceInfoWatchData: val\n });\n });\n /**\n * 监听设备列表,如果没有在线设备,\n */\n watch(deviceStore.deviceMap, val => {\n if (Array.from(val.values()).every(i => i.runnerTaskRef.phase !== 'PHASE_TYPE_RUNNING')) {\n watchRunnerUtilDeviceOnline();\n }\n });\n const userStore = useUserStore();\n const bodyClass = computed(() => {\n var _router$currentRoute$, _deviceStore$currentD5;\n // 片库黑色\n if (['cinema', 'OAuthCallback', 'cinema-source'].includes((_router$currentRoute$ = router.currentRoute.value.name) !== null && _router$currentRoute$ !== void 0 ? _router$currentRoute$ : '')) {\n return 'is-dark';\n }\n // 除片库、下载、小工具、我的、登录以外,都是白色\n if (!['home', 'plugin', 'me', 'login'].includes(String(router.currentRoute.value.name))) {\n return 'is-menu';\n }\n const cacheIsVip = getLocalValue('isVip');\n if (!userStore.hasInit && cacheIsVip !== null) {\n return cacheIsVip === 'true' ? 'is-vip' : 'is-normal';\n }\n if (userStore.vipType === VipVasType.normal || !store.getters.isVip || !((_deviceStore$currentD5 = deviceStore.currentDeviceRef) !== null && _deviceStore$currentD5 !== void 0 && (_deviceStore$currentD5 = _deviceStore$currentD5.deviceInfoRef.user) !== null && _deviceStore$currentD5 !== void 0 && (_deviceStore$currentD5 = _deviceStore$currentD5.vip) !== null && _deviceStore$currentD5 !== void 0 && _deviceStore$currentD5.is_vip)) {\n return 'is-normal';\n }\n return 'is-vip';\n });\n watch(bodyClass, val => {\n document.body.classList.remove('is-dark');\n document.body.classList.remove('is-normal');\n document.body.classList.remove('is-vip');\n document.body.classList.remove('is-menu');\n document.body.classList.add(val);\n const colorMap = {\n 'is-dark': '#16181E',\n 'is-normal': '#DFF1FF',\n 'is-menu': '#FFFFFF',\n 'is-vip': '#FEE8C5'\n };\n nativeCall('configNav', false, '迅雷下载', colorMap[val]);\n if (isAndroidNative) {\n sendMessage({\n platform: 'android',\n name: 'xlSetActionBar',\n params: {\n statusBarLightMode: val !== 'is-dark'\n }\n }, {\n noCallback: true\n });\n }\n }, {\n immediate: true\n });\n const checkHezi = async () => {\n const deviceList = deviceStore.runnerList;\n if (!(deviceList !== null && deviceList !== void 0 && deviceList.length) || deviceList.filter(task => task.phase === 'PHASE_TYPE_RUNNING').length === 0) {\n // 没有在线设备的时候检查一下盒子在线状态\n // 测试环境不请求的原因是会把登录态踢掉\n if (store.getters.isLogin) {\n // 只检查一次\n try {\n // 没有找过盒子设备\n const heziStore = useHeziStore();\n await heziStore.getHezi();\n // haveLookUpHeziDevice = true\n if (Number(heziStore.heziDeviceList.length) > 0) {\n const firstHeziDevice = heziStore.heziDeviceList[0];\n heziStore.jumpToHezi(firstHeziDevice.id);\n }\n } catch (e) {\n console.error('getHeziDeviceList error', e);\n }\n }\n }\n };\n const startRunner = async () => {\n var _deviceStore$currentD6;\n await deviceStore.pollRunnerList(12);\n const defaultSpace = selectDefaultDeviceSpace();\n if (defaultSpace) {\n deviceStore.changeCurrentDevice(defaultSpace);\n }\n setLocalValue('curDeviceRunner', (_deviceStore$currentD6 = deviceStore.currentDeviceRef) === null || _deviceStore$currentD6 === void 0 ? void 0 : _deviceStore$currentD6.runnerTaskRef);\n watchDeviceExceedLimit(); //TODO: 测试设备数超出限制逻辑\n store.commit('update', {\n haveRequestedRunner: true\n });\n nextTick(() => {\n store.dispatch('getTasks');\n });\n window.deviceStore = deviceStore;\n if (isInXunleiApp() || envStore.isInPC || envStore.isInMac) {\n checkHezi();\n }\n };\n /**\n * 处理url中传入参数的不同行为\n */\n const handleQueryAction = async query => {\n if (query.nfo_id) {\n openPopCinemaDetail({\n nfo: {\n scrape_result: {\n id: Number(query.nfo_id)\n }\n },\n from: 'url_redirect'\n });\n return;\n }\n if (query.pop === 'source-setting') {\n openCinemaSourceSetting({\n from: 'url_redirect'\n });\n return;\n }\n if (query.pop === 'device-list') {\n var _router$currentRoute$2;\n const isLogin = await safeSSOInit();\n if (!isLogin) return;\n // 去掉pop参数\n router.push({\n name: (_router$currentRoute$2 = router.currentRoute.value.name) !== null && _router$currentRoute$2 !== void 0 ? _router$currentRoute$2 : 'home',\n query: {\n ...router.currentRoute.value.query,\n pop: ''\n }\n });\n setTimeout(() => {\n openDeviceList({\n actionFrom: 'url_action'\n });\n }, 500);\n return;\n }\n };\n const checkIsBindAndIsLogin = async () => {\n try {\n const {\n pathEnv\n } = useEnvStore();\n let authResult = {};\n if (STAND_AUTH_PROCESS_PATH_ENV.includes(pathEnv)) {\n // 如果厂商提供了H5直接调用到套件的穿透接口(如华为),可以选择走下面的 auth 流程来处理绑定的流程。\n const {\n auth\n } = useAuth();\n const [isDeviceLogin, result] = await auth();\n authResult = result;\n console.log('isDeviceLogin, authResult', isDeviceLogin, authResult);\n }\n const query = {\n ...authResult,\n ...router.currentRoute.value.query\n };\n handleQueryAction(query);\n let isChanged = false;\n // user_code, client_id是从账号页面登录成功跳转回来时会带上的参数\n const isBind = (query === null || query === void 0 ? void 0 : query.user_code) && (query === null || query === void 0 ? void 0 : query.client_id); // 进入绑定\n const isLogin = await store.dispatch('login', {\n checkRunner: !isBind\n });\n console.log('isBind', isBind);\n if (!isLogin) {\n if ((query === null || query === void 0 ? void 0 : query.auto_login) === '1') {\n await sso.signIn();\n return;\n }\n if (!['/close', '/oauth-callback'].includes(router.currentRoute.value.path)) {\n router.replace({\n path: '/login',\n query: {\n ...query,\n ...authResult\n }\n });\n }\n } else {\n // Why?\n if (query.scope) {\n query.code && delete query.code;\n query.scope && delete query.scope;\n query.expires_in && delete query.expires_in;\n query.state && delete query.state;\n isChanged = true;\n }\n if (isBind) {\n query.user_code = query.user_code.replace(/\\#\\//, '');\n const newQueryAuth = Object.assign({}, queryAuth.value, {\n user_code: query.user_code,\n client_id: query.client_id\n });\n store.commit('update', {\n queryAuth: newQueryAuth\n });\n delete query.user_code;\n delete query.client_id;\n isChanged = true;\n bindDevice(newQueryAuth);\n } else {\n // 登录成功\n // 如果走绑定流程,会在getRunner之后开始请求\n setTimeout(async () => {\n // await store.dispatch('getDeviceInfoWatch')\n stat({\n action: 'connect_success_page_show'\n });\n }, 2000);\n // await store.dispatch('checkPrivilegeAuth')\n const envStore = useEnvStore();\n if (envStore.userID && envStore.userID !== global.userId) {\n var _authResult;\n store.commit('update', {\n deleteCompletely: false\n });\n const State = store.state;\n const user = State.Users.all[query.user_id] || {};\n const name = ((_authResult = authResult) === null || _authResult === void 0 ? void 0 : _authResult.name) || query.nickname || user.nickName || '';\n // const userID = (authResult as API_DEVICE.UserInfo)?.id || global.user_id || query.user_id || ''\n // logout2 为要求退出登陆,区分action以避免在个人页面中的退出两遍\n store.commit('dialog', {\n show: true,\n title: isNative.value ? '登录状态提示' : '登录失败',\n tip: `当前设备已经登录其他迅雷帐号,账号昵称【${name}】,您可以切换为该迅雷帐号进行下载管理(退出当前帐号后登录该帐号)`,\n okTxt: '切换帐号',\n cancelTxt: '',\n action: 'logout2',\n cancel: 'logout2'\n });\n } else {\n startRunner();\n }\n }\n // 去掉多余参数\n // TODO: 这种方式会导致返回时会恢复这些参数\n isChanged && setTimeout(() => window.history.replaceState(null, '', stringifySearch(query)), 1000);\n }\n } catch (e) {\n console.error(e);\n }\n };\n const bindDevice = async queryAuth => {\n const data = await store.dispatch('deviceAuthorize', {\n ...queryAuth,\n state: 'WAITING_CONSENT'\n });\n console.log(data);\n if (data && data.browser) {\n let name = '';\n if (!isAndroidNative && !isIOSNative) {\n var _await$getSSOUser$nic;\n name = (_await$getSSOUser$nic = (await getSSOUser()).nickName) !== null && _await$getSSOUser$nic !== void 0 ? _await$getSSOUser$nic : ''; // 取了个nickname\n } else {\n var _store$state$user$nic, _store$state;\n name = (_store$state$user$nic = (_store$state = store.state) === null || _store$state === void 0 || (_store$state = _store$state.user) === null || _store$state === void 0 ? void 0 : _store$state.nickName) !== null && _store$state$user$nic !== void 0 ? _store$state$user$nic : '';\n }\n store.commit('dialog', {\n show: true,\n title: '确定登录',\n tip: `账号【${name}】即将登录${data.address}的${DEVICE_NAME_MAP.get(data.browser) || ''}设备`,\n okTxt: '确定',\n cancelTxt: '取消',\n action: 'authOk',\n cancel: 'authCancel',\n showLoader: true\n });\n } else {\n store.commit('dialog', {\n show: true,\n title: '登录超时',\n tip: '迅雷登录授权已过期,请退出迅雷后重新打开',\n okTxt: '确定并退出',\n action: 'close'\n });\n }\n };\n const handleAuth = async () => {\n var _router$currentRoute$3;\n const data = await store.dispatch('deviceAuthorize', {\n ...queryAuth.value,\n state: 'ACCOMPLISHED'\n });\n store.commit('dialog', {\n show: false\n });\n if (((_router$currentRoute$3 = router.currentRoute.value.query) === null || _router$currentRoute$3 === void 0 ? void 0 : _router$currentRoute$3.privilege) === 'PAN_CLI_PREVIEW') {\n handleCheck();\n } else {\n handleRunner();\n }\n store.commit('dialog', {\n show: false,\n action: '',\n cancel: '',\n showLoader: false\n });\n };\n const handleCheck = async () => {\n await store.dispatch('checkPrivilegeAuth');\n if (privilegeAuth.value) {\n handleRunner();\n } else {\n store.commit('dialog', {\n show: false,\n cancelTxt: ''\n });\n setTimeout(() => {\n store.commit('dialog', {\n show: true,\n title: '请在NAS设备输入内测邀请码',\n tip: '该版本仅为Beta版不代表最终上线品质,目前采用邀请制,拥有内测邀请码才可以参与内测',\n okTxt: '确认',\n action: 'check',\n showLoader: false\n });\n store.commit('update', {\n showLoader: false\n });\n }, 1000);\n }\n };\n const handleRunner = async () => {\n setTimeout(async () => {\n // H5主界面展示(用户有登录NAS且绑定设备后才上报)\n stat({\n action: 'mobile_homepage_show'\n });\n const {\n pathEnv\n } = useEnvStore();\n if (STAND_AUTH_PROCESS_PATH_ENV.includes(pathEnv)) {\n const {\n updateAuthStatus\n } = useAuth();\n await updateAuthStatus();\n }\n const envStore = useEnvStore();\n if (!envStore.hasPopDeviceLimitExceededShown && global.error_message === '超过同时登录设备上限') {\n envStore.hasPopDeviceLimitExceededShown = true;\n openDialogDeviceLimitExceeded({});\n }\n store.commit('Devices/set', global.fromSpace);\n startRunner();\n // setTimeout(() => store.dispatch('getDeviceInfoWatch'), 2000)\n }, 3000);\n };\n const handleAuthCancel = async () => {\n store.commit('dialog', {\n show: false,\n tip: '',\n more: ''\n });\n await store.dispatch('deviceAuthorize', {\n ...queryAuth.value,\n state: 'ACCESS_DENIED'\n });\n store.dispatch('logout', true);\n };\n watch(action, val => {\n if (val === 'authOk') handleAuth();else if (val === 'authCancel') handleAuthCancel();else if (val === 'logout2' || val === 'close') {\n if (isNative.value) {\n store.dispatch('close');\n } else {\n store.dispatch('logout', true);\n }\n } else if (val === 'check') store.commit('dialog', {\n show: false\n });\n });\n watch(target, val => {\n if (val && router.currentRoute.value.name !== 'login') {\n flowHubInstance.getFlowHubSlots('POSITION_CINEMA_EMPTY');\n }\n });\n const needExtraHeaderPadding = () => {\n if (isAndroidNative) {\n return true;\n }\n return false;\n };\n onMounted(async () => {\n checkIsBindAndIsLogin();\n await userStore.getUser();\n setLocalValue('isVip', userStore.isVip);\n if (needExtraHeaderPadding()) {\n document.body.classList.add('is-extra-header-padding');\n }\n });\n return (_ctx, _cache) => {\n return _openBlock(), _createElementBlock(_Fragment, null, [_withDirectives(_createVNode(Header, null, null, 512), [[_vShow, showHead.value]]), _createVNode(_unref(RouterView), {\n \"keep-alive\": \"\"\n }), _createVNode(FooterBar), _createVNode(FilePop), _withDirectives(_createVNode(Dialog, null, null, 512), [[_vShow, show.value]]), _createVNode(HuddlePop), !show.value ? (_openBlock(), _createBlock(CooperationDialog, {\n key: 0\n })) : _createCommentVNode(\"\", true), _withDirectives(_createElementVNode(\"div\", _hoisted_1, [_createElementVNode(\"span\", null, _toDisplayString(toast.value.message), 1)], 512), [[_vShow, toast.value.message]])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./index.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./index.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./index.vue?vue&type=style&index=0&id=38fd765a&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/huddle-pop@3x.png\";","module.exports = __webpack_public_path__ + \"img/meet-download-icon@3x.svg\";","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./Loader.vue?vue&type=style&index=0&id=05f2b937&lang=scss&scoped=true\"","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./Spin.vue?vue&type=style&index=0&id=3b9d62ba&lang=scss&scoped=true\"","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b9d62ba\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n key: 0,\n class: \"cover\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return _openBlock(), _createElementBlock(_Fragment, null, [_ctx.showCover ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1)) : _createCommentVNode(\"\", true), _createElementVNode(\"div\", {\n class: \"loading\",\n style: _normalizeStyle({\n top: _ctx.top + 'px'\n })\n }, [_createElementVNode(\"div\", {\n class: \"loading__image\",\n style: _normalizeStyle({\n height: _ctx.size + 'px',\n width: _ctx.size + 'px'\n })\n }, null, 4)], 4)], 64);\n}","import { defineComponent } from 'vue';\nexport default defineComponent({\n props: {\n size: {\n type: Number,\n default: 30\n },\n top: {\n type: Number,\n default: 0\n },\n showCover: {\n type: Boolean,\n default: false\n }\n },\n setup() {\n return {};\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./Spin.vue?vue&type=template&id=3b9d62ba&scoped=true&ts=true\"\nimport script from \"./Spin.vue?vue&type=script&lang=ts\"\nexport * from \"./Spin.vue?vue&type=script&lang=ts\"\n\nimport \"./Spin.vue?vue&type=style&index=0&id=3b9d62ba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/var/static/node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3b9d62ba\"]])\n\nexport default __exports__","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./HeaderPlus.vue?vue&type=style&index=0&id=44627cbf&lang=scss\"","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./FilePop.vue?vue&type=style&index=0&id=3c6720c5&lang=scss&scoped=true\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAAEi6oPRAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAC1UlEQVR4Ae2b0VLCMBRExb9U3wRf4CPUfxBfBN/UvxSzDMtkYm/amzStMtsZ59LmZrs5TZM24NXVfNvL28eBZ9++fTzx86+IxDgZCde/svoOZE/RV/nflB8Oh0XWbH1CVl6FlQTijo5rFe+7pZsIVDlyN0EVRKAFge3uc5/q5np2dsKJxSCyWd2a+dnhmULhxr2HyGKxOM+RqVvzDEgMlZcQCQLvORHkZoXi5tAdKrk2iGAsYiUIFYnFIrEYPyuKgAiIwAUTOA+iQ9uIgZZTAaaFrnoYV0PeN8r65p20vtsQBbqM1RihbrEhCtAY971EWI8xO8EyyYoggsuHcszmiK/7rx1i6VZEKHdpSAwGrT6WM+sylDOSnqTWWKqnfREQAREQAREQAREQAREoIIAvo9JFMUsGj7DItcqt4663jvXq9hlC4WTfeL62ROPnaSvHOm6KWhX6HvRjM83fOmjSMlVrBvpuQpYpvCAGo8fl3xIy1C02BIGYFPZLXw5Rl5urU7MSIxbC+QqNY+vlzYplpbHKUNxnYCDsZ+++ISaLDcVm0GfC31Gr1lRRH0rNsOVxn4JBXFKWDY1uQ5YZnrDWlOuS9ZmBKVCJLx+NNoswNUT8SCr3W48hIsoRAREQAREQAREQAREQAREQAREQAREQAREQgcskgK+NTut/7kVMi8hp8XI/xf9HjWa6qzFcGGUZVvqxwl+yRAwNgOH3KLEm1sa5P3ZsCghmrUZ5QI2hUQquOSAaK2lkSR2eb6w4GSAaHtLoITnUax0nB8QGWRBQHsrumVc7blGnNM4GiIa7QKFsbjD0NysgC87ZXOWsR52aOAugLjDsMWhM11TumfVqgKR1JwWUA5M+G3ly00aNuT8JoJrG1tQdA1RTQGM2bkwtD7imgPCuFH528ghDHGPSW8ljFrkpqNCA583D3ZNXR/kiIAIiIAIiIAIiIAIiIAIiIAJ/l8APJTVW/4ddBbcAAAAASUVORK5CYII=\"","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=38fd765a&lang=css\"","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./FooterBar.vue?vue&type=style&index=0&id=8eaeab62&lang=scss&scoped=true\"","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./FilePopItem.vue?vue&type=style&index=0&id=3f7bd9c2&lang=scss&scoped=true\"","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./HuddlePop.vue?vue&type=style&index=0&id=990e83a6&lang=scss\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAAGWB6gOAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJKADAAQAAAABAAAAJAAAAAAqDuP8AAAEMklEQVRYCe1XTYgURxSuanuUWd1ICNOLSDQs4sEVFH8OuUzPDIua1ZmTvzcRF7wEo6AJmENAEhIQQ7yIogcDgcQ9CNOzmmjWnV0lhICCB72sogQRpttdNequO9PT5Xu9qaamp2qmZ0QEtQ/zXr33va++rr+uIaTZU8onWQ1GDGhipmSlV4jtiL5jpXYjVMcfJPeYh+4p/PEfsUcfwRPtWaSroQSamhexreQDTi0CfYU8QTR9O6m6I125URrEXr8j6sHeajQ9Lmz8cNp7OhGWEQjEN2OMLEBAWHgAYoxR2zL9SUAg1chXxqbRH9APxolSygw6fy4G8eEA9AMQNmz25Dmh5N9wd5jzH+jqO2cwtYa3X4sNXi4KO7OyHSgb3vGUkR3pF2siEdl5c4wRtmSmUDvQlSseEUnQVxLZheSXsAO+Fwt0PdbzUd/QLTHG/ZoVgMGHeXNtlbB/ZrYRh81Y160MgNdTG51pKRVh+nGht3vaK98JF1JN+9bYVPxajNcpEpPTrHJTbBvZLp3SgaoY475SEd8FMEPHYIb28oKWLPtrS5wNpxqqbYnwHQLDpj3NJyH82pEHFAgm4bCJwzSfDpNgWzn9HOxYmVUec6/xtuqMqTmQOJjbkmWeE0k0SnM8F7ZSRXheOoVUGWzw6rAwXViYsTABb9cpcgpmGg9dkQTBuq6v5kUyW0cEu/6SDFipVG6UrMw6WQ5jdURGbkSH3b1TWsDcP2D2pmU56RhxYClv3iWEfcLb3Mpmrk4RB6OllIQH966MBLFKokeDmcUw4AsR5D+UHgWSbt4M22B6w4ly1b3HYxrVVyeyl6/ztsxKiRzL7If59/FGpxaj6cuurFiMSYmA5CQswPuwAD8WwS379mAm2XLR+4I3PQLOoLmjZCX/fHg+k4miRbqIohQ2woz/nu5xy9WzgFnmVRke5h6rkoONaniu4RHCQVGsczXX6U08OQFHzg4RD6fHfx3x2NJ5vUMlMa7yX1mQXTA/hz82eAucHe4EtupYottYTnsGyuGcqt2WoHHL/NQl7FfCyCIlMSUXjezoelVeFY8s6On5zxJT7uTPcD/eoCLj8Ve53jVd1HhN9gj7e9J9rvxAcCGBhXWMV0aaLjY9moOa/51II4RTBFfhn+CrtDZM0KwNo2WRGN1vbCjebobFfCRBIpE9nJpHnnmHYBD2EcbmiLlGPuw2lpg1N077LkhvDLy2ZUG8EK2dT/4I384vxFidT8kkJdouI1v8rS4nCTRdQ5IaPwT/sw/Dl1wthpKheDy27YPeoXEVhyze1gjBtfIsrKctEsIpjWr9iWzxF0kuUqglQYx9ozmF4WsgZqXIDgu3GJ/VsbWz74IjxtvxIwuauNQ7v/KiPAaHYcLviNIXIGQP/Jk9007HqprIa6gyVTkOJAkQcSU+e87mzvUXbRXpWxV/CXlsb+LBGGDxAAAAAElFTkSuQmCC\"","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./CooperationDialog.vue?vue&type=style&index=0&id=d5afb3c6&lang=scss&scoped=true\"","/* unplugin-vue-components disabled */export * from \"-!../../../../node_modules/.pnpm/unplugin@1.4.0/node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.65.1/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@16.8.3_@vue+compiler-sfc@3.3.4_vue@3.3.4_webpack@4.46.0/node_modules/vue-loader/dist/index.js??ref--1-1!./HeaderPlus.vue?vue&type=style&index=1&id=44627cbf&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/speedup.svg\";","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nexport { urlAlphabet }\n","import { urlAlphabet } from './url-alphabet/index.js'\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size, random)\nlet nanoid = (size = 21) =>\n crypto.getRandomValues(new Uint8Array(size)).reduce((id, byte) => {\n byte &= 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte > 62) {\n id += '-'\n } else {\n id += '_'\n }\n return id\n }, '')\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import { store } from '@remote/store'\nimport axios from 'axios'\nimport { nanoid } from 'nanoid'\nimport pkg from '../../package.json'\nimport { xbaseConfig } from '@remote/api/config'\nimport { reactive, ref } from 'vue'\nimport { useEnvStore } from '@remote/store/env'\nimport global from '@remote/store/constantStore'\n\n/**\n * 全局单例\n */\nexport class FlowHub {\n availableSlotParams = {\n POSITION_CINEMA_EMPTY: {\n // 后需更改为md5值,保证长度的一致性\n id: `${nanoid()}`,\n slots: [\n {\n id: 'nas_remote_personalmovie_middle_banner',\n accept_source: ['native'],\n accept_landing_type: ['LANDING_CALL_APP'],\n accept_style: [\n 'image_above_text_below',\n ],\n accept_event: ['EVENT_IMPRESSION', 'EVENT_CLICK'],\n },\n ],\n },\n }\n\n // TODO: type\n slotResult = ref>({})\n\n hosts = ['https://api-shoulei-ssl.xunlei.com', 'https://test-api-shoulei-ssl.xunlei.com']\n \n host = this.hosts[0]\n\n async getFlowHubSlots (slot: (keyof FlowHub['availableSlotParams'])) {\n const envStore = useEnvStore()\n const result = await axios.post(`${this.host}/flowhub/v1/slots:batchGet`, {\n ...this.availableSlotParams[slot],\n }, {\n headers: {\n // 'user-id': store.state.user?.userID ?? '',\n 'x-client-id': xbaseConfig.clientId,\n 'x-peer-id': store.state.curDeviceRunner.target,\n 'x-device-id': global.deviceID,\n },\n })\n if (result.data) {\n this.slotResult.value[slot] = reactive(result.data)\n }\n }\n\n async reportFlowHub (url: string, params?: Record) {\n // 测试环境兼容\n if (location.href.startsWith('https') && url.startsWith('http://test.api-shoulei-ssl.xunlei.com')) {\n url = url.replace('http://test.api-shoulei-ssl.xunlei.com', 'https://test-api-shoulei-ssl.xunlei.com')\n }\n axios.get(url, {\n headers: {\n // 'user-id': store.state.user?.userID ?? '',\n 'x-client-id': xbaseConfig.clientId,\n 'x-peer-id': store.state.curDeviceRunner.target,\n 'x-device-id': global.deviceID,\n },\n params,\n }).catch()\n }\n}\n\nexport const flowHubInstance = new FlowHub()","import { toast, updateGlobalProperties } from '@remote/utils/index'\nimport { captureException } from '@sentry/vue'\nimport { paramsToObject } from '@shared/utils'\n/**\n * 定义一个接口:FactoryRequestFunction,用于使用厂商的接口,调用套件端接口。\n * 后续接入新厂商的时候,只需要根据这个接口实现请求函数即可。\n */\ninterface FactoryRequestFunction {\n (payload: API_DEVICE.FactoryRequestPayload): Promise\n}\n\ninterface DeviceAuthParams {\n //privilege=PLATFORM_XCLOUD&runner_space=&space=device_id%23d9ebf7685d30b57c8f64449ca694928e&user_code=AWMXCloZAXlx-qLu0g\n client_id?: string\n error_message?: string\n noActionBar?: 'true' | 'false'\n noStatusBar?: 'true' | 'false'\n platform?: 'huawei'\n plm?: 'hw'\n privilege?: string\n runner_space?: string\n space?: string\n user_code?: string\n}\n\n/**\n * 返回一个函数:使用华为和套件通信的机制,对套件发起请求。\n * 后续接入厂商,可以参考这个实现请求函数,复用认证流程。\n */\nconst useHuaweiRequest = (): FactoryRequestFunction => {\n const generateRequestID = () => {\n const timestamp = Date.now() // 当前时间戳\n const random = Math.floor(Math.random() * 1000000) // 一个6位随机数\n return `FUNC${timestamp}${random}`\n }\n if (window.hdc) { // 华为Android\n const requestFunction = (payload: API_DEVICE.FactoryRequestPayload): Promise => {\n return new Promise((resolve, reject) => {\n try {\n const requestID = generateRequestID()\n window[requestID] = (resp: string) => {\n try {\n const response: { code: number; data?: { response: unknown; pkgName: string; function: string } } = JSON.parse(resp)\n if (response.code === 0 && response?.data?.response) {\n resolve(response.data.response)\n return\n }\n reject(new Error('连接设备失败'))\n } catch (error) {\n reject(error)\n }\n }\n const stringifiedPayload = JSON.stringify(payload)\n console.log('payload', payload)\n window.hdc.getServiceData('com.xunlei.download', stringifiedPayload, requestID)\n } catch (error) {\n reject(error)\n }\n })\n }\n return requestFunction\n } else if (window?.webkit?.messageHandlers?.hdc) {\n // 华为 iOS\n const requestFunction = (payload: API_DEVICE.FactoryRequestPayload): Promise => {\n return new Promise((resolve, reject) => {\n try {\n const requestID = generateRequestID()\n window[requestID] = (resp: { result: { code: number; data?: { response: unknown; pkgName: string; function: string } }}) => {\n try {\n const response = resp.result\n if (response.code === 0 && response?.data?.response) {\n resolve(response.data.response)\n return\n }\n reject(new Error('连接设备失败'))\n } catch (error) {\n reject(error)\n }\n }\n // const stringifiedPayload = JSON.stringify(payload)\n console.log('payload', payload)\n window.webkit.messageHandlers.hdc.postMessage({\n method: 'getServiceData',\n callback: requestID,\n id: new Date().getTime(),\n data: {\n function: 'com.xunlei.download',\n body: payload,\n },\n })\n } catch (error) {\n reject(error)\n }\n })\n }\n return requestFunction\n }\n throw new Error('不在华为环境中: 没有找到hdc对象')\n}\n\n/**\n * 柯里化获取目前设备信息(绑定状态)\n */\nexport const curryGetDeviceStatus = (requestFunc: FactoryRequestFunction) => {\n return () => requestFunc({\n method: 'GET',\n path: '/device/status',\n }) as Promise\n}\n\n/**\n * 柯里化退出设备登录态\n */\nconst currySignOut = (requestFunc: FactoryRequestFunction) => {\n return (type?: 'relogin') => requestFunc({\n method: 'POST',\n path: '/auth/signout',\n type,\n }) as Promise<{}>\n}\n\n/**\n * 柯里化获取设备绑定链接\n */\nconst curryGetAuthLink = (requestFunc: FactoryRequestFunction) => {\n return () => requestFunc({\n method: 'GET',\n path: '/auth/login',\n }) as Promise<{ url?: string }>\n}\n\n/**\n * 柯里化获取入口链接\n */\nconst curryGetEntryLink = (requestFunc: FactoryRequestFunction) => {\n return () => requestFunc({\n method: 'GET',\n path: '/device/control',\n }) as Promise<{ url?: string }>\n}\n\n\n/**\n * 厂商认证流程\n */\nexport const useAuth = (factory = 'huawei') => {\n const mapFactoryToRequestComposable: Record FactoryRequestFunction> = {\n huawei: useHuaweiRequest,\n }\n\n const updateAuthStatus = async () => {\n if (mapFactoryToRequestComposable[factory]) {\n const curRequestFunction = mapFactoryToRequestComposable[factory]()\n const linkResp = await curryGetEntryLink(curRequestFunction)()\n console.log('获取控制链接并更新global上的全局属性:', linkResp)\n if (linkResp.url) {\n const query = paramsToObject((new URL(linkResp.url).searchParams))\n updateGlobalProperties(query)\n if (query?.error_message) {\n console.error('auth: error_message:', query.error_message)\n toast(query.error_message)\n }\n }\n }\n }\n /**\n * 认证,绑定迅雷账号和设备 \n */\n const auth = async () => {\n try {\n if (mapFactoryToRequestComposable[factory]) {\n const curRequestFunction = mapFactoryToRequestComposable[factory]()\n // window.signout = async () => {\n // await currySignOut(curRequestFunction)()\n // }\n const status = await curryGetDeviceStatus(curRequestFunction)()\n console.log('获取设备登录状态: ', status)\n if (status?.user?.id) {\n const linkResp = await curryGetEntryLink(curRequestFunction)()\n console.log('设备已登录,获取控制链接:', linkResp)\n if (linkResp.url) {\n const query = paramsToObject((new URL(linkResp.url).searchParams))\n updateGlobalProperties(query)\n if (query.error_message) {\n console.error('auth: error_message:', query.error_message)\n toast(query.error_message)\n }\n }\n return [true, status.user] as const // 未登录情况,这里ID应该为'',而不是在其他前端项目更常见的‘0’。因此这个判断是否登录应该是安全的。\n } \n const linkResp = await curryGetAuthLink(curRequestFunction)()\n console.log('设备未登录,获取登录链接:', linkResp)\n if (linkResp.url) {\n const authParams = paramsToObject((new URL(linkResp.url).searchParams)) as DeviceAuthParams\n updateGlobalProperties(authParams)\n return [false, authParams] as const\n }\n throw new Error('Auth: 没有获取到认证链接')\n }\n throw new Error('Auth: 没有匹配的厂商请求函数')\n } catch (error) {\n toast(`${error.message};请退出后重试`)\n captureException(error)\n console.error(error.message)\n throw new Error('auth failed.')\n }\n }\n\n /**\n * 解绑设备并重新登录 \n */\n const signOut = async (type?: 'relogin') => {\n if (mapFactoryToRequestComposable[factory]) {\n const curRequestFunction = mapFactoryToRequestComposable[factory]()\n await currySignOut(curRequestFunction)(type)\n }\n throw new Error('ReLogin: 没有匹配的厂商请求函数.')\n }\n\n return {\n auth,\n signOut,\n updateAuthStatus,\n }\n}\n"],"sourceRoot":""}