# 环境 基于vue2和uni-ui开发; 小程序调试基础库: 3.3.0 # 场景 即拿即用, 组件有详细注释内容, 方便二次开发; 目前在app-vue和小程序使用, 其他平台能否使用请评论留言反馈谢谢, 祝大家使用愉快. # 附言 主要是插件市场没找到满意的vue2版本, 诸多用着也不顺, 所以有了XJ-comment, 如有Bug请留言或Email, 开源不易且用且珍惜, 感谢使用. # 功能 #### 已实现 * 无评论显示占位场景 √ * 显示评论数量(新增和删除动态更新数量) √ * 发起新评论 √ * 点击评论内容回复 √ * 回复一级评论 √ * 回复二级评论 √ * 展开超长评论内容 √ * 能回复自身评论 √ * 删除 √ * 仅可删除自身评论 √ * 可选三类删除模式 √ * 点赞 √ * 点赞大于100显示99+ √ #### 待实现 * 图片上传 × 有其他需求的评论区留言 # :props 属性 | 属性名 | 说明 | 类型 | 默认值 | 必填 | 说明 | | -------- | -------- | -------- |-------- |-------- |-------- | | ref | 实例 | Object | - | true | | | tableData | 评论列表 | Array | [ ] | true | | | tableTotal | 评论总数 | Number | 0 | true | | | deleteMode | 评论删除模式 | String | all | false | bind-当被删除的一级评论存在回复评论, 那么该评论内容变更显示为[当前评论内容已被移除] only-仅删除当前评论(后端删除相关联的回复评论, 否则总数显示不对) all-删除所有评论包括回复评论 | # @event 事件 | 属性名 | 说明 | 参数 | 说明 | | -------- | -------- | -------- |-------- | | likeClick | 点赞事件 | {{params}, callback} | { params: 评论id }, callback回调函数, 请求后端接口后调用, 执行后续逻辑 | | replyClick | 回复事件 | {{params}, callback} | { params: 评论参数 }, callback回调函数, 请求后端接口后调用, 执行后续逻辑 | | deleteClick | 删除事件 | {{params, mode}, callback} | { params: 评论数组id, mode: 删除模式[all, bind, only] }, callback回调函数, 请求后端接口后调用, 执行后续逻辑 | # $ref 实例可调用属性&事件 | 属性名 | 说明 | 回调参数 | 说明 | 平台差异说明 | | -------- | -------- | -------- |-------- |-------- | | newCommentFun | 发起新评论 | - | event | - | # 数据说明 ```javascript= // 用户信息 type userInfoKeys = { id: number // 用户id user_name: string // 用户名 user_avatar: string // 用户头像地址 } // 评论表 type tableDataKeys = { id: number // 评论id parent_id: number // 父级评论id reply_id: number // 被回复人评论id reply_name: string // 被回复人名称 user_name: string // 用户名 user_avatar: string // 评论者头像地址 user_content: string // 评论内容 is_like: boolean // 是否点赞 like_count: number // 点赞数统计 create_time: string // 创建时间 } ``` # 使用方法 ```javascript= // 复制整页代码配合下载的插件, 可正常运作(提示: 注意uni-ui版本, 可能uni-ui不同版本的$变量不一致, 自行配置颜色即可) ```