环信成立于2013年4月,是一家全通讯能力云服务提供商。产品包括全球最大的即时通讯云 PaaS 平台——环信即时通讯云.

最近在工作中遇到要整合环信即时通讯,通过在网上搜索没有搜到特别全的案例,故此自己一点一点翻阅开发文档进行开发,以此记录下来和广大博友分享。

由于项目保密,故此稍后讲述将以干净的ThinkPHP框架代码进行整合。

1、注册环信帐号

要想使用环信即时通讯系统,首先你要注册一个环信帐号,在里面添加好自己的应用,获取环信后台生成的“ client_id、client_secret、org_name、app_name” 。已备稍后在整合开发中进行使用。

关于如何注册环信帐号,如何添加自己的应用博主就不在这里一一讲述了,这不是本博文的重点。

2、下载环信的DEMO

1) 可以在本人的资源模块进行下载(包含ThinkPHP,已整合好);

2) 可以在环信的官网中进行下载;

3) 可以通过GitHub进行下载;Git地址:https://github.com/easemob/emchat-server-examples.git

3、整合第一步:将文件放入到框架中

将下载到的文件解压得到 “ Easemob.class.php” 文件放入到ThinkPHP框架的核心库中。也就是 “ \ThinkPHP\Library\Think ” 文件夹下。在 “ Easemob.class.php ” 添加命名空间。

//命名空间
namespace Think;

4、整合第二步:在控制器引入Easemob类

我们要使用“ Easemob.class.php ” 文件就要在控制器中引入。

//将Easemob类引入到控制器
//我们应该尽量避免使用require、require_one
use Think\Easemob;

5、整合第三步:开始在控制器使用

将自己在注册成为环信即时通讯系统用户,添加自己的应用后得到的:“ client_id、client_secret、org_name、app_name” 拷贝下来。

<?phpnamespace Home\Controller;use Think\Controller;
use Think\Easemob;class IndexController extends Controller
{public function index(){$this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>!</p></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>', 'utf-8');}/*** 在环信即时通讯系统注册为IM用户* @param $username 用户名* @param $password 登录密码* @param $nickname 昵称*/public function registerImUser($username, $password, $nickname){$options['client_id'] = 'xxxxxxxxxxxxxxxxxxxxxxxxx';$options['client_secret'] = '###########################';$options['org_name'] = '*******';$options['app_name'] = '@@@@@@@';$e = new Easemob($options);//传入用户名和登录密码参数注册为IM用户$result_u = $e->createUser($username, $password);//传入注册用户名和昵称,修改用户昵称$result_n = $e->editNickname($username, $nickname);//return $result_u;return $result_n;}/*** 用于在环信即时通讯系统创建聊天群* @param $groupName string 聊天群组名——不能使用汉字* @param $desc string 聊天群组描述* @param $ower string 聊天群主名——也就是在环信后台注册的IM用户名* @param $members array 聊天群组员——也就是在环信后台注册的IM用户名*/public function createGroup($groupName, $desc, $ower, $members){<pre name="code" class="php"><span style="white-space:pre">    </span>$options['client_id'] = 'xxxxxxxxxxxxxxxxxxxxxxxxx';$options['client_secret'] = '###########################';$options['org_name'] = '*******';$options['app_name'] = '@@@@@@@';

$e = new Easemob($options); $param['groupname'] = $groupName; $param['desc'] = $desc; $param['public'] = true; $param['ower'] = $ower; $param['members'] = $members; return $e->createGroup($param); }} 这样我们就可以使用了。

6、多余的话

1)  里面写好的方法很多都在压缩包里,请大家下载查看,像创建单个用户、创建批量用户、重置用户密码、查看好友、查看黑名单、修改群组信息等等大概70个方法供大家使用;

2) 从上述代码我们可以看出,每次重新 “ new  Easemob($options) ” 的时候,我们总要先写四条:

//你的client_id值
$options['client_id'] = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
//你的client_secret值
$options['client_secret'] = '###########################';
//你的org_name注册名
$options['org_name'] = '*******';
//你的应用名称app_name
$options['app_name'] = '@@@@@@@';

这样看起来有点代码冗余,我们可以把这四个值直接写到 “ Easemob.class.php ” 类文件的构造函数中:

/*** 初始化参数** @param array $options* @param $options ['client_id']* @param $options ['client_secret']* @param $options ['org_name']* @param $options ['app_name']*/public function __construct($options){$this->client_id = isset ($options ['client_id']) ? $options ['client_id'] : 'xxxxxxxxxxxxxxxxxxxxxx';$this->client_secret = isset ($options ['client_secret']) ? $options ['client_secret'] : '#####################';$this->org_name = isset ($options ['org_name']) ? $options ['org_name'] : '********';$this->app_name = isset ($options ['app_name']) ? $options ['app_name'] : '@@@@@@@@';if (!empty ($this->org_name) && !empty ($this->app_name)) {$this->url = 'https://a1.easemob.com/' . $this->org_name . '/' . $this->app_name . '/';}}

