| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 | 
							-  
 
-  
 
- <!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>
 
 
  |