fix IsAnonymous

This commit is contained in:
2023-12-19 21:27:47 +08:00
parent 971af73e19
commit 0dcc8c5912
9 changed files with 192 additions and 47 deletions

View File

@@ -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 & {

View File

@@ -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 } }