<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>消息盒子</title>
<link rel="stylesheet" href="../../../layui.css?v=1">
<style>
.layim-msgbox{margin: 15px;}
.layim-msgbox li{position: relative; margin-bottom: 10px; padding: 0 130px 10px 60px; padding-bottom: 10px; line-height: 22px; border-bottom: 1px dotted #e2e2e2;}
.layim-msgbox .layim-msgbox-tips{margin: 0; padding: 10px 0; border: none; text-align: center; color: #999;}
.layim-msgbox .layim-msgbox-system{padding: 0 10px 10px 10px;}
.layim-msgbox li p span{padding-left: 5px; color: #999;}
.layim-msgbox li p em{font-style: normal; color: #FF5722;}
.layim-msgbox-avatar{position: absolute; left: 0; top: 0; width: 50px; height: 50px;}
.layim-msgbox-user{padding-top: 5px;}
.layim-msgbox-content{margin-top: 3px;}
.layim-msgbox .layui-btn-small{padding: 0 15px; margin-left: 5px;}
.layim-msgbox-btn{position: absolute; right: 0; top: 12px; color: #999;}
</style>
</head>
<body>
<ul class="layim-msgbox" id="LAY_view"></ul>
<div style="margin: 0 15px;">
<blockquote class="layui-elem-quote">注意:这些都是模拟数据,实际使用时,需将其中的模拟接口改为你的项目真实接口。
<br>该模版文件所在目录(相对于layui.js):/css/modules/layim/html/msgbox.html</blockquote>
</div>
<textarea title="消息模版" id="LAY_tpl" style="display:none;">
{{# layui.each(d.data, function(index, item){
if(item.from){ }}
<li data-uid="{{ item.from }}" data-fromGroup="{{ item.from_group }}">
<a href="/u/{{ item.from }}/" target="_blank">
<img src="{{ item.user.avatar }}" class="layui-circle layim-msgbox-avatar">
</a>
<p class="layim-msgbox-user">
<a href="/u/{{ item.from }}/" target="_blank">{{ item.user.username||'' }}</a>
<span>{{ item.time }}</span>
</p>
<p class="layim-msgbox-content">
{{ item.content }}
<span>{{ item.remark ? '附言: '+item.remark : '' }}</span>
</p>
<p class="layim-msgbox-btn">
<button class="layui-btn layui-btn-small" data-type="agree">同意</button>
<button class="layui-btn layui-btn-small layui-btn-primary" data-type="refuse">拒绝</button>
</p>
</li>
{{# } else { }}
<li class="layim-msgbox-system">
<p><em>系统:</em>{{ item.content }}<span>{{ item.time }}</span></p>
</li>
{{# }
}); }}
</textarea>
<!--
上述模版采用了 laytpl 语法,不了解的同学可以去看下文档:http://www.layui.com/doc/modules/laytpl.html
-->
<script src="../../../../layui.js?v=1"></script>
<script>
layui.use(['layim', 'flow'], function(){
var layim = layui.layim
,layer = layui.layer
,laytpl = layui.laytpl
,$ = layui.jquery
,flow = layui.flow;
var cache = {}; //用于临时记录请求到的数据
//请求消息
var renderMsg = function(page, callback){
//实际部署时,请将下述 getmsg.json 改为你的接口地址
$.get('getmsg.json', {
page: page || 1
}, function(res){
if(res.code != 0){
return layer.msg(res.msg);
}
//记录来源用户信息
layui.each(res.data, function(index, item){
cache[item.from] = item.user;
});
callback && callback(res.data, res.pages);
});
};
//消息信息流
flow.load({
elem: '#LAY_view' //流加载容器
,isAuto: false
,end: '<li class="layim-msgbox-tips">暂无更多新消息</li>'
,done: function(page, next){ //加载下一页
renderMsg(page, function(data, pages){
var html = laytpl(LAY_tpl.value).render({
data: data
,page: page
});
next(html, page < pages);
});
}
});
//打开页面即把消息标记为已读
/*
$.post('/message/read', {
type: 1
});
*/
//操作
var active = {
//同意
agree: function(othis){
var li = othis.parents('li')
,uid = li.data('uid')
,from_group = li.data('fromGroup')
,user = cache[uid];
//选择分组
parent.layui.layim.setFriendGroup({
type: 'friend'
,username: user.username
,avatar: user.avatar
,group: parent.layui.layim.cache().friend //获取好友分组数据
,submit: function(group, index){
//将好友追加到主面板
parent.layui.layim.addList({
type: 'friend'
,avatar: user.avatar //好友头像
,username: user.username //好友昵称
,groupid: group //所在的分组id
,id: uid //好友ID
,sign: user.sign //好友签名
});
parent.layer.close(index);
othis.parent().html('已同意');
//实际部署时,请开启下述注释,并改成你的接口地址
/*
$.post('/im/agreeFriend', {
uid: uid //对方用户ID
,from_group: from_group //对方设定的好友分组
,group: group //我设定的好友分组
}, function(res){
if(res.code != 0){
return layer.msg(res.msg);
}
//将好友追加到主面板
parent.layui.layim.addList({
type: 'friend'
,avatar: user.avatar //好友头像
,username: user.username //好友昵称
,groupid: group //所在的分组id
,id: uid //好友ID
,sign: user.sign //好友签名
});
parent.layer.close(index);
othis.parent().html('已同意');
});
*/
}
});
}
//拒绝
,refuse: function(othis){
var li = othis.parents('li')
,uid = li.data('uid');
layer.confirm('确定拒绝吗?', function(index){
$.post('/im/refuseFriend', {
uid: uid //对方用户ID
}, function(res){
if(res.code != 0){
return layer.msg(res.msg);
}
layer.close(index);
othis.parent().html('<em>已拒绝</em>');
});
});
}
};
$('body').on('click', '.layui-btn', function(){
var othis = $(this), type = othis.data('type');
active[type] ? active[type].call(this, othis) : '';
});
});
</script>
</body>
</html>
没有合适的资源?快使用搜索试试~ 我知道了~
考试类精品--考试系统.zip
共799个文件
cs:162个
cshtml:137个
js:127个
需积分: 5 0 下载量 158 浏览量
2024-02-06
10:14:09
上传
评论
收藏 5.15MB ZIP 举报
温馨提示
考试类精品--考试系统
资源推荐
资源详情
资源评论
收起资源包目录
考试类精品--考试系统.zip (799个子文件)
TestQuestionsApiController.cs 18KB
ExaminationSetupControllerTest.cs 18KB
SealController.cs 18KB
FrameworkMenuVM.cs 16KB
RecordWithAccountControllerTest.cs 16KB
RecordNoAccountControllerTest.cs 16KB
FrameworkUserController.cs 14KB
QuestionControllerTest.cs 13KB
FrameworkMenuVM2.cs 12KB
CollectionControllerTest.cs 12KB
WrongQuestionBankControllerTest.cs 12KB
AccountController.cs 11KB
RotationChartControllerTest.cs 11KB
DataPrivilegeVM.cs 11KB
FrameworkUserController.cs 10KB
FrameworkMenuListVM.cs 10KB
SealControllerTest.cs 9KB
ExaminationSetupWithAcApiController.cs 9KB
FrameworkTenantController.cs 9KB
QuestionTypeControllerTest.cs 9KB
FrameworkGroupController.cs 9KB
MockUtility.cs 8KB
FrameworkRoleController.cs 8KB
FrameworkGroupController.cs 8KB
FrameworkTenantController.cs 8KB
FrameworkRoleController.cs 8KB
UnitWorkControllerTest.cs 8KB
DataPrivilegeListVM.cs 7KB
FrameworkMenuController.cs 7KB
FileApiController.cs 6KB
LoginController.cs 6KB
RecordWithAccountController.cs 6KB
WrongQuestionBankController.cs 6KB
ExaminationSetupController.cs 6KB
RecordNoAccountController.cs 6KB
FrameworkMenuController.cs 6KB
RotationChartController.cs 6KB
QuestionTypeController.cs 6KB
FrameworkUserVM.cs 6KB
CollectionController.cs 6KB
UnitWorkController.cs 6KB
QuestionController.cs 6KB
FrameworkRoleMDVM2.cs 6KB
HomeController.cs 6KB
DataPrivilegeController.cs 5KB
FrameworkTenantVM.cs 5KB
DataPrivilegeController.cs 5KB
Startup.cs 5KB
FrameworkGroupListVM.cs 5KB
FrameworkMenuListVM2.cs 4KB
FrameworkUserListVM.cs 4KB
FrameworkActionListVM.cs 4KB
ExaminationSetupListVM.cs 4KB
DataContext.cs 4KB
RecordNoAccountListVM.cs 4KB
ExaminationSetupNoAcApiController.cs 4KB
RecordWithAccountListVM.cs 4KB
ActionLogListVM.cs 3KB
FrameworkGroupMDVM.cs 3KB
QuestionListVM.cs 3KB
FrameworkTenantListVM.cs 3KB
RotationChartListVM.cs 3KB
LoginControllerTest.cs 3KB
SealListVM.cs 3KB
ExaminationSetupImportVM.cs 3KB
WrongQuestionBankListVM.cs 3KB
FrameworkRoleListVM.cs 3KB
CollectionListVM.cs 3KB
RegVM.cs 3KB
ActionLogController.cs 3KB
UnitWorkListVM.cs 3KB
QuestionTypeListVM.cs 2KB
ExaminationSetup.cs 2KB
FrameworkUserBatchVM.cs 2KB
FrameworkGroupVM.cs 2KB
FrameworkRoleMDVM.cs 2KB
ActionLogController.cs 2KB
RecordNoAccountImportVM.cs 2KB
DpListVM.cs 2KB
RecordWithAccountImportVM.cs 2KB
QuestionImportVM.cs 2KB
ChangePasswordVM.cs 2KB
ImgData.cs 2KB
FrameworkRoleVM.cs 2KB
FrameworkUser.cs 2KB
FrameworkTenantImportVM.cs 2KB
AuthenticationApiController.cs 2KB
LoginVM.cs 2KB
RecordNoAccount.cs 2KB
ExaminationSetupVM.cs 2KB
Question.cs 1KB
RecordWithAccount.cs 1KB
FrameworkUserImportVM.cs 1KB
FrameworkMenuBatchVM.cs 1KB
Program.cs 1KB
RecordWithAccountVM.cs 1KB
WrongQuestionBankImportVM.cs 1KB
CollectionVM.cs 1KB
CollectionImportVM.cs 1KB
HomeControllerTest.cs 1KB
共 799 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
码农阿豪
- 粉丝: 1w+
- 资源: 1754
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功