ThinkPHP框架整合环信即时通讯DEMO
环信成立于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相关推荐
- 环信即时通讯SDK集成——实战:快速实现iOS应用中集成即时通讯IM和UI
准备 熟练objective-c语言 有一台mac电脑,并安装了xcode 和 cocoapods 目标 手把手教大家在iOS应用中集成即时通讯IM 功能 内容篇幅较长,需要内心平和耐心看下去,务必戒 ...
- 【APICloud系列|25】 easeChat模块(环信-即时通讯)的实现
导读:easeChat 模块封装了环信即时通讯云的开放SDK,封装的接口都是纯功能类接口, 主要分三大类: 1,注册.登录.退出.监听 2,创建群组.添加/删除好友.获取好友列表 3,消息.会话.聊天 ...
- 环信即时通讯云iOS版V2.0.9.1服务评测
集成测试 评测环境 2G/3G/WiFi网络下: 测评环境 MAC OS(10.9.2)+ XCode(5.1) + iPhone 测试对象 环信即时通讯云 IOS SDK Version 2.0.9 ...
- 环信即时通讯SDK集成——如何使用Swift快速集成环信IM iOS SDK并实现单聊
本文介绍如何使用swift快速集成环信即时通讯 IM iOS SDK 实现单聊. 前提条件 • Xcode (推荐最新版本). • 安装 iOS 10.0 或更高版本的 iOS 模拟器或 Apple ...
- vue2集成声网-环信即时通讯SDK,建议实现两人聊天
1.注册登陆环信并创建用户 步骤:注册 => 登录 => 创建应用 => 创建应用用户 登录注册:环信登陆注册页面(https://console.easemob.com/user/ ...
- Android 环信即时通讯集成
1. 首先需要注册环信即时通讯 主要是获取到appkey 2. 下载Android 的 sdk 和 demo 3. 第三步 我先忙需要导入 easeui 声明一点 libs.lite ...
- android 环信集成,Android Studio下的环信即时通讯简单集成
环信即时通讯云是全球最大的即时通讯云 PaaS 平台,可以快速实现APP的即时通讯的功能,官方的DEMO是基于Eclipse开发的,对于新版本的Android Studio支持不太好,下面就简单说一下 ...
- 环信即时通讯单聊集成,添加好友,实现单聊
前段时间由于项目需要,了解一下环信即时通讯,然后自己通过查资料写了一个基于环信的单聊demo,一下是源码,希望可以帮助到需要的小伙伴. 首先,我们要去环信官网注册账号,这个我就不多说了,注册完登录,创 ...
- 环信 即时通讯sdk实现客服功能
仅适用于已经集成环信 即时通讯sdk,又需求实现客服功能,而不更换sdk. 下面的api环信 即时通讯并没有在文档中暴露,是我咨询了环信客服后知道的 核心就是 给 Message对象 setAttr ...
最新文章
- 016_Redis集群的删除和添加节点
- iOS经典面试题之分析self class与super class的区别和底层原理
- android记账本统计_记账送老婆啦!初音 蕾姆 随便挑随便选| iOS 安卓
- 2021年度移动广告流量观察白皮书
- WordPress一个还不错的404html单页代码
- 决策树学习笔记整理【转】
- Bootstrap导航条中组件的排列
- xampp如何上传文件到服务器,xampp安装到云服务器
- 开源 画图_[软件使用05] 快速使用 Deeptools 对 ChIP-seq 数据画图!
- javascript第二天学习
- 老司机 iOS 周报 #42 | 2018-11-05
- Velocity-模板引擎(代码生成等)
- c语言分析工具——函数调用关系生成图像、流程图生成器
- PCB设计-Allegro软件入门系列第十四讲-设计参数配置(上)
- StarUML 3 中文文档 组合结构图
- 积化和差公式记忆口诀
- hdoj 瞬间移动 5698(逆元)
- Chrome 浏览器安装插件
- 【Python爬虫】Python+Selenium爬取百度圣卡/网易白金卡手机靓号
- 计算机服务器机房 消防灭火,服务器机房消防系统和维护
热门文章
- 招聘 - 垂直搜索介绍
- ubuntu16.04安装cajviewer(亲测有效)
- js 年 年-月 年-月-日 正则表达式
- 深耕万亿城市AIoT市场,旷视如何发力城市大空间?
- 等差数列和等比数列的公式、法则、定理
- LinkedIn开源Dr.elephant,Hadoop爽了
- 你可能不知道的 ZooKeeper 知识点
- 计算机一级有很多套吗,计算机一级考试有(答案的10套题).doc
- [日推荐]『绿豆旅行记账』能帮你省钱的旅行小工具
- NX二次开发 创建坐标系 UF_CSYS_create_csys()