ThinkPHP框架整合环信即时通讯DEMO
来源:互联网 发布:台湾大学知乎 编辑:程序博客网 时间:2024/06/01 17:04
环信成立于2013年4月,是一家全通讯能力云服务提供商。产品包括全球最大的即时通讯云 PaaS 平台——环信即时通讯云.
1、注册环信帐号最近在工作中遇到要整合环信即时通讯,通过在网上搜索没有搜到特别全的案例,故此自己一点一点翻阅开发文档进行开发,以此记录下来和广大博友分享。
由于项目保密,故此稍后讲述将以干净的ThinkPHP框架代码进行整合。
要想使用环信即时通讯系统,首先你要注册一个环信帐号,在里面添加好自己的应用,获取环信后台生成的“ 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_oneuse 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
- ThinkPHP框架整合极光推送DEMO
- ThinkPHP框架整合友盟推送DEMO
- ThinkPHP框架整合phpqrcode生成二维码DEMO
- ThinkPHP框架整合phpqrcode生成二维码DEMO
- 环信即时通讯-服务器端集成(REST API)-php版demo
- 环信即时通讯Demo如何导入Studio (防丢失)
- ThinkPHP微信demo实例
- thinkphp 整合微信支付
- 环信即时通讯云
- 即时通讯(环信) bug
- 环信即时通讯
- 环信即时通讯
- 环信即时通讯聊天记录
- 即时通讯-环信
- SSH框架整合demo
- ThinkPHP--模板与框架整合
- thinkphp整合系列之融云即时通讯在线聊天
- 网易笔试题:比较重量
- 基础知识补漏-控制文件和引导
- 雅虎过度效果
- 移植u-boot2012.04.1 -》2440 (三)nandflash 识别
- Page directive: invalid value for import
- ThinkPHP框架整合环信即时通讯DEMO
- UIView坐标转换
- 使用chart.js添加动态背景图
- Android电话系统rild-概述篇
- 易宝支付为二清机构放开通道,导致POS代理机构卷款跑路
- 画一个渐变的圆环
- Qt程序打包发布
- Innodb和Myisam的缓存机制
- [Backbone.js]的AJAX使用