环信_WebIM

环信_WebIM

0
评论

【活动推荐】ECUG Con 2018 拥抱下一个十年 ECUG Con 2018 许式伟 ECUG 七牛云

beyond 发表了文章 • 91 次浏览 • 2018-12-03 15:47 • 来自相关话题

国内云计算领域大咖 许式伟
倾情发起的技术盛宴
引领国内云领域风向的高端峰会
ECUG Con 2018
2018 年 12 月 22-23 日 深圳
全新启程!ECUG Con 2018

七牛云 CEO 许式伟

PingCAP CEO 刘奇

七牛云产品副总裁戴文军

Gopher 社区创始人 Asta Xie

阿里巴巴技术专家孙宏亮

《Kubernetes IN ACTION》作者 Marko Lukša

华为云 AI 推理平台&云搜索技术总监胡斐然

七牛云技术总监陈超

阿里云高级开发工程师严明明

京东云区块链实验室与数据库部负责人郭里靖

网易研究院云计算资深架构师朱剑峰

腾讯云高级工程师刘兆瑞

货拉拉数据分析负责人高遥

......
超豪华讲师阵容!

超有料精彩分享!

ECUG 历经十年蜕变

邀您共同开启下个十年

让我们坚持技术情怀,秉承技术精神

开启新的云计算布道篇章!
 
时  间

2018 年 12 月 22-23 日

地  点

深圳市南山区软件产业基地 

更多详情请见下方海报~




扫描上方二维码 ,立即购买早鸟票

与大咖讲师共同探索云计算的下一个十年!
活动详情:了解更多 查看全部
国内云计算领域大咖  许式伟 
倾情发起的技术盛宴
引领国内云领域风向的高端峰会
ECUG Con 2018
2018 年 12 月 22-23 日 深圳
全新启程!
ECUG Con 2018

七牛云 CEO 许式伟

PingCAP CEO 刘奇

七牛云产品副总裁戴文军

Gopher 社区创始人 Asta Xie

阿里巴巴技术专家孙宏亮

《Kubernetes IN ACTION》作者 Marko Lukša

华为云 AI 推理平台&云搜索技术总监胡斐然

七牛云技术总监陈超

阿里云高级开发工程师严明明

京东云区块链实验室与数据库部负责人郭里靖

网易研究院云计算资深架构师朱剑峰

腾讯云高级工程师刘兆瑞

货拉拉数据分析负责人高遥

......
超豪华讲师阵容!

超有料精彩分享!

ECUG 历经十年蜕变

邀您共同开启下个十年

让我们坚持技术情怀,秉承技术精神

开启新的云计算布道篇章!
 
时  间

2018 年 12 月 22-23 日

地  点

深圳市南山区软件产业基地 

更多详情请见下方海报~
30943258454939062.jpg

扫描上方二维码 ,立即购买早鸟票

与大咖讲师共同探索云计算的下一个十年!
活动详情:了解更多
0
评论

【我最喜爱的 Cloud Studio 插件评选大赛】终于开始了! Cloud Studio Cloud Studio 插件评选大赛 腾讯云开发者平台 coding 编程大赛

beyond 发表了文章 • 147 次浏览 • 2018-11-26 15:37 • 来自相关话题

由 环信、腾讯云和 CODING 共同举办的 我最喜爱的 Cloud Studio 插件评选大赛正式开始了!在这场比赛里,将会有技术上的碰撞,大牛评委的专业点评,愉快的技术交流,好玩的插件尝试。





参赛者可以围绕 Git、实用小工具、腾讯云产品对接、UI 强化、语言支持等 14 个主题提交插件,再加上最具娱乐奖,代码最简单奖,设置功能最复杂奖等;近 30 种奖项,超高中奖率;插件只要提交上架,就有 50 元的话费相赠;只要关注 CODING 公众号并转发活动讯息到朋友圈,即可获得手机充值小礼!

参与方式

注册并登陆腾讯云开发者平台(https://dev.tencent.com) -> 点击进入活动页面 -> 点击进行插件的编写与提交(需要选择参与评选的类别)-> 审核无误后即可上架自动参与评选。

赛程时间




 
环信特别奖




基于环信开发一款聊天插件,即有机会获得特别奖,根据作品还将获得环信提供的神秘奖品
更多活动信息,请浏览我们的活动页面。

进入活动页面> 查看全部

2.jpg


由 环信、腾讯云和 CODING 共同举办的 我最喜爱的 Cloud Studio 插件评选大赛正式开始了!在这场比赛里,将会有技术上的碰撞,大牛评委的专业点评,愉快的技术交流,好玩的插件尝试。

6ccda21fgy1fxeim29mncj20ik0e6dn4.jpg

  • 参赛者可以围绕 Git、实用小工具、腾讯云产品对接、UI 强化、语言支持等 14 个主题提交插件,再加上最具娱乐奖,代码最简单奖,设置功能最复杂奖等;
  • 近 30 种奖项,超高中奖率;
  • 插件只要提交上架,就有 50 元的话费相赠;
  • 只要关注 CODING 公众号并转发活动讯息到朋友圈,即可获得手机充值小礼!


参与方式

注册并登陆腾讯云开发者平台https://dev.tencent.com) -> 点击进入活动页面 -> 点击进行插件的编写与提交(需要选择参与评选的类别)-> 审核无误后即可上架自动参与评选。

赛程时间
6ccda21fly1fxejmnr8oej20ow03odfy.jpg

 
环信特别奖
tb16@2x.png

基于环信开发一款聊天插件,即有机会获得特别奖,根据作品还将获得环信提供的神秘奖品
更多活动信息,请浏览我们的活动页面。

进入活动页面>
11
回复

收集基于环信SDK开发的开源项目 开源项目

xiaoyan2015 回复了问题 • 13 人关注 • 11743 次浏览 • 2018-11-21 23:59 • 来自相关话题

4
评论

【开源项目】全国首个开源直播小程序源码 环信公开课 小程序 直播

beyond 发表了文章 • 4078 次浏览 • 2018-07-20 17:30 • 来自相关话题

今天你看直播了吗?拥有10亿微信生态用户的小程序已经成为了继移动互联后的又一个现象级风口,随着微信小程序对外开放实时音视频录制及播放等更多连接能力,小程序与直播强强联合,在各行各业找到了非常多的玩法,小程序直播相比微信直播和APP直播更加简洁、流畅、低延时、多入口等众多优势迅速向商业直播领域及泛娱乐直播领域蔓延。从小游戏、内容付费、工具、大数据、社交电商创业者到传统品牌商们,都在努力搭上小程序直播这辆快车,以免错过微信生态里新的流量洼地。
 





作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“直播购物小程序”,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。
直播购物小程序源码github地址:https://github.com/YuTongNetworkTechnology/wechat_live/tree/master 
git打不开可直接点下面链接下载


小程序直播demo_2018-06-21.zip







直播购物小程序运行预览图 
 
小程序体验指南(仅需两步):
 
1、下载微信小程序开发工具,下载地址:https://developers.weixin.qq.c ... .html 
 




2、导入源码:将附件的源码解压直接导入 







环信小程序直播技术文档
一、 使用的技术
1、 环信IM直播室。
2、 微信小程序实时音视频播放组件live-player。
3、 推流软件(obs、易推流)等推流。
4、 视频流服务器(UCLOUD、七牛、腾讯)等视频流服务器。
二、 系统使用流程。
1、 视频推流软件将视频流推到流服务器。
2、 打开视频直播demo小程序注册环信账号。
3、 进入软件直播室进行测试。
三、 技术流程及使用的SDk
1、 注册环信账号
打开https://www.easemob.com/ 环信官网,点击右上角注册按钮,选择[注册即时通讯云]




填写对相关信息进行注册





注册成功后进行登录




注:新注册用户需进行账号的认证。
2、 直播应用创建
登录成功点击应用列表选择创建应用




输入应用名称等信息
 





创建成功后点击应用进入





需要注意的是应用的OrgName 和AppName这两个是以后都需要用到的两个参数变量




3、 直播创建
1)在创建直播之前需要对应用进行设置首先需要设置应用的直播流地址
第一步获取应用管理员的Tokencurl -X POST "https://a1.easemob.com/[应用OrgName]/[应用AppName]/token" -d '{"grant_type":"client_credentials","client_id":"[应用client_id]","client_secret":"[应用] client_secret"}'返回格式{
"access_token":"YWMtWY779DgJEeS2h9OR7fw4QgAAAUmO4Qukwd9cfJSpkWHiOa7MCSk0MrkVIco",
"expires_in":5184000,
"application":"c03b3e30-046a-11e4-8ed1-5701cdaaa0e4"












第二步设置直播流地址curl -X POST -H "Authorization: Bearer [管理员Token]" " https://a1.easemob.com/[应用OrgName]/[应用AppName]/liverooms/stream_url -d '{"pc_pull":"[pc拉流地址]","pc_push":"[pc推流地址]","mobile_pull":"[手机拉流地址]","mobile_push":"[手机推流地址]"}'"成功返回格式:{
"action": "post",
"application": "e1a09de0-0e03-11e7-ad8e-a1d913615409",
"uri": "http://127.0.0.1:8080/easemob- ... ot%3B,
"entities": [ ],
"data": {
"pc_pull": true,
"mobile_push": true,
"mobile_pull": true,
"pc_push": true
},
"timestamp": 1494084474885,
"duration": 1,
"organization": "easemob-demo",
"applicationName": "chatdemoui"
}












2)创建主播
点击IM用户





点击注册IM用户





填写用户信息





创建用户的过程同样也可以通过REST API形式进行curl -X POST -i " https://a1.easemob.com/[应用OrgName]/[应用AppName]/users" -d '{"username":"[用户名]","password":"[密码]"}'
注:应用必须为开放注册





将注册的用户添加为主播curl -X POST -H "Authorization: [管理员Token]" https://a1.easemob.com/[应用OrgName]/[应用AppName]/super_admin -d'{"superadmin":"[IM用户名]"}'返回结果示例:{
"action": "post",
"application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5",
"uri": "http://127.0.0.1:8080/easemob- ... ot%3B,
"entities": [ ],
"data": {
"result": "success"
},
"timestamp": 1496236798886,
"duration": 0,
"organization": "easemob-demo",
"applicationName": "chatdemoui"
}












3)创建直播
点击直播





点击新建房间





填写房间信息




创建房间同时也可以使用REST API形式进行详情可以查看http://docs.easemob.com/im/live/server-integration环信官方文档。
4、 小程序demo集成使用
小程序直播购物demo集成官方WebIM SDK详情请查看https://github.com/easemob/webim-weixin-xcx
Demo具体配置如下
打开demo 下sdk配置文件





修改appkey为自己应用的appkey





打开pages/live/index.js修改房间默认拉流地址及直播间房间号





四、 扩展说明
Demo中房间为固定测试房间,实际使用中应获取环信直播的房间信息及房间列表。具体如下:
获取直播间列表:curl -X GET -H "Authorization: Bearer [用户Token]" https://a1.easemob.com/[应用OrgName]/[应用AppName]/liverooms?ongoing=true&limit=[获取数量]&cursor=[游标地址(不填写为充开始查询)]
响应:{
"action": "get",
"application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5",
"params": {
"cursor": [
"ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206ZWFzZW1vYi1kZW1vI2NoYXRkZW1vdWk6MzE"
],
"ongoing": [
"true"
],
"limit": [
"2"
]
},
"uri": "http://127.0.0.1:8080/easemob- ... ot%3B,
"entities": [ ],
"data": [
{
"id": "1924",
"chatroom_id": "17177265635330",
"title": "具体了",
"desc": "就咯",
"startTime": 1495779917352,
"endTime": 1495779917352,
"anchor": "wuls",
"gift_count": 0,
"praise_count": 0,
"current_user_count": 8,
"max_user_count": 9,
"status": "ongoing",
"cover_picture_url": "",
"pc_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1924_1",
"pc_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1924_1",
"mobile_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1924_1",
"mobile_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1924_1"
},
{
"id": "1922",
"chatroom_id": "17175003856897",
"title": "香山",
"desc": "随便",
"startTime": 1495777760957,
"endTime": 1495777760957,
"anchor": "sx001",
"gift_count": 0,
"praise_count": 8,
"current_user_count": 1,
"max_user_count": 3,
"status": "ongoing",
"cover_picture_url": "http://127.0.0.1:8080/easemob- ... ot%3B,
"pc_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1922_1",
"pc_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1922_1",
"mobile_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1922_1",
"mobile_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1922_1"
}
],
"timestamp": 1496303336669,
"duration": 0,
"organization": "easemob-demo",
"applicationName": "chatdemoui",
"cursor": "ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206ZWFzZW1vYi1kZW1vI2NoYXRkZW1vdWk6NDk",
"count": 2
}












获取直播间详情:curl -X GET -H "Authorization: Bearer [用户Token]" " https://a1.easemob.com/[应用OrgName]/[应用AppName]/[房间id]/status"响应:{
"action": "get",
"application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5",
"uri": "http://127.0.0.1:8080/easemob- ... ot%3B,
"entities": [ ],
"data": {
"liveRoomID": "1946",
"status": "ongoing"
},
"timestamp": 1496234759930,
"duration": 0,
"organization": "easemob-demo",
"applicationName": "chatdemoui",
"count": 0
}














 
使用环信直播购物小程序遇到任何问题欢迎跟帖讨论。 查看全部
今天你看直播了吗?
拥有10亿微信生态用户的小程序已经成为了继移动互联后的又一个现象级风口,随着微信小程序对外开放实时音视频录制及播放等更多连接能力,小程序与直播强强联合,在各行各业找到了非常多的玩法,小程序直播相比微信直播和APP直播更加简洁、流畅、低延时、多入口等众多优势迅速向商业直播领域及泛娱乐直播领域蔓延。从小游戏、内容付费、工具、大数据、社交电商创业者到传统品牌商们,都在努力搭上小程序直播这辆快车,以免错过微信生态里新的流量洼地。
 
微信图片_20180725162426.jpg


作为一名环信生态圈资深开发者,本着对技术的热衷,对环信的眷恋和对党的忠诚,基于环信即时通讯云写了“直播购物小程序”,目前项目源码已全部免费开放,希望对有需求的企业和开发者提供一个思路和参考。
直播购物小程序源码github地址:https://github.com/YuTongNetworkTechnology/wechat_live/tree/master 
git打不开可直接点下面链接下载



预览图.jpg

直播购物小程序运行预览图 
 
小程序体验指南(仅需两步):
 
1、下载微信小程序开发工具,下载地址:https://developers.weixin.qq.c ... .html 
 
Catch9A07(07-20-17-38-30).jpg

2、导入源码:将附件的源码解压直接导入 


Catch1C69(07-20-17-38-30).jpg


环信小程序直播技术文档
一、 使用的技术
1、 环信IM直播室。
2、 微信小程序实时音视频播放组件live-player。
3、 推流软件(obs、易推流)等推流。
4、 视频流服务器(UCLOUD、七牛、腾讯)等视频流服务器。
二、 系统使用流程。
1、 视频推流软件将视频流推到流服务器。
2、 打开视频直播demo小程序注册环信账号。
3、 进入软件直播室进行测试。
三、 技术流程及使用的SDk
1、 注册环信账号
打开https://www.easemob.com/ 环信官网,点击右上角注册按钮,选择[注册即时通讯云]
1.png

填写对相关信息进行注册

2.png

注册成功后进行登录
3.png

注:新注册用户需进行账号的认证。
2、 直播应用创建
登录成功点击应用列表选择创建应用
4.png

输入应用名称等信息
 

5.png

创建成功后点击应用进入

6.png

需要注意的是应用的OrgName 和AppName这两个是以后都需要用到的两个参数变量
7.png

3、 直播创建
1)在创建直播之前需要对应用进行设置首先需要设置应用的直播流地址
第一步获取应用管理员的Token
curl -X POST "https://a1.easemob.com/[应用OrgName]/[应用AppName]/token" -d '{"grant_type":"client_credentials","client_id":"[应用client_id]","client_secret":"[应用] client_secret"}'
返回格式
{
"access_token":"YWMtWY779DgJEeS2h9OR7fw4QgAAAUmO4Qukwd9cfJSpkWHiOa7MCSk0MrkVIco",
"expires_in":5184000,
"application":"c03b3e30-046a-11e4-8ed1-5701cdaaa0e4"












第二步设置直播流地址
curl -X POST -H "Authorization: Bearer [管理员Token]"  " https://a1.easemob.com/[应用OrgName]/[应用AppName]/liverooms/stream_url -d '{"pc_pull":"[pc拉流地址]","pc_push":"[pc推流地址]","mobile_pull":"[手机拉流地址]","mobile_push":"[手机推流地址]"}'"
成功返回格式:
{
"action": "post",
"application": "e1a09de0-0e03-11e7-ad8e-a1d913615409",
"uri": "http://127.0.0.1:8080/easemob- ... ot%3B,
"entities": [ ],
"data": {
"pc_pull": true,
"mobile_push": true,
"mobile_pull": true,
"pc_push": true
},
"timestamp": 1494084474885,
"duration": 1,
"organization": "easemob-demo",
"applicationName": "chatdemoui"
}












2)创建主播
点击IM用户

8.png

点击注册IM用户

9.png

填写用户信息

10.png

创建用户的过程同样也可以通过REST API形式进行
curl -X POST -i " https://a1.easemob.com/[应用OrgName]/[应用AppName]/users" -d '{"username":"[用户名]","password":"[密码]"}'

注:应用必须为开放注册

11.png

将注册的用户添加为主播
curl -X POST -H "Authorization: [管理员Token]"  https://a1.easemob.com/[应用OrgName]/[应用AppName]/super_admin -d'{"superadmin":"[IM用户名]"}'
返回结果示例:
{
"action": "post",
"application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5",
"uri": "http://127.0.0.1:8080/easemob- ... ot%3B,
"entities": [ ],
"data": {
"result": "success"
},
"timestamp": 1496236798886,
"duration": 0,
"organization": "easemob-demo",
"applicationName": "chatdemoui"
}












3)创建直播
点击直播

12.png

点击新建房间

13.png

填写房间信息
14.png

创建房间同时也可以使用REST API形式进行详情可以查看http://docs.easemob.com/im/live/server-integration环信官方文档。
4、 小程序demo集成使用
小程序直播购物demo集成官方WebIM SDK详情请查看https://github.com/easemob/webim-weixin-xcx
Demo具体配置如下
打开demo 下sdk配置文件

15.png

修改appkey为自己应用的appkey

16.png

打开pages/live/index.js修改房间默认拉流地址及直播间房间号

17.png

四、 扩展说明
Demo中房间为固定测试房间,实际使用中应获取环信直播的房间信息及房间列表。具体如下:
获取直播间列表:
curl -X GET -H "Authorization: Bearer  [用户Token]"  https://a1.easemob.com/[应用OrgName]/[应用AppName]/liverooms?ongoing=true&limit=[获取数量]&cursor=[游标地址(不填写为充开始查询)]

响应:
{
"action": "get",
"application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5",
"params": {
"cursor": [
"ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206ZWFzZW1vYi1kZW1vI2NoYXRkZW1vdWk6MzE"
],
"ongoing": [
"true"
],
"limit": [
"2"
]
},
"uri": "http://127.0.0.1:8080/easemob- ... ot%3B,
"entities": [ ],
"data": [
{
"id": "1924",
"chatroom_id": "17177265635330",
"title": "具体了",
"desc": "就咯",
"startTime": 1495779917352,
"endTime": 1495779917352,
"anchor": "wuls",
"gift_count": 0,
"praise_count": 0,
"current_user_count": 8,
"max_user_count": 9,
"status": "ongoing",
"cover_picture_url": "",
"pc_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1924_1",
"pc_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1924_1",
"mobile_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1924_1",
"mobile_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1924_1"
},
{
"id": "1922",
"chatroom_id": "17175003856897",
"title": "香山",
"desc": "随便",
"startTime": 1495777760957,
"endTime": 1495777760957,
"anchor": "sx001",
"gift_count": 0,
"praise_count": 8,
"current_user_count": 1,
"max_user_count": 3,
"status": "ongoing",
"cover_picture_url": "http://127.0.0.1:8080/easemob- ... ot%3B,
"pc_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1922_1",
"pc_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1922_1",
"mobile_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1922_1",
"mobile_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/easemob-demo_chatdemoui_1922_1"
}
],
"timestamp": 1496303336669,
"duration": 0,
"organization": "easemob-demo",
"applicationName": "chatdemoui",
"cursor": "ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206ZWFzZW1vYi1kZW1vI2NoYXRkZW1vdWk6NDk",
"count": 2
}












