mirror of
https://github.com/Megghy/vtsuru.live.git
synced 2025-12-07 02:46:55 +08:00
fix IsAnonymous
This commit is contained in:
@@ -2,14 +2,37 @@ import { VNode } from 'vue'
|
||||
|
||||
export type TemplateConfig<T> = {
|
||||
name: string
|
||||
items: (TemplateConfigItem<T> | TemplateConfigImageItem<T>)[]
|
||||
items: (TemplateConfigStringItem<T> | TemplateConfigNumberItem<T> | TemplateConfigStringArrayItem<T> | TemplateConfigNumberArrayItem<T> | TemplateConfigImageItem<T> | TemplateConfigRenderItem<T>)[]
|
||||
onConfirm?: (arg0: T) => void
|
||||
}
|
||||
interface TemplateConfigBase {
|
||||
name: string
|
||||
}
|
||||
export type TemplateConfigItem<T> = TemplateConfigBase & {
|
||||
type: 'default'
|
||||
|
||||
type CommonProps = TemplateConfigBase
|
||||
type DataAccessor<T, V> = {
|
||||
get: (config: T) => V
|
||||
set: (config: T, value: V) => void
|
||||
}
|
||||
|
||||
// 扩展 CommonProps 以包含额外的共有属性
|
||||
export type TemplateConfigItemWithType<T, V> = CommonProps & { data: DataAccessor<T, V> }
|
||||
|
||||
export type TemplateConfigStringItem<T> = TemplateConfigItemWithType<T, string> & {
|
||||
type: 'string'
|
||||
}
|
||||
export type TemplateConfigStringArrayItem<T> = TemplateConfigItemWithType<T, string[]> & {
|
||||
type: 'stringArray'
|
||||
}
|
||||
export type TemplateConfigNumberItem<T> = TemplateConfigItemWithType<T, number> & {
|
||||
type: 'number'
|
||||
}
|
||||
export type TemplateConfigNumberArrayItem<T> = TemplateConfigItemWithType<T, number[]> & {
|
||||
type: 'numberArray'
|
||||
}
|
||||
|
||||
export type TemplateConfigRenderItem<T> = TemplateConfigBase & {
|
||||
type: 'render'
|
||||
render: (arg0: T) => VNode
|
||||
}
|
||||
export type TemplateConfigImageItem<T> = TemplateConfigBase & {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import DefaultIndexTemplateVue from '@/views/view/indexTemplate/DefaultIndexTemplate.vue'
|
||||
import { computed, defineAsyncComponent, ref, watchEffect } from 'vue'
|
||||
|
||||
const debugAPI = import.meta.env.VITE_DEBUG_API
|
||||
@@ -41,5 +42,5 @@ export const SongListTemplateMap = {
|
||||
simple: { name: '简单', compoent: defineAsyncComponent(() => import('@/views/view/songListTemplate/SimpleSongListTemplate.vue')) },
|
||||
} as { [key: string]: { name: string; compoent: any } }
|
||||
export const IndexTemplateMap = {
|
||||
'': { name: '默认', compoent: defineAsyncComponent(() => import('@/views/view/indexTemplate/DefaultIndexTemplate.vue')) },
|
||||
'': { name: '默认', compoent: DefaultIndexTemplateVue },
|
||||
} as { [key: string]: { name: string; compoent: any } }
|
||||
|
||||
Reference in New Issue
Block a user