| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365 | /** @Name: 用户模块 */ layui.define(['laypage', 'fly', 'element', 'flow'], function(exports){  var $ = layui.jquery;  var layer = layui.layer;  var util = layui.util;  var laytpl = layui.laytpl;  var form = layui.form;  var laypage = layui.laypage;  var fly = layui.fly;  var flow = layui.flow;  var element = layui.element;  var upload = layui.upload;  var gather = {}, dom = {    mine: $('#LAY_mine')    ,mineview: $('.mine-view')    ,minemsg: $('#LAY_minemsg')    ,infobtn: $('#LAY_btninfo')  };  //我的相关数据  var elemUC = $('#LAY_uc'), elemUCM = $('#LAY_ucm');  gather.minelog = {};  gather.mine = function(index, type, url){    var tpl = [      //求解      '{{# for(var i = 0; i < d.rows.length; i++){ }}\      <li>\        {{# if(d.rows[i].collection_time){ }}\          <a class="jie-title" href="/jie/{{d.rows[i].id}}/" target="_blank">{{= d.rows[i].title}}</a>\          <i>{{ d.rows[i].collection_time }} 收藏</i>\        {{# } else { }}\          {{# if(d.rows[i].status == 1){ }}\          <span class="fly-jing layui-hide-xs">精</span>\          {{# } }}\          {{# if(d.rows[i].accept >= 0){ }}\            <span class="jie-status jie-status-ok">已结</span>\          {{# } else { }}\            <span class="jie-status">未结</span>\          {{# } }}\          {{# if(d.rows[i].status == -1){ }}\            <span class="jie-status">审核中</span>\          {{# } }}\          <a class="jie-title" href="/jie/{{d.rows[i].id}}/" target="_blank">{{= d.rows[i].title}}</a>\          <i class="layui-hide-xs">{{ layui.util.timeAgo(d.rows[i].time, 1) }}</i>\          {{# if(d.rows[i].accept == -1){ }}\          <a class="mine-edit layui-hide-xs" href="/jie/edit/{{d.rows[i].id}}" target="_blank">编辑</a>\          {{# } }}\          <em class="layui-hide-xs">{{d.rows[i].hits}}阅/{{d.rows[i].comment}}答</em>\        {{# } }}\      </li>\      {{# } }}'    ];    var view = function(res){      var html = laytpl(tpl[0]).render(res);      dom.mine.children().eq(index).find('span').html(res.count);      elemUCM.children().eq(index).find('ul').html(res.rows.length === 0 ? '<div class="fly-msg">没有相关数据</div>' : html);    };    var page = function(now){      var curr = now || 1;      if(gather.minelog[type + '-page-' + curr]){        view(gather.minelog[type + '-page-' + curr]);      } else {        //我收藏的帖        if(type === 'collection'){          var nums = 10; //每页出现的数据量          fly.json(url, {}, function(res){            res.count = res.rows.length;            var rows = layui.sort(res.rows, 'collection_timestamp', 'desc')            ,render = function(curr){              var data = []              ,start = curr*nums - nums              ,last = start + nums - 1;              if(last >= rows.length){                last = curr > 1 ? start + (rows.length - start - 1) : rows.length - 1;              }              for(var i = start; i <= last; i++){                data.push(rows[i]);              }              res.rows = data;                            view(res);            };            render(curr)            gather.minelog['collect-page-' + curr] = res;            now || laypage.render({              elem: 'LAY_page1'              ,count: rows.length              ,curr: curr              ,jump: function(e, first){                if(!first){                  render(e.curr);                }              }            });          });        } else {          fly.json('/api/'+ type +'/', {            page: curr          }, function(res){            view(res);            gather.minelog['mine-jie-page-' + curr] = res;            now || laypage.render({              elem: 'LAY_page'              ,count: res.count              ,curr: curr              ,jump: function(e, first){                if(!first){                  page(e.curr);                }              }            });          });        }      }    };    if(!gather.minelog[type]){      page();    }  };  if(elemUC[0]){    layui.each(dom.mine.children(), function(index, item){      var othis = $(item)      gather.mine(index, othis.data('type'), othis.data('url'));    });  }  //显示当前tab  if(location.hash){    element.tabChange('user', location.hash.replace(/^#/, ''));  }  element.on('tab(user)', function(){    var othis = $(this), layid = othis.attr('lay-id');    if(layid){      location.hash = layid;    }  });  //根据ip获取城市  if($('#L_city').val() === ''){    $.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function(){      $('#L_city').val(remote_ip_info.city||'');    });  }  //上传图片  if($('.upload-img')[0]){    layui.use('upload', function(upload){      var avatarAdd = $('.avatar-add');      upload.render({        elem: '.upload-img'        ,url: '/user/upload/'        ,size: 50        ,before: function(){          avatarAdd.find('.loading').show();        }        ,done: function(res){          if(res.status == 0){            $.post('/user/set/', {              avatar: res.url            }, function(res){              location.reload();            });          } else {            layer.msg(res.msg, {icon: 5});          }          avatarAdd.find('.loading').hide();        }        ,error: function(){          avatarAdd.find('.loading').hide();        }      });    });  }  //合作平台  if($('#LAY_coop')[0]){    //资源上传    $('#LAY_coop .uploadRes').each(function(index, item){      var othis = $(this);      upload.render({        elem: item        ,url: '/api/upload/cooperation/?filename='+ othis.data('filename')        ,accept: 'file'        ,exts: 'zip'        ,size: 30*1024        ,before: function(){          layer.msg('正在上传', {            icon: 16            ,time: -1            ,shade: 0.7          });        }        ,done: function(res){          if(res.code == 0){            layer.msg(res.msg, {icon: 6})          } else {            layer.msg(res.msg)          }        }      });    });    //成效展示    var effectTpl = ['{{# layui.each(d.data, function(index, item){ }}'    ,'<tr>'      ,'<td><a href="/u/{{ item.uid }}" target="_blank" style="color: #01AAED;">{{ item.uid }}</a></td>'      ,'<td>{{ item.authProduct }}</td>'      ,'<td>¥{{ item.rmb }}</td>'      ,'<td>{{ item.create_time }}</td>'      ,'</tr>'    ,'{{# }); }}'].join('');    var effectView = function(res){      var html = laytpl(effectTpl).render(res);      $('#LAY_coop_effect').html(html);      $('#LAY_effect_count').html('你共有 <strong style="color: #FF5722;">'+ (res.count||0) +'</strong> 笔合作授权订单');    };    var effectShow = function(page){      fly.json('/cooperation/effect', {        page: page||1      }, function(res){        effectView(res);        laypage.render({          elem: 'LAY_effect_page'          ,count: res.count          ,curr: page          ,jump: function(e, first){            if(!first){              effectShow(e.curr);            }          }        });      });    };    effectShow();  }  //提交成功后刷新  fly.form['set-mine'] = function(data, required){    layer.msg('修改成功', {      icon: 1      ,time: 1000      ,shade: 0.1    }, function(){      location.reload();    });  }  //帐号绑定  $('.acc-unbind').on('click', function(){    var othis = $(this), type = othis.attr('type');    layer.confirm('整的要解绑'+ ({      qq_id: 'QQ'      ,weibo_id: '微博'    })[type] + '吗?', {icon: 5}, function(){      fly.json('/api/unbind', {        type: type      }, function(res){        if(res.status === 0){          layer.alert('已成功解绑。', {            icon: 1            ,end: function(){              location.reload();            }          });        } else {          layer.msg(res.msg);        }      });    });  });  //我的消息  gather.minemsg = function(){    var delAll = $('#LAY_delallmsg')    ,tpl = '{{# var len = d.rows.length;\    if(len === 0){ }}\      <div class="fly-none">您暂时没有最新消息</div>\    {{# } else { }}\      <ul class="mine-msg">\      {{# for(var i = 0; i < len; i++){ }}\        <li data-id="{{d.rows[i].id}}">\          <blockquote class="layui-elem-quote">{{ d.rows[i].content}}</blockquote>\          <p><span>{{d.rows[i].time}}</span><a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-danger fly-delete">删除</a></p>\        </li>\      {{# } }}\      </ul>\    {{# } }}'    ,delEnd = function(clear){      if(clear || dom.minemsg.find('.mine-msg li').length === 0){        dom.minemsg.html('<div class="fly-none">您暂时没有最新消息</div>');      }    }            /*    fly.json('/message/find/', {}, function(res){      var html = laytpl(tpl).render(res);      dom.minemsg.html(html);      if(res.rows.length > 0){        delAll.removeClass('layui-hide');      }    });    */        //阅读后删除    dom.minemsg.on('click', '.mine-msg li .fly-delete', function(){      var othis = $(this).parents('li'), id = othis.data('id');      fly.json('/message/remove/', {        id: id      }, function(res){        if(res.status === 0){          othis.remove();          delEnd();        }      });    });    //删除全部    $('#LAY_delallmsg').on('click', function(){      var othis = $(this);      layer.confirm('确定清空吗?', function(index){        fly.json('/message/remove/', {          all: true        }, function(res){          if(res.status === 0){            layer.close(index);            othis.addClass('layui-hide');            delEnd(true);          }        });      });    });  };  dom.minemsg[0] && gather.minemsg();  exports('user', null);  });
 |