All Projects → shmilylbelva → Webim

shmilylbelva / Webim

基于环信webim+layim的web网页即时通讯 layim H5移动版

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Webim

Javaquarkbbs
基于Spring Boot实现的一个简易的Java社区
Stars: ✭ 755 (+68.53%)
Mutual labels:  websocket, layui
Skyeye
智能办公OA系统[SpringBoot2-快速开发平台],适用于医院,学校,中小型企业等机构的管理。Activiti5.22+动态表单实现零java代码即可做到复杂业务的流程实施,同时包含文件在线操作、日志、考勤、CRM、ERP进销存、项目、拖拽式生成问卷、日程、笔记、计划、行政等多种复杂业务功能。同时,可进行授权二开。
Stars: ✭ 472 (+5.36%)
Mutual labels:  websocket, layui
Node Media Server
A Node.js implementation of RTMP/HTTP-FLV/WS-FLV/HLS/DASH/MP4 Media Server
Stars: ✭ 4,433 (+889.51%)
Mutual labels:  websocket
Microwebsrv
A micro HTTP Web server that supports WebSockets, html/python language templating and routing handlers, for MicroPython (used on Pycom modules & ESP32)
Stars: ✭ 420 (-6.25%)
Mutual labels:  websocket
Spring Samples For All
spring、spring-boot、spring-cloud 常用整合用例
Stars: ✭ 401 (-10.49%)
Mutual labels:  websocket
Java Slack Sdk
Slack Developer Kit (including Bolt for Java) for any JVM language
Stars: ✭ 393 (-12.28%)
Mutual labels:  websocket
Agileconfig
基于.NET Core开发的轻量级分布式配置中心 / .NET Core light configuration server
Stars: ✭ 403 (-10.04%)
Mutual labels:  websocket
Echo
High performance, minimalist Go web framework
Stars: ✭ 21,297 (+4653.79%)
Mutual labels:  websocket
Happychat
基于Netty实现的WebSocket聊天室,支持几万人同时在线聊天
Stars: ✭ 445 (-0.67%)
Mutual labels:  websocket
Huobi python
Python SDK for Huobi Spot API
Stars: ✭ 391 (-12.72%)
Mutual labels:  websocket
Beego blog
beego+layui go入门开发 简洁美观的个人博客系统
Stars: ✭ 410 (-8.48%)
Mutual labels:  layui
Grpc Websocket Proxy
A proxy to transparently upgrade grpc-gateway streaming endpoints to use websockets
Stars: ✭ 395 (-11.83%)
Mutual labels:  websocket
Wormhole
Wormhole — it's better EventEmitter for communication between tabs with supporting Master/Slave.
Stars: ✭ 393 (-12.28%)
Mutual labels:  websocket
Wamp Proto
The Web Application Messaging Protocol
Stars: ✭ 405 (-9.6%)
Mutual labels:  websocket
Vue Crud X
Vue+Express Cookbook & CRUD Component (with Vite and Web Components)
Stars: ✭ 393 (-12.28%)
Mutual labels:  websocket
Websocket
The Hoa\Websocket library.
Stars: ✭ 421 (-6.03%)
Mutual labels:  websocket
Ws
Tiny WebSocket library for Go.
Stars: ✭ 4,267 (+852.46%)
Mutual labels:  websocket
Socket.io Unity
socket.io client for Unity, power game client with node.js back-end
Stars: ✭ 396 (-11.61%)
Mutual labels:  websocket
Xchange Stream
XChange-stream is a Java library providing a simple and consistent streaming API for interacting with Bitcoin and other crypto currency exchanges via WebSocket protocol. It is build on top of of XChange library providing new interfaces for streaming API. User can subscribe for live updates via reactive streams of RxJava library.
Stars: ✭ 402 (-10.27%)
Mutual labels:  websocket
Centrifuge
Real-time messaging library for Go with scalability in mind
Stars: ✭ 446 (-0.45%)
Mutual labels:  websocket

搭建客服系统看这里 laykefu

体验移动端功能看这里 layim

打造属于你的layim移动版请看这里layim-ext

WebIM

交流群【601391162】

简述

本webim是基于 layim环信webim3.X开发而成的,本项目仅供学习使用,使用前请先到layim官网获取layim的授权许可 。

    目前已完成的功能有:
        1.好友/群内的文字、表情、图片、文件 在线/离线消息发送和接收。 
        2.查看群员列表。 
        3.面板内快速查找。 
        4.面板右键自定义事件 
        5.修改签名
        6.自定义上传背景皮肤
        7.搜索好友/群
        8.添加好友/群
        9.新建群
        10.消息盒子展示
        11.查看/修改个人信息
        12.实时获取好友在线状态
        13.挤下线提醒
        14.文件储存在七牛云
        15.增删改 好友/好友分组
        16.群管理(增删管理员/修改群名片/单个群员禁言解除禁言/踢人)

需要配置修改的地方包括

1 static/js/webim.config.js 环信配置文件appkey,需要先到环信注册添加应用获取。
2 class/config.php 配置文件

1) 因为考虑到需要和app之间进行通信(表情,图片等),环信的表情定义为[/:u]类似的字符而layim则为face[/:u]的字符,为了同时满足两种情况,修改了layim.js的表情相关代码,请知晓
2) 自定义右键的删除功能借鉴的是layim的删除历史会话
3) 自定义上传皮肤功能,在layim.js添加了一个setSkinByUser的方法,并修改了皮肤寻则模版,对应的上传路径是class/doAction.php?action=uploadSkin
4) 面板内的搜索好友功能,修改了layim.js的search方法

部分截图如下 好友间聊天

我的资料

自定义上传皮肤

自定义右键好友 自定义右键分组

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

添加好友 删除好友

开始之前,你要了解layui扩展第三方插件的方法,然后在环信注册帐号并创建应用。

  1. layui绑定扩展

         layui.config({
             base: 'static/js/'
         }).extend({
             socket: 'socket',
         });
    
  2. 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' //聊天记录页面地址,若不开启,剔除该项即可
             });  
         });
    
  3. socket.js 内容比较长就不贴出来了,需要源码的朋友可以下载查看

QQ截图20200916152747.png

WebIM移动端 功能

本webim移动端是基于 layimworkerman开发而成的,本项目仅供学习使用,使用前请先到layim官网获取layim的授权许可 。

    目前已完成的功能有:
        1.好友/群内的文字、表情、图片、文件、视频、语音 在线/离线消息发送和接收。 
        2.查看群员列表
        3.查看群员信息
        4.查看好友信息/在线状态 
        5.修改头像签名
        6.发起群聊/邀请入群
        7.搜索好友/群
        8.添加好友/群
        9.二维码扫描加群加好友
        10.验证信息
        11.挤下线提醒
        12.群管理 全体/单个禁言/增删管理员/修改群名片
        13.群管理移除群员
        14.前端直传七牛云
        15.消息列表滑动删除历史消息
        16.查看历史消息
        17.默认生成名称头像

觉得项目对您有用,请我喝杯咖啡吧。您的支持将鼓励我继续创作!

QQ截图20180904161534.jpg QQ截图20180904161507.jpg

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].