环信WebIM 发送图片消息和显示图片 发送文件和显示文件 发送表情和显示表情

环信webIM即时通讯学习笔记 最近在做一个小型的聊天工具,需要使用环信来实现即时通讯,可发送文字,表情,图片,以及文件 参考环信开发文档 注册环信即时通信云获得appkey 1.注册账号之后,登录进入即时通信云管理后台,并在我的应用下创建一个自己的应用,这样就可得到应用的appkey了 引用本地文件 1. 下载web sdk并解压后,将 /sdk/dist/strophe-1.2.8.min.js、/sdk/di 阅读详情

今天抽空用jquery做了一下环信的对接,没有做布局,只对接了他们的api

先看下页面

Html 代码如下

<!DOCTYPE>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial.scale=1.0">
    <title>聊天</title>
</head>
<body>

<button onclick="register()">注册</button>
<button onclick="sendMsg()">发送消息</button>
<button onclick="sendEmoji()">发送表情</button>

<input type="file" placeholder="请选择图片发送" value="请选择图片" onchange="sendImg(this)"/> 发送图片

<input type="file" placeholder="请选择文件发送" value="请选择文件" onchange="sendFile(this)"/>发送文件

<input type="file" placeholder="请选择音频发送" value="请选择文件" onchange="sendPrivateAudio(this)"/>发送音频

<input type="file" placeholder="请选择视频发送" value="请选择文件" onchange="sendPrivateVideo(this)"/>发送视频


<!--<input  placeholder="请复制图片到此处"/>-->

<script src="../lib/webIM-SDK/webim.config.js"></script>
<script src="../lib/webIM-SDK/strophe-1.2.8.js"></script>
<script src="../lib/webIM-SDK/websdk-1.4.13.js"></script>
<script src="index.js"></script>
</body>
</html>

 

部分js代码如下:


var conn = new WebIM.connection({
  isMultiLoginSessions: WebIM.config.isMultiLoginSessions,
  https: typeof WebIM.config.https === 'boolean' ? WebIM.config.https : location.protocol === 'https:',
  url: WebIM.config.xmppURL,
  heartBeatWait: WebIM.config.heartBeatWait,
  autoReconnectNumMax: WebIM.config.autoReconnectNumMax,
  autoReconnectInterval: WebIM.config.autoReconnectInterval,
  apiUrl: WebIM.config.apiURL,
  isAutoLogin: true
})
conn.listen({
  onOpened: function (message) {          //连接成功回调
    console.log('用户已登录环信')
    // 如果isAutoLogin设置为false,那么必须手动设置上线,否则无法收消息
    // 手动上线指的是调用conn.setPresence(); 如果conn初始化时已将isAutoLogin设置为true
    // 则无需调用conn.setPresence();
  },
  onClosed: function (message) {},         //连接关闭回调
  onTextMessage: function (message) { //收到文本消息
    console.log(`已收到文本消息,消息内容为${JSON.stringify(message)}`)
  },
  onEmojiMessage: function (message) { //收到表情消息
    // console.log(WebIM.utils.parseEmoji(message))
    console.log(`已收到表情消息,消息内容为${JSON.stringify(message)}`)
  },
  onPictureMessage: function (message) {//收到图片消息
    console.log(`已收到图片消息,消息内容为${JSON.stringify(message)}`)
  },
  onCmdMessage: function (message) {},     //收到命令消息
  onAudioMessage: function (message) {  //收到音频消息
    console.log(`已收到音频消息,消息内容为${JSON.stringify(message)}`)
  },
  onLocationMessage: function (message) {},//收到位置消息
  onFileMessage: function (message) {  //收到文件消息
    console.log(`已收到文件消息,消息内容为${JSON.stringify(message)}`)
  },
  onVideoMessage: function (message) {  //收到视频消息
    console.log(`已收到视频消息,消息内容为${JSON.stringify(message)}`)
    var node = document.getElementById('privateVideo')
    var option = {
      url: message.url,
      headers: {
        'Accept': 'audio/mp4'
      },
      onFileDownloadComplete: function (response) {
        var objectURL = WebIM.utils.parseDownloadResponse.call(conn, response)
        node.src = objectURL
      },
      onFileDownloadError: function () {
        console.log('File down load error.')
      }
    }
    WebIM.utils.download.call(conn, option)
  },
  onPresence: function (message) {},       //处理“广播”或“发布-订阅”消息,如联系人订阅请求、处理群组、聊天室被踢解散等消息
  onRoster: function (message) {},         //处理好友申请
  onInviteMessage: function (message) {},  //处理群组邀请
  onOnline: function () {},                  //本机网络连接成功
  onOffline: function () {},                 //本机网络掉线
  onError: function (message) {},          //失败回调
  onBlacklistUpdate: function (list) {       //黑名单变动
    // 查询黑名单,将好友拉黑,将好友从黑名单移除都会回调这个函数,list则是黑名单现有的所有好友信息
    console.log(list)
  },
  onReceivedMessage: function (message) {},    //收到消息送达服务器回执
  onDeliveredMessage: function (message) {},   //收到消息送达客户端回执
  onReadMessage: function (message) {},        //收到消息已读回执
  onCreateGroup: function (message) {},        //创建群组成功回执(需调用createGroupNew)
  onMutedMessage: function (message) {}        //如果用户在A群组被禁言,在A群发消息会走这个回调并且消息不会传递给群其它成员
})

