Package Data | |
---|---|
Maintainer Username: | quhang |
Maintainer Contact: | quhang36@gmail.com (john) |
Package Create Date: | 2017-07-12 |
Package Last Update: | 2017-07-13 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2025-02-07 03:01:50 |
Package Statistics | |
---|---|
Total Downloads: | 374 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 2 |
Total Watchers: | 1 |
Total Forks: | 1 |
Total Open Issues: | 1 |
laravel-easemob 将环信 v3.0 服务端的操作进行了封装, 查看环信官方文档
composer 安装
composer require quhang/laravel-easemob
在 config/app.php
中添加下面两项
[
'providers' => [
...
Quhang\LaravelEasemob\EasemobServiceProvider::class,
]
'aliases' => [
...
'Easemob' => Quhang\LaravelEasemob\Facade\Easemob::class,
]
]
php artisan vendor:publish --provider="Quhang\LaravelEasemob\EasemobServiceProvider"
config/easemob.php
host
环信服务地址, http://a1.easemob.comorg_name
app_name
client_id
client_secret
download_file_path
下载环信资源保存目录Resource 方法返回数据格式
[
'code' => -1,
'exception' => false,
'message' => '',
'data' => []
]
exception = true
时, 说明此次操作存在异常, 此时应查看 message
和 data
message
保存的是程序异常信息, data
返回的是环信的错误信息, 当无响应时 data
为空数组
code = -1
表示无响应, code != -1
表示 http
状态码
Service
是个单例对象存放在容器中, Resource
就是通过它进行 http
通信:
setHost($host)
Easemob::service()->setHost('http://a1.easemob.com')
setOrgName($org)
Easemob::service()->setOrgName('11221xxx8276')
setAppName($appName)
Easemob::service()->setAppName('testapp')
setClientId($clientID)
Easemob::service()->setClientId('YXA6Irz_oI-xxx-FFvbfaMbQ')
setClientSecret($clientSecret)
Easemob::service()->setClientSecret('YXA6VsR5Jxxx....xxxYklmho0Vw')
setConfig(array $config)
Easemob::service()->setConfig([
'host' => 'http://xx.com',
'org_name' => 'xxx',
'app_name' => 'xxx',
'client_id' => 'xxx ,
'client_secret' => 'xxx',
'download_file_path' => 'xxx'
])
get()
Easemob::token()->get()
registerregister($username, $password, $nickname = '', $authorization = false)
// 开放注册
Easemob::user()->register('username1', '123456')
// 授权注册
Easemob::user()->register('username1', '123456', '', false)
或
Easemob::user()->authorizeRegister('username1', '123456')
batchRegister(array $users)
Easemob::user()->batchRegister([
['username' => 'username2', 'password' => '123456', 'nickname' => 'xxx'],
['username' => 'username3', 'password' => '123456']
])
profile()
Easemob::user('username')->profile()
get($limit = 20, $cursor = '')
Easemob::user()->get()
delete()
Easemob::user('username')->delete()
batchDelete($limit = 100)
Easemob::user()->batchDelete(1)
setPassword($password)
Easemob::user('username')->setPassword('123456')
setNickname($nickname)
Easemob::user('username')->setNickname('xxx')
addFriend($friendName)
Easemob::user('username')->addFriend('friend_name')
removeFriend($friendName)
Easemob::user('username')->removeFriend('friend_name')
friends()
Easemob::user('username')->friends()
blocks()
Easemob::user('username')->blocks()
addBlocks(array $users)
Easemob::user('usernameX')->addBlocks(['username1', 'username2', ...])
removeBlocks($blockuser)
Easemob::user('username')->removeBlocks('blockuser')
status()
Easemob::user('username')->status()
offlineMsgCount()
Easemob::user('username')->countOfflineMsg()
offlineMsgStatus($msgID)
Easemob::user('username')->offlineMsgStatus('msg_id')
deactivate()
Easemob::user('username')->deactivate()
activate()
Easemob::user('username')->activate()
download($time)
Easemob::chatMessage()->download('2017071210')
upload($path, $restrictAccess = false)
Easemob::chatFile()->upload('/xx/xx.xx')
download($fileuuid, $shareSecret, $thumbnail = true)
Easemob::chatFile()->download('uuid', 'share_secret')
send(array $attributes = [])
// 发送文本消息
Easemob::message()->send([
'target_type' => 'users',
'target' => ['username3'],
'msg' => [
'type' => 'txt',
'msg' => 'hello'
],
'from' => 'username2'
])
// 发送图片消息
Easemob::message()->send([
'target_type' => 'users',
'target' => ['username3'],
'msg' => [
'type' => 'img',
'url' => 'https://a1.easemob.com/11221xxxx8276/texxxapp/chatfiles/82de0980-66b6-11e7-9e82-4db84d77ebaf',
'filename' => 'default.jpg',
'secret' => 'gt4Jima2EeeFaDWOASFbGgiYkUq_YIXAYyPUNT8DxW7GxJSv',
'size' => [
'width' => 36,
'height' => 36
]
],
'from' => 'username2'
])
// 发送语音消息
Easemob::message()->send([
'target_type' => 'users',
'target' => ['username3'],
'msg' => [
'type' => 'audio',
'url' => 'https://a1.easemob.com/11221xxxx8276/texxxapp/chatfiles/82de0980-66b6-11e7-9e82-4db84d77ebaf',
'filename' => 'default.jpg',
'secret' => 'gt4Jima2EeeFaDWOASFbGgiYkUq_YIXAYyPUNT8DxW7GxJSv',
'length' => 10
],
'from' => 'username2'
])
// 发送视频消息
Easemob::message()->send([
'target_type' => 'users',
'target' => ['username3'],
'msg' => [
'type' => 'video',
'url' => 'https://a1.easemob.com/easemob-demo/chatdemoui/chatfiles/671dfe30-7f69-11e4-ba67-8fef0d502f46',
'filename' => '1418105136313.mp4',
'secret' => 'VfEpSmSvEeS7yU8dwa9rAQc-DIL2HhmpujTNfSTsrDt6eNb_',
'thumb_secret' => 'ZyebKn9pEeSSfY03ROk7ND24zUf74s7HpPN1oMV-1JxN2O2I'
'file_length' => 58103,
'thumb'=> 'https://a1.easemob.com/easemob-demo/chatdemoui/chatfiles/67279b20-7f69-11e4-8eee-21d3334b3a97'
],
'from' => 'username2'
])
// 发送透传消息
Easemob::message()->send([
'target_type' => 'users',
'target' => ['username3'],
'msg' => [
'type' => 'cmd',
'action' => 'action1'
],
'from' => 'username2'
])
// 发送扩展消息
Easemob::message()->send([
'target_type' => 'users',
'target' => ['username3'],
'msg' => [
'type' => 'txt',
'msg' => ''
],
'from' => 'username2',
'ext' => [
'key' => 'val'
]
])
get($limit = 20, $cursor = '')
// 不带游标
Easemob::chatGroup()->get(2)
// 带游标
Easemob::chatGroup()->get(2, 'ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Z3JvdXA6MTEyMjE2MTAxMTE3ODI3NiN0ZXN0YXBwOjI')
chatGroups()
Easemob::user('username2')->chatGroups()
profile()
Easemob::chatGroup('21437472636929')->profile()
create(array $attributes)
Easemob::chatGroup()->create([
'groupname' => 'usenames_group',
'desc' => 'just soso',
'public' => true,
'maxusers' => 200,
'members_only' => true,
'allowinvites' => true,
'owner' => 'username3',
'members' => ['username2']
])
update(array $attributes)
Easemob::chatgroup('21437472636929')->update([
'groupname' => 'jooo in us',
'description' => 'nothing',
'maxusers' => 300
])
delete()
Easemob::chatgroup('21437472636929')->delete()
users($pagenum = 10, $pagesize = 1)
Easemob::chatgroup('21437472636929')->users()
addUser($user)
Easemob::chatGroup('21437472636929')->addUser('username3')
batchAddUsers(array $users)
Easemob::chatGroup('21437472636929')->batchAddUsers(['username5', 'username6'])
removeUser($user)
Easemob::chatGroup('21437472636929')->removeUser('username6')
batchRemoveUsers(array $users)
Easemob::chatGroup('21437472636929')->batchRemoveUsers(['username5', 'username4'])
admin()
Easemob::chatGroup('21437472636929')->admin()
addAdmin($user)
Easemob::chatgroup('21437472636929')->addAdmin('username2')
removeAdmin($user)
Easemob::chatGroup('21437472636929')->removeAdmin('username2')
updateOwner($user)
Easemob::chatGroup('21437472636929')->updateOwner('username3')
blockUsers()
Easemob::chatGroup('21437472636929')->blockUsers()
addBlockUser($user)
Easemob::chatGroup('21437472636929')->addBlockUser('username5')
batchAddBlockUsers(array $users)
Easemob::chatGroup('21437472636929')->batchAddBlockUsers(['username6'])
removeBlockUser($user)
Easemob::chatGroup('21437472636929')->removeBlockUser('username5')
batchRemoveBlockUsers(array $users)
Easemob::chatGroup('21437472636929')->batchRemoveBlockUsers(['username6']);
addMuteUsers(array $users, $time = 60) // $time 单位分钟
Easemob::chatGroup('21437472636929')->addMuteUsers(['username6'])
removeMuteUsers(array $users)
Easemob::chatGroup('21437472636929')->removeMuteUsers(['username6'])
muteUsers()
Easemob::chatGtoup('21437472636929')->muteUsers()
get($pagesize = 10, $pagenum = 10)
Easemob::chatRoom()->get()
chatRooms()
Easemob::user('username3')->chatRooms()
profile()
Easemob::chatRoom('stringa')->profile()
create($attributes)
Easemob::chatRoom()->create([
'name' => 'username6_chatroom',
'description' => 'communicate',
'maxusers' => 50,
'owner' => 'username6',
'members' => ['username3', 'username4']
])
update(array $attibutes)
Easemob::chatRoom('21442546696195')->update([
'name' => 'username_chatroom',
'description' => 'xxxx',
'maxusers' => 100
])
delete()
Easemob::chatRoom('21442546696195')->delete()
users($pagesize = 10, $pagenum = 1)
Easemob::chatRoom('21442546696195')->users()
addUser($user)
Easemob::chatRoom('21442546696195')->addUser('username5')
batchAddUsers(array $users)
Easemob::chatRoom('21442546696195')->batchAddUsers(['username2'])
removeUser($user)
Easemob::chatRoom('21442546696195')->removeUser('username2')
batchRemoveUsers(array $users)
Easemob::chatRoom('21442546696195')->batchRemoveUsers(['username3', 'username4'])
admin()
Easemob::chatRoom('21442546696195')->admin()
addAdmin($user)
Easemob::chatRoom('21442546696195')->addAdmin('username5')
removeAdmin($user)
Easemob::chatRoom('21442546696195')->removeAdmin('username5')
muteUsers()
Easemob::chatRoom('21442546696195')->muteUsers()
addMuteUsers(array $users, $time = 60)
Easemob::chatRoom('21442546696195')->addMuteUsers(['username5'])
removeMuteUsers(array $users)
Easemob::chatRoom('21442546696195')->removeMuteUsers(['username5', 'username4'])