基于workerman 即时通讯聊天(uniapp + pc)

news2024/10/7 2:18:32

laychat + workerman 实现 webIM即时通讯系统  

下载  laychat-master.zip 

https://github.com/hszyh/laychat

 实现了功能:
1、通过snake后台实现对聊天成员的增删改查,动态推送给在线的用户
2、实现了群组的查找
3、实现了创建我的群组,删除我的群组,添加群组成员,移除群组成员
4、实现了离线用户登录后聊天记录推送
5、实现了单聊,群聊功能
6、实现了图片和文件的发送
7、实现了单聊聊天记录和群聊聊天记录的查看

注意事项:

back文件加下有数据库备份文件,请建立数据库,并导入。同时配置项目中的config文件中的datebase.php的数据库信息。
别忘了vendor/Workerman/Applications/Config/Db.php,workerman的数据库同步跟上。

关于LayIM

因为layIM不开源,要是商用的话,建议去http://layim.layui.com 这里,layUI的官网去授权吧

数据库在哪里?  

back 文件夹下有一个 snake.sql 导入即可

如何运行

1、将代码下载到本地,并配置好虚拟域名,使 laychat 可以运行。(基于tp5框架,只要按照tp5框架的配置方式即可)

2、导入 back 文件夹下的 snake.sql 表,数据库名 为 sanke (你可以自己改的,但是别忘了代码中更改)

3、启动 getwayworker,本案例 基于的win平台的gatewayworker,如果您想在linux下部署,请先阅读 gatewayworker 文档有了基本的理解,然后下载 linux 版本的 gatewayworker,然后移植本程序的业务逻辑部分即可。如果您是win,请双击/vendor/Workerman/start_for_win.bat,然后不要关闭窗口。此外,如果您更改了数据库连接,请更改 vendor/Workerman/Applications/Config/Db.php 的配置

4、访问聊天系统,进入前台,使用前台用户的 用户名,密码登录即可聊天。 请用两个浏览器打开,登录不同的账户互相聊天。 密码 默认为 admin

5、在win下一定要记得双击 laychat/vendor/Workerman/start_for_win.bat 启动 workerman,不要关闭!!!

前端聊天URL:http://laychat:99/index.php/index/login/index.html
账号: user01  密码: admin

后台管理URL:http://laychat:99/index.php/admin/login/index.html
账号: admin  密码: admin

搭建 uniapp+workerman 即时通讯聊天APP

搭建前准备工作

1、安装 Hbuilder,官方下载地址:https://www.dcloud.io/hbuilderx.html,下载app开发版
2、下载前端uniapp程序:https://github.com/wzJun1/uni-nvue-chat
3、下载websocket端workerman程序:https://github.com/wzJun1/uni-nvue-chat-websocket

开整

websocket端

启动停止(Linux系统)
以debug方式启动 php start.php start
以daemon方式启动 php start.php start -d
启动停止(Windows系统)
双击start_for_win.bat

uniapp端

1、将前端项目源码,导入HbuilderX
2、在store/user.js中修改websocket地址为你搭建好的地址
3、绑定项目云空间,默认腾讯云,如需阿里云需要将 cloudfunctions-tcb 改成 cloudfunctions-aliyun
4、如默认腾讯云,则需初始化数据库,右键 db_init.json 初始化
5、上传云函数及公共函数
6、编译使用

测试

打开两个浏览器窗口,分别注册两个账号,加为好友

最后上下效果图



 

 以上源码均已下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/692385.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性能测试工具——LoadRunner内部介绍以及常见问题