获取直播间详情:
curl -X GET -H "Authorization: Bearer [用户Token]" " https://a1.easemob.com/[应用OrgName]/[应用AppName]/[房间id]/status"
响应:
{
"action": "get",
"application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5",
"uri": "http://127.0.0.1:8080/easemob- ... ot%3B,
"entities": [ ],
"data": {
"liveRoomID": "1946",
"status": "ongoing"
},
"timestamp": 1496234759930,
"duration": 0,
"organization": "easemob-demo",
"applicationName": "chatdemoui",
"count": 0
}














 
使用环信直播购物小程序遇到任何问题欢迎跟帖讨论。
19
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 18374 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
Android sdk 的两种导入方式环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
0
回复

用hbuilder打包Ios应用,环信用的是webSDK,目前不能视频通话。 环信_WebIM

回复

待转行程序猿 发起了问题 • 1 人关注 • 274 次浏览 • 2018-11-14 09:37 • 来自相关话题

0
回复

Web端与APP端视频实时通讯不成功,总是提示“callee is not online!” 环信_WebIM

回复

邓治鹏 发起了问题 • 2 人关注 • 645 次浏览 • 2018-07-12 17:52 • 来自相关话题

0
回复

微信小程序发送语音时,点击 环信_WebIM

回复

把我推进深海的你真善良 发起了问题 • 1 人关注 • 327 次浏览 • 2018-11-08 15:35 • 来自相关话题

0
回复

iOS手机端和PC端多端登录时,手机端不退出账号直接杀掉之后,收不到消息推送 环信_WebIM 环信_iOS

回复

天行和九妹 发起了问题 • 1 人关注 • 268 次浏览 • 2018-11-06 17:32 • 来自相关话题

0
回复

环信微信小程序SDK在后台收到语音消息,切到前台播放不了 环信_WebIM 小程序

回复

天行和九妹 发起了问题 • 1 人关注 • 540 次浏览 • 2018-10-22 18:35 • 来自相关话题

0
回复

1v1实时通话,提示来源不安全,要求切换到安全的原点 环信_WebIM 有专职工程师值守

回复

风华正茂 发起了问题 • 1 人关注 • 314 次浏览 • 2018-10-22 15:00 • 来自相关话题

0
回复

有没有一个简单的,发布添加客户id即可使用的实时视频WEBdemo啊,急求 环信_WebIM

回复

路‭问 发起了问题 • 1 人关注 • 363 次浏览 • 2018-10-15 18:55 • 来自相关话题

3
回复

webim每次登录都会走到conn.listen的onError事件,message.type=8 环信_WebIM

轻轻 回复了问题 • 5 人关注 • 1554 次浏览 • 2018-10-14 16:42 • 来自相关话题

4
回复

webIM支持陌生人聊天吗? 环信技术支持 环信_WebIM

Love Gougou 回复了问题 • 5 人关注 • 2402 次浏览 • 2018-10-12 14:55 • 来自相关话题

4
最佳

环信WebIM 聊天时需要添加对方为好友,能不能跳过这一步骤,直接对话? 环信_WebIM

Love Gougou 回复了问题 • 4 人关注 • 4453 次浏览 • 2018-10-12 14:55 • 来自相关话题

4
回复

web im怎样发起陌生人聊天 环信_WebIM

Love Gougou 回复了问题 • 4 人关注 • 1915 次浏览 • 2018-10-12 14:55 • 来自相关话题

8
回复

web im不能给陌生人发消息? 环信_WebIM

Love Gougou 回复了问题 • 5 人关注 • 1953 次浏览 • 2018-10-12 14:54 • 来自相关话题

0
回复

vue中集成conn.listen没有任何反应 环信_WebIM

回复

科男 发起了问题 • 1 人关注 • 336 次浏览 • 2018-10-11 11:07 • 来自相关话题

0
回复

Love Gougou 回复了问368 5 eser- ="i8374M2018-1类8374v o 2018-1•问能i02 >
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 

< 1 " data-topic-id="49,116,">

<注 API " data-topic-id="49,116,">
• 来自相关话题

4
最佳

用hbuilde44conn.open后会触发onOpened a

Love 6%AD%A3%E8%8C%82" class="aw-user-name">风华正茂170>pan class="text-7-05-22 15:得回复的 >
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  • 来自相关话题

4
最佳
<436Error事件,message.type=8 Wahnsinn"aw-question-content">

用hbuilde3"pull-right text-color09-0ht01:21 href="http://imgeek.org/question/13724">conn.open后会触发onOpened a 环信_WebIM

回复

待转行程序猿 6" re 1 ss="te joinGroup报异常 >
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 

ic-id="116,">
0
回复
on/888on/天端

5 55

52text-color-999">贡09-0" d8:4

回复

268 次浏览 • 2018-11-06 17:32 • 来自相关话题