let urlParams = getParamsFromUrl()
let currentUser = urlParams.currentUser
let sendUser = urlParams.sendUser

 

调试了发送文本,表情,图片,文件,和音频消息  视频消息由于SDK有问题,无法调通

 

 

有任何环信集成,对接的问题都可以咨询我,时间宝贵,不免费帮人解决问题.谢谢

微信demon_0212 请注明 '优快云环信集成'

H5集成环信webIM即时通讯 最近在做一个小型项目,需要有聊天室直播聊天的功能。经过和网易云信,融云和环信的三家对比以后,选择了性价比比较高的环信来实现即时聊天,发送文字和表情的功能。下面和大家分享一下,我是如何继承的。 1、注册环信,获得appkey 注册账号之后,登录进入即时通信云管理后台,并在我的应用下创建一个自己的应用,这样就可得到应用的appkey了 2、引用对应的SDK 在环信的官网上找到,对应的SDK下载... 阅读详情

相关推荐

环信WebIM即时通讯集成实战教程

本文还有配套的精品资源,点击获取 简介:环信WebIM为网页应用提供即时通讯功能,支持文本、语音/视频通话、表情、图片分享等。集成过程涉及注册开发者账号、获取AppID和AppKey,以及引入JavaScript库、初始化、消息监听、发送消息等步骤。本文将详细介绍如何简化环信WebIM集成,并在集成中覆盖关键知识点,确保通讯功能的稳定和高效实现。 1. 环信Web...

weixin_28895791的博客 1575

环信3.0添加聊天表情包

前言 最近公司项目集成环信sdk,记录一下集成过程中的各种问题。 如果说现在人与人之间最有效的沟通方式是什么,当然是表情包啊,一套不行就两套,两套不行就十套。本片博客就记录一下环信如何添加表情包。 正文 本次的内容并不算复杂,我是参照了环信Demo中添加兔斯基表情包的代码实现添加自己的表情包的。 1.首先在环信demo中找到EmojiconExampleGroupData这个类,copy...

Ever69的博客 2721

android基于环信自定义群聊以及表情简单集成

android基于环信自定义群聊以及表情简单集成,涉及到表情键盘的流畅切换

vue 环信im 发送图片、接收图片