结语:编程真的是一件很美好的事。

ThinkPHP框架整合环信即时通讯DEMO相关推荐

  1. 环信即时通讯SDK集成——实战:快速实现iOS应用中集成即时通讯IM和UI

    准备 熟练objective-c语言 有一台mac电脑,并安装了xcode 和 cocoapods 目标 手把手教大家在iOS应用中集成即时通讯IM 功能 内容篇幅较长,需要内心平和耐心看下去,务必戒 ...

  2. 【APICloud系列|25】 easeChat模块(环信-即时通讯)的实现

    导读:easeChat 模块封装了环信即时通讯云的开放SDK,封装的接口都是纯功能类接口, 主要分三大类: 1,注册.登录.退出.监听 2,创建群组.添加/删除好友.获取好友列表 3,消息.会话.聊天 ...

  3. 环信即时通讯云iOS版V2.0.9.1服务评测

    集成测试 评测环境 2G/3G/WiFi网络下: 测评环境 MAC OS(10.9.2)+ XCode(5.1) + iPhone 测试对象 环信即时通讯云 IOS SDK Version 2.0.9 ...

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

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

  5. vue2集成声网-环信即时通讯SDK,建议实现两人聊天

    1.注册登陆环信并创建用户 步骤:注册 => 登录 => 创建应用 => 创建应用用户 登录注册:环信登陆注册页面(https://console.easemob.com/user/ ...

  6. Android 环信即时通讯集成

    1.  首先需要注册环信即时通讯    主要是获取到appkey 2. 下载Android  的 sdk  和 demo 3. 第三步 我先忙需要导入  easeui 声明一点 libs.lite  ...

  7. android 环信集成,Android Studio下的环信即时通讯简单集成

    环信即时通讯云是全球最大的即时通讯云 PaaS 平台,可以快速实现APP的即时通讯的功能,官方的DEMO是基于Eclipse开发的,对于新版本的Android Studio支持不太好,下面就简单说一下 ...

  8. 环信即时通讯单聊集成,添加好友,实现单聊

    前段时间由于项目需要,了解一下环信即时通讯,然后自己通过查资料写了一个基于环信的单聊demo,一下是源码,希望可以帮助到需要的小伙伴. 首先,我们要去环信官网注册账号,这个我就不多说了,注册完登录,创 ...

  9. 环信 即时通讯sdk实现客服功能

    仅适用于已经集成环信 即时通讯sdk,又需求实现客服功能,而不更换sdk. 下面的api环信 即时通讯并没有在文档中暴露,是我咨询了环信客服后知道的 核心就是 给 Message对象  setAttr ...

最新文章

  1. 016_Redis集群的删除和添加节点
  2. iOS经典面试题之分析self class与super class的区别和底层原理
  3. android记账本统计_记账送老婆啦!初音 蕾姆 随便挑随便选| iOS 安卓
  4. 2021年度移动广告流量观察白皮书
  5. WordPress一个还不错的404html单页代码
  6. 决策树学习笔记整理【转】
  7. Bootstrap导航条中组件的排列
  8. xampp如何上传文件到服务器,xampp安装到云服务器
  9. 开源 画图_[软件使用05] 快速使用 Deeptools 对 ChIP-seq 数据画图!
  10. javascript第二天学习
  11. 老司机 iOS 周报 #42 | 2018-11-05
  12. Velocity-模板引擎(代码生成等)
  13. c语言分析工具——函数调用关系生成图像、流程图生成器
  14. PCB设计-Allegro软件入门系列第十四讲-设计参数配置(上)
  15. StarUML 3 中文文档 组合结构图
  16. 积化和差公式记忆口诀
  17. hdoj 瞬间移动 5698(逆元)
  18. Chrome 浏览器安装插件
  19. 【Python爬虫】Python+Selenium爬取百度圣卡/网易白金卡手机靓号
  20. 计算机服务器机房 消防灭火,服务器机房消防系统和维护

热门文章

  1. 招聘 - 垂直搜索介绍
  2. ubuntu16.04安装cajviewer(亲测有效)
  3. js 年 年-月 年-月-日 正则表达式
  4. 深耕万亿城市AIoT市场,旷视如何发力城市大空间?
  5. 等差数列和等比数列的公式、法则、定理
  6. LinkedIn开源Dr.elephant,Hadoop爽了
  7. 你可能不知道的 ZooKeeper 知识点
  8. 计算机一级有很多套吗,计算机一级考试有(答案的10套题).doc
  9. [日推荐]『绿豆旅行记账』能帮你省钱的旅行小工具
  10. NX二次开发 创建坐标系 UF_CSYS_create_csys()