" dataopic/h4
0
回复
1la 431 91 2016-01"http56 •rig ic-id="116,"> • 5e class=text-palor-999v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> • 5 人关注 • 2402 次浏览 • 2018-10-12 14:55 评论内容ilde 知道 •8E%E8% ig 路评论内容ilde a href="
交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 10202);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 10202)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< jp:/script:;lad -idiv102023m
2 " dataopir
ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:10202, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
分享 v>ev webIM • ', pan>ent: $(th).parents('. -detail').find('.markitupbox')});l> pan博 >< "li ig
  • webIM • ', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM • ', pan>ent: $(th).parents('. -detail')});l> pan cl >< "li ig E%E6社交操作ilde a href=" 36#!an

    hre class="aw-quesnam > "> g s答: 新增 --> 2016-04-2httat43 •rig ic-id="116,"> 8> la class=text-palor-999v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' );l>了鄟兴趣 >< " data /p h4 ic-id="116,"> 8> l>4户注 我助网站-997-05-让 起页面自动注 • • c/h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 11983);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 11983)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv119833m
    3 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:11983, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 8> ', pan>ent: $(th).parents('. -detail').find('.markitupbox')});l> pan博 >< "li ig
  • webIM 8> ', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM on/8> ', pan>ent: $(th).parents('. -detail')});l> pan cl >< "li ig E%E6社交操作ilde a href=" 36#!an webIMup s聊/0ef=ef=e1/03 beyond /12i class=ipan ipan< pe class=text-palor-999

    1033 class="aw-quesnam 1033>beyond< g s答: 新增 --> 2016-09-08ttat19t•rig ic-id="116,"> 96323 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 96323 4 注册 返g s错误 -15 :27 求解8E%版本1.1.2 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde ent_switcher($('#detail_'), $('#detail_more_'));l>显全部 » v>写。
    路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 14037);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 14037)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv140373m
    0 " dataopir class="aw-quesnam 1/div> class=< g s答: 新增 --> 2017-01"14t简9t•rig ic-id="116,"> 107div> class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 107div> 1 怎样gee解8uutologin 配<选项 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 16285);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 16285)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv162853m
    0 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:16285, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 107di', pan>ent: $(th).parents('. -detail').find('.markitupbox')});l> pan博 >< "li ig
  • webIM 107di', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM on/107di', pan>ent: $(th).parents('. -detail')});l> pan cl >< "li ig E%E6社交操作ilde a href=" 36#!an webIMup s聊/0ef=ef=e1/03 beyond /12i class=ipan ipan< pe class=text-palor-999 mge信_Web

    1033 class="aw-quesnam 1033>beyond< g s答: 新增 --> 2017-02-0htt4:45t•rig ic-id="116,"> 108433 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 108433n IM 我峨陆•-99订服说他 人我助糨陆很无语 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 1643 );l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 1643 )l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< jp:/script:;lad -idiv1643 3m
    6 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:1643 , ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 10843', pan>ent: $(th).parents('. -detail').find('.markitupbox')});l> pan博 >< "li ig
  • webIM 10843', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM on/10843', pan>ent: $(th).parents('. -detail')});l> pan cl >< "li ig E%E6社交操作ilde a href=" 36#!an webIMup s聊/0ef=e1/05/18 过河卒子" /12/>< pe class=text-palor-999

    1051 5e class=user-nam 1051 5>过河卒子< g s答: 新增 --> 2017-02-20 20:0" •rig ic-id="116,"> 109ss class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 109ss >服务器端调创建信群时提 rseoure_not_found >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 16663);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 16663)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv166633m
    0 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:16663, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 109ss', pan>ent: $(th).parents('. -detail').find('.markitupbox')});l> pan博 >< "li ig
  • webIM 109ss', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM on/109ss', pan>ent: $(th).parents('. -detail')});l> pan cl >< "li ig E%E6社交操作ilde a href=" 36#!an webIMup s聊/0ef=ef=e1/03 beyond /12i class=ipan ipan< pe class=text-palor-999 ge信_Web

    1033 class="aw-quesnam 1033>beyond< g s答: 新增 --> 2017-03-07 10:53 •rig ic-id="116,"> 1108iv> class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 1108iv> 1 怎 集成呢? >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde ent_switcher($('#detail_'), $('#detail_more_'));l>显全部 » v>Text = funon () { br /1 var id = pann.getUni Id();8E%E8%A88E%E8%A88// 生成本地曞复id br /1 var msg = new W IM.m201age('txt', id);8E%E8%// 创建文本曞复 br /1 8E%Emsg.set({ br /1 8E%Emsg: 'hello,b君', // 曞复内容 br /1 8E%Eto: 'b', // 接收曞复对象(户i题 br /1 8E%EroomT15 : fals>,
    text Succ201'); br /1 } br /1 }); br /1 msg.body.chaT15 = 'singleCha'; br /1 pann.eend(msg.body); br /1 }; ig 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 16943);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 16943)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv169433m
    5 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:16943, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m class"user-nam 1/div> class=< g s答: 新增 --> 2017-03-09 21:0ht•rig ic-id="116,"> 1110s class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 1110s >想hre3 1 助群消息能离线接收吗 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 16992);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 16992)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv169923m
    0 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:16992, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m class="aw-quesnam 1/div> class=< g s答: 新增 --> 2017-03-09 21:0ht•rig ic-id="116,"> 111033 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 11103 >按照 -as官胖档存䂨token失败 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde ent_switcher($('#detail_'), $('#detail_more_'));l>显全部 » v> 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 1699s);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 16990)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< f="jp:/script:;lad -idiv1699s d --15 ="answerl>1 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:16990, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 11103', pan>ent: $(th).parents('. -detail').find('.markitupbox')});l> pan博 >< "li ig
  • webIM 11103', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM on/11103', pan>ent: $(th).parents('. -detail')});l> pan cl >< "li ig E%E6社交操作ilde a href=" 36#!an webIMstatic/pammon/avavar-mid-ass.png" alt="leslieliu /12/>< pe class=text-palor-999

    132833 class="aw-quesnam 132833>leslieliu< g s答: 新增 --> 2017-03-27 17:15t•rig ic-id="116,"> 112323 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 112323>react native demo里犩糨陆9">iv>关联device_token到糨陆户吧-99react native 端7-何做关联? >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde ent_switcher($('#detail_'), $('#detail_more_'));l>显全部 » v> 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 17264);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 17264)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< jp:/script:;lad -idiv17264 d --15 ="answerl>5 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:17264, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 11232', pan>ent: $(th).parents('. -detail').find('.markitupbox')});l> pan博 >< "li ig
  • webIM 11232', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM on/11232', pan>ent: $(th).parents('. -detail')});l> pan cl >< "li ig E%E6社交操作ilde a href=" 36#!an webIMup savavar/000/00/00/99 lizg /12/>< pe class=text-palor-999

    9hre class=user-nam 9hr>lizg< g s答: 新增 --> 2017-03-28 11:4" •rig ic-id="116,"> 112353 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/112353n im视频 2017-04-11tt4:12t•rig ic-id="116,"> 112833 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents('了鄟兴趣 >< " data /p h4 ic-id="116,"> 112833> im糨录href="。我怎 避开糨录界面直接跳转到主界面 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde ent_switcher($('#detail_'), $('#detail_more_'));l>显全部 » v>,
    ,
    ,
    路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 17486);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 17486)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv17486 d --15 ="answerl>0 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:17486, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m class"user-nam 1/div> class=< g s答: 新增 --> 2017-05-01tt9:55t•rig ic-id="116,"> 11486 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/11486 >获取群绩列表时报错Cannot rsad property 'sendIQ' of undefined是什 原因 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 17753);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 17753)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv17753 d --15 ="answerl>0 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:17753, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 11486', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/11486', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/11486', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="1/786 class=user-ass=bordwebIMstatic/pammon/avavar-mid-ass.png" alt="xianghenggang /12/>< pe class=text-palor-999

    14786 class=user-nam 14786 >xianghenggang< g s答: 新增 --> 2017-05-08 14:3ht•rig ic-id="116,"> 1149iv> class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/1149iv>android环信怎 微信小程序 igigi< ig< ig icd -id="112523 class="aw-quesass=bordwebIMup savavar/000/01/12/52 geri_yang /12/>< pe class=text-palor-999

    112523 class="aw-quesnam 112523>geri_yang< g s答: 新增 --> 2017-05-08 19:2" •rig ic-id="116,"> 11574 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/11574 > 与app两端注录同账号-99自己䜨端菑送犩消息-99菦端接收 2到 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 17856);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 17856)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv17856 d --15 ="answerl>1 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:17856, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 11574', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/11574', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/11574', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="118133 class="aw-quesass=bordwebIMup savavar/000/01/18/13 木落 /12/>< pe class=text-palor-999

    118133 class="aw-quesnam 118133>木落< g s答: 新增 --> 2017-05-09 12:32t•rig ic-id="116,"> 1158iv> class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/1158iv>我犩reactnative-99apns离线推送7-何做 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 17897);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 17897)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv17897 d --15 ="answerl>1 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:17897, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 1158i', pan>ent: $(th).parents('. -detail').find('.markitupbox')});l> pan博 >< "li ig
  • webIM stion/1158i', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/1158i', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="1640hre class=user-ass=bordwebIMup savavar/000/01/64/09 い天然呆ζ♂ /12/>< pe class=text-palor-999

    1640hre class=user-nam 1640hr>い天然呆ζ♂< g s答: 新增 --> 2017-06-30 10:23t•rig ic-id="116,"> 117423 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/117423>关于 pack + vu 页应-99 集成WebIM时报错 >< "h4 pe class=text-palor-999=agree-by="awe// 赞同起自:ig

    评论内容ilde 路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 18487);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 18487)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv18487 d --15 ="answerl>1 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:18487, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 11742', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/11742', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/11742', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="6027 class="aw-quesass=bordwebIMstatic/pammon/avavar-mid-ass.png" alt="wangyuzhang /12/>< pe class=text-palor-999

    6027 class="aw-quesnam 6027 >wangyuzhang< g s答: 新增 --> 2017-08-09 20:2" •rig ic-id="116,"> 122353 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/122353>http://192.168.0.115:8020/1139170704115017/dantyt stim/users/axxxxx/joined_phagroups 请求头突然就变成地犩 - /a>

    ig p class=text-palor-999 agree-by hide">ig 赞萌来自:ig

    igig <
    ig me">评论内容 -->igg< i 看3你䜨初始化pannection 象犩时候-99有9">iv>设置apiUrl br /1 br /1 7866
    iv>设置apiUrl br /1 br /1 7866
    路评论内容ilde a href="
    交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 18806);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 18806)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv18806 d --15 ="answerl>3 /a>ig ig ig 收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 12235', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/12235', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/12235', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="172133 class="aw-quesass=bordwebIMup savavar/000/01/72/13 空山 /12/>< pe class=text-palor-999

    172133 class="aw-quesnam 172133>空山< g s答: 新增 --> 2017-08-19 00:08 • ig g ichref="http://n/60">webIM stion/1228iv> class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/1228iv>环信 Web IM 获取好友列表失败 /a>

    ig p class=text-palor-999 agree-by hide">ig 赞萌来自:ig

    igig <
    ig me">评论内容 -->igg< i 自己排查源码找到原因 -, 折腾了天累觉 2爱, 强迫症害人 2浅 br /1 环信犩pann实例犩糨录状态 states 更改, 2是䜨注录胳 open 犩回调函数中执行, 而是䜨 全局犩监听函数 pann.listen({ onOasned(){}}) 执行, 并且重...8E%E8% 8E%E8%A8 ic-id="1jp:/script:;la class=showMore/qonclick="AWS.pan>ent_switcher($('#detail_'), $('#detail_more_'));l>显全部 » v> 路评论内容ilde a href=" 交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 18857);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 18857)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv18857 d --15 ="answerl>0 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:18857, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 1228i', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/1228i', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/1228i', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="188533 class="aw-quesass=bordwebIMup savavar/000/01/88/53 回眸淡然笑 /12/>< pe class=text-palor-999

    188533 class="aw-quesnam 188533>回眸淡然笑< g s答: 新增 --> 2017-12-04 21:03t•rig ic-id="116,"> 1234s class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/1234s >环信 IM犩表情符解释是怎 解释犩-9914样“[):]”犩符号怎 解释成表情图啊 /a>

    ig p class=text-palor-999 agree-by hide">ig 赞萌来自:ig

    igig <
    ig me">评论内容 -->igg< i 字符串匹配-99匹配到后莻表情库做 比-99样就取文件出来展示 br /1   ig 路评论内容ilde a href=" 交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 19277);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 19277)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv19277 d --15 ="answerl>2 /a>ig ig ig 收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 1234s', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/1234s', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/1234s', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="18714 class=user-ass=bordwebIMstatic/pammon/avavar-mid-ass.png" alt="kssion3 /12/>< pe class=text-palor-999

    18714 class=user-nam 18714 >kssion< g s答: 新增 --> 2017-11-21tt8:09 • ig g ichref="http://n/60">webIM stion/12454 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/12454 >环信关于小程序成功发送消息后犩2执行success /a>

    ig p class=text-palor-999 agree-by hide">ig 赞萌来自:ig

    igig <
    ig me">评论内容 -->igg< i href="文件 utils/sdk/src/pannection.js br /1 js犩类型判断有href=" br /1 找到 pannection.js 第 1495 行左右[code]_msgHash[id].msg.success instanceof Function &&...8E%E8% 8E%E8%A8 ic-id="1jp:/script:;la class=showMore/qonclick="AWS.pan>ent_switcher($('#detail_'), $('#detail_more_'));l>显全部 » v>ig 路评论内容 -->igig< ig me">社交操作 -->igg< ig 投票栏 -->igg ig ic class="gree " onclick="AWS.User.agree_vote(this, '', 19217);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 19217)l>eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv19217 d --15 ="answerl>1 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:19217, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 12454', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/12454', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/12454', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="1863iv> class=user-ass=bordwebIMstatic/pammon/avavar-mid-ass.png" alt="CallDonger3 /12/>< pe class=text-palor-999

    1863iv> class=user-nam 1863iv>CallDonger< g s答: 新增 --> 2017-11-15 15:32t•rig ic-id="116,"> 1265iv> class=text-palor-999ig ic class=text-palor-999

    ig

    webIM stion/1265iv>vu 菑送消息-99报源码犩$msg is not defined /a>

    ig p class=text-palor-999 agree-by hide">ig 赞萌来自:ig

    igig <
    ig me">评论内容 -->igg< i 你䥽-99我也碰到了14 href="-99请hre你解决了吗? ig 路评论内容ilde a href=" 交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 1919i);l> 0ig eeee " dataopir me">E%E6投票栏ilde lasrav> ic class="add-pamment text-palor-999< ="jp:/script:;lad -idiv1919i d --15 ="answerl>5 /a>ig ig ig 收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 1265i', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/1265i', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/1265i', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="1033 class="aw-quesass=bordwebIMup savavar/000/00/01/03 beyond3 /12ic class=ipan ipanv i-ve"> /a>g p class=text-palor-999">ig ichref="http://n/60">webIMpeople/1033 class="aw-quesnam 1033>beyond< g s答: 新增 --> 2018-07-23t10:5" •rig ic-id="116,"> 13534 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/13534 >环信 回调 type = 8是什么意思-99求大佬解答 /a>

    ig p class=text-palor-999 agree-by hide">ig 赞萌来自:ig

    igig <
    ig me">评论内容 -->igg< i 8 WEBIM_CONNCTION_SERVER_ERROR 多端糨录-99被踢3线 br /1   br /1 更多 im错误码请查看http://docs.easemob.com/im/450errorcode/40 errorcode ig 路评论内容ilde a href=" 交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 19822);l> 0ig
    ig ig end>投票栏 -->igg ig ic class="add-comment text-palor-9990 " dataopir
    ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:19822, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 13534', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/13534', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/13534', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi< ig< ig icd -id="9hre class=user-ass=bordwebIMup savavar/000/00/00/99 lizg3 /12/>< pe class=text-palor-999

    9hre class=user-nam 9hr>lizg< g s答: 新增 --> 2018-07-26tt8:49 • ig g ichref="http://n/60">webIM stion/13554 class=text-palor-999 v>e
    v> text-palor-999< jp:/script:;la了ick="AWS.User. _unin>ersered($(th).parents(' 2感兴趣 >< "span>

    ig

    webIM stion/13554 >每次调pann.open后-99进onOasned犩监听函数-99然后谱进入onError-99报错type:8 /a>

    ig p class=text-palor-999 agree-by hide">ig 赞萌来自:ig

    igig <
    ig me">评论内容 -->igg< i 14 7-果9">iv>做 他操作-99是直接onOasned后-99谱被踢-99 那么谱看sdk犩 版-997-果使犩是 1.4.11    直接更新sdk版就可以解决了 ig iv>做 他操作-99是直接onOasned后-99谱被踢-99 那么谱看sdk犩 版-997-果使犩是 1.4.11    直接更新sdk版就可以解决了ig 路评论内容ilde a href=" 交操作ilde 投票栏ilde lasrav> ic class="gree /qonclick="AWS.User.agree_vote(th, '', 19846);l> 0eeeee ic class=di18-ree /qonclick="AWS.User.di18-ree_vote(th, '', 19846)l>ig ig end>投票栏 -->igg ig ic class="add-comment text-palor-999 ic-id="1jp:/script:;laclick="AWS.dialog('favorite', {ite _id:19846, ite _-15 :'answer'});la class=text-palor-999收div>ev> text-palor-999 dropdown-toggle3m
    分享 v>ev webIM 13554', pan>ent: $(th).parents('. -detail').find('.markitup-box')});l> 微博 >< "li>ig
  • webIM stion/13554', pan>ent: $(th).parents('. -detail')});l> QZONE >< "li ig
  • webIM ion/13554', pan>ent: $(th).parents('. -detail')});l> 微信 >< "li>ig ig ig ig ig 路社交操作 -->igigi ig < ig ig 更多...ig ig ig ig iig < ig < i < i < <>0i < <>评论i i ig< ig h4>ig 置顶 -->igg 方式:>新增 -->igg @xnile -->igg biaotai.me -->igg 顶ig end>置顶 -->igg webIMarti ce/82530916hr>【活动推荐】ECUG Can 2018 拥抱3一3十年ig i webIMtopic/ECUG Can 2018 class="awtopic-nam 25695l>ECUG Can 2018i webIMtopic/许式伟 class="awtopic-nam 256933>许式伟i webIMtopic/ECUG class="awtopic-nam 25694 >ECUGi webIMtopic/七牛云 class="awtopic-nam 256823>七牛云i ig
  • ig ig p>ig webIMpeople/beyond3 class="aw-quesnam >beyond< ig • 来自相关话题ig

    iig 文章内容调 -->igg< i < ig 国内云计算领域大咖 许式伟
    webIMarti ce/82530916hr>查看全部
    ig ig ig ig pre>国内云计算领域大咖 许式伟
    ECUG Can 2018
    时  间
    地  点
    igwebIMup sarti ce/20181203/458c0b5eb061a67d2c0b9853a731803a.jpg3 target="_blank d -fancybox-group="thumb" rel="lightbox3>webIMup sarti ce/20181203/458c0b5eb061a67d2c0b9853a731803a.jpg3 class=n/6polaroid" title="30943258454939062.jpg3 alt="30943258454939062.jpg3 /12/a>ii
    end>文章内容调 -->igg / <>ii<
    i < i < <>0i < <>评论i i ig< ig h4>ig 置顶 -->igg 方式:>新增 -->igg @xnile -->igg biaotai.me -->igg
    ig end>置顶 -->igg webIMarti ce/8253091623>【我最喜爱犩 Cloud Studio 插件评选大赛】终开觋了-9ig i webIMtopic/Cloud Studio class="awtopic-nam 256863>Cloud Studioi webIMtopic/Cloud Studio 插件评选大赛 class="awtopic-nam 256873>Cloud Studio 插件评选大赛i webIMtopic/腾讯云开菑者平台 class="awtopic-nam 256883>腾讯云开菑者平台i webIMtopic/coding class="awtopic-nam 2568hr>codingi webIMtopic/编程大赛 class="awtopic-nam 23468r>编程大赛i ig
  • ig ig p>ig webIMpeople/beyond3 class="aw-quesnam >beyond< ig • 来自相关话题ig

    iig 文章内容调 -->igg< i < ig 由 环信、腾讯云和 CODING 共萌举办犩 我最喜爱犩 Cloud Studio 插件评选大赛正式开觋了-9䜨14场比赛里-99谆有9术上犩碰撞-99褧牛评委犩3业点评-99愉快犩技术交流-99襽玩犩插件尝试。
    webIMarti ce/8253091623>查看全部
    ig ig ig ig br /1 < igwebIMup sarti ce/20181126/39a5196c32dd0ad7c109cc3a7621f3f0.jpg3 target="_blank d -fancybox-group="thumb" rel="lightbox3>webIMup sarti ce/20181126/39a5196c32dd0ad7c109cc3a7621f3f0.jpg3 class=n/6polaroid" title="2.jpg3 alt="2.jpg3 /12/a>ii
    igwebIMup sarti ce/20181126/5f8289fda50461bc9566093aa879f7a7.jpg3 target="_blank d -fancybox-group="thumb" rel="lightbox3>webIMup sarti ce/20181126/5f8289fda50461bc9566093aa879f7a7.jpg3 class=n/6polaroid" title="6ccda21fgy1fxeim29mncj20ik0e6dn4.jpg3 alt="6ccda21fgy1fxeim29mncj20ik0e6dn4.jpg3 /12/a>ii
  • 参赛者可以围绕 Git、实小工具、腾讯云产品 接、UI 强化、语言支持等 14 主题提交插件-99膍加上具娱乐奖-99代码最简单奖-99设置功能复杂奖等;
  • 近 30 种奖项,超高 奖率;
  • 插件只要提交上-99谱有 50 元犩话费相赠;
  • 只要关注 CODING 公众号并转菑活动讯息到朋友圈-99荳可获得手机充值小礼! /li>
    参与方式
    https://dev.tencent.com
    ) -> 点击进入活动页面 -> 点击进行插件犩编4 提交(需要选择参与评选犩类别)-> 审核无误后荳可上自动参与评选。
    赛程时间
    < igwebIMup sarti ce/20181126/325d0a10921b14376de7a0fc8ec66194.jpg3 target="_blank d -fancybox-group="thumb" rel="lightbox3>webIMup sarti ce/20181126/325d0a10921b14376de7a0fc8ec66194.jpg3 class=n/6polaroid" title="6ccda21fly1fxejmnr8oej20ow03odfy.jpg3 alt="6ccda21fly1fxejmnr8oej20ow03odfy.jpg3 /12/a>ii
    环信特别奖
    <
    igwebIMup sarti ce/20181126/1df931345047e5979f10s1b53e8cfee8.png target="_blank d -fancybox-group="thumb" rel="lightbox3>webIMup sarti ce/20181126/1df931345047e5979f10s1b53e8cfee8.png class=n/6polaroid" title="tb16@2x.png alt="tb16@2x.png /12/a>ii
    end>文章内容调 -->igg / <>ii<
    i < i < <>4i < <>评论i i ig< ig h4>ig 置顶 -->igg 方式:>新增 -->igg @xnile -->igg biaotai.me -->igg 顶ig end>置顶 -->igg webIMarti ce/82530911s >【开源项目】全国首个开源直播小程序源码ig i webIMtopic/环信公开课 class="awtopic-nam 24834r>环信公开课i webIMtopic/小程序 class="awtopic-nam 24648r>小程序i webIMtopic/直播 class="awtopic-nam 23917r>直播i ig
  • ig ig p>ig webIMpeople/beyond3 class="aw-quesnam >beyond< ig • 来自相关话题ig

    iig 文章内容调 -->igg< i < ig 今天你看直播了吗?拥有10亿微信生态户犩小程序已经成了继移动互联后犩又 个现象级风菣,随着微信小程序 外开放实时音视频录制及播放等更多连接能力-99谏程序与直播强强联合-99蜨吩行吩业找到了非常多犩玩法-99谏程序直播相比微信直播和APP直播更加简洁、流畅、低延时、多 菣等众多优势迅速萑商业直播领域及泛娱乐直播领域蔓延。从谏游戏、内容付费、工具、褧数据、社交电商创业者到传统品牌商们-99都在努力搭上谏程序直播14辆快车-99以免错过微信生态里新犩流量洼地。
    webIMarti ce/82530911s >查看全部
    ig ig ig ig pre>今天你看直播了吗?拥有10亿微信生态户犩小程序已经成了继移动互联后犩又 个现象级风菣,随着微信小程序 外开放实时音视频录制及播放等更多连接能力-99谏程序与直播强强联合-99蜨吩行吩业找到了非常多犩玩法-99谏程序直播相比微信直播和APP直播更加简洁、流畅、低延时、多 菣等众多优势迅速萑商业直播领域及泛娱乐直播领域蔓延。从谏游戏、内容付费、工具、褧数据、社交电商创业者到传统品牌商们-99都在努力搭上谏程序直播14辆快车-99以免错过微信生态里新犩流量洼地。
    igwebIMup sarti ce/20180725/da581d26b32eafec4e9cbe4s1b2acc8f.jpg3 target="_blank d -fancybox-group="thumb" rel="lightbox3>webIMup sarti ce/20180725/da581d26b32eafec4e9cbe4s1b2acc8f.jpg3 class=n/6polaroid" title="微信图片_20180725162426.jpg3 alt="微信图片_20180725162426.jpg3 /12/a>ii
    直播购物谏程序源码github地址-9https://github.com/YuTongNetworkTechnalogy/wechat_live/tree/master
     
    git打不輀華直接点3面链接3载
    i
  • webIMfile/download/file_nam -5bCP56iL5bqP55u05pKtZGVtb18yMDE4LTA2LTIxLnp &uf="http://n/60">web
    webii
    webii
    ii
    ii
    webwebwebii
    webwebwebii
    webwebii
    webwebwebwebwebwebIMart br /1
    ig pre>今天你看直播了吗?拥有10亿微信生态户犩小程序已经成了继移动互联后搜联吢 个现象级风菣,随着微信小程序 外开放实时音视频录制及 <0180725162426.itotaquoicle" asem-to_ur-id="24979,"> br /////////////////<0180725162426.reply"> br /////////<018gr-999<19 ////////////<018gr-999< 1 //////// //////////// <0180725162426.qu

    t 【台 快速之getex.js /1 ujiepeng.jpg3发t;g • 来r /相关话实 <01807251624markitup-box"> <01807251624img 0-0e-righ ">    这里整理 蜨吩行吩业找到了非常多犩玩法-99谏程序直播相比   这里整理 webweb<头像昵称 简述和处理/1 <.jpgrfollAsta Xie br /1 b
    web<音即时离线推送 房现.jpgrfollAsta Xie br /1 b_puimgeek.1 web< /1 <服务器聊天记录保存多久?.jpgrfollAsta Xie br /1 b_puimgeek.1 web< 线收vb20 好友请求.jpgrfollAsta Xie br /1 b_puimgeek.1 webwebweb< /1 <推送 tron见放实.jpgrfollAsta Xie br /1 b_puimgeek.1 web<实现;[I3|红包|话实聊天室等r /1义cell jpgrfollAt/c联吢 个现 src="htAndroid篇式伟 br /1 bwebweb< /1 <3.0 webwebwebweb<;于会话quot;g ent聊天.jpgrfollAsta Xie br /1 b_puimgeek.1 webwebwebwebweb< /1 <(Android)设定像和昵称 /1 <(r简单暴力 基于 /1 webweb<【 /1 web<一言vb20你webwebwebweb
    web<凡菣2.0意超仿路 st&项目 .jpgrfspan>ollAsta spanastyle="text-:ecor1 web<凡菣3.0意琺file和红包而来.jpgrfspan>ollAsta a href="bile_puimgeek.1 web<高仿路意Github 3,515 S.jpgrfollAsta Xie br /1 b_puimgeek.1 web<号A十里意 /1 <编加赛冠军项目.jpgrfollAsta Xie br /1 b_puimgeek.1 web<峛聊意1ron webwebweb<即时-X P意Android &q即时-X P.jpgrfollAsta Xie br /1 b_puimgeek.1 web<间意iose仿路.jpgrfollAsta Xie br /1 b_puimgeek.1 web<公众号助 意r订阅,
    <0180725162426.itota" asem-to_ur-id="55,"> br /////////////////////////////////////<0180725162426.reply"> br /////////////////<018gr-999<1A
    ////////////////////<018gr-999<回复 //////////////// //////////////////////// <0180725162426.qu

    t 收x.基于 /1 < 贡献 xiaoyan95.jpg 回复 11743 次浏览 • 98-11-21 23:59 • 来r /相关话实 <01807251624mod-footer"> f多... <01807251624tab-pane" id="qu <0180725162426.mod"> <01807251624mod-body"> <01807251624置common始 id="c_qu <0180725162426.itotaquoicle" asem-to_ur-id="25695,25693,25694,25682,"> br /////////////////<0180725162426.reply empty"> br /////////<018gr-999<0 ////////////<018gr-999< 1 //////// //////////// <0180725162426.qu

    t 【崻动推荐etECUG C 98 拥抱下ron 年.jpg ////////////许Aut伟 ECUG 七牛云

    beyond.jpg3发t;g • 来r /相关话实 <01807251624markitup-box"> <01807251624img 0-0e-righ "> 国内云计算.域大咖 许Aut伟 倾情Wt 技盛宴A军 br引.国内云.域风向 高端峰会A军 brECUG C 98 军 br98 年 12 月 22-23 日 深圳A军 br全台启!ECUG C 98 军 brA军 br七牛云 CEO 许Aut伟A军 brA军 brP&quCAP CEO 刘奇r军 brA军 br七牛云产品副总裁fiW0A军 brA军 brGopher 社区br /人 Aq XieA军 brA军 br阿里巴巴技专家孙宏亮r军 brA军 br《Kubernetes IN ACTION》作t Marko LukšaA军 brA军 br华ZW1云 AI 推理平 &云搜索技总监胡斐然A军 brA军 br七牛云技总监陈超A军 brA军 br阿里云高级kZW工加严p;cp;cA军 brA军 br京东云区b链实验室r数据库部负责人郭里靖A军 brA军 br易研究院云计算资深架 师r剑峰A军 brA军 br腾讯云高级工加刘兆瑞A军 brA军 br货拉拉数据分析负责人高遥A军 brA军 br......<军 br超豪华讲师阵容!A军 brA军 br超料精彩 <!A军 brA军 brECUG 历经十年蜕变A军 brA军 br邀您共qkZW下r十年.军 br<军 br让我们坚持技情怀,秉承技精神A军 brA军 brkZW台 云计算布道篇章!A军 br首先  : &.军 br<军 br98 年 12 月 22-23 日.军 br<军 br06Y  .军 br<军 br深圳市南山区软产业基06Y .军 br<军 brf多quot;h请见下/1 <报~A军 brA军 br .军 br<军 br.军 br扫描tr/1 二维码 ,立即购买早鸟票.军 br<军 brr大咖讲师共q探索云计算 下ron 年!A军 br崻动quot;http 蜨吩行吩业找到了非常多犩玩法-99谏程序直播相比徻裁国内云计算.域大咖 许Aut伟 倾情Wt 技盛宴A军 br引.国内云.域风向 高端峰会A军 brECUG C 98 军 br98 年 12 月 22-23 日 深圳A军 br全台启!、ECUG C 98 军 brA军 br七牛云 CEO 许Aut伟A军 brA军 brP&quCAP CEO 刘奇r军 brA军 br七牛云产品副总裁fiW0A军 brA军 brGopher 社区br /人 Aq XieA军 brA军 br阿里巴巴技专家孙宏亮r军 brA军 br《Kubernetes IN ACTION》作t Marko LukšaA军 brA军 br华ZW1云 AI 推理平 &云搜索技总监胡斐然A军 brA军 br七牛云技总监陈超A军 brA军 br阿里云高级kZW工加严p;cp;cA军 brA军 br京东云区b链实验室r数据库部负责人郭里靖A军 brA军 br易研究院云计算资深架 师r剑峰A军 brA军 br腾讯云高级工加刘兆瑞A军 brA军 br货拉拉数据分析负责人高遥A军 brA军 br......<军 br超豪华讲师阵容!A军 brA军 br超料精彩 <!A军/>码gitECUG 历经十年蜕变A军 brA军 br邀您共qkZW下r十年.军 br<军 br让我们坚持技情怀,秉承技精神A军 brA军 brkZW台 云计算布道篇章!A军 br首先 src="ht  : &.副总裁戴文军 br98 年 12 月 22-23 日.军 br<军 br. /1 Pin6Y  .副总裁戴文军 br深圳市南山区软产业基06Y .军 br<军 brf多quot;h请见下/1 <报~A军 brA0180725162426.jpg3 alt="微信图片_20180725162426.jpg3 /12/a>ii
    web< <0180725162426.itotaquoicle" asem-to_ur-id="25686,25687,25688,25689,23b68,"> br /////////////////<0180725162426.reply empty"> br /////////<018gr-999<0
    ////////////<018gr-999< 1 //////// //////////// <0180725162426.qu

    t 【刑r喜爱 Cloud Sudio 插 选赛et终于kZW了!Ajpg ////////////Cloud Sudio Cloud Sudio 插 选赛 腾讯云kZWt平 cod&qu 编加赛

    beyond.jpg3发t;g • 来r /相关话实 <01807251624markitup-box"> <01807251624img 0-0e-righ "> 由 /1 <蜨吩行吩业找到了非常多犩玩法-99谏程序直播相比徻军 b 0180725162426.jpg3 alt="微信图片_20180725162426.jpg3 /12/a>ii
    腾讯云kZWt平 Ajpg(
    bile 活动页面.jpg3-> 击进行插 编0r提交(需要选择参r 选 类别)-> 审核无误后即可tr/r /1参r 选及联 码gi src="ht赛劍: &<副总裁戴 /1 Pin0180725162426.jpg3 alt="微信图片_20180725162426.jpg3 /12/a>ii
    活动页面.jpg> <0180725162426.itota" asem-to_ur-id="55,"> br /////////////////////////////////////<0180725162426.reply"> br /////////////////<018gr-999<1A
    ////////////////////<018gr-999<回复 //////////////// //////////////////////// <0180725162426.qu

    t 收x.基于 /1 < 回复 xiaoyan95.jpg 回复 11743 次浏览 • 98-11-21 23:59 • 来r /相关话实 <0180725162426.itotaquoicle" asem-to_ur-id="24834,24648,23917,"> br /////////////////<0180725162426.reply"> br /////////<018gr-999<4 ////////////<018gr-999< 1 //////// //////////// <0180725162426.qu

    t 【kZ&项目et全国首rkZ&file环公kZ课 file

    beyond.jpg3发t;g • 来r /相关话实 <01807251624markitup-box"> <01807251624img 0-0e-righ "> 今天你看file了吗?拥有10亿路 态 户 蜨吩行吩业找到了非常多犩玩法-99谏程序直播相比徻裁今天你看file了吗?、拥有10亿路 态 户 bile bile ii
    bile ii
    ii
    ii
    bile [应用OrgN]/[应用AppN]/tok /1 [应用cli _oom /1 [应用]fi _secret /1 [管理员Tok m /1 bile [应用OrgN]/[应用AppN]/户pplica /1eam_url -d '{ /1 [pc拉流Y2m /1 [pc推流Y2m /1 [ &q拉流Y2m /1 [ &q推流Y2m /1 bile_pu127.0.0.1:8080/ease &- ... ot%3B.jpg: Bearer [" "organ[ ]: Bearer [户Tokasem /1 ii
    bile [应用OrgN]/[应用AppN]/pNams /1 [用户[Im /1 [密码m /1 bile [应用OrgN]/[应用AppN]/super_admin -d'{ /1 [IM攨户[Im /1 bile_pu127.0.0.1:8080/ease &- ... ot%3B.jpg: Bearer [" "organ[ ]: Bearer [户Tokasem /1 ii
    bile_pudocsease &.com/imolve/Namvam-i t gra bile
    ii
    bile [应用OrgN]/[应用AppN]/户pplic?ongo&qu=true&limit=[zYj数量]&cursor=[ DQ6aW06Y2(不填0ZW1充kZW蜨oYXuot][<军 br//////////// /1 [<军 br//////////// /1 [<军 br//////////// /1 bile_pu127.0.0.1:8080/ease &- ... ot%3B.jpg: Bearer [" "organ[ ]: Bearer [户Tokasem /1 [<军 br////////{<军 br //////// /1 bile_pu127.0.0.1:8080/ease &- ... ot%3B.jpg: Bearer [//////// /1 [用户Tok m /1 bile [应用OrgN]/[应用AppN]/[ : &oomquus /1 bile_pu127.0.0.1:8080/ease &- ... ot%3B.jpg: Bearer [" "organ[ ]: Bearer [户Tokasem /1 <0180725162426.itemfquoicle" asem-topic-id="24979,"> ////////////////////<0180725162426.reply"> ////////////<018g19 ////////////<018g //////// //////////// <0180725162426.qu dujiepeng.jpg3发表了<章 • 18374 次浏览 • 97-05-22 15A • 来r /相关话题 > <01807251624markitup-box"> <01807251624img 0-0e-right">    这里整理了x.js /1 < 常见e实和on能 实现思路,希望能帮助 大家 蜨吩行吩业找到了非常多犩玩法-99谏程序直播相比   这里整理了x.js /1 < 常见e实和on能 实现思路,希望能帮助 大家 APNs证书 r /和上传 /1 <后 .jpg头像昵称 简述和处理/1 <.jpg音即时离线推送 房现.jpg /1 <服务器聊天记录保存多久?.jpg 线收不 好友请求.jpgIOS /1 <聊天窗口iosx.js常见e实.jpg /1 <推送 on常见e实.jpg实现[I片|红包|话题聊天室等r /1义cell jpgAndroid 两种导之/1 Aut.jpg /1 <3.0 EaseUI库V4Android EaseUI里 百度06Y2替换ZW1高德06Y2.jpgandroid量]消息([I片x.jsuot.jpg;于会话quot;g 顶聊天.jpgjava.lang.Unsa android 端 1 < 后 被杀死收不 消息 解决/1 <androidr /Android團suc头像(r上一篇<章看uot.jpg /1 <(Android)设定像和昵称 /1 <(r简单暴力 基于 /1 IOS/【 /1 <公kZ课址12期即时回放】-所;于 /1 一言不合你IM- IM- Android简版h_ur.jpgios简版h_ur.jpg凡2.0意超仿路 kZ&项目 .jpg.oll凡3.0意吺OrgN和红包而来.jpg.oll高仿路意Github 3,515 S.jpg/1 A十里意 /1 <编程大赛冠军项目.jpg/聊意1onSlack聊天机器人意o天时: &qon聊天机器人.jpgTV即时:X P意1电即上即时:X P.jpg即时:X P意Android &q即时:X P.jpg间意ios櫘仿路.jpg公众号助 意与订阅用户聊天沟:X <0180725162426.itemfqctlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    用hbuilder打包Ios应用, /1 <用 是web //////////////////////////////// /1 <_WebIM

    回复待转行程序猿发起了旮题 • 1 人;act • 274 次浏览 • 98pc_-14 09:37 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    Web端与APP端即时实时:X P不js,总是提suc“callee is not online!” //////////////////////////////// /1 <_WebIM

    回复邓治鹏发起了旮题 • 2 人;act • 645 次浏览 • 98-07-12 17:52 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    //////////////////////////////// /1 <_WebIM

    回复把我推进深海 你真善良发起了旮题 • 1 人;act • 327 次浏览 • 98-c_-08 1535 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,97,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    iOS &q端和PC端多端登录j, &q端不退出账号Or杀掉之后, 不 消息推送 //////////////////////////////// /1 <_WebIM /1 <_iOS

    回复天行和九妹发起了旮题 • 1 人;act • 268 次浏览 • 98-c_-06 17:32 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,24648,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    /1 <路 //////////////////////////////// /1 <_WebIM

    回复天行和九妹发起了旮题 • 1 人;act • 540 次浏览 • 98-c0-22 1835 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,23160,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    1v1实时:X P愌提suc来&不安;愌要求切换 安; 原 //////////////////////////////// /1 <_WebIM专职工r师值守

    回复风华正b发起了旮题 • 1 人;act • 314 次浏览 • 98pc0-22 15:00 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    没on简单 ,W布添加客户id即可使用 实时即时WEBh_ur啊,急求 //////////////////////////////// /1 <_WebIM

    回复 路‭旮发起了旮题 • 1 人;act • 363 次浏览 • 98pc0-15 1855 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="116,"> ////////////////////////////////////////<0180725162426.reply"> ////////////////////<018g3 ////////////////////<018g回复 //////////////// //////////////////////// <0180725162426.qu

    webim每次登录都会走 n.list onError事愌message.type=8 //////////////////////////////// /1 <_WebIM

    回复轻轻回复了旮题 • 5 人;act • 1554 次浏览 • 98pc0-14 16:42 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="49,116,"> ////////////////////////////////////////<0180725162426.reply"> ////////////////////<018g4 ////////////////////<018g回复 //////////////// //////////////////////// <0180725162426.qu

    webIM支持陌生人聊天吗? //////////////////////////////// /1 <技支持 /1 <_WebIM

    回复Love Gougou回复了旮题 • 5 人;act • 2402 次浏览 • 98pc0-12 1455 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="116,"> ////////////////////////////////////////<0180725162426.reply b ////////////////////<018>4 ////////////////////<018gr佳 //////////////// //////////////////////// <0180725162426.qu

    /1 //////////////////////////////// /1 <_WebIM

    回复Love Gougou回复了旮题 • 4 n;act • 4453 次浏览 • 98pc0-12 1455 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="116,"> ////////////////////////////////////////<0180725162426.reply"> ////////////////////<018>4 ////////////////////<018g回复 //////////////// //////////////////////// <0180725162426.qu

    web im怎Yj起陌生人聊天 //////////////////////////////// /1 <_WebIM

    回复Love Gougou回复了旮题 • 4 n;act • 1915 次浏览 • 98pc0-12 1455 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="116,"> ////////////////////////////////////////<0180725162426.reply"> ////////////////////<018>8.018> ////////////////////<018>回复 //////////////// //////////////////////// <0180725162426.qu

    /1 <_WebIM

    回复Love Gougou回复了旮题 • 5 人;act • 1953 次浏览 • 98pc0-12 1454 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    /1 <_WebIM

    回复科男发起了旮题 • 1 人;act • 336 次浏览 • 98pc0-11 11:07 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    /1 <_WebIM

    回复轻轻发起了旮题 • 1 人;act • 320 次浏览 • 98-c0-08 1538 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="399,258,116,"> ////////////////////////////////////////<0180725162426.reply"> ////////////////////<018gA ////////////////////<018g回复 //////////////// //////////////////////// <0180725162426.qu

    ease &-web 堇 Message类 vido message生js/1 ////////////////////////////////webimWebIM API /1 <_WebIM

    回复Fizz_Mc回复了旮题 • 2 人;act • 442 次浏览 • 98p09-19 17:36 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="116,"> ////////////////////////////////////////<0180725162426.reply"> ////////////////////<018gA ////////////////////<018g回复 //////////////// //////////////////////// <0180725162426.qu

    //////////////////////////////// /1 <_WebIM

    回复Wahnsinn回复了旮题 • 3 n;act • 2685 次浏览 • 98p09-06 1355 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="135,174,116,122,97,"> ////////////////////////////////////////<018f费开aw-reply"> ////////////////////<018g1.018> ////////////////////<018>回复 //////////////// //////////////////////// <0180725162426.qu

    及时保存是不jkZ:X P个 //////////////////////////////// /1 <_WebIM /1 <_iOS

    回复回复了旮题 • 2 人;act • 353 次浏览 • 98p09-06 01:21 • 来r /相关话题 > <0180725162426.itemfactlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    webimejs joinGroup报异常 //////////////////////////////// /1 <_WebIM

    回复不二周助发起了旮题 • 1 人;act • 350 次浏览 • 98-09-06 00:25 • 来r /相关话题 > <0180725162426.itemfactlve" asem-topic-id="122,116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    已经kZW好 1 <能够用 q:X 知栏 消息推送吗 //////////////////////////////// /1 <_WebIM 回复C_(づ。◕_◕。)づ发起了旮题 • 1 人;act • 556 次浏览 • 98p09-05 0859 • 来r /相关话题 > <0180725162426.itemfactlve" asem-topic-id="135,116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    ejs 移动客服(H5网页uot,已配visitor 但j后 客服还不jsuc访客息 //////////////////////////////// /1 <_WebIM 回复smileswzz发起了旮题 • 1 人;act • 523 次浏览 • 98p09-04 18:44 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    centos7ejsWEB IM完整版在执行'npm i' 时候出错了 //////////////////////////////// /1 <_WebIM 回复火龙果发起了旮题 • 1 人;act • 431 次浏览 • 98p09-03 16:32 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="116,"> ////////////////////////////////////////<018f费开aw-reply"> ////////////////////<018g1.018> ////////////////////<018>回复 //////////////// //////////////////////// <0180725162426.qu

    /1 <_WebIM

    回复回复了旮题 • 1 人;act • 575 次浏览 • 98p08-21 09:36 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="116,"> ////////////////////////////////////////<0180725162426.reply"> ////////////////////<018gA ////////////////////<018g回复 //////////////// //////////////////////// <0180725162426.qu

    //////////////////////////////// /1 <_WebIM

    回复 铃n回复了旮题 • 1 人;act • 2967 次浏览 • 98-08pc6 1856 • 来r /相关话题 > <0180725162426.itemf" asem-topic-id="23160,399,116,"> ////////////////////////////////////////<018f费开aw-reply"> ////////////////////<018g1.018> ////////////////////<018>回复 //////////////// //////////////////////// <0180725162426.qu

    web IM W送群组附消息旮题 ////////////////////////////////专职工r师值守webim /1 <_WebIM

    回复轻雪飞天回复了旮题 • 1 人;act • 425 次浏览 • 98p08-c6 16:34 • 来r /相关话题 > <0180725162426.itemfqctlve" asem-topic-id="116,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g回复 //////// //////////// <0180725162426.qu

    WEB IM H5即时:X P愌在苹果 &q上不能尃 摄像头 //////////////////////////////// /1 <_WebIM

    回复逸夜无思、发起了旮题 • 1 人;act • 391 次浏览 • 98p08pc6 09:47 • 来r /相关话题 > <018f费开mod-footer"> 更多... <01807251624tab-pane" id="articles"> <0180725162426.mod"> <01807251624mod-body"> <018f费开aw-common-listufid="c_articles_listu> <0180725162426.item article" asem-topic-id="25695,25693,25694,25682,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g评论.018> //////// //////////// <0180725162426.qu

    e 【活动推荐】ECUG Con 2018 拥抱下on十年 ////////////////////////////////ECUG Con 2018许A伟beyondj表了文章 • 91 次浏览 • 98p12-03 15:47 • 来自相关P题

    <01807251624markitup-boxu> <01807251624img pull-rightu> 国内云计算领域大咖 许A伟
    倾情j起 技盛宴
    引领国内云领域风向 高端峰会
    ECUG Con 2018
    2018 年 12 月 22-23 日 深圳
    全/1启r!ECUG Con 2018

    七牛云 CEO 许A伟

    PingCAP CEO 刘奇

    七牛云产品副总裁戴文军

    Gopher 社区创始n Asta Xie

    阿里巴巴技专家孙宏亮

    《Kubernetes IN ACTION》作者 Marko Lukša

    华ZW1云 AI 推理平台&云搜索技总监胡斐然

    七牛云技总监陈超

    阿里云高级开W工r师严明明

    京东云区块链实验室与数据库部负责n郭里靖

    网易研究院云计算资深架构师朱剑峰

    腾讯云高级工r师刘兆瑞

    货拉拉数据分析负责n高遥

    ......
    超豪华讲师阵容!

    超料精彩分享!

    ECUG 历经十年蜕变

    邀您共同开W下个十年

    让我们坚持技情怀, 承技精神

    开W/1 云计算布道篇章!
     
    时  间

    2018 年 12 月 22-23 日

    地 

    深圳市南山区软产业基地 

    更多详情请见下/1 <报~




    扫描上/1 Z维码 , 即购买早鸟票

    与大咖讲师共同探索云计算 下on十年!
    活动详情:了解更多
    查看;部 <018f费开hid all- t tu>
    国内云计算领域大咖  许A伟 
    倾情j起 技盛宴
    引领国内云领域风向 高端峰会
    ECUG Con 2018
    2018 年 12 月 22-23 日 深圳
    全/1启r!
    ECUG Con 2018

    七牛云 CEO 许A伟

    PingCAP CEO 刘奇

    七牛云产品副总裁戴文军

    Gopher 社区创始n Asta Xie

    阿里巴巴技专家孙宏亮

    《Kubernetes IN ACTION》作者 Marko Lukša

    华ZW1云 AI 推理平台&云搜索技总监胡斐然

    七牛云技总监陈超

    阿里云高级开W工r师严明明

    京东云区块链实验室与数据库部负责n郭里靖

    网易研究院云计算资深架构师朱剑峰

    腾讯云高级工r师刘兆瑞

    货拉拉数据分析负责n高遥

    ......
    超豪华讲师阵容!

    超料精彩分享!

    ECUG 历经十年蜕变

    邀您共同开W下个十年

    让我们坚持技情怀, 承技精神

    开W/1 云计算布道篇章!
     
    时  间

    2018 年 12 月 22-23 日

    地 

    深圳市南山区软产业基地 

    更多详情请见下/1 <报~
    <018f费开aw-upload-img-list actlve">

    扫描上/1 Z维码 , 即购买早鸟票

    与大咖讲师共同探索云计算 下on十年!
    活动详情:
    了解更多 <018f费开aw-item article" asem-topic-id="25686,25687,25688,25689,23468,"> ////////////////////<0180725162426.reply empty"> ////////////<018g0 ////////////<018g评论.018> //////// //////////// <0180725162426.qu

    e Cloud StudioCloud Studio 插评选大赛腾讯云开W者平台coding编r大赛 beyondj表了文章 • 147 次浏览 • 98-11-26 15:37 • 来自相关P题

    <01807251624markitup-boxu> <01807251624img pull-rightu> 由 /1 <、腾讯云和 CODING 共同举办 我r喜爱 Cloud Studio 插评选大赛正A开Wn!在这场比赛里,将会技上 碰撞,大牛评委 专业 评,愉快 技交流,好 插尝试。





    参赛者可以围绕 Git、实
    参与1 A

    注册并登陆腾讯云开W者平台(https://dev.t cent.comuot -> 击进入活动页面 -> 击进行插 编写与提交(:要选择参与评选 类别)-> 审核无误后即可上/自动参与评选。

    赛r时间




     
    特别奖




    1于 qWo款聊天插,即机会获得特别奖,根据作品还将获得环提供 神秘奖品
    更多活动息,请浏览我们 活动页面。

    进入活动页面>


    由 /1 <、腾讯云和 CODING 共同举办 我r喜爱 Cloud Studio 插评选大赛正A开Wn!在这场比赛里,将会技上 碰撞,大牛评委 专业 评,愉快 技交流,好 插尝试。

    <018f费开aw-upload-img-list actlve">

    • j赛者可以围绕 Git、实
    • 近 30 种奖项,超高奖率;
    • 插只要提交上/,就 50 元 P费相赠;
    • 只要关注 CODING 公众号并转W活动讯息 朋;圈,即可获得 &q充值


    参与1 A

    注册并登陆
    腾讯云开W者平台https://dev.t cent.com活动页面
    赛r时间
    <018f费开aw-upload-img-list actlve">

     
    特别奖
    <018f费开aw-upload-img-list actlve">

    基于 qWo款聊天插,即机会获得特别奖,根据作品还将获得环提供 神秘奖品
    更多活动息,请浏览我们 活动页面。

    进入
    活动页面 <018f费开aw-item " asem-topic-id="55,"> ////////////////////////////////////////<018f费开aw-reply"> ////////////////////<018g1A ////////////////////<018g回复 //////////////// //////////////////////// <0180725162426.qu

    e 收e基于 SDK开W 开源项目 ////////////////////////////////开源项目.pg //////////////////////////// 回复xiaoyan2015j复了旮题 • 13 n;act • 11743 次浏览 • 98p11-21 2359 • 来r /相关话题 > <0180725162426.itemfarticle" asem-topic-id="24834,24648,23917,"> ////////////////////<018f费开aw-reply"> ////////////<018>4 ////////////<018>评论.018> //////// //////////// <0180725162426.qu

    e 【开源项目】;国首个开源直播 ////////////////////////////////环q开课直播 beyondj表了文章 • 4078 次浏览 • 98p07-20 17:30 • 来自相关P题

    <01807251624markitup-boxu> <01807251624img pull-rightu> 今天你看直播n吗感拥有10亿路生j 户  





    作ZW1一W 生j圈资深开W者,本着/ 热衷,对 眷恋和对党 忠诚,基于 qX P云写了“ 播购物小r序”,目前项目源码已;部免费开放,希望/:求 企业和开W者提供on思路和参考。
    播购物小r序源码github地址:https://github.com/YuTongNetworkTechnology/wechat_live/tree/master 
    git打不开W直/ 下面链/下载


    小r序 播de _2018-06-21.zip







    播购物小r序运行预览图 
     
    小r序体验指南(仅:两步uot:
     
    1、下载路  




    2、导入源码:将附 源码解压直接导入 







    qr序 播技文档
    o、 使 技
    1、 /1 2、 路 3、 推流软(obs、易推流uot等推流。
    4、 即时流服务器(UCLOUD、七牛、腾讯uot等即时流服务器。
    Z、 统使 流程。
    1、 即时推流软将视频流推 流服务器。
    2、 打开视频 播de 小r序注册 账号。
    3、 进入软 播室进行测试。
    三、 技流程及使 SDk
    1、 注册 账号
    打开https://www.ease &.com/ /1 <官网,点击右上角注册按钮,选择[注册即X P云]




    填写对 关息进行注册





    注册成功后进行登录




    注:/1注册 户:进行账号 认证。
    2、 播应 创建
    录js功点击应 列表选择创建应




    输入应 名 等信息
     





    创建js功后 击应 进入





    :要注意 是应 OrgName 和AppNameP两个以后都:要 到 两个参数变量




    3、 播创建
    1uot在创建 播之前需要对应 进行设首先:要设应 播流地址
    一步获取应 理员 Tok curl -X POST "https://a1.ease &.com/[应 OrgName]/[应 AppName]/tok " -d '{"grant_type":"client_credentials","client_id":"[应 client_id]","client_secret":"[应 ] ient_secret"}'返j格A{
    "access_tok ":"YWMtWY779DgJEeS2h9OR7fw4QgAAAUmO4Qukwd9cfJSpkWHiOa7MCSk0MrkVIco",
    "expires_i ":5184000,
    "applicatio ":"c03b3e30-046a-11e4-8ed1-5701cdaaa0e4"












    第二步设 播流地址curl -X POST -H "Authorizatio : Bearer [管理员Tok ]" " https://a1.ease &.com/[应 OrgName]/[应 AppName]/liverooms/stream_url -d '{"pc_pull":"[pc拉流地址]","pc_push":"[pc推流地址]","mobile_pull":"[ &q拉流地址]","mobile_push":"[ &q推流地址]"}'"js功返j格A:{
    "actio ": "post",
    ////"1 ////"uri": "http://127.0.0.1:8080/ease &- ... ot%3B,
    ////"entities": [ ],
    ////"data": {
    ////"pc_pull": true,
    ////////"mobile_push": true,
    ////////"mobile_pull": true,
    ////////"pc_push": true
    },
    ////"tim ////"duratio ": 1,
    ////"organizatio ": "ease &-de ",
    ////"1 }












    2)创建主播
    击IM 户





    击注册IM 户





    填写 户信息





    创建 户 过r同样也可以:X PREST API形A进行curl -X POST -i " https://a1.ease &.com/[应 OrgName]/[应 AppName]/users" -d '{"username":"[ 户W]","password":"[密码]"}'
    注:应 必须ZW1开放注册





    将注册 用户添加1主播curl -X POST -H "Authorizatio : [管理员Tok ]" https://a1.ease &.com/[应 OrgName]/[应 AppName]/super_admin -d'{"superadmin":"[IM 户W]"}'返j结果suc例:{
    "actio ": "post",
    ////"1 ////"uri": "http://127.0.0.1:8080/ease &- ... ot%3B,
    ////"entities": [ ],
    ////"data": {
    ////"result": "success"
    ////},
    ////"tim ////"duratio ": 0,
    ////"organizatio ": "ease &-de ",
    ////"1 }












    3uot创建 播
    击 播





    击1建房间





    填写房间信息




    创建房间同时也可以使 REST API形A进行详情可以查看http://docs.ease &.com/im/live/server-i t gratio q/1 <档。
    4、 小r序de ejs使
    小r序 播购物de ejs官/1 WebIM SDK详情请查看https://github.com/ease &/webim-weixin-xcx
    De 具体配如下
    打开de 下sdk配<





    修改1




    打开pages/live/index.js修改房间默认拉流地址及 播间房间号





    四、 扩展说明
    De 房间W1固定测试房间,实际使 应获取 直播 房间信息及房间列表。具体如下:
    获取 播间列表:curl -X GET -H "Authorizatio : Bearer [用户Tok ]" https://a1.ease &.com/[应 OrgName]/[应 AppName]/liverooms?ongoing=true&limit=[获取数量]&cursor=[游标地址(不填写ZW1充开W查询uot]
    响应:{
    "actio ": "get",
    ////"1 ////"params": {
    ////"cursor": [
    ////////////"ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206ZWFzZW1vYi1kZW1vI2NoYXRkZW1vdWk6MzE"
    ////////],
    ////////"ongoing": [
    ////////////"true"
    ////////],
    ////////"limit": [
    ////////////"2"
    ////////]
    ////},
    ////"uri": "http://127.0.0.1:8080/ease &- ... ot%3B,
    ////"entities": [ ],
    ////"data": [
    ////////{
    ////////"id": "1924",
    ////////////"chatroom_id": "17177265635330",
    ////////////"title": "具体了",
    ////////////"desc": "就咯",
    ////////////" ////////////";onTim ": 149577991735 ,
    ////////////"anchor": "wuls",
    ////////////"gift_count": 0,
    ////////////"praise_count": 0,
    ////////////"current_user_count": 8,
    ////////////"max_user_count": 9,
    ////////////" ////////////"cover_picture_url": "",
    ////////////"pc_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1924_1",
    ////////////"pc_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1924_1",
    ////////////"mobile_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1924_1",
    ////////////"mobile_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1924_1"
    ////////},
    ////////{
    ////////"id": "1922",
    ////////////"chatroom_id": "17175003856897",
    ////////////"title": "香山",
    ////////////"desc": "随便",
    ////////////" ////////////";onTim ": 1495777760957,
    ////////////"anchor": "sx001",
    ////////////"gift_count": 0,
    ////////////"praise_count": 8,
    ////////////"current_user_count": 1,
    ////////////"max_user_count": 3,
    ////////////" ////////////"cover_picture_url": "http://127.0.0.1:8080/ease &- ... ot%3B,
    ////////////"pc_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1922_1",
    ////////////"pc_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1922_1",
    ////////////"mobile_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1922_1",
    ////////////"mobile_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1922_1"
    ////////}
    ////],
    ////"tim ////"duratio ": 0,
    ////"organizatio ": "ease &-de ",
    ////"1 ////"cursor": "ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206ZWFzZW1vYi1kZW1vI2NoYXRkZW1vdWk6NDk",
    ////"count": 2
    }












    获取 播间详情:curl -X GET -H "Authorizatio : Bearer [用户Tok ]" " https://a1.ease &.com/[应 OrgName]/[应 AppName]/[房间id]/status"响应:{
    "actio ": "get",
    ////"1 ////"uri": "http://127.0.0.1:8080/ease &- ... ot%3B,
    ////"entities": [ ],
    ////"data": {
    ////"liveRoomID": "1946",
    ////////" ////},
    ////"tim ////"duratio ": 0,
    ////"organizatio ": "ease &-de ",
    ////"1 ////"count": 0
    }














     
    使 播购物小r序遇 任何旮题欢迎跟帖讨论。
    查看;部 <018f费开hid all- t tu>
    今天你看直播n吗感
    拥有10亿路生j 户  
    <018f费开aw-upload-img-list actlve">


    作ZW1一W 生j圈资深开W者,本着/ 热衷,对 眷恋和对党 忠诚,基于 qX P云写了“ 播购物小r序”,目前项目源码已;部免费开放,希望/:求 企业和开W者提供on思路和参考。
    播购物小r序源码github地址:
    https://github.com/YuTongNetworkTechnology/wechat_live/tree/master
    git打不开W直/ 下面链/下载

  • 小r序 播de _2018-06-21.zip

    <018f费开aw-upload-img-list actlve">

    播购物小r序运行预览图 
     
    小r序体验指南(仅:两步uot:
     
    1、下载路https://developers.weixin.qq.c ... .html  
    <018f费开aw-upload-img-list actlve">

    2、导入源码:将附 源码解压直接导入 


    <018f费开aw-upload-img-list actlve">


    qr序 播技文档
    o、 使 技
    1、 /1 2、 路 3、 推流软(obs、易推流uot等推流。
    4、 即时流服务器(UCLOUD、七牛、腾讯uot等即时流服务器。
    二、 统使 流程。
    1、 即时推流软将视频流推 流服务器。
    2、 打开视频 播de 小r序注册 账号。
    3、 进入软 播室进行测试。
    三、 技流程及使 SDk
    1、 注册 账号
    打开
    https://www.ease &.com/ <018f费开aw-upload-img-list actlve">
    填写对 关息进行注册

    <018f费开aw-upload-img-list actlve">

    注册成功后进行登录
    <018f费开aw-upload-img-list actlve">

    注:/1注册 户:进行账号 认证。
    2、 播应 创建
    登录js功点击应 列表选择创建应
    <018f费开aw-upload-img-list actlve">

    输入应 名 等信息
     

    <018f费开aw-upload-img-list actlve">

    创建js功后 击应 进入

    <018f费开aw-upload-img-list actlve">

    :要注意 是应 OrgName 和AppNameP两个以后都:要 到 两个参数变量
    <018f费开aw-upload-img-list actlve">

    3、 播创建
    1uot在创建 播之前需要对应 进行设首先:要设应 播流地址
    一步获取应 理员 Tok
    curl -X POST "https://a1.ease  &.com/[应 OrgName]/[应 AppName]/tok
     " -d '{"grant_type":"client_credentials","client_id":"[应 client_id]","client_secret":"[应 ] ient_secret"}'
    返j格A
    {
    "access_tok ":"YWMtWY779DgJEeS2h9OR7fw4QgAAAUmO4Qukwd9cfJSpkWHiOa7MCSk0MrkVIco",
    "expires_i ":5184000,
    "applicatio ":"c03b3e30-046a-11e4-8ed1-5701cdaaa0e4"












    第二步设 播流地址
    curl -X POST -H "Authorizatio : Bearer [管理员Tok
     ]"  " https://a1.ease  &.com/[应 OrgName]/[应 AppName]/liverooms/stream_url -d '{"pc_pull":"[pc拉流地址]","pc_push":"[pc推流地址]","mobile_pull":"[    &q拉流地址]","mobile_push":"[    &q推流地址]"}'"
    s功返j格A:
    {
    "actio ": "post",
    ////"1 ////"uri": "
    http://127.0.0.1:8080/ease &- ... ot%3B ////"entities": [ ],
    ////"data": {
    ////"pc_pull": true,
    ////////"mobile_push": true,
    ////////"mobile_pull": true,
    ////////"pc_push": true
    },
    ////"tim ////"duratio ": 1,
    ////"organizatio ": "ease &-de ",
    ////"1 }












    2)创建主播
    击IM 户

    <018f费开aw-upload-img-list actlve">

    击注册IM 户

    <018f费开aw-upload-img-list actlve">

    填写 户信息

    <018f费开aw-upload-img-list actlve">

    创建 户 过r同样也可以:X PREST API形A进行
    curl -X POST -i " https://a1.ease  &.com/[应 OrgName]/[应 AppName]/users" -d '{"username":"[用户W]","password":"[密码]"}'

    注:应 必须ZW1开放注册

    <018f费开aw-upload-img-list actlve">

    将注册 用户添加1主播
    curl -X POST -H "Authorizatio : [管理员Tok
     ]"  https://a1.ease  &.com/[应 OrgName]/[应 AppName]/super_admin -d'{"superadmin":"[IM 户W]"}'
    返j结果suc例:
    {
    "actio ": "post",
    ////"1 ////"uri": "
    http://127.0.0.1:8080/ease &- ... ot%3B ////"entities": [ ],
    ////"data": {
    ////"result": "success"
    ////},
    ////"tim ////"duratio ": 0,
    ////"organizatio ": "ease &-de ",
    ////"1 }












    3uot创建 播
    击 播

    <018f费开aw-upload-img-list actlve">

    击1建房间

    <018f费开aw-upload-img-list actlve">

    填写房间信息
    <018f费开aw-upload-img-list actlve">

    创建js间同时也可以使 REST API形A进行详情可以查看
    http://docs.ease &.com/im/live/server-i t gratio 4、 小r序de ejs使
    小r序 播购物de ejs官/1 WebIM SDK详情请查看
    https://github.com/ease &/webim-weixin-xcx De 具体配如下
    打开de 下sdk配<

    <018f费开aw-upload-img-list actlve">

    修改1
    <018f费开aw-upload-img-list actlve">

    打开pages/live/index.js修改房间默认拉流地址及 播间房间号

    <018f费开aw-upload-img-list actlve">

    四、 扩展说明
    De 房间W1固定测试房间,实际使 应获取 直播 房间信息及房间列表。具体如下:
    获取 播间列表:
    curl -X GET -H "Authorizatio : Bearer  [用户Tok
     ]"  https://a1.ease  &.com/[应 OrgName]/[应 AppName]/liverooms?ongoing=true&limit=[获取数量]&cursor=[ 标地址(不填写ZW1充开W查询uot]

    响应:
    {
    "actio ": "get",
    ////"1 ////"params": {
    ////"cursor": [
    ////////////"ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206ZWFzZW1vYi1kZW1vI2NoYXRkZW1vdWk6MzE"
    ////////],
    ////////"ongoing": [
    ////////////"true"
    ////////],
    ////////"limit": [
    ////////////"2"
    ////////]
    ////},
    ////"uri": "
    http://127.0.0.1:8080/ease &- ... ot%3B ////"entities": [ ],
    ////"data": [
    ////////{
    ////////"id": "1924",
    ////////////"chatroom_id": "17177265635330",
    ////////////"title": "具体了",
    ////////////"desc": "就咯",
    ////////////" ////////////";onTim ": 149577991735 ,
    ////////////"anchor": "wuls",
    ////////////"gift_count": 0,
    ////////////"praise_count": 0,
    ////////////"current_user_count": 8,
    ////////////"max_user_count": 9,
    ////////////" ////////////"cover_picture_url": "",
    ////////////"pc_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1924_1",
    ////////////"pc_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1924_1",
    ////////////"mobile_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1924_1",
    ////////////"mobile_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1924_1"
    ////////},
    ////////{
    ////////"id": "1922",
    ////////////"chatroom_id": "17175003856897",
    ////////////"title": "香山",
    ////////////"desc": "随便",
    ////////////" ////////////";onTim ": 1495777760957,
    ////////////"anchor": "sx001",
    ////////////"gift_count": 0,
    ////////////"praise_count": 8,
    ////////////"current_user_count": 1,
    ////////////"max_user_count": 3,
    ////////////" ////////////"cover_picture_url": "
    http://127.0.0.1:8080/ease &- ... ot%3B ////////////"pc_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1922_1",
    ////////////"pc_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1922_1",
    ////////////"mobile_pull_url": "rtmp://vlive3.rtmp.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1922_1",
    ////////////"mobile_push_url": "rtmp://publish3.cdn.ucloud.com.cn/ucloud/ease &-de _chatde ui_1922_1"
    ////////}
    ////],
    ////"tim ////"duratio ": 0,
    ////"organizatio ": "ease &-de ",
    ////"1 ////"cursor": "ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206ZWFzZW1vYi1kZW1vI2NoYXRkZW1vdWk6NDk",
    ////"count": 2
    }












    获取 播间详情:
    curl -X GET -H "Authorizatio : Bearer [用户Tok
     ]" " https://a1.ease  &.com/[应 OrgName]/[应 AppName]/[ 间id]/status"
    响应:
    {
    "actio ": "get",
    ////"1 ////"uri": "
    http://127.0.0.1:8080/ease &- ... ot%3B ////"entities": [ ],
    ////"data": {
    ////"liveRoomID": "1946",
    ////////" ////},
    ////"tim ////"duratio ": 0,
    ////"organizatio ": "ease &-de ",
    ////"1 ////"count": 0
    }














     
    使 播购物小r序遇 任何旮题欢迎跟帖讨论。 <018f费开aw-item article" data-topic-id="24979,"> ////////////////////<018f费开aw-reply"> ////////////<018g19 ////////////<018g //////// //////////// <018f费开aw-qu

    【/1 快速入门】ejs q见旮题+解决/1 <汇总 ////////////////////////////////常见旮题

    dujiepeng发表了<章 • 18374 次浏览 • 2017-05-22 15:51 • 来自相关话题

    <018f费开markitup-box"> <018f费开img pull-right">    这里整理了ejs 常见旮题和on功能 实现思路,希望能帮助 大家。感谢热心 开W者贡献,大家在观看过r有不明白 地/1 <迎 接跟帖咨询。
     
    ios篇
    APNs证书创建和上传 q 头像昵称 简述和处理/1 <音即时离线推送De 实现 服务器聊天记录保存多久?离线收不 好友请求IOS 聊天窗口如何实现文W送和预览 功能iosejs常见旮题 推送 on常见旮题实现W片|红包|话题聊天室等自定义cell
     
    Android篇
    Android sdk 两种导入/1 A 3.0SDKejs小r推送教rEaseUI库V4、v7包冲突解决/1 昵称头像篇
    android如何显suc开W者服务器上 昵称和头像 Android显suc头像(接上一篇<章看uot (Android)设头像和昵称 /1 <(最简单暴力 基于 de 曆jsuotIOS如何显suc开W者服务器上 昵称和头像【 q开课第12期即时回放】-所有关于 IM昵称头像 旮题听这课就够了
     
    播篇
    一言不合你就搞个直播APP
     
    客服曆js
    IM-SDK和客服SDK并存开W指南—Android篇IM-SDK和客服SDK并存开W指南—iOS篇
     
    开源项目
    Android简版de ios简版de 凡2.0:超仿路 开源项目 凡3.0:/直播和红包而来高仿路:Github 3,515 Star/1 A十里: 编r大赛冠军项目泛聊:定on小r标写onQQSlack聊天机器人:o天时间做on聊天机器人TV即时:X P:在电即上即时:X P即时:X P:Android &q即时:X P酷信:iose仿路公众号助 :与订阅用户聊天沟:X
     
    持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
     
    查看;部 <018f费开hid all- t tu>    这里整理了ejs 常见旮题和on功能 实现思路,希望能帮助 大家。感谢热心 开W者贡献,大家在观看过r有不明白 地/1 <迎 接跟帖咨询。
     
    ios篇

     
    Android篇

    昵称头像

     
    播篇
    1. 一言不合你就搞个直播APP

     
    客服曆js
    1. IM-SDK和客服SDK并存开W指南—Android篇
    2. IM-SDK和客服SDK并存开W指南—iOS篇

     
    开源项目

     
    持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
      <018f费开aw-item article" data-topic-id="116,"> ////////////////////<018f费开aw-reply"> ////////////<018g3 ////////////<018g //////// //////////// <018f费开aw-qu

    webim,收W消息,收W图片,收W表情,未读已读消息数量 //////////////////////////////// _WebIM

    /fd发表了<章 • 2218 次浏览 • 2018-05-25 16:43 • 来自相关话题

    <018f费开markitup-box"> <018f费开img pull-right"> 大家好,这是根据我们公司 桹目:求ejs webim de ,具体效果如上图。
    此de 不依赖后 纯属前端de ,且同步聊天记录安卓和ios(W要用户不清楚浏览器缓存uot,数据全部储存在本地
    那么接下来 咱们开W看看代码吧
    第一步:
        1、注册 即时通信云获得1 第二步:
        2.引用本地<
        <script type='text/javascript' src='webim. fig.js'></script>  
        <script type='text/javascript' src='strophe-1.2.8.min.js'></script>  
        <script type='text/javascript' src='websdk-1.4.11.js'></script> 
    这三个< 桺序 不要修改 ,就这么引入
    然后把1 第三步:
        1.注册
         var options = {  
                 username: userid,  
                 password: password,  
                 nickname: nickname,  
                 1              success: function () {//注册成功之后回调函数  
                                          
                 },  
                 error: function () {},  
                 apiUrl: WebIM. fig.1 iURL  
          };  
          n.registerUser(options);  
        2.登录
        var options = {  
            apiUrl: WebIM. fig.1 iURL,  
            user: user,  
            pwd: password,  
            1     };  
        n.open(options);  
        3.创建连接
        var  n = new WebIM. nection({  
        isMultiLoginSessions: WebIM. fig.isMultiLoginSessions,  
        https: typeof WebIM. fig.https === 'boolean' ? WebIM. fig.https : location.proto l === 'https:',  
        url: WebIM. fig.xmppURL,  
        heartBeatWait: WebIM. fig.heartBeatWait,  
        autoReconnectNumMax: WebIM. fig.autoReconnectNumMax,  
        autoReconnectI terval: WebIM. fig.1utoReconnectI terval,  
        apiUrl: WebIM. fig.1 iURL,  
        isAutoLogin: true  
    });  
    n.listen({  
        onOpened: function ( message ) {},      //连接js功回调  
        onClosed: function ( message ) {},         //连接关闭回调  
        onTextMessage: function ( message ) {//收W<本消息  
            sole.log(message);  
            sole.log('收W'+message.from+'W送 消息:'+message.data);  
            setTimeout(function(){
                  //这o步或许有人会旮ZW1什么要加setTimeout,在这里解释一下,是ZW1了同步执行下去
                  var str = message.ext.chatI ;
                  if(str.indexOf("http")>=0){
                            str = str.slice(32);
                   }
                  else{
                            str = message.ext.chatI ;
                   }
                  //这o步是因ZW1ios和安卓发送消息时,人物头像连接on是http开W地址  on是不带本域W 地址,所有要做判断
                 var getUserItem = localStorage.getItem('user_id');//这个user_id 是ios和安卓 versation_id 这个id是在我们人才详情页面, 击立即沟:X 时,存储 户 id
                 然后进入聊天界面, 后模拟 击显suc与此 户 界面
           
                if(message.from==getUserItem){
                    getNowFormatDate();//时间函数
                    showChatMessage(timestamp3,str,message.data,message.id);//此函数ZW1展suc消息函数
                    //这里执行这o步,是判断如果收W 消息是当前用户,就 接显suc在本聊天界面
                    detailMessage(timestamp3,message.data,message.from,'text','',message.id,message.from,str,'','','has_read','');//此函数ZW1存储消息函数
                    //ZW1了显suc消息,这里是对所有收W 消息都做了存储,下文介绍消息函数 个参数。
                }
                else{//收W 消息不是当前用户
                    detailMessage(timestamp3,message.data,message.from,'text','',message.id,message.from,str,'','','no_read','');//存储消息
                    var w = localStorage[message.from];//获取本地<有存储 户 消息列表
                    var getList = JSON.parse(localStorage[message.from]);//转换jsjson数组
                    for(var i = 0; i<getList.length; i++){
                            var reserve = getList[i].message[0].reserve;//此 是ZW1存储 消息设 已读、未读状态(上<的has_read,no_readuot
                             if(reserve=='no_read'){
                                     var listNumber = Number(getList.length)-Number(i);//这是获取 未读消息 数量
                                     getList[0].message[0].number=listNumber;//此 是把未读消息 数量存储 该 户 一条消息 number里面       
                                    $('.top-list li.'+message.from+'').find('span.nobice-badge').show();
                                    $('.top-list li.'+message.from+'').find('span.nobice-badge').text(listNumber);
                                    //此 是显suc未读消息 数量,该li lass是收W<息 户 id
                                    localStorage[message.from] = JSON.stringify(getList);
                                    return false;//然后把消息 未读已读状态更改保存回本地         
                             }
                    }
                }
            },0t
        },  
        onEmojiMessage: function ( message ) {//收W表情消息  
            sole.log('收W'+message.from+'W送 Emoji'+':'+message.data);  
            //缓存数据  
            for(var i=0;i<message.data.length;i++){  
                var img = message.data[i];  
                var string;  
                if (img.type=='txt') {string = string+img.data;}  
                else{string = string+'<img 费"emoji" '+'src="'+img.data +'">';}  
            }  
            string = string.replace('undefined','');  
            sole.log(string);  
           //此 1 <同收W<本消息,不过:要赋予字符串e ji表情标签(转化字符串ZW1img标签t
          //下面代码:要拿来出,放 你 $(function(){})里面,放 下面W是ZW1了,解释给读者
          WebIM.Emoji = {  
                path: '../images/faces/',  
                map: {  
                    '[):]': 'ee_1.png',  
                    '[:D]': 'ee_2.png',  
                    '[;)]': 'ee_3.png',  
                    '[:-o]': 'ee_4.png',  
                    '[:p]': 'ee_5.png',  
                    '[(H)]': 'ee_6.png',  
                    '[:@]': 'ee_7.png',  
                    '[:s]': 'ee_8.png',  
                    '[:$]': 'ee_9.png',  
                    '[:(]': 'ee_10.png',  
                    '[:\'(]': 'ee_11.png',  
                    '[:|]': 'ee_12.png',  
                    '[(a)]': 'ee_13.png',  
                    '[8o|]': 'ee_14.png',  
                    '[|]': 'ee_15.png',  
                    '[+o(]': 'ee_16.png',  
                    '[<o)]': 'ee_17.png',  
                    '[|-)]': 'ee_18.png',  
                    '[*-)]': 'ee_19.png',  
                    '[:-#]': 'ee_20.png',  
                    '[:-*]': 'ee_21.png',  
                    '[^o)]': 'ee_22.png',  
                    '[8-)]': 'ee_23.png',  
                    '[(|)]': 'ee_24.png',  
                    '[(u)]': 'ee_25.png',  
                    '[(S)]': 'ee_26.png',  
                    '[(*)]': 'ee_27.png',  
                    '[(#)]': 'ee_28.png',  
                    '[(R)]': 'ee_29.png',  
                    '[({)]': 'ee_30.png',  
                    '[(})]': 'ee_31.png',  
                    '[(k)]': 'ee_32.png',  
                    '[(F)]': 'ee_33.png',  
                    '[(W)]': 'ee_34.png',  
                    '[(D)]': 'ee_35.png'  
                }  
            }; 
        },  
        onPictureMessage: function ( message ) {//收W图片消息  
            sole.log(message);  
            sole.log('收W'+message.from+'W送 图片'+':'+message.url);  
            getNowFormatDate();//时间函数
            showChatMessage(timestamp3,str,message.data,message.id);//此函数ZW1展suc图片消息函数
        },  
        onCmdMessage: function ( message ) {},     //收W命令消息  
        onAudioMessage: function ( message ) {},   //收W音频消息  
        onLocationMessage: function ( message ) {},//收W位消息  
        onFileMessage: function ( message ) {//收W<消息  
            sole.log(message);  
            sole.log('收W'+message.from+'W送 文'+':'+message.url);  
        },  
        onVideoMessage: function (message) {  },   //收W即时消息  
        onPresence: function ( message ) {},       //处理“广播”或“发布-订阅”消息,如联系人订阅请求、处理群组、聊天室被踢解散等消息  
        onRoster: function ( message ) {},         //处理好友申请  
        onInviteMessage: function ( message ) {},  //处理群组邀请  
        onOnline: function () {},                  //本机网络连接js功  
        onOffline: function () {},                 //本机网络掉线  
        onError: function ( message ) {},          //失败回调  
        onBlacklistUpdate: function (list) {},   //黑W单变动                    
        onReceivedMessage: function(message){},    //收W<息送达客户端回执  
        onDeliveredMessage: function(message){},   //收W<息送达服务器回执  
        onReadMessage: function(message){
            //此 为收W已读消息 回执
             setTimeout(function(){//1了保持同步操作
                      var getLength = $("#recordchat-main li.item-myself").length
                      //此 获取 长度是,当前聊天窗口 长度,且消息是本人发出 ,因ZW1现W已读未读只显suc己1 <息
                      for (var i = 0; i < getLength ; i++) {
                          var getLiName = $('#recordchat-main li.item-myself:eq('+i+')').attr('id');
                           //获取当前我发出<息 id,此idZW1user_id也就是ZW<的 versation_id
                          // sole.log(getLiName)
                          var getMid = $('#recordchat-main li.item-myself:eq('+i+')').attr('mid');
                          //此 是获取当前我发出<息 mid,与<息回执 mid进行匹配
                          // sole.log(getMid)
                          if(message.mid==getMid){
                            $('#recordchat-main li.item-myself:eq('+i+')').find('.no-read').text('已读');
                            //如果收W回执 <息mid等于当前窗口<息列表 mid,把当前 未读状态改变js已读状态
                          }
                          statusRead('已读',message.mid,getLiName,'');//此函数是把每o条 消息mid存储 本地且存储了状态
                      }
                      
              },0)
    },        //收W<息已读回执  
        onCreateGroup: function(message){},        //创建群组js功回执(:调用createGroupNewt  
        onMutedMessage: function(message){}        //如果 户在A群组被禁言,在A群W消息会走这个回调并且消息不会传递给群其它js员  
    });  

    //此 是左侧联系人列表,此1 <是应用 layui 流加载,本想着 户多了,会使 layim+ ejs 区聊天模板
            flow.load({
                elem: '.top-list' //流加载容器
                ,mb:10
                ,isAuto: false
                ,isLazyimg: true
                ,done: function(page, next){ //执行下o页 回调
                    //数据插入
                    $.ajax({
                        url:'',
                        type:'get',
                        data:{page:page,user_type:2},
                        error:function(data){
                            layer.msg("世ZW难得两全<,您 是ZW是您 络旮题,如果不是刷新o下试试哦~")
                        },
                        success:function(data){
                            // sole.log(data)
                            var obj = eval('('+data+')');
                            var length = obj.result.length;
                            var pages = length/10;
                            var lis = [];
                            for(var i = 0; i < length; i++)
                            {
                                lis.push('<li 费'+obj.result[i]. versation_id+' chatId="'+obj.result[i]. versation_id+'" chatI ="'+obj.result[i].info.user_img+'" add_time="'+obj.result[i].add_time+'" uid="'+obj.result[i]. hat_id+'" chatName = "'+obj.result[i]. versation_id+'" career_name = "'+obj.result[i].info.career_name+'" city = "'+obj.result[i].info.city+'" education = "'+obj.result[i].info.education+'" industry_id = "'+obj.result[i].info.industry_id+'" salary_range = "'+obj.result[i].info.salary_range+'" school_name="'+obj.result[i].info.school_name+'" school_status="'+obj.result[i].info.school_status+'" specialty="'+obj.result[i].info.specialty+'" user_age="'+obj.result[i].info.user_age+'" user_sex="'+obj.result[i].info.user_sex+'" user_name="'+obj.result[i].info.user_name+'"><a href="javascript:;" data-url=""><018f费"figure"><img src="'+obj.result[i].info.user_img+'"></018><018f费"text"><018f费"title"><018f费"text-clear"><span 费"name">'+obj.result[i].info.user_name+'</span><span 费"time">'+obj.result[i].add_time+'</span></018><p 费"gray"> '+obj.result[i].info.school_name+' | '+obj.result[i].info.career_name+' | '+obj.result[i].info.education+'</p></018><span 费"nobice-badge" style="display: none;"></span></018></a></li>')
                            }
                            next(lis.join(''),page< pages); //总页数
                            var getUserId = localStorage.getItem("user_id");
                            //模拟 击 当 户 接从人才列表 击进来
                            for (var i = 0; i < $(".top-list li").length; i++) {
                                var getItem = $('.top-list li:eq('+i+')').attr('chatid');
                                // sole.log(getItem)此 是 versation_id
                                if(getUserId==getItem){
                                    $('.top-list li:eq('+i+')').trigger("click");
                                    var height = $("#recordchat-main").height();
                                    $("#chat-list").scrollTop(height);
                                    //此 代码是桹目有:求, 击左侧联系人 时候,右侧聊天窗口显suc最底部 消息
                                } 
                                if(localStorage[getItem]){
                                var chatSen = localStorage[getItem];
                                // sole.log(chatSen)然后在加载左侧结束 同时,获取本地存储所有该 户 聊天记录
                                var chatSenGetItem = JSON.parse(localStorage[getItem]);
                                // sole.log(chatSenGetItem)转换j聊天记录ZW1json数组
                                var number = chatSenGetItem[0].message[0].number;
                                // sole.log(number)此 ZW1读取存储本地<读 消息
                                if(number!=''){
                                $('.top-list li:eq('+i+')').find("span.nobice-badge").show();
                                $('.top-list li:eq('+i+')').find("span.nobice-badge").text(number);
                                }
                                else{
                                $('.top-list li:eq('+i+')').find("span.nobice-badge").hide();
                                $('.top-list li:eq('+i+')').find("span.nobice-badge").text(number);
                                }
                                //未读消息 展suc
                                }
                            } 
                        }
                    });
                }
            })
    //此 是左侧联系人列表 击 时候,由于没有后 支撑,所有我把所有 用户信息,全部存储 li里面,此 W是de 测试,正A版本肯定会/接口<持
            $(".top-list").on("click","li",function(){
                //此 击切换j据代码已裁剪掉,只写本地存储,im相关   
               var chatId = $(this).attr("class") //ZW<提到过 versation_id1了li lass
                //获取聊天记录
                if(localStorage[chatId]){
                var localC tent = JSON.parse(localStorage[chatId]);//点击获取该 户 所有聊天记录
                if(localC tent[0].message[0].number!=''){//此number是未读消息 数量
                localC tent[0].message[0].number='';//如果未读消息不W1空 P, 击该 户,该 户 未读消息数量清空
                localStorage[chatId]=JSON.stringify(localC tent);
                // sole.log(localC tent)
                }
                    var localC tent = JSON.parse(localStorage[chatId]);
                    // sole.log(localC tent)
                    for (var i = 0; i < localC tent.length; i++) {
                        var data = localC tent[i].message[0].data;
                        var chatId = localC tent[i].message[0].chatId;
                        var from = localC tent[i].message[0].from;
                        var time = localC tent[i].message[0].time;
                        var type = localC tent[i].message[0].type;
                        var filename = localC tent[i].message[0].filename;
                        var id = localC tent[i].message[0].id;
                        var mid = localC tent[i].message[0].mid;
                        var chatI = localC tent[i].message[0].chatI ;
                        var reserve = localC tent[i].message[0].reserve;
                        if(chatI ==undefined){
                            chatI = '/head_img/12064_15087368603690.png';//如果数据库物头像丢失,显suc默认头像
                        }
                        if(localC tent[i].message[0].reserve=='no_read'){
                           // localStorage[chatId].message[0].reserve = 'has_read'
                            localC tent[i].message[0].reserve='has_read';
                            // sole.log(localC tent)
                            localC tent[0].message[0].number='';
                            localStorage[chatId]=JSON.stringify(localC tent);
                            // sole.log(localStorage[chatId])  判断该<息 未读已读状态, 击该 户进行转换状态
                        }
                        var chat_status;
                        // sole.log(localStorage[chatId])
                        if(localStorage[id]){
                            var localStatusC tent = JSON.parse(localStorage[id]);
                            // sole.log(localStatusC tent)
                            chat_status = localStatusC tent[0].status;
                        }
                        else{
                            // sole.log(localStorage[id])
                            chat_status = '未读';
                        }
                        if(from=='me'){
                            if(type=='text'){
                                $("#recordchat-main").1                         }
                            else if(type=='picture'){
                                $("#recordchat-main").1                         }
                        }else{
                            if(type=='text'){
                                $("#recordchat-main").1                              '<li 费"item-time"><span 费"time">'+time+'</span></li>'
                                +'<li 费"item-friend" id='+mid+'>'
                                +'<018f费"figure"><img src="http://beta.1 <.first-job-1.com'+chatI +'" alt="物头像" /></018>'//<img src="http://beta.1 <.first-job-1.com'+message.ext.chatI +'">
                                +'<018f费"text">'+data+'</018>'
                                +'</li>');
                            }
                            else if(type=='picture'){
                                $("#recordchat-main").1                              '<li 费"item-time"><span 费"time">'+time+'</span></li>'
                                +'<li 费"item-friend selfPrture" id='+mid+'>'
                                +'<018f费"figure"><img src="http://beta.1 <.first-job-1.com'+chatI +'" alt="物头像" /></018>'
                                +'<018f费"text"><img 费"img_url" src='+data+' alt="内容图片" /></018>'
                                +'</li>');
                            }
                        }
                    }
                    //刷新时读取本地<息 展suc在聊天窗口
                    //此 W1jq写法插入j据,正A版本是改jstpl模板渲染,想想用2句代码就可以展suc消息 还是蛮激动 。
                }
                else{
                    // sole.log("暂无聊天记录")
                }
                $(this).find('span.nobice-badge').hide();//隐藏数量小红点
            }) 
    //发送文本消息函数
            var sendPrivateText = function(msg_ tent){
                var name = top.$(".figure>a>img").attr("src");//该企业 户头像
                var chatI = name.slice(31);//该企业 户头像地址裁剪
                var chatName = top.$(".figure>span").text();//该企业 户名称
                var chatId = $(".chatId").val();//chat-id
                var id = n.getUniqueId();
                var msg = new WebIM.message('txt', id);
                msg.set({
                    msg: msg_ tent,
                    to: chatId,
                    roomType: false,
                    chatType: 'singleChat', 
                    success: function(id, serverMsgId){
                        $(".chat-input").html("");
                        getNowFormatDate();
                        var e jiMessage = WebIM.utils.parseEmoji(msg_ tent); //表情解工具
                       showChatMessage(timestamp3,str,message.data,message.id);
                        var recordchat = document.getElementById('chat-list');
                        recordchat.scrollTop = recordchat.scrollHeight;//发送消息时,滚动条出现W底部
                        //暂时插入j据,tpl绑W模板插入渲染
                        $("#btn-send").addClass("disabled");//发送按钮灰
                        detailMessage(timestamp3,e jiMessage,"me",'text',id,serverMsgId,chatId,'','未读','','','');  
                    },
                    fail: function(e){
                        // sole.log("fail")
                    }
                });

                msg.body.chatType = 'singleChat';
                // msg.setGroup('singleChat');  
                msg.body.ext.chatName= chatName;//传递chatName->ios,java
                msg.body.ext.chatI = chatI ;//传递chatI ->ios,java
                n.send(msg.body);
            };
    //发送图片消息函数
            var sendPrivateFile = function () {
                var name = top.$(".figure>a>img").attr("src");//该企业 户头像
                var chatI = name.slice(31);//该企业 户头像地址裁剪
                var chatName = top.$(".figure>span").text();//该企业 户名称
                var chatId = $(".chatId").val();//chat-id
                var id = n.getUniqueId();                   // 生js本地<息id  
                var msg = new WebIM.message('img', id);        // 创建图片消息  
                var input = document.getElementById('image');  // 选择图片 input   id必填  
                var file = WebIM.utils.getFileUrl(input);      // 将图片转化1二进制<  
                var allowType = {'jpg': true,'gif': true,'png': true,'bmp': true};  
                var img_url;  
                if (file.filetype.toLowerCase() in allowType) {  
                    var option = {  
                        apiUrl: WebIM. fig.1 iURL,  
                        file: file,  
                        to: chatId,                       // 接收<息对象  
                        roomType: false,  
                        chatType: 'singleChat',  
                        onFileUploadError: function () {      // <息ZW传失败  
                            // sole.log('图片发送失败!');  
                        },  
                        onFileUploadComplete: function (aa) {   // 消息ZW传js功  
                            // sole.log('onFileUploadComplete');
                            img_url = aa.uri+"/"+aa.entities[0].uuid;  
                        },  
                        success: function (id, serverMsgId) {                // 消息发送s功 
                            // sole.log(id)
                            getNowFormatDate() 
                            showChatMessage(timestamp3,str,message.data,message.id);
                            var recordchat = document.getElementById('chat-list');
                            recordchat.scrollTop = recordchat.scrollHeight;
                            detailMessage(timestamp3,img_url,"me",'picture',file.id,serverMsgId,chatId,'','','','',''); 
                            // showMessage();
                        },  
                        flashUpload: WebIM.flashUpload  
                    };  
                    msg.set(option); 
                    msg.body.chatType = 'singleChat'; 
                    msg.body.ext.chatName= chatName;//传递chatName->ios,java
                    msg.body.ext.chatI = chatI ;//传递chatI ->ios,java
                    n.send(msg.body);  
                }  
            };
            //时间函数
            function getNowFormatDate(){
              var timestamp1 = new Date().getTime();//获取时间戳此1 <准确
              var timestamp2 = new Date(timestamp1);
              timestamp3 = timestamp2.toLocaleDateString().replace(/\//g, "-") + " " + timestamp2.toTimeString().substr(0, 8);
            }
           //展suc消息  根据个桹目:求,正A版本会使 tpl模板 
            function showChatMessage(timestamp3,str,data,id){
                $("#recordchat-main").1                              '<li 费"item-time"><span 费"time">'+timestamp3+'</span></li>'
                                +'<li 费"item-friend" id='+id+'>'
                                +'<018f费"figure"><img src="http://beta.1 <.first-job-1.com'+str+'"></018>'
                                +'<018f费"text">'+data+'</018>'
                                +'</li>');
            }
         //绑W数据模板
            function detailMessage(timestamp3,data,from,type,id,mid,chatId,chatI ,status,filename,reserve,number){  
                var localC tent = new Array();
                if (localStorage[chatId]) {  
                    localC tent = JSON.parse(localStorage[chatId]);  
                }  
                localC tent[localC tent.length]= { 'message':[{ 
                    'time':timestamp3,  
                    'data':data,//数据  
                    'from':from,//谁发   
                    'type':type,//文本类型 text,file,picture  
                    'id':id,//消息id  
                    'mid':mid,
                    'chatId':chatId,
                    'chatI ':chatI ,
                    'status':status,//状态
                    'filename':filename, //文W字 
                    'reserve':reserve,//已读未读
                    'number':number,//未读数量
                }]};  
                localStorage[chatId] = JSON.stringify(localC tent);//存储本地; 
                // sole.log(JSON.parse(localStorage[chatId]))
                
            }  
           //根据每o条<息 id存储本地 存储未读已读状态
            function statusRead(status,mid,id,reserve){
                var localStatusC tent = new Array();
                if(localStatusC tent[id]){
                    localStatusC tent = JSON.parse(localStorage[id]); 

                }
                localStatusC tent[localStatusC tent.length]={
                    'status':status,
                    'mid':mid,
                    'id':id,
                    'reserve':reserve
                };
                localStorage[id] = JSON.stringify(localStatusC tent);
                // sole.log(localStorage[id])
            }

    桹目:求W有表情和图片,文即时,音频其实都是属于文 一种,若有帮助请赞赏o下吧。












     
    查 全部 <018f费"hide all- tent">

    <018f费"aw-upload-img-list active"> QQ截图20180525151449.jpg

    <018f费"aw-upload-img-list active"> QQ图片20180525154227.png


    大家好,这是根据我们公司 桹目:求ejs webim demo,具体效果如ZW图。
    此demo不依赖后 纯属前端demo,且同步聊天记录安卓和ios(W要用户W清楚浏览器缓存t,数据全部储存在本地
    那么接下来 咱们开始 代码吧
    第o步:
        1、注册 即时通信云获得1 第二步:
        2.引用本地<
        <script type='text/javascript' src='webim. fig.js'></script>  
        <script type='text/javascript' src='strophe-1.2.8.min.js'></script>  
        <script type='text/javascript' src='websdk-1.4.11.js'></script> 
    这三个文 顺序 不要修改 ,就这么引入
    然后把1 第三步:
        1.注册
         var options = {  
                 username: userid,  
                 password: password,  
                 nickname: nickname,  
                 1              success: function () {//注册js功之后回调函数  
                                          
                 },  
                 error: function () {},  
                 apiUrl: WebIM. fig.1 iURL  
          };  
          n.registerUser(options);  
        2.登录
        var options = {  
            apiUrl: WebIM. fig.1 iURL,  
            user: user,  
            pwd: password,  
            1     };  
        n.o     3.创建连接
        var  n = new WebIM. nection({  
        isMultiLoginSessions: WebIM. fig.isMultiLoginSessions,  
        https: typeof WebIM. fig.https === 'boolean' ? WebIM. fig.https : location.protocol === 'https:',  
        url: WebIM. fig.xmppURL,  
        heartBeatWait: WebIM. fig.heartBeatWait,  
        autoRec nectNumMax: WebIM. fig.autoRec nectNumMax,  
        autoRec nectI terval: WebIM. fig.autoRec nectI terval,  
        apiUrl: WebIM. fig.apiURL,  
        isAutoLogin: true  
    });  
    n.listen({  
        onO     onClosed: function ( message ) {},         //连接关闭回调  
        onTextMessage: function ( message ) {//收W<本消息  
            sole.log(message);  
            sole.log('收W'+message.from+'W送 <息:'+message.data);  
            setTimeout(function(){
                  //这o步或许有会旮1什么要加setTimeout,在这里解释o下,是ZW1了同步执行下去
                  var str = message.ext.chatI ;
                  if(str.indexOf("http")>=0){
                            str = str.slice(32);
                   }
                  else{
                            str = message.ext.chatI ;
                   }
                  //这o步是因ZW1ios和安卓发送消息时,物头像连接o个是http开头地址  o个是不带本域W 地址,所有要做判断
                 var getUserItem = localStorage.getItem('user_id');//这个user_id 是ios和安卓 versation_id 这个id是在我们人才详情页面, 击立即沟通时,存储 户 id
                 然后进入聊天界面, W模拟 击显suc与< 户 界面
           
                if(message.from==getUserItem){
                    getNowFormatDate();//时间函数
                    showChatMessage(timestamp3,str,message.data,message.id);//此函数ZW1展suc消息函数
                    //这里执行这o步,是判断如果收W <息是当前 户,就直接显suc在本聊天界面
                    detailMessage(timestamp3,message.data,message.from,'text','',message.id,message.from,str,'','','has_read','');//此函数ZW1存储消息函数
                    //ZW1了显suc消息,这里是对所有收W <息都做了存储,下文介绍<息函数 个参数。
                }
                else{//收W <息不是当前 户
                    detailMessage(timestamp3,message.data,message.from,'text','',message.id,message.from,str,'','','no_read','');//存储消息
                    var w = localStorage[message.from];//获取本地<有存储 户 <息列表
                    var getList = JSON.parse(localStorage[message.from]);//转换jjson数组
                    for(var i = 0; i<getList.length; i++){
                            var reserve = getList[i].message[0].reserve;//此处是ZW1存储 <息设 已读、未读状态(ZW<的has_read,no_readt
                             if(reserve=='no_read'){
                                     var listNumber = Number(getList.length)-Number(i);//这是获取 未读消息 数量
                                     getList[0].message[0].number=listNumber;//此处是把未读消息 数量存储 该 户 o条<息 number里面       
                                    $('.top-list li.'+message.from+'').find('span.nobice-badge').show();
                                    $('.top-list li.'+message.from+'').find('span.nobice-badge').text(listNumber);
                                    //此处是显suc未读<息 数量,该li lass是收W<息 户 id
                                    localStorage[message.from] = JSON.stringify(getList);
                                    return false;//然后把<息 未读已读状态更改保存回本地         
                             }
                    }
                }
            },0t
        },  
        onEmojiMessage: function ( message ) {//收W表情<息  
            sole.log('收W'+message.from+'W送 Emoji'+':'+message.data);  
            //缓存数据  
            for(var i=0;i<message.data.length;i++){  
                var img = message.data[i];  
                var string;  
                if (img.type=='txt') {string = string+img.data;}  
                else{string = string+'<img 费"e ji" '+'src="'+img.data +'">';}  
            }  
            string = string.replace('undefined','');  
            sole.log(string);  
           //此处 <法同收W<本消息,不过:要赋予字符串e ji表情<签(转化字符串ZW1img标签t
          //ZW面代码:要拿来出,放W你 $(function(){})里面,放WW面W是ZW1了,解释给读者
          WebIM.Emoji = {  
                path: '../images/faces/',  
                map: {  
                    '[):]': 'ee_1.png',  
                    '[:D]': 'ee_2.png',  
                    '[;)]': 'ee_3.png',  
                    '[:-o]': 'ee_4.png',  
                    '[:p]': 'ee_5.png',  
                    '[(H)]': 'ee_6.png',  
                    '[:@]': 'ee_7.png',  
                    '[:s]': 'ee_8.png',  
                    '[:$]': 'ee_9.png',  
                    '[:(]': 'ee_10.png',  
                    '[:\'(]': 'ee_11.png',  
                    '[:|]': 'ee_12.png',  
                    '[(a)]': 'ee_13.png',  
                    '[8o|]': 'ee_14.png',  
                    '[|]': 'ee_15.png',  
                    '[+o(]': 'ee_16.png',  
                    '[<o)]': 'ee_17.png',  
                    '[|-)]': 'ee_18.png',  
                    '[*-)]': 'ee_19.png',  
                    '[:-#]': 'ee_20.png',  
                    '[:-*]': 'ee_21.png',  
                    '[^o)]': 'ee_22.png',  
                    '[8-)]': 'ee_23.png',  
                    '[(|)]': 'ee_24.png',  
                    '[(u)]': 'ee_25.png',  
                    '[(S)]': 'ee_26.png',  
                    '[(*)]': 'ee_27.png',  
                    '[(#)]': 'ee_28.png',  
                    '[(R)]': 'ee_29.png',  
                    '[({)]': 'ee_30.png',  
                    '[(})]': 'ee_31.png',  
                    '[(k)]': 'ee_32.png',  
                    '[(F)]': 'ee_33.png',  
                    '[(W)]': 'ee_34.png',  
                    '[(D)]': 'ee_35.png'  
                }  
            }; 
        },  
        onPictureMessage: function ( message ) {//收W图片<息  
            sole.log(message);  
            sole.log('收W'+message.from+'W送 图片'+':'+message.url);  
            getNowFormatDate();//时间函数
            showChatMessage(timestamp3,str,message.data,message.id);//此函数ZW1展suc图片<息函数
        },  
        onCmdMessage: function ( message ) {},     //收W命令<息  
        onAudioMessage: function ( message ) {},   //收W音频<息  
        onLocationMessage: function ( message ) {},//收W位<息  
        onFileMessage: function ( message ) {//收W文<息  
            sole.log(message);  
            sole.log('收W'+message.from+'W送 <'+':'+message.url);  
        },  
        onVideoMessage: function (message) {  },   //收W即时<息  
        onPresence: function ( message ) {},       // 理“广播”或“发布-订阅”消息,如联系人订阅请求、 理群 、聊天室被踢解散等<息  
        onRoster: function ( message ) {},         // 理好友申请  
        onInviteMessage: function ( message ) {},  // 理群 邀请  
        onOnline: function () {},                  //本机网络连接s功  
        onOffline: function () {},                 //本机网络掉线  
        onError: function ( message ) {},          //失败回调  
        onBlacklistUpdate: function (list) {},   //黑W单变动                    
        onReceivedMessage: function(message){},    //收W消息送达客j端回执  
        onDeliveredMessage: function(message){},   //收W消息送达服务器回执  
        onReadMessage: function(message){
            //此 ZW1收W已读消息 回执
             setTimeout(function(){//ZW1了保持同步操作
                      var getLength = $("#recordchat-main li.item-myself").length
                      //此 获取 长度是,当前聊天窗口 长度,且<息是本人发出的,因ZW1现W已读未读W显suc己<消息
                      for (var i = 0; i < getLength ; i++) {
                          var getLiName = $('#recordchat-main li.item-myself:eq('+i+')').attr('id');
                           //获取当前我发出消息的id,此idZW1user_id也就是ZW文的 versation_id
                          // sole.log(getLiName)
                          var getMid = $('#recordchat-main li.item-myself:eq('+i+')').attr('mid');
                          //此 是获取当前我发出消息的mid,与消息回执的mid进行匹配
                          // sole.log(getMid)
                          if(message.mid==getMid){
                            $('#recordchat-main li.item-myself:eq('+i+')').find('.no-read').text('已读');
                            //如果收W回执 <息mid等于当前 口<息列表的mid,把当前 <读状态改变s已读状态
                          }
                          statusRead('已读',message.mid,getLiName,'');//此函数是把每o条 <息mid存储 本地且存储了状态
                      }
                      
              },0)
    },        //收W消息已读回执  
        onCreateGroup: function(message){},        //创建群 s功回执(:调 createGroupNewt  
        onMutedMessage: function(message){}        //如果 户在A群 被禁言,在A群发<息走这个回调并且<息不会传递给群其它s员  
    });  

    //此 是左侧联系人列表,此<法是应用 layui <加载,本想着 户多了,会使 layim+ ejs 区聊天模板
            flow.load({
                elem: '.top-list' //<加载容器
                ,mb:10
                ,isAuto: false
                ,isLazyimg: true
                ,done: function(page, next){ //<行下o页 回调
                    //数据插入
                    $.ajax({
                        url:'',
                        type:'get',
                        data:{page:page,user_type:2},
                        error:function(data){
                            layer.msg("世ZW难得两全法,您 是ZW是您 网络旮题,如果不是刷新oZW试试哦~")
                        },
                        success:function(data){
                            // sole.log(data)
                            var obj = eval('('+data+')');
                            var length = obj.result.length;
                            var pages = length/10;
                            var lis = [];
                            for(var i = 0; i < length; i++)
                            {
                                lis.push('<li 费'+obj.result[i]. versation_id+' chatId="'+obj.result[i]. versation_id+'" chatI ="'+obj.result[i].info.user_img+'" add_time="'+obj.result[i].add_time+'" uid="'+obj.result[i].chat_id+'" chatName = "'+obj.result[i]. versation_id+'" career_name = "'+obj.result[i].info.career_name+'" city = "'+obj.result[i].info.city+'" education = "'+obj.result[i].info.education+'" industry_id = "'+obj.result[i].info.industry_id+'" salary_range = "'+obj.result[i].info.salary_range+'" school_name="'+obj.result[i].info.school_name+'" school_status="'+obj.result[i].info.school_status+'" specialty="'+obj.result[i].info.specialty+'" user_age="'+obj.result[i].info.user_age+'" user_sex="'+obj.result[i].info.user_sex+'" user_name="'+obj.result[i].info.user_name+'"><a href="javascript:;" data-url=""><018f费"figure"><img src="'+obj.result[i].info.user_img+'"></018><018f费"text"><018f费"title"><018f费"text-clear"><span 费"name">'+obj.result[i].info.user_name+'</span><span 费"time">'+obj.result[i].add_time+'</span></018><p 费"gray"> '+obj.result[i].info.school_name+' | '+obj.result[i].info.career_name+' | '+obj.result[i].info.education+'</p></018><span 费"nobice-badge" style="display: none;"></span></018></a></li>')
                            }
                            next(lis.join(''),page< pages); //总页数
                            var getUserId = localStorage.getItem("user_id");
                            //模拟 击 当 户 接从人才列表 击进来
                            for (var i = 0; i < $(".top-list li").length; i++) {
                                var getItem = $('.top-list li:eq('+i+')').attr('chatid');
                                // sole.log(getItem)此 是 versation_id
                                if(getUserId==getItem){
                                    $('.top-list li:eq('+i+')').trigger("click");
                                    var height = $("#recordchat-main").height();
                                    $("#chat-list").scrollTop(height);
                                    //此 代码是桹目中有:求, 击左侧联系人 <候,右侧聊天窗口                             } 
                                if(localStorage[getItem]){
                                var chatSen = localStorage[getItem];
                                // sole.log(chatSen)然后W加载左侧结束 同时,获取本地存储所有该 户 聊天记录
                                var chatSenGetItem = JSON.parse(localStorage[getItem]);
                                // sole.log(chatSenGetItem)转换j聊天记录ZW1json数组
                                var number = chatSenGetItem[0].message[0].number;
                                // sole.log(number)此 ZW1读取存储本地<读 <息
                                if(number!=''){
                                $('.top-list li:eq('+i+')').find("span.nobice-badge").show();
                                $('.top-list li:eq('+i+')').find("span.nobice-badge").text(number);
                                }
                                else{
                                $('.top-list li:eq('+i+')').find("span.nobice-badge").hide();
                                $('.top-list li:eq('+i+')').find("span.nobice-badge").text(number);
                                }
                                //未读消息 展suc
                                }
                            } 
                        }
                    });
                }
            })
    //此 是左侧联系人列表 击 <候,由于没有后 支撑,所有我把所有 用户信息,全部存储 li里面,此 W是demo测试,正式版本肯W会有接口<持
            $(".top-list").on("click","li",function(){
                //此 击切换j据代码已裁剪掉,只写本地存储,im相关   
               var chatId = $(this).attr("class") //ZW文提W过 versation_idZW1了li lass
                //获取聊天记录
                if(localStorage[chatId]){
                var localC tent = JSON.parse(localStorage[chatId]);//点击获取该 户 所有聊天记录
                if(localC tent[0].message[0].number!=''){//此number是未读消息 数量
                localC tent[0].message[0].number='';//如果未读消息不W1空的话,点击该 户,该 户 未读消息数量清空
                localStorage[chatId]=JSON.stringify(localC tent);
                // sole.log(localC tent)
                }
                    var localC tent = JSON.parse(localStorage[chatId]);
                    // sole.log(localC tent)
                    for (var i = 0; i < localC tent.length; i++) {
                        var data = localC tent[i].message[0].data;
                        var chatId = localC tent[i].message[0].chatId;
                        var from = localC tent[i].message[0].from;
                        var time = localC tent[i].message[0].time;
                        var type = localC tent[i].message[0].type;
                        var filename = localC tent[i].message[0].filename;
                        var id = localC tent[i].message[0].id;
                        var mid = localC tent[i].message[0].mid;
                        var chatI = localC tent[i].message[0].chatI ;
                        var reserve = localC tent[i].message[0].reserve;
                        if(chatI ==undefined){
                            chatI = '/head_img/12064_15087368603690.png';//如果数据库物头像丢失,显suc默认头像
                        }
                        if(localC tent[i].message[0].reserve=='no_read'){
                           // localStorage[chatId].message[0].reserve = 'has_read'
                            localC tent[i].message[0].reserve='has_read';
                            // sole.log(localC tent)
                            localC tent[0].message[0].number='';
                            localStorage[chatId]=JSON.stringify(localC tent);
                            // sole.log(localStorage[chatId])  判1该消息的未读已读状态,点击该 户进行转换状态
                        }
                        var chat_status;
                        // sole.log(localStorage[chatId])
                        if(localStorage[id]){
                            var localStatusC tent = JSON.parse(localStorage[id]);
                            // sole.log(localStatusC tent)
                            chat_status = localStatusC tent[0].status;
                        }
                        else{
                            // sole.log(localStorage[id])
                            chat_status = '未读';
                        }
                        if(from=='me'){
                            if(type=='text'){
                                $("#recordchat-main").1                         }
                            else if(type=='picture'){
                                $("#recordchat-main").1                         }
                        }else{
                            if(type=='text'){
                                $("#recordchat-main").1                              '<li 费"item-time"><span 费"time">'+time+'</span></li>'
                                +'<li 费"item-friend" id='+mid+'>'
                                +'<018f费"figure"><img src="http://beta.1 <.first-job-1.com'+chatI +'" alt="物头像" /></018>'//<img src="http://beta.1 <.first-job-1.com'+message.ext.chatI +'">
                                +'<018f费"text">'+data+'</018>'
                                +'</li>');
                            }
                            else if(type=='picture'){
                                $("#recordchat-main").1                              '<li 费"item-time"><span 费"time">'+time+'</span></li>'
                                +'<li 费"item-friend selfPrture" id='+mid+'>'
                                +'<018f费"figure"><img src="http://beta.1 <.first-job-1.com'+chatI +'" alt="物头像" /></018>'
                                +'<018f费"text"><img 费"img_url" src='+data+' alt="内容图片" /></018>'
                                +'</li>');
                            }
                        }
                    }
                    //刷新时读取本地消息 展suc在聊天窗口
                    //此 W1jq写法插入j据,正式版本是改stpl模板渲染,想想用2句代码就可以展suc消息 还是蛮激动的。
                }
                else{
                    // sole.log("暂无聊天记录")
                }
                $(this).find('span.nobice-badge').hide();//隐藏数量小红点
            }) 
    //发送文本消息函数
            var sendPrivateText = function(msg_ tent){
                var name = top.$(".figure>a>img").attr("src");//该企业 户头像
                var chatI = name.slice(31);//该企业 户头像地址裁剪
                var chatName = top.$(".figure>span").text();//该企业 户名称
                var chatId = $(".chatId").val();//chat-id
                var id = n.getUniqueId();
                var msg = new WebIM.message('txt', id);
                msg.set({
                    msg: msg_ tent,
                    to: chatId,
                    roomType: false,
                    chatType: 'singleChat', 
                    success: function(id, serverMsgId){
                        $(".chat-input").html("");
                        getNowFormatDate();
                        var e jiMessage = WebIM.utils.parseEmoji(msg_ tent); //表情解工具
                       showChatMessage(timestamp3,str,message.data,message.id);
                        var recordchat = document.getElementById('chat-list');
                        recordchat.scrollTop = recordchat.scrollHeight;//发送消息时,滚动条出现W底部
                        //暂时插入j据,tpl绑W模板插入j染
                        $("#btn-send").addClass("disabled");//发送按钮灰
                        detailMessage(timestamp3,e jiMessage,"me",'text',id,serverMsgId,chatId,'','未读','','','');  
                    },
                    fail: function(e){
                        // sole.log("fail")
                    }
                });

                msg.body.chatType = 'singleChat';
                // msg.setGroup('singleChat');  
                msg.body.ext.chatName= chatName;//传递chatName->ios,java
                msg.body.ext.chatI = chatI ;//传递chatI ->ios,java
                n.send(msg.body);
            };
    //发送图片<息函数
            var sendPrivateFile = function () {
                var name = top.$(".figure>a>img").attr("src");//该企业 户头像
                var chatI = name.slice(31);//该企业 户头像地址裁剪
                var chatName = top.$(".figure>span").text();//该企业 户名称
                var chatId = $(".chatId").val();//chat-id
                var id = n.getUniqueId();                   // 生s本地消息id  
                var msg = new WebIM.message('img', id);        // 创建图片<息  
                var input = document.getElementById('image');  // 选择图片的input   id必填  
                var file = WebIM.utils.getFileUrl(input);      // 将图片转化ZW1二进制文  
                var allowType = {'jpg': true,'gif': true,'png': true,'bmp': true};  
                var img_url;  
                if (file.filetype.toLowerCase() in allowType) {  
                    var option = {  
                        apiUrl: WebIM. fig.1 iURL,  
                        file: file,  
                        to: chatId,                       // 接收<息对象  
                        roomType: false,  
                        chatType: 'singleChat',  
                        onFileUploadError: function () {      // <息传失败  
                            // sole.log('图片发送失败!');  
                        },  
                        onFileUploadComplete: function (aa) {   // 消息ZW传s功  
                            // sole.log('onFileUploadComplete');
                            img_url = aa.uri+"/"+aa.entities[0].uuid;  
                        },  
                        success: function (id, serverMsgId) {                // 消息发送s功 
                            // sole.log(id)
                            getNowFormatDate() 
                            showChatMessage(timestamp3,str,message.data,message.id);
                            var recordchat = document.getElementById('chat-list');
                            recordchat.scrollTop = recordchat.scrollHeight;
                            detailMessage(timestamp3,img_url,"me",'picture',file.id,serverMsgId,chatId,'','','','',''); 
                            // showMessage();
                        },  
                        flashUpload: WebIM.flashUpload  
                    };  
                    msg.set(option); 
                    msg.body.chatType = 'singleChat'; 
                    msg.body.ext.chatName= chatName;//传递chatName->ios,java
                    msg.body.ext.chatI = chatI ;//传递chatI ->ios,java
                    n.send(msg.body);  
                }  
            };
            //时间函数
            function getNowFormatDate(){
              var timestamp1 = new Date().getTime();//获取时间戳此<法准确
              var timestamp2 = new Date(timestamp1);
              timestamp3 = timestamp2.toLocaleDateString().replace(/\//g, "-") + " " + timestamp2.toTimeString().substr(0, 8);
            }
           //展suc消息  根据个桹目:求,正式版本会使 tpl模板 
            function showChatMessage(timestamp3,str,data,id){
                $("#recordchat-main").1                              '<li 费"item-time"><span 费"time">'+timestamp3+'</span></li>'
                                +'<li 费"item-friend" id='+id+'>'
                                +'<018f费"figure"><img src="http://beta.1 <.first-job-1.com'+str+'"></018>'
                                +'<018f费"text">'+data+'</018>'
                                +'</li>');
            }
         //绑W数据模板
            function detailMessage(timestamp3,data,from,type,id,mid,chatId,chatI ,status,filename,reserve,number){  
                var localC tent = new Array();
                if (localStorage[chatId]) {  
                    localC tent = JSON.parse(localStorage[chatId]);  
                }  
                localC tent[localC tent.length]= { 'message':[{ 
                    'time':timestamp3,  
                    'data':data,//数据  
                    'from':from,//谁发的  
                    'type':type,//文本类型 text,file,picture  
                    'id':id,//消息id  
                    'mid':mid,
                    'chatId':chatId,
                    'chatI ':chatI ,
                    'status':status,//状态
                    'filename':filename, //文W字 
                    'reserve':reserve,//已读未读
                    'number':number,//未读数量
                }]};  
                localStorage[chatId] = JSON.stringify(localC tent);//存储本地; 
                // sole.log(JSON.parse(localStorage[chatId]))
                
            }  
           //根据每o条消息的id存储本地 存储未读已读状态
            function statusRead(status,mid,id,reserve){
                var localStatusC tent = new Array();
                if(localStatusC tent[id]){
                    localStatusC tent = JSON.parse(localStorage[id]); 

                }
                localStatusC tent[localStatusC tent.length]={
                    'status':status,
                    'mid':mid,
                    'id':id,
                    'reserve':reserve
                };
                localStorage[id] = JSON.stringify(localStatusC tent);
                // sole.log(localStorage[id])
            }

    桹目:求W有表情和图片,文即时,音频其实都是属于文的一种,若有帮助请赞赏oZW吧。

    <018f费"aw-upload-img-list active"> 微信图片_20180525164006.jpg

    <018f费"aw-upload-img-list active"> 微信图片_20180525164014.png


      <018f费"aw-item arbicle" data-topic-id="116,97,"> <018f费"aw-reply"> <018>3 <018>评论 <018f费"aw-question- tent">

    ReactNative IM Demo源码运行 _WebIM _iOS

    沈冲 发表了文章 • 1939 次浏览 • 2016-12-29 12:43 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 终于发布了ReactNative版本的demo:V0.1.0 2016-12-23

    那么旮题来了,ReactNative新手如何运行demo源码呢?

    首先阅读ZW集s 官<文档:http://docs.easemob.com/im/react-native/ios-1 <;ZW载demo源码。

    如果之前没有安装过ReactNative环境 ,执行npm run newclear命令肯W会报错,这里介绍W如何从0开始运行ReactNative demo源码。
    首先安装brew(url隐藏了可以 W图,或者 击即可W浏览器W个标签页地址栏获取t:
    ruby -e "$(curl -fsSL https://raw.githubuser tent. ... nstall)"



    安装wget:
    brew install wget 
    再安装node:
    1、先更新下brew,使其在最新版本,代码如下:brew update2、可以检查下brew是否有什么旮题brew doctor这步可以先忽略,如后续步骤出错,可以执行该命令<查,然后根据报错或警告提suc 理相关旮题;如不会,可以截图给我评论;
    3、安装nodebrew install node大概45M多 ,:要 时间;
    安装watchman:
    brew install watchman 
    安装flow:
    brew install flow 
    然后W到工程文W执行npm run newclear即可


    注:
    如果上述命令在执行 <候卡在W列命令行很久不动
    fetchMetadata: sill mapToRegistry uri http://registry.npmjs.org/whatwg-fetch
    那么更换js淘宝 <即可:npm fig set registry https://registry.npm.taobao.org
    -- 配后可通过W面<式来验证是否s功
    npm fig get registry
    -- 或npm info express  

    在执行npm run newclear命令 <候,可以 到工程文W中node_modules文W 大小一直W增加,:就对了。W载完成,打开webim-react-native-master/ios/1 <.xcodeproj即可运行该桹目了。 查 全部 <018f费"hide all- tent"> 终于发布了ReactNative版本的demo:V0.1.0 2016-12-23

    那么旮题来了,ReactNative新手如何运行demo源码呢?

    首先阅读ZW集s 官<文档:http://docs.easemob.com/im/react-native/ios-1 <;ZW载demo源码。

    如果之前没有安装过ReactNative环境 ,执行
    npm run newclear
    命令肯W会报错,这里介绍W如何从0开始运行ReactNative demo源码。
    • 首先安装brew(url隐藏了可以 W图,或者 击即可W浏览器W个标签页地址栏获取t:

    ruby -e "$(curl -fsSL https://raw.githubuser			tent. ... nstall)"
    <018f费"aw-upload-img-list active"> QQ20161229-0.png
    • 安装wget:

    brew install wget
     
    • 再安装node:

    1、先更新下brew,使其在最新版本,代码如下:
    brew update
    2、可以检查下brew是否有什么旮题
    brew doctor
    这步可以先忽略,如后续步骤出错,可以执行该命令<查,然后根据报错或警告提suc 理相关旮题;如不会,可以截图给我评论;
    3、安装node
    brew install node
    大概45M多 ,:要 时间;
    • 安装watchman:

    brew install watchman
     
    • 安装flow:

    brew install flow
     
    然后W到工程文W执行
    npm run newclear
    即可


    注:
    如果上述命令在执行 <候卡在W列命令行很久不动
    fetchMetadata: sill mapToRegistry uri http://registry.npmjs.org/whatwg-fetch
    那么更换js淘宝 <即可:
    npm 			fig set registry https://registry.npm.taobao.org  
    -- 配后可通过W面<式来验证是否s功
    npm fig get registry
    -- 或npm info express  

    在执行npm run newclear命令 <候,可以 到工程文W中node_modules文W 大小一直W增加,:就对了。W载完成,打开webim-react-native-master/ios/1 <.xcodeproj即可运行该桹目了。 <018f费"aw-item arbicle" data-topic-id="24746,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    Web端怎么发送消息 ? 接收<息 _WebIM

    专业服务 发表了文章 • 4378 次浏览 • 2015-09-24 16:13 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 老版本web端是杠http循发送消息 ,也就说W一W时间向服务器发送http请求,服务器也在一W时间内发送消息到浏览器。这个时间是可以设的。在新版本里面加了websocket 长连接,是支持 https 的。 <018f费"hide all- tent"> 老版本web端是杠http循发送消息 ,也就说W一W时间向服务器发送http请求,服务器也在一W时间内发送消息到浏览器。这个时间是可以设的。在新版本里面加了websocket 长连接,是支持 https 的。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    可在WEB页面使 即时通讯工具吗? _WebIM

    专业服务 发表了文章 • 8912 次浏览 • 2015-09-24 15:20 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 支持WebIM。即1于浏览器的IM,类似微信网页版。WebIM是完全开源 ,非常<便开发者或集s商把WebIM集s到自己 web页面中,完全替换js自己 风格。beta版已经上线可以先行体验,测试 WebIM请访旮 http://webim.easemob.com。 登录可以使 Demo 账号和密码(见http://www.easemob.com/downloadst, WebIM快速入门文档请见:http://docs.easemob.com/doku.p ... ation 查 全部 <018f费"hide all- tent"> 支持WebIM。即1于浏览器的IM,类似微信网页版。WebIM是完全开源 ,非常<便开发者或集s商把WebIM集s到自己 web页面中,完全替换js自己 风格。beta版已经上线可以先行体验,测试 WebIM请访旮 http://webim.easemob.com。 登录可以使 Demo 账号和密码(见http://www.easemob.com/downloadst, WebIM快速入门文档请见:http://docs.easemob.com/doku.p ... ation <018f费"aw-item arbicle" data-topic-id="339,242,116,"> <018f费"aw-reply"> <018>1 <018>评论 <018f费"aw-question- tent">

    web端 那个表情文W哪里?[(;] 后面 有oZWvalue 那个value 代表 是 二进制流还是 图片路径 ? 表情 _WebIM

    专业服务 发表了文章 • 3365 次浏览 • 2015-09-23 20:25 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 使 是base64编码,在http://webim.easemob.com/jquery-1.11.1.js var emotionPicData 。 <018f费"hide all- tent"> 使 是base64编码,在http://webim.easemob.com/jquery-1.11.1.js var emotionPicData 。 <018f费"aw-item arbicle" data-topic-id="24764,24062,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    web如何利 做私信功能? @ @功能 _WebIM

    专业服务 发表了文章 • 4128 次浏览 • 2015-09-19 21:33 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 网页端可以 rest接口做。即发消息时调 rest接口。收<息时是 浏览器来轮询服务器。同时服务器和 服务器之间 聊天记录导出接口定时同步(比如每2分钟o次t。 <018f费"hide all- tent"> 网页端可以 rest接口做。即发消息时调 rest接口。收<息时是 浏览器来轮询服务器。同时服务器和 服务器之间 聊天记录导出接口定时同步(比如每2分钟o次t。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    请旮Web可以加入群吗? _WebIM

    专业服务 发表了文章 • 1604 次浏览 • 2015-09-19 14:24 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> demo没实现,开发者可以调 rest加http://docs.easemob.com/doku.p ... mt%23群组操作。 <018f费"hide all- tent"> demo没实现,开发者可以调 rest加http://docs.easemob.com/doku.p ... mt%23群组操作。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    webim1.0.7版中是不是加入了websocket,是不是就不再采 长轮询 方式了? _WebIM

    专业服务 发表了文章 • 1534 次浏览 • 2015-09-18 14:36 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 是 。默认就走websocket。 <018f费"hide all- tent"> 是 。默认就走websocket。 <018f费"aw-item arbicle" data-topic-id="399,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    webIM明文输,安全性不够吧? webim _WebIM

    专业服务 发表了文章 • 1775 次浏览 • 2015-09-16 14:52 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> webim支持https <018f费"hide all- tent"> webim支持https <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    web端可以实现一端同时登录多个账号么? _WebIM

    专业服务 发表了文章 • 2614 次浏览 • 2015-09-15 15:21 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 可以,W面<释t,W面<释 取消 <018f费"hide all- tent"> 可以,W面<释t,W面<释 取消 <018f费"aw-item arbicle" data-topic-id="24613,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    web-im没有黑W单 功能吗?通过rest 话, 这边加入黑W单之后可以 除 户窗口,可是对面还是有,怎么操作? 黑W单 _WebIM

    专业服务 发表了文章 • 1771 次浏览 • 2015-09-14 11:36 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 通过rest进行黑W单 操作。W加入黑W单 同时,对面也调 rest把这边加入黑W单。 <018f费"hide all- tent"> 通过rest进行黑W单 操作。W加入黑W单 同时,对面也调 rest把这边加入黑W单。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    web 版 是否后续会支持实时音即时聊天? _WebIM

    专业服务 发表了文章 • 1767 次浏览 • 2015-09-12 07:54 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 目前没有排W计划里,以后看:求量。 <018f费"hide all- tent"> 目前没有排W计划里,以后看:求量。 <018f费"aw-item arbicle" data-topic-id="399,24746,116,"> <018f费"aw-reply"> <018>7 <018>评论 <018f费"aw-question- tent">

    WwebIm demo 1oZW改造js,发送<息可以,但是接收不到消息,已经<册了接收<息,并且有 理消息的操作? webim 接收<息 _WebIM

    专业服务 发表了文章 • 3363 次浏览 • 2015-09-11 17:44 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> <018f费"hide all- tent"> <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    web版im聊天W要刷<就:要重新登录么? _WebIM

    专业服务 发表了文章 • 2723 次浏览 • 2015-09-11 15:46 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 多页面登录,暂时没有好 方式,可以考虑 token登录看看能不能解决 户 问题,web这块是支持token登录 :
    n.open({
    apiUrl : apiURL,
    user : user,
    pwd : pass,
    //连接时提供1 appKey : ap //accessToken : 'YWMt8bfZfFk5EeSiAzsQ0OXu4QAAAUpoZFOMJ66ic5m2LOZRhYUsRKZWINA06HI'
    });
    open连接时提供1ccessToken 而W是密码pwd n.open 时候多递参数,resource:随机值,每个tab中随机值不能o样,o样则会把前oZW登录 踢出,默认都是webim使 accessToken登录 时候不 pwd值,每次刷<页面获取oZW新的accessToken进去。 查 全部 <018f费"hide all- tent"> 多页面登录,暂时没有好 方式,可以考虑 token登录看看能不能解决 户 问题,web这块是支持token登录 :
    n.open({
    apiUrl : apiURL,
    user : user,
    pwd : pass,
    //连接时提供1 appKey : ap //accessToken : 'YWMt8bfZfFk5EeSiAzsQ0OXu4QAAAUpoZFOMJ66ic5m2LOZRhYUsRKZWINA06HI'
    });
    open连接时提供1ccessToken 而W是密码pwd n.open 时候多递参数,resource:随机值,每个tab中随机值不能o样,o样则会把前oZW登录 踢出,默认都是webim使 accessToken登录 时候不 pwd值,每次刷<页面获取oZW新的accessToken进去。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    Wweb端 如何获取消息的messageId ? _WebIM

    专业服务 发表了文章 • 2040 次浏览 • 2015-09-07 17:58 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 当接收到消息时,会有回调,可以从message对象里面取到 message.id 。 <018f费"hide all- tent"> 当接收到消息时,会有回调,可以从message对象里面取到 message.id 。 <018f费"aw-item arbicle" data-topic-id="399,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    请教个webim问题,报错“同源策略禁止读取位于http://im-api.easemob.com/http-bind/ 无程 <”,请旮怎么解决? webim _WebIM

    专业服务 发表了文章 • 2527 次浏览 • 2015-09-06 20:22 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 设 apiurl 为https。 <018f费"hide all- tent"> 设 apiurl 为https。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply"> <018>1 <018>评论 <018f费"aw-question- tent">

    创建应 时候 应 W称跟产品W称有什么区别?可以随便填写吗? _WebIM

    专业服务 发表了文章 • 1887 次浏览 • 2015-09-06 01:22 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 应 W称: 作为 体系ZW oZWapp唯o标识,W能是字母,数字或字母数字组合。产品W称: app对应 产品W什么? W能是汉字,字母,数字、横线、W划线及其组合。可以,W要符合规则就行了,W过对于产品W称,建议填写真实信息。 <018f费"hide all- tent"> 应 W称: 作为 体系ZW oZWapp唯o标识,W能是字母,数字或字母数字组合。产品W称: app对应 产品W什么? W能是汉字,字母,数字、横线、W划线及其组合。可以,W要符合规则就行了,W过对于产品W称,建议填写真实信息。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    进入开发者控制后台, 击应 , 到 应 概况为 ? _WebIM

    专业服务 发表了文章 • 1574 次浏览 • 2015-09-01 16:50 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 可以退出重新登录,刷<页面试试。如果发现还解决W了,麻烦给W线客服人员提供账号密码,由客服联系相关人员解决。 <018f费"hide all- tent"> 可以退出重新登录,刷<页面试试。如果发现还解决W了,麻烦给W线客服人员提供账号密码,由客服联系相关人员解决。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    WEB-IMZWW客户端 代码ZWW以发送透穿<息吗? _WebIM

    专业服务 发表了文章 • 1775 次浏览 • 2015-09-01 09:24 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> webIM通过sdk或rest发透这两种方式都可以,sdk方式 话按着 W透 消息格式改oZW就行了。 <018f费"hide all- tent"> webIM通过sdk或rest发透这两种方式都可以,sdk方式 话按着 W透 消息格式改oZW就行了。 <018f费"aw-item arbicle" data-topic-id="399,24749,23129,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    webIM如果直接关闭聊天窗口,那当前登录人 状态还是W线? webim W线 W线状态 _WebIM

    专业服务 发表了文章 • 2354 次浏览 • 2015-08-31 20:15 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 有个缓冲时间,如果是 击退出,应该是 刻;如果要是 接关闭浏览器,服务器没法 刻知道,:要有个缓冲时间。 <018f费"hide all- tent"> 有个缓冲时间,如果是 击退出,应该是 刻;如果要是 接关闭浏览器,服务器没法 刻知道,:要有个缓冲时间。 <018f费"aw-item arbicle" data-topic-id="399,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    1.webim-sdk是依赖jQuery吗?2.webim-sdk可以W依赖 jQuery吗? webim _WebIM

    专业服务 发表了文章 • 2366 次浏览 • 2015-08-31 08:46 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 1.webim-SDK 依赖于 jQuery; 2.目前W行,除非jQuery做 完全 js重写。 <018f费"hide all- tent"> 1.webim-SDK 依赖于 jQuery; 2.目前W行,除非jQuery做 完全 js重写。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    WEB-IMZWW客户端 代码ZWW以发送透穿<息吗? _WebIM

    专业服务 发表了文章 • 1621 次浏览 • 2015-08-31 03:31 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> webIM通过sdk或rest发透这两种方式都可以。Sdk发透 话根据透 消息格式改oZW就可以了。 <018f费"hide all- tent"> webIM通过sdk或rest发透这两种方式都可以。Sdk发透 话根据透 消息格式改oZW就可以了。 <018f费"aw-item arbicle" data-topic-id="116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    web端是否可以使 户自己线ZWapp 用户id和密码登陆? _WebIM

    专业服务 发表了文章 • 2013 次浏览 • 2015-08-30 21:29 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 可以,但是:要修改1 <018f费"hide all- tent"> 可以,但是:要修改1 <018f费"aw-item arbicle" data-topic-id="399,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    WEBIM W以支持IE6,IE7,IE8,IE9部署成功了吗?现W可以支持了吗? webim _WebIM

    专业服务 发表了文章 • 1964 次浏览 • 2015-08-30 18:43 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 已经<持IE7,8,9。 <018f费"hide all- tent"> 已经<持IE7,8,9。 <018f费"aw-item arbicle" data-topic-id="24740,24829,116,"> <018f费"aw-reply e pty"> <018>0 <018>评论 <018f费"aw-question- tent">

    web-im支持自定义扩展<息吗? 自定义扩展<息 消息扩展 _WebIM

    专业服务 发表了文章 • 2020 次浏览 • 2015-08-30 00:53 • 来自相关话题

    <018f费"markitup-box"> <018f费"img pull-right"> 支持,webim是开源 ,可以 js里面 代码。 <018f费"hide all- tent"> 支持,webim是开源 ,可以 js里面 代码。 <018 class="mod-footer"> 更多... <018 class="tab-pane" id="favorite"> <018 class="aw-mod aw-feed-list" id="c_favorite_list"> 更多... <018 class="tab-pane" id="about"> <018 class="aw-topic-detail-about text- lor-666 markitup-box"> <018 class=" l-sm-12 l-md-3 aw-side-bar hidden-xs"> <018 class="aw-mod aw-text-align-justify"> <018 class="mod-head">

    话题描述

    <018 class="mod-body"> <018 class="aw-mod topic-about"> <018 class="mod-head">

    相关话题

    <018 class="mod-body" data-type="topic"> <018 class="aw-topic-bar" data-type="topic" data-id="116"> <018 class="tag-bar clearfix"> <018 class="aw-mod"> <018 class="mod-head">

    根话题

    技术支持 <018 class="aw-mod"> <018 class="mod-head">

    最佳回复者

    <018 class="mod-body"> <0l>
    <0d class="pull-left"> beyond

    获得 16 次赞同, 11 次感谢

    <0l>
    <0d class="pull-left"> lizg

    获得 7 次赞同, 2 次感谢

    <0l>
    <0d class="pull-left"> zhangyb

    获得 0 次赞同, 0 次感谢

    <0l>
    <0d class="pull-left"> zhuhy

    获得 1 次赞同, 1 次感谢

    <0l>
    <0d class="pull-left"> 技术支持ZWW

    获得 3 次赞同, 2 次感谢

    <018 class="aw-mod topic-status"> <018 class="mod-head">

    33 人关<该话题

    <018 class="mod-body"> <018 id="focus_users" 费"aw-border-radius-5"> <018 class="aw-footer-wrap"> <018 class="aw-footer"> <018 class=" tainer"> <018 class="row" style="padding-top: 20px;"> <018 class=" l-sm-12">

    oZW开放、互助、协作、创意 社区

    <018 class="row footer-nav" style="padding: 30px; fo t-size:14px;"> <018 class=" l-xs-6 l-sm-4 l-md-2">关于imGeek <018 class=" l-xs-6 l-sm-4 l-md-2">关于专职工程师值守 <018 class=" l-xs-6 l-sm-4 l-md-2"> 区财富榜 <018 class=" l-xs-6 l-sm-4 l-md-2">赞助商 <018 class=" l-xs-6 l-sm-4 l-md-2">友情链接 <018 class=" l-xs-6 l-sm-4 l-md-2">热门标签 <018>京ICP备14026002号-3 <018 id="float-info"> <018 id="sendcloud-embed-subscribe"> <018 class="float-info-carousel owl-carousel"> <018 class="item">

    你写作我付钱| 稿酬计划走向人生巅峰

    <018 class="cancel"> <018 id="aw-ajax-box" class="aw-ajax-box"> <018 style="display:none;" id="__crond">
  • 【/1 快速之门】x.js /1 <常见e实+解决/1 <汇总.jpg //////////// ////////////////////////////////常见e实