很多场景需要用到即时通讯,独立开发成本太高,选择第三方比较合适,就使用过的环信做一个大致流程介绍,不评价好坏

1,注册环信即时通讯云账号:官网.然后登录后台创建应用

注:开放注册是指不需要管理员授权同意就可以注册新用户,授权注册意思也就明白了

创建成功之后如下图所示,会出现应用的标识,其中一些数据开发中会用到

2,创建成功之后进行调用操作(以下代码基于tp3.2)

1)获取app管理员token,并做缓存处理function __construct()

{

//token做一个缓存处理,避免频繁请求

$this->token = S('hx_token');

file_put_contents('token.txt',$this->token);

if(empty($this->token)){

$url = $this->url . "/token";

$data = array(

"grant_type" => "client_credentials",

"client_id" => $this->client_id,           //这里为上图中蓝框数据

"client_secret" => $this->client_secret

);

$rs = json_decode($this->curl($url, $data), true);

S('hx_token', $rs['access_token'], 3600);

$this->token = $rs['access_token'];

}

}

2)注册环信IM用户public function hx_register($username, $password, $nickname)

{

$url = $this->url . "/users";

$data = array(

'username' => $username, //环信账号

'password' => $password, //密码

'nickname' => $nickname  //昵称

);

$header = array(

'Content-Type: application/json',

'Authorization: Bearer ' . $this->token

);

return $this->curl($url, $data, $header, "POST");

}

3)添加好友关系//param@ $owner_username自身账号 , $friend_username 对方账号

public function hx_contacts($owner_username, $friend_username)

{

$url = $this->url . "/users/${owner_username}/contacts/users/${friend_username}";

$header = array(

'Authorization: Bearer ' . $this->token

);

return $this->curl($url, "", $header, "POST");

}

4)curl方法private function curl($url, $data, $header = false, $method = "POST")

{

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

if ($header) {

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

}

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);

if ($data) {

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

}

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

$ret = curl_exec($ch);

return $ret;

}

3,仅做参考,更多的使用方法请移步官方文档

php 环信easyui_php集成环信IM即时通讯系统(大致流程方法)相关推荐

  1. android 环信 emmessagelistener,集成环信实现简单聊天功能

    废话不多说,先上效果图 下面来实现 1.第一步导入jar or so 去环信下载sdk导入到我们的项目中 导入完成之后我们区项目的build文件中,android括号的最下方加上以下代码 不然jar无 ...

  2. 环信IM SDK使用(一):集成环信SDK及注意事项

    环信IM SDK可以帮助用户快速开发IM相关的应用.如何快速集成环信IM SDK呢? 首先附上环信官网的集成SDK的文档:Android SDK 介绍及导入 一.集成环信IM SDK 1.申请环信Ap ...

  3. 李洪强iOS开发本人集成环信的经验总结_01环信SDK的导入

    李洪强iOS开发本人集成环信的经验总结_01环信SDK的导入 01 - 直接在项目中导入SDK和一些静态库 这个时候,没有错误的编译没有错误的话,就说明SDK已经配置成功 还有一种方法是用cocoap ...

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

    功能背景: 以前和朋友一块儿作了一个wbe项目集成环信的即时通讯的功能,作的时候感叹web端文档太少,并且npm包有一些坑,记录下来写了这篇博客,以后不断有人加我微信问我,怎么集成.如今我再来重写一下 ...

  5. 环信即时通讯SDK集成——如何使用Swift快速集成环信IM iOS SDK并实现单聊

    本文介绍如何使用swift快速集成环信即时通讯 IM iOS SDK 实现单聊. 前提条件 • Xcode (推荐最新版本). • 安装 iOS 10.0 或更高版本的 iOS 模拟器或 Apple ...

  6. AndroidStudio 集成环信的一个坑

    AndroidStudio版本 2.2, 模拟器版本 android5.1 ,CPU/ABI x86_64 CPU/ABI x86_64 请留意下 环信的libs 下,有一个x86 文件夹,里面有一个 ...

  7. 集成环信easeUI添加联系人详情页面ListView的显示处理步聚

    集成环信easeUI添加联系人详情页面ListView的显示处理步聚 tags:环信集成 文章目录 集成环信easeUI添加联系人详情页面ListView的显示处理步聚 1.建立一个ListView布 ...

  8. Java服务端集成环信IM

    由于业务需求,需要在系统中集成环信,所以去看了下官方文档,写篇博客分享一下. 在开始之前,我们需要了解一下什么是REST. REST(Representational State Transfer)是 ...

  9. Java服务端集成环信im即时通讯

    Java服务端集成环信im即时通讯 先去GitHub上下载官方给的示例 说明一下环信给的demo 解压下载的包 导入项目之后加几个jar包 注意事项 修改OrgInfo和TokenUtil类 跟据IM ...

最新文章

  1. 百度燎原计划2018强势回归 开放深度学习工程师评价标准
  2. 移动端最强适配(rem适配之px2rem) 移动端结合Vuex实现简单loading加载效果
  3. Promise的用简要使用方式
  4. zabbix之 自定义内存使用率监控报警
  5. linux 访问日志ip排序,Linux通过日志文件统计IP访问次数排序
  6. windows Virtualbox下配置Ubuntu,且用ssh连接
  7. 「轻松转换」专业的PDF转换Excel软件:PDF to Excel Converter for Mac
  8. Python的类和对象
  9. 头条限流是什么原因_教训:千万不要用百家号去绑定头条号,后果你想象不到...
  10. 网易VIP邮箱及163vip邮箱特点介绍
  11. 昆仑通泰历史数据导出到u盘_昆仑通态(mcgsTpc)触摸屏 U盘功能包下载步骤
  12. APP兼容性测试如何测试?
  13. 计算机中ms-dos什么意思,msdos是什么意思
  14. 测评分享丨海思Hi3519AV100开发板功能测试
  15. 双驰推大规模个性化定制生产迎来颠覆性变革
  16. 飞信2010分析 – SIPC验证
  17. 花空流水去,过往皆云烟
  18. JLINK仿真器来仿真调试mini2440
  19. 多个视频的音频互换软件,一键互换视频的音频声音
  20. java优化for循环

热门文章

  1. README.generic-sessions.md
  2. pairs和iparis
  3. python3安装speech语音模块
  4. SpringSecurity原理:探究SpringSecurity运作流程
  5. VC知识库之应用控制
  6. wincc卡死、wincc运行卡在变量记录不动怎么办?WinCC在激活过程中卡住了怎么办?...
  7. Java的Socket网络编程
  8. vmware虚拟机屏幕如何适应窗口全屏
  9. Fair Resource Allocation in Federated Learning
  10. linux中管道符“|”的作用