This commit is contained in:
2026-01-05 12:47:14 +08:00
commit 1fc846fae3
1614 changed files with 162035 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
import type { ExtractPropTypes } from 'vue'
import { CLICK_EVENT } from '../_constants'
import { commonProps, isString, makeArrayProp, makeObjectProp, makeStringProp } from '../_utils'
import type { FollowType, ImagesType, InfoType, VideosType } from './type'
export const commentProps = {
...commonProps,
/**
* @description 头部样式展示类型,可选: `default``complex`
*/
headerType: makeStringProp<'default' | 'complex'>('default'),
/**
* @description 评论图片展示行数,可选: `one``multi`
*/
imagesRows: makeStringProp<'one' | 'multi'>('one'),
/**
* @description 设置评论内容省略行数
*/
ellipsis: {
type: [String, Number, Boolean],
default: false,
},
/**
* @description 视频信息
*/
videos: makeArrayProp<VideosType>([]),
/**
* @description 图片信息
*/
images: makeArrayProp<ImagesType>([]),
/**
* @description 评论详情
*/
info: makeObjectProp<InfoType>({} as InfoType),
/**
* @description
*/
labels: {
type: Function,
default: () => '',
},
/**
* @description 追评内容
*/
follow: makeObjectProp<FollowType>({} as FollowType),
/**
* @description 配置底部按钮
*/
operation: makeArrayProp<'replay' | 'like' | 'more'>(['replay', 'like', 'more']),
}
export type CommentProps = ExtractPropTypes<typeof commentProps>
export const commentEmits = {
[CLICK_EVENT]: (val: object) => val instanceof Object,
clickOperate: (val: string) => isString(val),
clickImages: (val: any) => val instanceof Object,
}
export type CommentEmits = typeof commentEmits