目录 Tools Recording Options General Options 注释脚本 Review log Runtime-Settings General Network Browser Internet Protocol HTTPS证书 总结: Tools Recording Options 接下来我们挨个看一下里面的东东以及区别 General(通常的&am…

【Python编程】将格式为ppm和pgm的图片批量转换为png或jpg格式的图片

前序 如果文件夹中有异常图片,则可以使用以下代码从而跳过这些异常图片而不影响转换代码的运行。例如本人在解压时中断而导致的图片异常问题,图片示例如下: from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES True正文 导入用…

Golang学习日志 ━━ gin-vue-admin插件开发记录

gin-vue-admin是一套国人用golang开发的后台管理系统,本文记录插件开发内容。 官网:https://www.gin-vue-admin.com/ 学习视频:https://www.bilibili.com/video/BV1kv4y1g7nT/ 插件目录 后端位置:\server\plugin\ 前端位置&#…

信号与系统复习笔记——采样与通讯系统

信号与系统复习笔记——采样与通讯系统 采样定理 冲激串采样函数可表示为: p ( t ) ∑ n − ∞ ∞ δ ( t − n T ) p(t) \sum_{n-\infty}^{\infty} \delta(t - nT) p(t)n−∞∑∞​δ(t−nT) 周期 T T T 称为采样周期,而 ω s 1 T \omega_s …

7月29-31日·相约上海丨上海国际智能遮阳与建筑节能展览会即将举办

上海国际智能遮阳与建筑节能展览会(ISSE)即将盛大召开。这个七月,期待您的参与,一同共聚盛会! 1、关于展会 国内建筑遮阳市场尚在快速发展期,随着社会经济的发展以及建筑节能环保概念的不断深入&#xff…

开发的功能不都是经过上线测试,为什么上线后还会那么多 Bug ?

你是否也经过这样的灵魂拷问:「开发的功能不都是经过上线测试的吗?为什么上线后还会那么多 Bug ?」。 大家明明都很努力,为什么「输出」的结果没有更进一步?今天我们就水一水这个「狗血」话题,究竟是谁个锅…

一半以上的年轻人存款不足10万元,能带给我们什么思考?

目录 年轻人存款现状现在的年轻人真的没有存款意愿吗?为什么年轻人存款少?收入低,臣妾做不到啊生活成本高消费观念不同超前消费、过度负债存款意识弱 依据自身情况聊聊你的目前的存款在哪一个区间?你觉得存款难吗?谈谈…

Open62541 NodeSet loader 编译与使用

大多数的OPC UA 建模工具通常是将NodeSet 编译成为C 或者C# 的源代码,然后和Server 程序一起编译。比如uaModeler,Opc foundation 的UA ModelCompiler 以及Open62541 提供的nodeset_Compiler 都是如此,这种方式在载入配套规范的Nodeset 无疑是…

使用Jenkins构建发布一个简单的maven项目

上一章,完成了jenkins在ubuntu上的安装,这一章将使用单个Jenkins服务完成一个maven项目的打包和发布。 1、在Jenkins的管理页面中安装相关插件 用到的插件有:Maven Integration、Git、Publish Over SSH三个,在Dashboard -> M…

全国水系与流域(五级)矢量数据下载

1. 全国水系与流域(五级)矢量数据 全国共计3040条水系,4015个流域 全国水系与流域(五级)矢量数据 链接 解压密码:rserforum.com 说明:“流域等级划分包括1-5级,其中1-2级为一级支流…

从零开始理解Linux中断架构(12)--硬中断之中断控制器(GICV3)

前面我们搞清楚了elx_irq的外围部分,了解清楚了kernel_enter/kernel_exit大致的作用。本节我们进入到硬中断处理部分。硬中断处理程序的位置见下图: 硬中断处理主要的工作就是判断中断发起源,应答中断控制器,根据中断源查询出并调用该中断源的设备级处理函数。 前面…

pcl matlab 计算平面与空间三角形的交线

一、生成一个平面 过程: 单有法向量不能确定一个平面,至少还要有平面上的一个点的坐标才行 假如知道法向量n(A,B,C) 而平面过某点M(x0,y0,z0) 那么平面的方程为 A(x-x0)B(y-y0)C(z-z0)0 要在图中画出来,那么先要给x,y一个范围 举个离子&#…

Appuploader:常见错误及解决方法指南

目录 前言 一.登录apple官网,注册账号 二.下载Appuploader和登录 三.bundle ID 四.设备管理 五.证书管理 六.描述文件管理 七.打包 八.安装测试 (PS:第一次安装成功会显示不受信任,进入设置-通 安全性”界面&#xff0c…

Interactive Natural Language Processing

本文是对《Interactive Natural Language Processing》的翻译。 交互式自然语言处理 摘要1 引言2 交互式对象2.1 人在环2.2 KB在环2.3 模型或工具在环2.4 环境在环 3 交互界面3.1 自然语言3.2 形式语言3.3 编辑3.4 机器语言3.5 共享内存 4 交互方法4.1 预训练语言模型4.2 提示…

Broken Gallery 靶场

主机发现 sudo nmap -sn 192.168.28.0/24 sudo nmap -sT --min-rate 10000 -p- 192.168.28.32 -oA nmapscan/ports sudo nmap -sT -sV -sC -O -p22,80 192.168.28.32 -oA nmapscan/detial sudo nmap --scriptvuln 192.168.28.32 -oA nmapsccan/vuln 访问80 图片下载下来 exift…

如何在 ZBrush 和 UE5 中创建精灵吟游诗人(P2)

小伙伴们大家好,下篇咱们精彩继续,主要是讲解角色建模完成后的重新拓扑、UV、灯光设置和渲染。 纹理的重新拓扑和UV 一切都在 Maya 中完成,重新拓扑是一个漫长的过程,因为角色有很多元素,值得庆幸的是,在…

模型训练-3D并行

1. 数据并行(Data Parallel) 1.1常规数据并行 有一张显卡(例如rank 0显卡)专门用于存储模型参数、梯度信息和更新模型参数。将训练数据分成多份(份数等于显卡数量),每张卡上的模型参数相同&…

CSS编写的瓶颈在哪里?CSS预处理器登场解决你的燃眉之急!

文章目录 I. 引言解释CSS预处理器是什么提及CSS预处理器的好处 II. 为什么要使用CSS预处理器减少代码量变量Mixin函数 & 条件语句 提升CSS的可读性和维护性嵌套规则继承 方便维护加入Source Map方便调试自动前缀 III. 简介几个流行的CSS预处理器Sass介绍Sass的特性解释Sass…

69、基于51单片机智能交流电表蓝牙远程抄表OLED屏系统设计(程序+原理图+PCB源文件+参考论文+参考PPT+元器件清单等)

方案选择 单片机的选择 方案一:AT89C52是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元…