mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Replace () => import(./TheComponent.vue) to defineAsyncComponent
This commit is contained in:
parent
e187fb2d9d
commit
6a33d760d3
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { getNumberValidator, getUID, none } from '@/core/utils'
|
||||
|
||||
@ -15,7 +17,7 @@ export const component = defineComponentMetadata({
|
||||
unload: none,
|
||||
tags: [componentsTags.live],
|
||||
widget: {
|
||||
component: () => import('./BadgeHelper.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./BadgeHelper.vue')),
|
||||
condition: () => Boolean(getUID()),
|
||||
},
|
||||
options: {
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
|
||||
export const component = defineComponentMetadata({
|
||||
@ -9,7 +11,7 @@ export const component = defineComponentMetadata({
|
||||
tags: [componentsTags.live],
|
||||
entry: none,
|
||||
widget: {
|
||||
component: () => import('./DownloadRecords.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./DownloadRecords.vue')),
|
||||
},
|
||||
urlInclude: [/^https:\/\/live\.bilibili\.com\/record\/(.+)/],
|
||||
})
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { matchUrlPattern } from '@/core/utils'
|
||||
|
||||
@ -13,7 +15,7 @@ export const component = defineComponentMetadata({
|
||||
/^https:\/\/live\.bilibili\.com\/[\d]+/,
|
||||
],
|
||||
widget: {
|
||||
component: () => import('./Widget.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./Widget.vue')),
|
||||
condition: () => matchUrlPattern(/^https:\/\/live\.bilibili\.com\/([\d]+)/),
|
||||
},
|
||||
})
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
const bangumiNames = ['番剧', '国创']
|
||||
export const getContent = (tabName: string) => {
|
||||
console.log('getContent', tabName)
|
||||
if (bangumiNames.includes(tabName)) {
|
||||
return () => import('./Bangumi.vue').then(m => m.default)
|
||||
return defineAsyncComponent(() => import('./Bangumi.vue'))
|
||||
}
|
||||
return () => import('./Default.vue').then(m => m.default)
|
||||
return defineAsyncComponent(() => import('./Default.vue'))
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@ const tabs: TabMappings = [
|
||||
{
|
||||
name: MinimalHomeTabOption.Trending,
|
||||
displayName: minimalHomeOptions.personalized ? '推荐' : '热门',
|
||||
component: () => import('./tabs/Trending.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./tabs/Trending.vue')),
|
||||
activeLink: 'https://www.bilibili.com/v/popular/all',
|
||||
},
|
||||
]
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
|
||||
export const component = defineComponentMetadata({
|
||||
@ -7,6 +9,6 @@ export const component = defineComponentMetadata({
|
||||
entry: none,
|
||||
tags: [componentsTags.utils],
|
||||
widget: {
|
||||
component: () => import('./Widget.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./Widget.vue')),
|
||||
},
|
||||
})
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { getUID } from '@/core/utils'
|
||||
|
||||
@ -10,7 +12,7 @@ export const component = defineComponentMetadata({
|
||||
tags: [componentsTags.utils],
|
||||
entry: none,
|
||||
widget: {
|
||||
component: () => import('./Widget.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./Widget.vue')),
|
||||
condition: () => Boolean(getUID()),
|
||||
},
|
||||
})
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { isIframe } from '@/core/utils'
|
||||
|
||||
@ -43,7 +45,7 @@ export const component = defineComponentMetadata({
|
||||
},
|
||||
options: devClientOptionsMetadata,
|
||||
widget: {
|
||||
component: () => import('./Widget.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./Widget.vue')),
|
||||
},
|
||||
plugin: {
|
||||
setup: setupPlugin,
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
|
||||
export const component = defineComponentMetadata({
|
||||
@ -13,7 +15,7 @@ export const component = defineComponentMetadata({
|
||||
`.trim(),
|
||||
},
|
||||
widget: {
|
||||
component: () => import('./DownloadAudio.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./DownloadAudio.vue')),
|
||||
},
|
||||
urlInclude: ['//www.bilibili.com/audio/'],
|
||||
})
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import type { OptionsOfMetadata } from '@/components/define'
|
||||
import { defineComponentMetadata, defineOptionsMetadata } from '@/components/define'
|
||||
import { matchUrlPattern } from '@/core/utils'
|
||||
@ -27,7 +29,7 @@ export const component = defineComponentMetadata({
|
||||
},
|
||||
widget: {
|
||||
condition: () => columnUrls.some(url => matchUrlPattern(url)),
|
||||
component: () => import('./Widget.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./Widget.vue')),
|
||||
},
|
||||
urlInclude: [...feedsUrls, ...columnUrls],
|
||||
options,
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { videoAndBangumiUrls } from '@/core/utils/urls'
|
||||
|
||||
@ -13,7 +15,7 @@ export const component = defineComponentMetadata({
|
||||
reload: none,
|
||||
unload: none,
|
||||
widget: {
|
||||
component: () => import('./ViewCover.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./ViewCover.vue')),
|
||||
},
|
||||
description: {
|
||||
'zh-CN': '在视频页面中, 可从功能面板中查看封面.',
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { videoAndBangumiUrls } from '@/core/utils/urls'
|
||||
|
||||
@ -11,6 +13,6 @@ export const component = defineComponentMetadata({
|
||||
entry: none,
|
||||
tags: [componentsTags.video, componentsTags.utils],
|
||||
widget: {
|
||||
component: () => import('./BiliplusRedirect.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./BiliplusRedirect.vue')),
|
||||
},
|
||||
})
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import type { OptionsOfMetadata } from '@/components/define'
|
||||
import { defineComponentMetadata, defineOptionsMetadata } from '@/components/define'
|
||||
import { hasVideo } from '@/core/spin-query'
|
||||
@ -19,7 +21,7 @@ export const component = defineComponentMetadata({
|
||||
},
|
||||
tags: [componentsTags.video, componentsTags.utils],
|
||||
widget: {
|
||||
component: () => import('./BvidConvert.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./BvidConvert.vue')),
|
||||
condition: hasVideo,
|
||||
},
|
||||
urlInclude: videoAndBangumiUrls,
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import type { PackageEntry } from '@/core/download'
|
||||
import { hasVideo } from '@/core/spin-query'
|
||||
@ -66,6 +67,6 @@ export const component = defineComponentMetadata({
|
||||
urlInclude: videoAndBangumiUrls,
|
||||
widget: {
|
||||
condition: hasVideo,
|
||||
component: () => import('./DownloadDanmaku.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./DownloadDanmaku.vue')),
|
||||
},
|
||||
})
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { hasVideo } from '@/core/spin-query'
|
||||
|
||||
@ -8,7 +10,7 @@ export const component = defineComponentMetadata({
|
||||
reload: none,
|
||||
unload: none,
|
||||
widget: {
|
||||
component: () => import('./Widget.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./Widget.vue')),
|
||||
condition: () => hasVideo(),
|
||||
},
|
||||
tags: [componentsTags.video],
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import type { PackageEntry } from '@/core/download'
|
||||
import { hasVideo } from '@/core/spin-query'
|
||||
@ -20,7 +21,7 @@ export const component = defineComponentMetadata({
|
||||
urlInclude: videoAndBangumiUrls,
|
||||
widget: {
|
||||
condition: hasVideo,
|
||||
component: () => import('./DownloadSubtitle.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./DownloadSubtitle.vue')),
|
||||
},
|
||||
plugin: {
|
||||
displayName: '下载视频 - 下载字幕支持',
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { liveUrls } from '@/core/utils/urls'
|
||||
|
||||
@ -11,7 +13,7 @@ export const component = defineComponentMetadata({
|
||||
entry: none,
|
||||
tags: [componentsTags.live],
|
||||
widget: {
|
||||
component: () => import('./LivePip.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./LivePip.vue')),
|
||||
condition: () => 'requestPictureInPicture' in HTMLVideoElement.prototype,
|
||||
},
|
||||
urlInclude: liveUrls,
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
|
||||
import { defineComponentMetadata } from '@/components/define'
|
||||
import { none } from '@/core/utils'
|
||||
import { liveUrls } from '@/core/utils/urls'
|
||||
@ -11,7 +13,7 @@ export const component = defineComponentMetadata({
|
||||
entry: none,
|
||||
tags: [componentsTags.live],
|
||||
widget: {
|
||||
component: () => import('./RecordDanmaku.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./RecordDanmaku.vue')),
|
||||
},
|
||||
urlInclude: liveUrls,
|
||||
})
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
/*
|
||||
* 旧版 Switch Options API, 暂时保留, 避免本体升级后组件未更新造成报错
|
||||
*/
|
||||
import { defineAsyncComponent } from 'vue'
|
||||
import { addComponentListener, getComponentSettings } from '@/core/settings'
|
||||
|
||||
import type { ComponentMetadata, OptionsMetadata } from './component'
|
||||
@ -49,7 +50,7 @@ export const createSwitchOptions = (options: SwitchOptions) => {
|
||||
component.options = { ...component.options, ...extendComponentOptions }
|
||||
if (!component.widget) {
|
||||
component.widget = {
|
||||
component: () => import('./SwitchOptions.vue').then(m => m.default),
|
||||
component: defineAsyncComponent(() => import('./SwitchOptions.vue')),
|
||||
options,
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user