1、使用input的file选择器获取图片,accept是移动端写法,不加image前缀在移动端无法调起 <input type="file" ref="img" accept="image/jpeg,image/png" @change="getFile($event)"/> 2、发送 getFile (e) { var taht = this var str = e.target console.log(str) // tah

曳猫的博客 1071

无需云服务器:飞牛云NAS+Docker搭建本地WordPress站点全球访问

在数字化浪潮中,网站搭建已成为个人和企业在推广自身品牌与业务的首要选择。飞牛云新推出的fnOS,这款集多功能于一身的nas系统,以其卓越的性能和灵活性,成为理想的本地网站部署平台。本文将带你一探如何在飞牛云NAS上通过Docker部署WordPress,并利用cpolar实现全球访问。

LT15171009269的博客 6529

别再死记硬背公式了!用Unity ShaderGraph从零实现一个皮肤SSS效果(附完整节点图)

本文详细介绍了如何利用Unity ShaderGraph零代码实现皮肤次表面散射(SSS)效果,包括背光透射(BTDF)和表面散射(BSSRDF)的核心原理与节点构建方法。通过可视化工具,技术美术师和Shader初学者可以直观理解光线在皮肤组织中的散射行为,快速创建真实的皮肤材质效果,适用于游戏角色渲染等场景。

weixin_30838873的博客 595

04环信聊天界面 - 发送图片消息和显示图片

1.在聊天控制器连线 /** * 点击上传图片 */ - (IBAction)showImgPickerAction:(UIButton *)sender { // 图片选择控制器 UIImagePickerController *imgPicker = [[UIImagePickerController alloc] init]; imgPicker.source

1万+

紫光同创PGL50H开发板PCIE通信保姆级教程:从IP核安装到Windows设备管理器识别

本文详细介绍了紫光同创PGL50H开发板PCIE通信的全流程,从IP核安装到Windows设备管理器识别。通过环境搭建、工程配置、管脚约束、固件烧录等步骤,帮助开发者快速掌握FPGA与PCIE通信技术,解决实际开发中的常见问题,提升开发效率。

weixin_30500473的博客 434

环信聊天室使用文档(详细版)

环信聊天室使用文档 最近项目在做直播聊天室,第三方使用的通讯工具是环信,项目已经上线,在这里把用到的所有方法做个笔记。 功能:实现文本聊天,表情包,图片发送,语音功能 先附上环信的说明文档:https://docs-im.easemob.com/im/web/intro/start,说明文档和实际实现还是有点距离,期间我踩了不少坑,也打了不少补丁,下面我会把遇到的问题都标注出来的。环信的listen监听的主要是非当前登录用户的事件,当前登录用户需调用文档中的其他方法。 引入环信的SDK 需要注意:Web

爱吃水果和蔬菜__yaya的博客 1989

数字后端DRC Violation定位与自动化修复:Innovus与Calibre协同实战

设计规则检查(DRC)是芯片tapeout前确保版图可制造性的关键验证环节。在数字后端流程中,Calibre作为signoff级物理验证工具,会依据代工厂SVRF规则文件对GDS进行严格几何检查;而Innovus则提供快速迭代的in-design DRC反馈。两者协同成为工程师定位violation、保障流片成功的主流工作流。面对成千上万条DRC violation,高效的定位与分类思路、跨工具映射技巧,以及基于Tcl脚本的自动化修复方法,能大幅缩短物理验证周期。本文从DRC的分层定位出发,结合Innovu

weixin_29185167的博客 336

超融合架构实战:如何用3节点搭建企业级分布式存储系统?

本文详细介绍了如何利用3节点搭建企业级分布式存储系统的超融合架构实战指南。从硬件选型、网络配置到存储策略调优,提供了全面的实操建议和性能优化技巧,帮助企业实现高效、弹性的IT基础设施。特别适合需要简化运维、提升存储性能的中型企业参考。

weixin_29200485的博客 326

环信集成easeui发送图片失败

开始集成环信easeui,发现不能发送图片。并且提示一下错误 经过多方核实↓↓↓↓↓↓↓↓↓↓↓   在环信easeui的demo中 EaseChatRowImage类中 private void showImageView(final String thumbernailPath, final String localFullSizePath, final EMMessage ...

qq_39642713的博客 819

KAN神经网络实战:如何用Python快速搭建你的第一个可解释性模型

本文提供了使用Python和PyTorch快速搭建首个KAN(Kolmogorov-Arnold Networks)神经网络模型的实战指南。通过对比传统MLP,详细解析了KAN利用可学习的边函数实现更高可解释性的核心原理,并逐步演示了从环境配置、数据准备、核心模块实现到模型训练与可视化的完整流程,帮助开发者掌握这一新兴的可解释性AI模型构建方法。

convnet3designer的博客 474

vue h5项目集成环信webIM超详细步骤,附代码注释讲解

最近做项目时有需求去实现实时通讯,要求可以文字聊天、表情聊天、图片聊天、语音聊天。接下来我会先说该如何在vue项目中去配置webIM的环境以及集成webIM的方法。 1. 第一步是npm install 依赖包 npm install easemob-websdk npm install strophe.js 2. 修改原生代码文件 斜体样式找到node_modules/easemob-websdk/src/connection.js 在16行加入 var Strophe = require('str

weixin_40618068的博客 2489

STM32使用内部RC振荡器作为系统时钟开发项目--内晶振启动模板工程

STM32使用内部RC振荡器时,OSC32_IN,OSC32_OUT接法: 1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种接法:    2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。    2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出

overflyme的博客 1万+

【论文详解】AlphaGenome——Sequence-to-Multimodal-Genome-Track

**AlphaGenome** 是由 **Google DeepMind** 于 2025 年 6 月发布的突破性 AI 模型,专门用于预测非编码区遗传变异的功能效应。该模型采用受 **U-Net** 启发的卷积架构结合 **Transformer** 模块,创新性地解决了传统模型在输入序列长度与预测分辨率之间的核心矛盾——能够在 **1M 碱基对的超长上下文** 下实现 **单核苷酸分辨率** 的精准预测。

zwhszdx的博客 963

WebIM Vue Demo 使用文档

简介 响应当前框架的流行趋势,环信提供了以 Vue + VueX 发的demo,以供开发者参考集成: Vue Demo (体验Demo) Github.com(Github 源码地址) 项目运行 说明:音视频功能必须使用 https + webkit浏览器 NODEJS 版本建议 6+ 1.将源码克隆到本地 git clone https://github.com/easemob/webi...

qq_43128835的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

vue 环信集成

vue 环信集成 查看官方文档 下载的vue demo 需求不合适自己的 ,所以改吧了改吧 需要写一个单聊的功能 不需要加好友 只是单纯的聊天 因为公司没买增值服务 太费钱了 所以只做个本地存储 退出就删 因为store一刷新就没了 所以就存浏览器了 安装 easemob-websdk npm install easemob-websdk --save 安装 moment npm...

lishi9092的博客 847

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

vue集成环信Web IM

vue引入集成环信Web IM有2种方式 官方链接 1、NPM 2、引用本地文件 这里采用第一种: 1.1、通过 NPM 安装 Web SDK。 npm install easemob-websdk --save 1.2、先 import ,再访问 Web IM 。 import websdk from "easemob-websdk" 1.3、在项目main.js内配置 const config = { xmppURL: '//im-api.easemob.com', // xmpp

曳猫的博客 2156

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JavaWeb聊天(Redis+环信) 一、发送接收消息、聊天记录拉取

公司有需求做一个聊天功能。 APP端,跟网页端互相聊天android端直接嵌入了环信提供的DEMO。聊天记录。都是存储在本地自己进行维护。所以本次只需要维护网页端的聊天记录~还有接收发送的消息就好啦。好啦~人狠话不多。看效果吧!总结一下要实现的功能点1、发送与接收文字、表情、图片、地址消息、自定义消息  --》拉取聊天记录 (三天内的)2、消息来了。外层菜单的红点提示,未读消息3、redis中的聊...

q826qq1878的博客 1万+

IM 即时通讯实战:环信Web IM极速集成

利用环信 IM Web 端 SDK 快速实现在 Vue.js 中发送出一条 Hello World!

huan132456765的博客 1854

VUE项目集成环信WebIM即时通讯以及所遇到的问题

功能背景: 之前和朋友一起做了一个wbe项目集成环信的即时通信的功能,做的时候感叹web端文档太少,而且npm包有一些坑,记录下来写了这篇博客,之后不断有人加我微信问我,怎么集成.现在我再来重写一下这篇博客. 环信web集成功能介绍: 首先:在web端环信是不提供界面的,能拿到的官方的demo也只是用react写的编译后的文件,所以你要自己写UI 其次:使用聊天功能前的登录,是IM用户登录...

知无涯 2万+

环信是否支持html,VUE项目集成环信WebIM即时通信以及所遇到的问题

功能背景:以前和朋友一块儿作了一个wbe项目集成环信的即时通讯的功能,作的时候感叹web端文档太少,并且npm包有一些坑,记录下来写了这篇博客,以后不断有人加我微信问我,怎么集成.如今我再来重写一下这篇博客.javascript环信web集成功能介绍:首先:在web端环信是不提供界面的,能拿到的官方的demo也只是用react写的编译后的文件,因此你要本身写UIhtml其次:使用聊天功能前的登陆,...

weixin_30121389的博客 453

环信即时通讯云

实时聊天的话环信还是不错的,前端如何快速看懂环信的开发文档, 环信开发文档地址:http://docs.easemob.com/im/400webimintegration/30singlechat 这里主要是Web IM集成 其实非常简单,前端要做的就是调用环信的方法:首先先上回调后的代码,也就是当你使用的环信的某个方法 那么你想要的数据就在一下的回调函数里 &amp;lt;script&amp;gt;...

Beibei1127zhao的博客 1520

Vue 简单集成环信SDK

在这里简单记录下 vue 集成环信 Web SDK 操作,使用的是引入本地文件方式,简单SDK操作记录,没有UI,勿喷! 准备工作 一、 下载环信 Web SDK + Demo 到本地 git clone https://github.com/easemob/webim 二、 找到sdk,storphe,WebIMConfig,音视频sdk EMedia,websdk-shim(表情目录) ...

qq_43128835的博客 3246
上一篇: 使用Tampermonkey 前端程序员竟用它入侵了github系统。。。(内附源码)
下一篇: 高德地图JS--批量规划步行路线 优化
拿我格子衫来
拿我格子衫来 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄10年 6万+粉丝 858原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿我格子衫来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值