1 | import { ComponentType } from 'react'
|
2 | import { StandardProps } from './common'
|
3 | interface CommentListProps extends StandardProps {
|
4 | /** 评论核心参数
|
5 | * @supported swan
|
6 | */
|
7 | commentParam: CommentListProps.ICommentParam
|
8 | /** 底部 toolbar 的相关配置
|
9 | * @supported swan
|
10 | */
|
11 | toolbarConfig?: CommentListProps.IToolbarConfig
|
12 | /** 滚动方式为页面滚动,若组件作为浮层使用,该参数需设为 false
|
13 | * @supported swan
|
14 | * @default true
|
15 | */
|
16 | isPageScroll?: boolean
|
17 | /** 是否需要底部 toolbar ,若使用开发者自定义的底部 toolbar ,该参数需设为 false
|
18 | * @supported swan
|
19 | * @default true
|
20 | */
|
21 | needToolbar?: boolean
|
22 | /** 用于调起评论发布器发布评论,发布成功插入列表第一条,且滚动到列表顶部
|
23 | * @supported swan
|
24 | * @default false
|
25 | */
|
26 | addComment?: boolean
|
27 | /** 点击单条评论跳转的详情页页面 path ,若没有配置则不会发生跳转;配置的前提是列表与详情均是页面级
|
28 | * @supported swan
|
29 | */
|
30 | detailPath?: string
|
31 | /** 是否折叠列表,默认全展示
|
32 | * @supported swan
|
33 | * @default false
|
34 | */
|
35 | isFolded?: boolean
|
36 | /** 折叠后列表展示最大条数,默认 3 条,最多 10 条
|
37 | * @supported swan
|
38 | * @default 3
|
39 | */
|
40 | foldNum?: number
|
41 | /** 传入放置评论组件的页面路径,如'/pages/list/index',组件内部会触发跳转逻辑
|
42 | * @supported swan
|
43 | */
|
44 | viewMorePath?: string
|
45 | /** 『全部 xx 条』的样式,目前只支持开发者自定义字体颜色
|
46 | * @supported swan
|
47 | */
|
48 | viewMoreStyle?: CommentListProps.IViewMoreStyle
|
49 | /** 绑定点击单条评论的事件,点击单条评论时触发,返回数据为{status, data:{srid}}
|
50 | * @supported swan
|
51 | */
|
52 | onClickComment?: CommonEventFunction
|
53 | /** 绑定点击更多事件,若除了页面跳转还需要其他操作,可通过该回调执行;若为浮层,也可使用该回调自定义交互逻辑
|
54 | * @supported swan
|
55 | */
|
56 | onViewMore?: CommonEventFunction
|
57 | /** 评论发布成功时触发,返回数据为 {status, data:{srid}}
|
58 | * @supported swan
|
59 | */
|
60 | onReply?: CommonEventFunction
|
61 | }
|
62 | namespace CommentListProps {
|
63 | interface ICommentParam {
|
64 | /** 被点赞的文章的 id,与 path 参数一一对应
|
65 | * @example "20200101"
|
66 | */
|
67 | snid: string
|
68 | /** 文章标题 */
|
69 | title: string
|
70 | /** 智能小程序内页链接,最长不能超过 194 字符
|
71 | * @example "/pages/index/index"
|
72 | */
|
73 | path: string
|
74 | /** 数组第一项用于收藏功能的展示图片
|
75 | * @default ['https://b.bdstatic.com/miniapp/images/demo-dog.png']
|
76 | */
|
77 | images?: string[]
|
78 | }
|
79 | interface IToolbarConfig {
|
80 | /** 输入框提示文字 */
|
81 | placeholder?: string
|
82 | /** 显示的互动模块,对应默认值分别是:评论数、点赞、收藏、分享
|
83 | * @default ['comment', 'like', 'favor', 'share']
|
84 | */
|
85 | moduleList?: string
|
86 | /** 若 moduleList 里配置了 share 模块,该参数为必填 */
|
87 | share?: IShare
|
88 | }
|
89 | interface IShare {
|
90 | /** 分享标题 */
|
91 | title: string
|
92 | /** 分享内容 */
|
93 | content?: string
|
94 | /** 分享图标 */
|
95 | imageUrl?: string
|
96 | /** 页面 path ,必须是以 / 开头的完整路径,如果 path 中参数包含中文字符,需对中文字符进行编码 */
|
97 | path?: string
|
98 | }
|
99 | interface IViewMoreStyle {
|
100 | /** 『全部 xx 条』的字体颜色,默认为视觉提供色号,开发者可传入自定义色号
|
101 | * @default "#3388ff"
|
102 | */
|
103 | color?: string
|
104 | }
|
105 | }
|
106 | /** 评论列表
|
107 | * @classification open
|
108 | * @supported swan
|
109 | * @see https://smartprogram.baidu.com/docs/develop/extended/component-content/comment-list/
|
110 | */
|
111 | declare const CommentList: ComponentType<CommentListProps>
|
112 | export { CommentList, CommentListProps }
|