基于layim+easemob(環(huán)信webim)的網(wǎng)頁即時聊天

WebIM

簡述

本webim是基于 layim環(huán)信webim3.X開發(fā)而成的议泵,本項目僅供學習使用,使用前請先到layim官網(wǎng)獲取layim的授權許可 。目前已完成的功能有:
1.好友/群內(nèi)的文字袒哥、表情榔昔、圖片分衫、文件 在線/離線消息發(fā)送和接收爷辱。
2.查看群員列表证芭。
3.面板內(nèi)快速查找晕翠。
4.面板右鍵自定義事件
5.修改簽名
6.自定義上傳背景皮膚
7.搜索好友/群
8.添加好友/群
9.新建群
10.消息盒子展示
11.查看/修改個人信息
12.實時獲取好友在線狀態(tài)
13.擠下線提醒
14.文件儲存在七牛云
15.增刪改 好友/好友分組
16.群管理(增刪管理員/修改群名片/單個群員禁言解除禁言/踢人)

需要手動修改的地方包括

1 static/js/webim.config.js 環(huán)信配置文件appkey喷舀,需要先到環(huán)信注冊添加應用獲取。
2 class/config.php 配置文件
3 如果想在本地運行demo淋肾,但是又沒有l(wèi)ayim.js文件硫麻,想試用后再去購買授權,那么請到test.guoshanchina.com登錄后通過查看頁面源碼找到layim.js文件下載并保存到對應文件位置即可樊卓。

說明

1)因為考慮到需要和app之間進行通信(表情拿愧,圖片等),環(huán)信的表情定義為[/:u]類似的字符而layim則為face[/:u]的字符碌尔,為了同時滿足兩種情況浇辜,修改了layim.js的表情相關代碼,請知曉
2) 自定義右鍵的刪除功能借鑒的是layim的刪除歷史會話
3) 自定義上傳皮膚功能唾戚,在layim.js添加了一個setSkinByUser的方法柳洋,并修改了皮膚尋則模版,對應的上傳路徑是class/doAction.php?action=uploadSkin
4) 面板內(nèi)的搜索好友功能叹坦,修改了layim.js的search方法


原則上是不建議自行修改layim.js文件的熊镣,因為這樣不利于后期的維護升級。


部分截圖如下


好友間聊天
我的資料
自定義上傳皮膚
自定義右鍵好友

自定義右鍵分組
已經(jīng)是好友不能添加

消息盒子

群管理
添加好友

刪除好友

體驗地址:test.guoshanchina.com

體驗帳號:

用戶名:911088 密碼:123456

用戶名:1570855 密碼:123456

用戶名:1570845 密碼:123456

用戶名:911058 密碼:123456

用戶名:910992 密碼:123456

用戶名:911067 密碼:123456

用戶名:911100 密碼:123456

用戶名:911085 密碼:123456

開始之前,你要了解layui擴展第三方插件的方法绪囱,然后在環(huán)信注冊帳號并創(chuàng)建應用测蹲。

  1. layui綁定擴展
        layui.config({
            base: 'static/js/'
        }).extend({
            socket: 'socket',
        });
  1. layim,socket初始化

         layui.use(['layim', 'jquery', 'socket'], function (layim, socket) {
             var $ = layui.jquery;
             var socket = layui.socket;
             var token = $('body').data('token');
             var rykey = $('body').data('rykey');           
             socket.config({
                 user: token,
                 pwd: rykey ,
                 layim: layim,
             });
    
             layim.config({
                 init: {
                     url: 'class/doAction.php?action=get_user_data', data: {}
                 },
                 //獲取群成員
                 members: {
                     url: 'class/doAction.php?action=groupMembers', data: {}
                 }
                 //上傳圖片接口
                 , uploadImage: {
                     url: 'class/doAction.php?action=uploadImage' //(返回的數(shù)據(jù)格式見下文)
                     , type: '' //默認post
                 }
                 //上傳文件接口
                 , uploadFile: {
                     url: 'class/doAction.php?action=uploadFile' //
                     , type: '' //默認post
                 }
                 //自定義皮膚
                 ,uploadSkin: {
                     url: 'class/doAction.php?action=uploadSkin'
                     , type: 'post' //默認post
                 }                    
                 ,systemSkin: {//選擇系統(tǒng)皮膚
                     url: 'class/doAction.php?action=systemSkin'
                     , type: 'post' //默認post
                 }
                 , isAudio: false //開啟聊天工具欄音頻
                 , isVideo: false //開啟聊天工具欄視頻
    
                 //擴展工具欄
                 // , tool: [{
                 //         alias: 'code'
                 //         , title: '代碼'
                 //         , icon: ''
                 //     }]
                 ,title: '我的webim' 
                 ,copyright:true
                 , initSkin: '1.jpg' //1-5 設置初始背景
                 , notice: true //是否開啟桌面消息提醒,默認false
                 , msgbox: layui.cache.dir + 'css/modules/layim/html/msgbox.html' //消息盒子頁面地址毕箍,若不開啟弛房,剔除該項即可
                 , find: layui.cache.dir + 'css/modules/layim/html/find.html' //發(fā)現(xiàn)頁面地址,若不開啟而柑,剔除該項即可
                 , chatLog: layui.cache.dir + 'css/modules/layim/html/chatLog.html' //聊天記錄頁面地址文捶,若不開啟,剔除該項即可
             });  
         });
    
  2. socket.js
    內(nèi)容比較長就不貼出來了媒咳,需要源碼的朋友可以在這里下載https://github.com/shmilylbelva/webim,當然最好是star一下粹排,因為我會繼續(xù)完善該項目的。

【注意】github 上傳的代碼已去除layim.js涩澡,所以下載代碼后請在你獲取到 layim.js授權后將 layim.js 拖進 static / layui / lay / modules / 文件夾內(nèi)方可運行顽耳。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市妙同,隨后出現(xiàn)的幾起案子射富,更是在濱河造成了極大的恐慌,老刑警劉巖粥帚,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胰耗,死亡現(xiàn)場離奇詭異,居然都是意外死亡芒涡,警方通過查閱死者的電腦和手機柴灯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來费尽,“玉大人赠群,你說我怎么就攤上這事『涤祝” “怎么了查描?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長柏卤。 經(jīng)常有香客問我叹誉,道長,這世上最難降的妖魔是什么闷旧? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮钧唐,結(jié)果婚禮上忙灼,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好该园,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布酸舍。 她就那樣靜靜地躺著,像睡著了一般里初。 火紅的嫁衣襯著肌膚如雪啃勉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天双妨,我揣著相機與錄音淮阐,去河邊找鬼。 笑死刁品,一個胖子當著我的面吹牛泣特,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挑随,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼状您,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了兜挨?” 一聲冷哼從身側(cè)響起膏孟,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拌汇,沒想到半個月后柒桑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡担猛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年幕垦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片傅联。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡先改,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蒸走,到底是詐尸還是另有隱情仇奶,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布比驻,位于F島的核電站该溯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏别惦。R本人自食惡果不足惜狈茉,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掸掸。 院中可真熱鬧氯庆,春花似錦蹭秋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至实昨,卻和暖如春洞豁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荒给。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工丈挟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锐墙。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓礁哄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親溪北。 傳聞我的和親對象是個殘疾皇子桐绒,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容