依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 83|回复: 0

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

[复制链接] 主动推送

1万

主题

1万

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12874
发表于 2024-12-3 10:52:18 | 显示全部楼层 |阅读模式
纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

项目结构
  1. |-- chat-area
  2.     |
  3.     |-- es5 // 低版本浏览器兼容
  4.     |   |-- ChatArea.css
  5.     |   |-- ChatArea.js
  6.     |   |-- System.js
  7.     |
  8.     |-- lib
  9.     |    |-- ChatArea.css
  10.     |    |-- ChatArea.js
  11.     |
  12.     |-- demo.html // 示例页
复制代码


安装
  1. npm i --save chatarea
复制代码


基本使用
  1. import ChatArea from 'chatarea'
  2. // 引入css样式
  3. import 'chatarea/lib/ChatArea.css'

  4. // 此时页面将你传入的元素生成为一个简单的聊天框,你可以通过元素class修改为你提供的默认样式
  5. const chat = new ChatArea({
  6.     // 注* 当这个元素style属性position未设置为absolute,relative,fixed之一将会默认赋值relative
  7.     elm: document.getElementById('id'), // 从dom上抓取一个元素将其改造
  8.     userList: [ // 当输入@键时弹出人员选择的列表
  9.         {
  10.             id: '1',
  11.             name: '张三',
  12.             avatar: 'https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png',
  13.             pinyin: 'song song' // 开启拼音检索功能
  14.         },
  15.         {
  16.             id: '2',
  17.             name: '李四'
  18.         },
  19.         {
  20.             id: '3',
  21.             name: 'jianfv'
  22.         },
  23.         {
  24.             id: '4',
  25.             name: '今晚打老虎'
  26.         }
  27.     ],
  28.     placeholder: '请输入文本框内容', // 输入提示文案
  29.     // 其余扩展配置项
  30.     customTrigger: [ // 自定义弹窗触发符
  31.       {
  32.         dialogTitle: '群话题',
  33.         prefix: '#',
  34.         tagList: [
  35.           { id: 'ht1', name: '话题一', pinyin: 'hua ti yi' },
  36.           { id: 'ht2', name: '话题二', pinyin: 'hua ti er' }
  37.         ]
  38.       },
  39.       {
  40.         dialogTitle: '群

  41. [b]API[/b]
  42. [code]// 修改实例对象的配置项, 配置属性非必传 按需传入修改
  43. chat.updateConfig({
  44.     userProps: { id: 'userId', name: 'userName' },
  45.     userList: [{ userId: 'NEW1', userName: '新的人员' }],
  46.     needCallEvery: false,
  47.     placeholder: '新的提示语',
  48.     // ...其余配置
  49. })

  50. // 获取聊天框精简后的文本内容
  51. chat.getText()

  52. // 获取聊天框精简后的html内容
  53. chat.getHtml()

  54. // 获取聊天框内容里 配置项userList 所包含@人员标签的人员信息
  55. chat.getCallUserList()

  56. // 获取聊天框内容里所有@人员标签的人员信息
  57. chat.getCallUserTagList()

  58. // 将getHtml生成的html片段进行逆向解析回填至聊天框,常用于消息撤回重新编辑功能
  59. chat.reverseAnalysis('getHtml return value', true) // 第二配置项参数可以控制是否保留当前聊天框内容进行拼接回填内容

  60. // 往聊天框光标处插入html内容
  61. chat.insertHtml(`<img src="${url}" alt="404" />`) // 光标处插入图片,可以使用该方法插入表情包

  62. // 往聊天框光标处插入文本内容
  63. chat.insertText('txt')

  64. // 往聊天框光标处插入@人员标签内容
  65. chat.setUserTag({ id: '1', name: '松松' })

  66. // 清空输入框方法
  67. chat.clear()

  68. // 获取聊天框内容是否为空
  69. chat.isEmpty()

  70. // 用于页面或组件销毁时卸载在body内挂载的元素
  71. chat.dispose()

  72. // 禁止聊天框编辑
  73. chat.disabled()

  74. // 允许聊天框编辑并将光标定向到聊天内容末尾
  75. chat.enable()

  76. // PC唤起人员光标选择弹窗
  77. chat.showPCPointDialog()

  78. // PC唤起人员多选选择弹窗
  79. chat.showPCCheckDialog()

  80. // H5唤起人员多选选择弹窗
  81. chat.showH5Dialog()

  82. // 撤销上一次聊天框操作
  83. chat.undo()

  84. // 恢复上一次聊天框撤销操作
  85. chat.redo()

  86. // 修改PC光标选择弹窗默认文案
  87. chat.revisePCPointDialogLabel({
  88.     title: '群成员',
  89.     checkLabel: '多选',
  90.     emptyLabel: '暂无数据'
  91. })

  92. // 修改PC多选选择弹窗默认文案
  93. chat.revisePCCheckDialogLabel({
  94.     title: '选择要@的人',
  95.     searchPlaceholder: '搜素人员名称',
  96.     searchEmptyLabel: '没有匹配到任何结果',
  97.     userTagTitle: '研讨成员列表',
  98.     checkAllLabel: '全选',
  99.     checkEmptyLabel: '请选择需要@的成员',
  100.     confirmLabel: '确定',
  101.     cancelLabel: '取消'
  102. })

  103. // 修改H5选择弹窗默认文案
  104. chat.reviseH5DialogLabel({
  105.     title: '选择提醒的人',
  106.     searchPlaceholder: '搜素人员名称',
  107.     searchEmptyLabel: '没有匹配到任何结果',
  108.     confirmLabel: '确定',
  109.     cancelLabel: '收起'
  110. })
复制代码


支持@人员选择

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

拼音匹配

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

人员多选

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

混合粘贴

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

支持移动端使用

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互

纯js封装的聊天框,兼容各大框架适用,适配pc与h5的交互



链接:https://pan.quark.cn/s/74146e43a17a
提取码下载:
文件名称:提取码下载.txt 
下载次数:0  文件大小:16 Bytes  售价:49金钱 [记录]
下载权限: 不限 [购买VIP]   [充值]   [在线充值]   【VIP会员6折;永久VIP4折】
安全检测,请放心下载





相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员5折;永久VIP免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|免责声明|小黑屋|依星资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2024-12-23 00:44

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表