基於layim+easemob(環信webim)的網頁即時聊天

WebIM

簡述

本webim是基於 layim環信webim3.X開發而成的,本項目僅供學習使用,使用前請先到layim 官網獲取layim的受權許可 。目前已完成的功能有:
1.好友/羣內的文字、表情、圖片、文件 在線/離線消息發送和接收。 
2.查看羣員列表。 
3.面板內快速查找。 
4.面板右鍵自定義事件 
5.修改簽名
6.自定義上傳背景皮膚
7.搜索好友/羣
8.添加好友/羣
9.新建羣
10.消息盒子展現
11.查看/修改我的信息
12.實時獲取好友在線狀態
13.擠下線提醒
14.文件儲存在七牛雲
15.增刪改 好友/好友分組
16.羣管理(增刪管理員/修改羣名片/單個羣員禁言解除禁言/踢人)

說明

1)由於考慮到須要和app之間進行通訊(表情,圖片等),環信的表情定義爲[/:u]相似的字符而layim則爲face[/:u]的字符,爲了同時知足兩種狀況,修改了layim.js的表情相關代碼,請知曉
2) 自定義右鍵的刪除功能借鑑的是layim的刪除歷史會話
3) 自定義上傳皮膚功能,在layim.js添加了一個setSkinByUser的方法,並修改了皮膚尋則模版,對應的上傳路徑是class/doAction.php?action=uploadSkin
4) 面板內的搜索好友功能,修改了layim.js的search方法

原則上是不建議自行修改layim.js文件的,由於這樣不利於後期的維護升級。php


部分截圖以下
好友間聊天

個人資料

自定義上傳皮膚

自定義右鍵好友
自定義右鍵分組

已是好友不能添加
消息盒子
羣管理

添加好友
刪除好友

體驗地址:test.guoshanchina.comcss

體驗賬號:html

用戶名:911088 密碼:123456jquery

用戶名:1570855 密碼:123456git

用戶名:1570845 密碼:123456github

用戶名:911058 密碼:123456web

用戶名:910992 密碼:123456app

用戶名:911067 密碼:123456socket

用戶名:911100 密碼:123456ide

用戶名:911085 密碼:123456

開始以前,你要了解layui擴展第三方插件的方法,而後在環信註冊賬號並建立應用。

  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' //(返回的數據格式見下文)
            , type: '' //默認post
        }
        //上傳文件接口
        , uploadFile: {
            url: 'class/doAction.php?action=uploadFile' //
            , type: '' //默認post
        }
        //自定義皮膚
        ,uploadSkin: {
            url: 'class/doAction.php?action=uploadSkin'
            , type: 'post' //默認post
        }                    
        ,systemSkin: {//選擇系統皮膚
            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' //發現頁面地址,若不開啓,剔除該項便可
        , chatLog: layui.cache.dir + 'css/modules/layim/html/chatLog.html' //聊天記錄頁面地址,若不開啓,剔除該項便可
    });

    });

  2. socket.js

內容比較長就不貼出來了,須要源碼的朋友能夠在這裏下載https://github.com/shmilylbel...
,固然最好是star一下,由於我會繼續完善該項目的。

【注意】github 上傳的代碼已去除layim.js,因此下載代碼後請在你獲取到 layim.js受權後將 layim.js 拖進 static / layui / lay / modules / 文件夾內方可運行。

相關文章
相關標籤/搜索