JavaScript中Layim实现查找好友与群组功能详解

作者:异步漫步时间:2026-10-24 07:46:38浏览:513

本文介绍了如何在Layim官方未提供的情况下,通过自定义前端结构与后端逻辑实现查找好友、群组及添加好友功能。重点讲解了用户列表绑定、好友申请弹窗处理以及利用WebSocket推送消息至服务端的全过程,包含关键代码片段与实现思路。

目前Layim官方尚未提供查找好友页面的结构与样式,出于好奇,笔者自行设计了一套方案,现分享出来供各位参考。由于笔者并非专业前端开发人员,内容可能存在不足,恳请资深开发者指正。

首先展示一下实现后的效果截图,以直观呈现功能表现。

一、绑定用户成员列表

Layim查找好友、查找群组、添加好友以及加入群组的具体实现如下所示。

相关源码已上传,需支付积分方可下载。

一、绑定用户成员列表


/** html代码 */
<textarea title="用户模版" id="LAY_Friend" style="display:none;">
	{{# layui.each(d.data, function(index, item){ }}
		<div class="layui-col-sm4 layui-col-md4 layui-col-lg2">
	 <div class="layui-card" >
	 	<div class="avatar">
	 		<img class="layadmin-homepage-pad-img" src="{{ item.avatar }}" />
	 	</div>
	 	<div class="units">
		 	<p>{{ item.userName }}({{ item.userCode }})</p>
		 	<p>{{ item.roleNames }}</p>
		 	<p>
			 	{{# if(item.isValid == 0){ }}
			 		<button userId="{{ item.userId }}" class="addFriend layui-btn layui-btn-xs" style="background-color:#7ADDD4;">&nbsp;&nbsp;<strong>+</strong>&nbsp;&nbsp;好友&nbsp;&nbsp;</button>
			 	{{# } else { }}
			 		<span class="c_red">已经是好友</span>
			 	{{# } }}
		 	</p>
	 	</div>
	 </div>
 	</div>
 	{{# }); }}
</textarea>

/** js代码 */
$.ajax({
 type: "get",
 url: "../json/friend.json",
 async: true,
 data: data,
 success: function (data) {
 	var json = data;
 	var list = json.data;
 	if(list != null){
 		// 数据转化为html格式
			var html = laytpl(LAY_Friend.value).render({
			 data: list
			});
			control.html(html);
 	}else{
 		control.append('<div style="color:#ccc; margin:150px 350px;">没有找到符合搜索条件的用户</div>');
 	}
 }
});

二、添加好友

一、绑定用户成员列表


/**
 * 添加好友
 */
$(document).on('click', '.addFriend', function() {
	var myBut = $(this);
	var userId = myBut.attr("userId");
	// 弹出添加好友验证界面
	layim.add({
		type: 'friend'
 ,username: user.username
 ,avatar: user.avatar
 ,submit: function(group, remark, index){
			layer.msg('好友申请已发送,请等待对方确认', { icon: 1 });
			// 修改按钮
		 	myBut.parent().html('<span class="c_red">已经提交申请</span>');
		 	// 在这里插入你的推送信息代码
 } 
 });
});

三、推送信息

利用socket推送添加好友申请


// 推送一个消息
var msg = {
		type: "addMsgbox",	// 随便定义,用于在服务端区分消息类型
		sendType: 1, 		// 随便定义,用于在服务端区分消息类型
		fromId: loginUserId, 	// 申请者
		toId: user.id,			// 好友编号
		groupId: group,			// 所在分组
		remark: remark			// 验证信息
	}
websocket.send(JSON.stringify({
 	type: 'chatMsgbox' // 随便定义,用于在服务端区分消息类型
 	,data: msg
 }));

四、猜您喜欢

https://www.jb51.net/article/23188.htm

到此这篇关于javascript中layim之查找好友查找群组的文章就介绍到这了,更多相关layim查找好友查找群组内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

作者最新文章