UNPKG

lixin-web

Version:

vue and bootstrap

1 lines 28.8 kB
var WebQQ=function(){var qqHtml='<div class="webqq-mini-window noselect default-cursor hidden-xs"><div class="head-portrait"></div><div class="status"><i class="imonline"></i>我的在线</div><div class="msg"><i>0</i></div></div><div class="webqq-main-window"><div class="top-action-bar"><a class="btn btn-close" title="关闭"></a></div><div class="my-profile"><div class="head-portrait"></div><div class="infos"><div class="name">潇洒哥~</div><div class="sign">编辑个性签名</div></div></div><div class="search-all"><input type="text" placeholder="搜索:联系人" /></div><div class="chats"><div class="tabs"><a data-href="last" class="last"><span class="arrow"></span></a><a data-href="contacts" class="contacts"><span class="arrow"></span></a><a data-href="group" class="group"><span class="arrow"></span></a></div><div class="panels"><div class="item-panel last"><div class="scroller" data-height="264"><div class="tips">暂时没有会话</div></div></div><div class="item-panel contacts"><div class="scroller" data-height="264"><div class="tips">您没有任何好友</div></div></div><div class="item-panel group"><div class="scroller" data-height="264"><div class="tips">您没有加入任何群组</div></div></div></div></div></div><div class="webqq-chat-window draggable"><div class="dragarea"></div><div class="top-action-bar"><a class="btn btn-close" title="关闭"></a></div><div class="my-profile"><div class="head-portrait"></div><div class="infos"><div class="name"></div><div class="sign"></div></div></div><div class="chats"><div class="tips"><div class="msg info">对方“离线或隐身”,可能无法立即回复。</div><a class="close"></a></div><div class="msg-list"><div class="scroller" data-height="280"></div></div><div class="facelist"><div class="wrapper"><div class="scroller" data-height="192" data-always-visible="1"></div></div></div><div class="toolbar"><a class="tools face" title="表情"></a><a class="tools shakes" title="抖动"></a><a class="tools picture" title="发送图片"></a><a class="tools screenshot" title="截图"></a><a class="tools clean" title="清除聊天记录"></a><a class="tools history">聊天记录</a></div><div class="send-msg"><div class="textarea"><div class="scroller" data-height="72"><div class="content" contenteditable="true" _moz_resizing="false"></div></div></div><div class="actions"><a class="btn close">关闭(C)</a><a class="btn send">发送(S)</a></div></div></div><div class="sidebar"></div></div><div class="webqq-plan-window"><div class="header"><div class="header_box"><i><img src="/plugins/custom/webqq/img/header_text.png"></i><span>高水准的彩票计划方案,尽在其中!</span></div><div class="top-action-bar"><a class="btn btn-close" title="关闭"></a></div><div class="header_select"><ul><li class="li_padding">彩种选择</li><li><select data-select="lotterySelect"><</select></li><li class="li_padding left_50">玩法选择</li><li><select data-select="lotteryMethodSelect"><option value="">所有玩法</option></select></li></ul></div></div><div class="box_div"><div class="f_left"></div><div class="f_right"></div></div>';$("body").append(qqHtml);var ProjectPath="/plugins/custom/webqq/";var AvatarPath="/img/avatar/";var MainWindow=$(".webqq-main-window");var ChatWindow=$(".webqq-chat-window");var MiniWindow=$(".webqq-mini-window");var PlanWindow=$(".webqq-plan-window");var DataHandle={scoket:{},ajax:{last:{url:""},contacts:{url:"/api/chat/get-contact-group",interval:60*1000},profile:{url:"",interval:60*1000},sendMsg:{url:"/api/chat/send-message",},loadMsg:{url:"/api/chat/get-message",interval:10*1000},setMsgRead:{url:"/api/chat/deal-receive-message",},historyUrl:"",post:function(url,data,success,error){$.ajax({type:"post",url:url,data:data,timeout:10000,dataType:"json",success:function(data){if(data.error){if(data.error==0){if($.isFunction(success)){success(data)}}if(data.error==1||data.error==2){if($.isFunction(error)){error(data)}}}else{if($.isFunction(success)){success(data)}}},error:function(){if($.isFunction(error)){error()}}})}},method:"ajax"};var Sound=function(){var sounds={audio:ProjectPath+"res/sound/audio.wav",global:ProjectPath+"res/sound/global.wav",msg:ProjectPath+"res/sound/msg.wav",shake:ProjectPath+"res/sound/shake.wav",system:ProjectPath+"res/sound/system.wav",tweet:ProjectPath+"res/sound/tweet.wav"};var play=function(name){$("audio#WebQQ").remove();var audio=$('<audio id="WebQQ" autoplay="autoplay">');audio.attr("src",sounds[name]);$("body").append(audio)};return{play:play}}();var Face=function(){var faceList=["惊讶","撇嘴","色","发呆","得意","大哭","害羞","闭嘴","睡觉","伤心","尴尬","发怒","调皮","贱笑","微笑","难过","酷","大嘴眨眼","抓狂","呕吐","偷笑","可爱","白眼","傲慢","饥饿","好困","惊恐","流汗","憨笑","大兵","奋斗","咒骂","疑问","安静","晕","很抓狂","衰","骷髅","欠打","再见","企鹅","发抖","爱情","欢乐","睁大眼","企鹅妹纸","猪头","猫头","马头","抱抱","金钱","灯泡","酒杯","蛋糕","闪电","炸弹","匕首","足球","音符","大便","咖啡","米饭","药","玫瑰","弯玫瑰","唇印","爱心","心碎了","桌椅","礼物","电话","时钟","短信","电视机","太阳","月亮","赞","不赞","握手","胜利","两只东西","美女","光头帅哥","小帅哥","帅哥企鹅","飞吻","尖叫","红酒","可乐","西瓜","下雨","晴天","雪人","五角星","又一美女","又一帅哥","逗逼汗","鄙视汗","挖鼻孔","鼓掌","糗大了","坏笑","左哼哼","右哼哼","哈欠","鄙视","委屈","要哭了","阴笑","亲亲","惊吓","可怜","菜刀","啤酒","篮球","乒乓球","动嘴唇","七星瓢虫","握拳"];var decode=function(str){for(var i=0;i<faceList.length;i++){if("["+faceList[i]+"]"==str){return i}}return -1};var encode=function(idx){if(idx>=0&&idx<=faceList.length-1){return"["+faceList[idx]+"]"}return""};return{encode:encode,decode:decode}}();var Chat=function(){var ChatUser,Users=[],Logs=[],wState=0;var initWindowEffect=function(){ChatWindow.find(".top-action-bar .btn-close").click(function(){wState=0;ChatWindow.hide()})};var getChatUser=function(){return ChatUser};var getLogsIndex=function(id){for(var i=0;i<Logs.length;i++){if(Logs[i].id==id){return i}}return -1};var addLogs=function(id,logs){var idx=getLogsIndex(id);if(idx==-1){Logs.push({id:id,logs:logs})}else{for(var i=0;i<logs.length;i++){Logs[idx].logs.push(logs[i])}}};var cleanLogs=function(id){var idx=getLogsIndex(id);if(idx!=-1){Logs[getLogsIndex(id)].logs=[]}};var loadLogs=function(id,callback){if(DataHandle.method=="ajax"){var data={status:0,id:id};DataHandle.ajax.post(DataHandle.ajax.loadMsg.url,data,function(data){if($.isFunction(callback)){callback(data.data)}},function(data){})}};var hasUser=function(id){for(var i=0;i<Users.length;i++){if(Users[i].id==id){return true}}return false};var setProfile=function(data){var profile=ChatWindow.find(".my-profile");var chats=ChatWindow.find(".chats");if(data.online){profile.removeClass("offline").addClass("online");chats.find(".tips").hide().empty()}else{profile.removeClass("online").addClass("offline");chats.find(".tips").show().html('<div class="msg info">对方“离线或隐身”,可能无法立即回复。</div><a class="close"></a>');chats.find(".tips .close").click(function(){$(this).parent().hide()})}profile.find(".head-portrait").html('<img src="'+AvatarPath+data.face+'.jpg">');profile.find(".infos .name").html(data.nickname);profile.find(".infos .sign").html(data.sign)};var lastDate,lastMins;var setMessage=function(data,reload){var msglist=ChatWindow.find(".chats .msg-list .scroller");var msgIds=[];if(reload){msglist.empty();msglist.append('<div class="clear"></div>')}if(data&&data.length>0){$.each(data,function(idx,thisMessage){msgIds.push(thisMessage.id);var time=thisMessage.time;var thisDate=moment(time).format("YYYY-MM-DD");var thisTime=moment(time).format("HH:mm:ss");var thisMins=moment(time).format("HH:mm");var isDate=false,isMins=false;if(!lastDate||lastDate!=thisDate){lastDate=thisDate;isDate=true}if(!lastMins||lastMins!=thisMins){lastMins=thisMins;isMins=true}if(isDate||(isDate&&isMins)){msglist.append('<div class="item-time">'+moment(time).format("YYYY-MM-DD HH:mm:ss")+"</div>")}else{if(isMins){msglist.append('<div class="item-time">'+thisTime+"</div>")}}var content=thisMessage.message;var testFace=Face.decode(content);if(testFace!=-1){content='<img src="'+ProjectPath+"res/face/"+testFace+'.gif">'}var message='<div class="item-msg '+(thisMessage.type==0?"friend":"user")+'"><div class="img"><img src="'+AvatarPath+(thisMessage.type==0?ChatUser.face:Main.User.face)+'.jpg"></div><div class="message"><div class="msg"><i class="nor"></i>'+content+"</div></div></div>";msglist.append(message)});msglist.slimScroll({scrollTo:msglist[0].scrollHeight});setMessageRead(msgIds.join(","))}};var setUp=function(logs,data){ChatUser=data;setProfile(data);wState=1;ChatWindow.show();setMessage(logs,true);clearShakeUser(data.id)};var add=function(data){if(!hasUser(data.id)){Users.push(data);Logs.push({id:data.id,logs:[]});loadLogs(data.id,function(logs){addLogs(data.id,logs);setUp(logs,data)})}else{loadLogs(data.id,function(logs){addLogs(data.id,logs);setUp(Logs[getLogsIndex(data.id)].logs,data)})}};var sendMessage=function(message,callback){if(DataHandle.method=="ajax"){var data={id:ChatUser.id,message:message};DataHandle.ajax.post(DataHandle.ajax.sendMsg.url,data,function(data){if($.isFunction(callback)){callback()}},function(data){alert("发送聊天信息失败!")})}};var setMessageRead=function(messageIds){if(DataHandle.method=="ajax"){var data={messageIds:messageIds};DataHandle.ajax.post(DataHandle.ajax.setMsgRead.url,data,function(data){})}};var initFace=function(){var facelist=ChatWindow.find(".facelist .scroller");for(var i=0;i<=118;i++){facelist.append('<a class="face" data-id="'+i+'"><img src="'+ProjectPath+"res/face/"+i+'.gif"></a>')}facelist.find(".face").click(function(){var id=$(this).attr("data-id");var message=Face.encode(id);console.log("mess:"+message);sendMessage(message,function(){var time=moment().format("YYYY-MM-DD HH:mm:ss");var msg={type:1,message:'<img class="face" src="'+ProjectPath+"res/face/"+id+'.gif">',time:time};setMessage([msg],false);addLogs(ChatUser.id,[msg])});ChatWindow.find(".facelist").toggle()})};var initToolbar=function(){initFace();var toolbar=ChatWindow.find(".toolbar");toolbar.find(".face").click(function(){ChatWindow.find(".facelist").toggle()});toolbar.find(".shakes").click(function(){Sound.play("shake");ChatWindow.addClass("shake shake-constant shake-hard");setTimeout(function(){ChatWindow.removeClass("shake shake-constant shake-hard")},500)});toolbar.find(".clean").click(function(){cleanLogs(ChatUser.id);setMessage([],true)})};var initSendMsg=function(){this.document.designMode="off";var send=ChatWindow.find(".send-msg");var content=send.find(".textarea .content");var doSend=function(){var message=content.html();var sendData=content.text().replace(/<br\s*\/?>$/g,"").replace(/\r\n\g\s/g,"");if(sendData==""){content.empty();return}sendMessage(sendData,function(){var time=moment().format("YYYY-MM-DD HH:mm:ss");var msg={type:1,message:message,time:time};setMessage([msg],false);content.empty();addLogs(ChatUser.id,[msg])})};content.keyup(function(e){if(e.keyCode==13){doSend()}});send.find(".actions .send").click(function(){doSend()});send.find(".actions .close").click(function(){wState=0;ChatWindow.hide()})};var setShakeUser=function(id){var chats=MainWindow.find(".chats");var contacts=chats.find(".panels .item-panel.contacts");var targetUser=contacts.find('.item-contact[data-id="'+id+'"]');var targetItem=targetUser.parents(".g-item");targetUser.find(".img").addClass("shake shake-qq");targetItem.find(".g-infos span").addClass("shake shake-qq-opacity")};var clearShakeUser=function(id){var chats=MainWindow.find(".chats");var contacts=chats.find(".panels .item-panel.contacts");var targetUser=contacts.find('.item-contact[data-id="'+id+'"]');var targetItem=targetUser.parents(".g-item");targetUser.find(".img").removeClass("shake shake-qq");if(targetItem.find(".img.shake.shake-qq").length==0){targetItem.find(".g-infos span").removeClass("shake shake-qq-opacity")}};var receive=function(msg){if(wState==0){setShakeUser(msg.fromId);MiniWindow.find(".head-portrait").addClass("shake shake-qq")}if(wState==1){if(msg.fromId==ChatUser.id){setMessage([msg],false)}else{setShakeUser(msg.fromId)}}addLogs(msg.fromUser,[msg])};var init=function(){initWindowEffect();initToolbar();initSendMsg()};return{init:init,add:add,receive:receive,clearShakeUser:clearShakeUser}}();var Plan=function(){var planUrl={listUrl:"/api/chat/get-lottery-plan-list",lotteryListUrl:"/api/game-lottery/static-info",methodListUrl:"/api/game-lottery/static-method",dealMessageUrl:"/api/chat/deal-chat-lottery-plan-message",getPlanDetailUrl:"/api/chat/get-chat-lottery-plan-detail"};var initWindowEffect=function(){PlanWindow.find(".top-action-bar .btn-close").click(function(){PlanWindow.hide()});PlanWindow.find('[data-select="lotterySelect"]').change(function(){var type=$(this).find("option:selected").attr("data-data");var lotteryId=$(this).val();getMethodList(type);getPlanList({lotteryId:lotteryId})});PlanWindow.find('[data-select="lotteryMethodSelect"]').change(function(){var methodName=$(this).val();var lotteryId=PlanWindow.find('[data-select="lotterySelect"]').val();var planName=PlanWindow.find(".box_div .f_left .activation").attr("data-data");var data={lotteryId:lotteryId,planName:planName,methodName:methodName};getPlanList(data)})};var initWindowPlanEvent=function(){PlanWindow.find(".box_div .f_left li").click(function(){var planName=$(this).attr("data-data");var lotteryId=PlanWindow.find('[data-select="lotterySelect"]').val();var methodName=PlanWindow.find('[data-select="lotteryMethodSelect"]').val();var data={lotteryId:lotteryId,planName:planName,methodName:methodName};getPlanList(data)})};var show=function(data){PlanWindow.show();getLotteryList(data);getPlanList(data);dealMessage(-data.lotteryId);Chat.clearShakeUser(-data.lotteryId)};var getLotteryList=function(param){DataHandle.ajax.post(planUrl.lotteryListUrl,{},function(data){var lotterySelect=PlanWindow.find('[data-select="lotterySelect"]');var selectLotteryType=0;var optionHtml="";$.each(data,function(index,thislottery){if(param.lotteryId==thislottery.id){optionHtml+='<option value="'+thislottery.id+'" data-data="'+thislottery.type+'" selected="selected">'+thislottery.showName+"</option>";selectLotteryType=thislottery.type}else{optionHtml+='<option value="'+thislottery.id+'" data-data="'+thislottery.type+'">'+thislottery.showName+"</option>"}});lotterySelect.html(optionHtml);getMethodList(selectLotteryType)})};var getMethodList=function(type){DataHandle.ajax.post(planUrl.methodListUrl,{type:type},function(data){var lotteryMethodSelect=PlanWindow.find('[data-select="lotteryMethodSelect"]');var optionHtml='<option value="" >所有玩法</option>';$.each(data,function(index,thislotteryMethod){optionHtml+='<option value="'+thislotteryMethod.methodName+'">'+thislotteryMethod.group+"_"+thislotteryMethod.name+"</option>"});lotteryMethodSelect.html(optionHtml)})};var buildTbody=function(thisPlan){var tr=$("<tr>");tr.append("<td>"+thisPlan.planName+"</td>");tr.append('<td class="w_12"></td>');tr.append("<td>"+thisPlan.lotteryShowName+"</td>");tr.append('<td class="w_12"></td>');tr.append("<td>"+thisPlan.issue+"</td>");tr.append('<td class="w_12"></td>');tr.append("<td>"+thisPlan.methodNameShowName+"</td>");tr.append('<td class="w_12"></td>');tr.append('<td title="'+thisPlan.code+'"><span class="tab-wid">'+thisPlan.code+"</span></td>");tr.append('<td class="w_30"></td>');tr.append('<td colspan="2"><span class="Betting" data-command="bet">投注</span></td>');tr.append('<td class="w_12"></td>');tr.append('<td><span class="Betting" data-command="detail">详情</span></td>');return tr};var getPlanList=function(postData){DataHandle.ajax.post(planUrl.listUrl,postData,function(data){var leftDiv=PlanWindow.find(".box_div .f_left");var planNameList=data.data.planNameList;var liHtml='<ul data-data=""><li>最新15个计划</li>';$.each(planNameList,function(index,thisPlanName){liHtml+='<li data-data="'+thisPlanName+'"><span>'+thisPlanName+"</span></li>"});liHtml+="</ul>";leftDiv.html(liHtml);if(postData.planName){leftDiv.find('[data-data="'+postData.planName+'"]').addClass("activation")}else{leftDiv.find("li").eq(0).addClass("activation")}var rightDiv=PlanWindow.find(".box_div .f_right");var planList=data.data.planList;rightDiv.html("<table></table>");$.each(planList,function(index,thisPlan){var tr=buildTbody(thisPlan);rightDiv.find("table").append(tr);tr.find('[data-command="bet"]').click(function(){var lottery=thisPlan.lotteryShortName;var method=thisPlan.methodName;var content=thisPlan.code;var betStr='[{"lottery":"'+lottery+'","issue":"","method":"'+method+'","content":"'+content+'","model":"yuan","multiple":1,"code":'+AppData.getLotteryAccount().code+',"compress":false}]';betDialog(betStr,thisPlan)});tr.find('[data-command="detail"]').click(function(){getPlanDetail(thisPlan.id)})});initWindowPlanEvent()})};var betDialog=function(betStr,thisPlan){var betObj=eval(betStr)[0];betObj.point=10;betObj.total=111;betObj.method=thisPlan.lotteryShowName+"-"+thisPlan.methodNameShowName;var betData=LotteryMain.bList();betData.length=0;betData.push(eval(betStr)[0]);var $html=$('<div ><table data-injection="CaiPiaoJiHua"></table></div>');initGouCaiChe($html);$html.find("table").bootstrapTable("append",betObj);BootstrapDialog.show({cssClass:"CaiPiaoJiHuaDialog",title:'<i class="icon lock"></i>确认投注信息',message:$html,height:500,buttons:[{label:"立即投注",action:function(dialog){$('[data-command="submit"]').click();dialog.close()}},Will.cancelButton]})};var getPlanDetail=function(id){DataHandle.ajax.post(planUrl.getPlanDetailUrl,{id:id},function(data){var rightDiv=PlanWindow.find(".box_div .f_right");var tableHtml='<div class="detail"><table>';tableHtml+='<tr><td class="text-right w_100">彩票种类:</td>';tableHtml+='<td class="text-left">'+data.data.lotteryShowName+"</td></tr>";tableHtml+='<tr><td class="text-right w_100">玩法:</td>';tableHtml+='<td class="text-left" >'+data.data.methodNameShowName+"</td></tr>";tableHtml+='<tr><td class="text-right w_100">计划名称:</td>';tableHtml+='<td class="text-left">'+data.data.planName+"</td></tr>";tableHtml+='<tr><td class="text-right w_100">期号:</td>';tableHtml+='<td class="text-left">'+data.data.issue+"</td></tr>";tableHtml+='<tr><td class="text-right w_100" style="height:150px;">内容:</td>';tableHtml+='<td class="text-left">'+data.data.code+"</td></tr>";tableHtml+='<tr class="text-center"><td colspan="2"><span class="btn" data-command="bet" style="width:100px;">投注</span><span class="btn" data-command="back" style="width:100px;">返回</span></td>';tableHtml+="</tr>";tableHtml+="</table></div>";rightDiv.html(tableHtml);rightDiv.find('[data-command="bet"]').click(function(){var lottery=data.data.lotteryShortName;var method=data.data.methodName;var content=data.data.code;var betStr='[{"lottery":"'+lottery+'","issue":"","method":"'+method+'","content":"'+content+'","model":"yuan","multiple":1,"code":'+AppData.getLotteryAccount().code+',"compress":false}]';betDialog(betStr,data.data)});rightDiv.find('[data-command="back"]').click(function(){var planName=PlanWindow.find(".box_div .f_left .activation").attr("data-data");var lotteryId=PlanWindow.find('[data-select="lotterySelect"]').val();var methodName=PlanWindow.find('[data-select="lotteryMethodSelect"]').val();var data={lotteryId:lotteryId,planName:planName,methodName:methodName};getPlanList(data)})})};var dealMessage=function(fromId){DataHandle.ajax.post(planUrl.dealMessageUrl,{fromId:fromId},function(data){})};var init=function(){initWindowEffect()};return{init:init,show:show}}();var Main=function(){var User,Contacts=[],Groups=[];User={id:AppData.getMainAccount().id,nickname:AppData.getMainAccount().nickname,face:AppData.getInfo()?AppData.getInfo().avatar:"1",sign:"",online:true};var getContacts=function(id){for(var i=0;i<Contacts.length;i++){if(Contacts[i].id==id){return Contacts[i]}}return};var initWindowEffect=function(){MainWindow.find(".top-action-bar .btn-close").click(function(){MainWindow.hide();MiniWindow.find(".head-portrait").removeClass("shake shake-qq");Mini.clear();Mini.show()})};var initChatTabsEffect=function(){var chats=MainWindow.find(".chats");var tabs=chats.find(".tabs > a");var panels=chats.find(".panels");tabs.each(function(idx,val){$(this).click(function(){if(!$(this).hasClass("selected")){tabs.removeClass("selected");$(this).addClass("selected");panels.stop().animate({marginLeft:-idx*280},200,"easeInOutQuint")}})});tabs.eq(1).trigger("click")};var initContactsEffect=function(){var chats=MainWindow.find(".chats");var contacts=chats.find(".panels .item-panel.contacts");contacts.find(".g-item").each(function(){var gItem=$(this);gItem.find(".g-infos").click(function(){var animateTo=0;if(gItem.find(".u-list").is(":hidden")){animateTo=90}$(this).find("i.arrow").rotate({animateTo:animateTo,duration:200});gItem.find(".u-list").toggle()})});contacts.find(".u-list .item-contact").click(function(){if(!$(this).hasClass("selected")){contacts.find(".u-list .item-contact.selected").removeClass("selected");$(this).addClass("selected")}})};var setLastData=function(data){var thisPanel=MainWindow.find(".chats .panels .item-panel.last .scroller");if(data&&data.length>0){thisPanel.empty();$.each(data,function(idx,thisContact){var innerHtml='<a data-id="'+thisContact.id+'" class="item-chat"><div class="img shake shake-qq"><img src="'+AvatarPath+thisContact.face+'.jpg"></div><div class="infos"><div class="name">'+thisContact.nickname+'</div><div class="msg">'+thisContact.msg+"</div></div></a>";thisPanel.append(innerHtml)});thisPanel.find(".item-chat").dblclick(function(){Chat.add(getContacts($(this).attr("data-id")))})}else{thisPanel.html('<div class="tips">暂时没有会话</div>')}};var setContactsData=function(data){var thisPanel=MainWindow.find(".chats .panels .item-panel.contacts .scroller");if(data&&data.length>0){thisPanel.empty();thisPanel.append('<div class="clear h2"></div>');$.each(data,function(idx,thisGroup){var group=$('<div class="g-item"><a class="g-infos"><i class="arrow"></i><span>'+thisGroup.name+' <span class="status">'+thisGroup.online+"/"+thisGroup.total+'</span></span></a><div class="u-list"></div></div>');if(thisGroup.friends&&thisGroup.friends.length>0){$.each(thisGroup.friends,function(jdx,thisContact){Contacts.push(thisContact);var contact='<a data-id="'+thisContact.id+'" class="item-contact '+(thisContact.online?"online":"offline")+'"><div class="img"><img src="'+AvatarPath+thisContact.face+'.jpg"></div><div class="infos"><div class="name">'+thisContact.nickname+(thisContact.online?"":" [离线]")+'</div><div class="msg" title="'+thisContact.sign+'">'+thisContact.sign+"</div></div></a>";group.find(".u-list").append(contact)})}thisPanel.append(group)});thisPanel.append('<div class="clear h2"></div>');thisPanel.find(".u-list .item-contact").dblclick(function(){var contactId=$(this).attr("data-id");if(contactId==0){var href="/game-service.html?username="+AppData.getMainAccount().username;$(this).attr("href",href).attr("target",new Date().getTime())}else{if(contactId<0){Plan.show({lotteryId:-contactId})}else{Chat.add(getContacts(contactId));$("a.history").attr("data-id",$(this).attr("data-id"))}}});initContactsEffect()}else{thisPanel.html('<div class="tips">您没有任何好友</div>')}};var loadLast=function(){if(DataHandle.method=="ajax"){DataHandle.ajax.post(DataHandle.ajax.last.url,{},function(data){setLastData(data.data)},function(data){})}};var loadContacts=function(){if(DataHandle.method=="ajax"){DataHandle.ajax.post(DataHandle.ajax.contacts.url,{},function(data){setContactsData(data.data)},function(data){})}};var loadMessage=function(data){if(DataHandle.method=="ajax"){DataHandle.ajax.post(DataHandle.ajax.loadMsg.url,data,function(backData){Mini.msg(backData.data.length);$.each(backData.data,function(jdx,thisMessage){Chat.receive(thisMessage)})},function(data){})}};var loadUnread=function(data){loadMessage({status:0})};var init=function(){if(!User.face){User.face="0"}MainWindow.find(".my-profile .head-portrait").html('<img src="'+AvatarPath+User.face+'.jpg">');MiniWindow.find(".head-portrait").html('<img src="'+AvatarPath+User.face+'.jpg">');MainWindow.find(".infos .name").html(User.nickname);MainWindow.find(".infos .sign").html("");initWindowEffect();initChatTabsEffect();loadContacts();if(DataHandle.method=="ajax"){setInterval(loadContacts,DataHandle.ajax.contacts.interval);setInterval(loadUnread,DataHandle.ajax.loadMsg.interval)}};return{init:init,loadLast:loadLast,loadContacts:loadContacts,loadUnread:loadUnread,User:User}}();var Mini=function(){var count=0,state=1;var show=function(){state=1;MiniWindow.show()};var hide=function(){state=0;MiniWindow.hide()};var init=function(){MiniWindow.click(function(){hide();clear();MainWindow.show()})};var msg=function(amount){count=amount;if(count==0){return}if(state==1){MiniWindow.find(".msg > i").html(count);MiniWindow.find(".msg").show()}};var clear=function(){count=0;MiniWindow.find(".msg > i").html(count);MiniWindow.find(".msg").hide()};return{init:init,show:show,hide:hide,msg:msg,clear:clear}}();var initScroll=function(){$(".scroller").each(function(){if($(this).attr("data-initialized")){return}var height;if($(this).attr("data-height")){height=$(this).attr("data-height")}else{height=$(this).css("height")}$(this).slimScroll({allowPageScroll:false,size:"6px",borderRadius:"2px",railBorderRadius:"2px",color:($(this).attr("data-handle-color")?$(this).attr("data-handle-color"):"#bbb"),wrapperClass:($(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv"),railColor:($(this).attr("data-rail-color")?$(this).attr("data-rail-color"):"#eaeaea"),position:"right",height:height,alwaysVisible:($(this).attr("data-always-visible")=="1"?true:false),railVisible:($(this).attr("data-rail-visible")=="1"?true:false),disableFadeOut:true});$(this).attr("data-initialized","1")})};var initDrag=function(){$(".draggable").each(function(){var target=$(this);target.find(".dragarea").mousedown(function(a){var left=parseInt(target.css("left")),top=parseInt(target.css("top"));var tWidth=target.width(),tHeight=target.height();var mLeft=parseInt(target.css("margin-left")),mTop=parseInt(target.css("margin-top"));var wWidth=$(window).width(),wHeight=$(window).height();var aX=a.pageX,aY=a.pageY;$(document).bind("mousemove",function(b){var bX=b.pageX,bY=b.pageY;var newLeft=left+bX-aX,newTop=top+bY-aY;if(newLeft+mLeft<=0){newLeft=-mLeft}if(newTop+mTop<=0){newTop=-mTop}if(newLeft+mLeft>=wWidth-tWidth){newLeft=wWidth-tWidth-mLeft}if(newTop+mTop>=wHeight-tHeight){newTop=wHeight-tHeight-mTop}target.css({left:newLeft,top:newTop})}).bind("mouseup",function(b){$(document).unbind("mousemove").unbind("mouseup")})})})};var Contactssearch=function(){var inputpeoplename=$(".webqq-main-window").find(".search-all input").val();var peoplename=$(".webqq-main-window .g-item").eq(2).find(".u-list a .name");var findname=0;for(var i=0;i<peoplename.length;i++){var name=peoplename.eq(i).html().split(" ")[0];if(inputpeoplename==name){peoplename.eq(i).dblclick();findname=1;return}}if(findname!==1){Will.warning("未找到该联系人")}};$(".webqq-main-window").keydown(function(e){if(e.keyCode==13){Contactssearch()}});var historymessage=function(id,sDate,eDate){Will.ajax({},"/api/chat/get-history-message?fromId="+id+"&sDate="+sDate+"&eDate="+eDate+"",function(data){for(i=data.length-1;i>=0;i--){var message=data[i].message;var time=moment(data[i].time).format("YYYY-MM-DD");var $html=$('<div class="history"><div class="item-time">'+time+'</div><div class="item-msg user"> <div class="img"><img src=""></div> <div class="message"> <div class="msg"><i class="nor"></i>'+message+"<div> </div> </div></div>");if(data[i].fromId==id){$html.find(".item-msg").removeClass("user");$html.find(".item-msg").addClass("friend");$html.find(".img img").attr("src",$(".webqq-chat-window .my-profile .head-portrait img").attr("src"))}else{$html.find(".img img").attr("src",$(".webqq-main-window .my-profile .head-portrait img").attr("src"))}$(".msg-list .scroller").prepend($html)}})};$(".webqq-chat-window .chats .history").click(function(){var eDate=moment().add(1,"days").format("YYYY-MM-DD");var sDate=moment().subtract(7,"days").format("YYYY-MM-DD");$(".msg-list .scroller .history").remove();var id=$("a.history").attr("data-id");historymessage(id,sDate,eDate)});var init=function(){Main.init();Chat.init();Mini.init();Plan.init();initScroll();initDrag()};return{init:init}}();