123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334 |
- /**
- @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($('#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);
-
- });
|