Edit D:\Documents\Tencent Files\83036356\AppWebCache\117\qinfo.clt.qq.com\qinfo_v3\js\member.45b43.js
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ 'use strict'; var report = require('../lib/report'), config = require('../lib/config'), util = require('../lib/util'), client = require('../module/member/client'), card = require('../module/member/card'), listData = require('../module/member/list-data'), listHtml = require('../module/member/list-html'), tmplMemberThead = require('../module/member/tmpl/member-thead'), tmplListBox = require('../module/member/tmpl/member-list-box'), tmplListOne = require('../module/member/tmpl/member-list-one'), tmplOfficeListOne = require('../module/member/tmpl/office-member-list-one'); var exitGroupVersion = 5449;//????????????????. //?????? var G = {}; G.selfUin = client.getSelfUin(); //?????q G.role = "" + (client.getSelfIdentity() || util.getParameter("role")); G.selfIndentity = client.getSelfIdentity(); //??????????????? G.gc = util.getParameter("groupuin") || client.getGroupUin(); //??? G.ver = util.getParameter("ver") || client.getMemberHtmlVer(); //1????? 2?????????? G.officemode = (G.ver == "2") && (util.getParameter("officemode") || client.getOfficeMode()); //?????????? G.version = client.getVersion().version; //????????? G.classHomeSchool = 32; //?????? //?????? G.codeFilter = function(string) { return string.replace(new RegExp("<", "gm"), "[").replace(new RegExp(">", "gm"), "]"); }; G.memberData = { itemsload: false, labelload: false, labelflagload: false, groupload: false, face: {}, status: { 1: '???', 2: '???', 3: '???' } }; //labelChange:??????????????????????????????????????????????????????????????????true //labelChange=true?????????????????????????????????????????????????????????? G.memberData.labelChange = false; G.memberData.isListViewLoad = false; //??????list???????????????????????????????? G.memberData.blackMod = false; //?????????????????? window.G = G; //?????? G.tdw = { 'module': 'mber_list', 'uin': G.selfUin }; G.monitor = [470273]; //????????????????? G.eventListener = function(tag, eventName) { //?????? if (!client.online()) { client.alert(config.msg.tit.alert, config.msg.offline); return false; } else { //??? var temp = tag + "|" + eventName; var tdw = $.extend({}, G.tdw), tdw1 = false; var _monitor = 0; switch (temp) { case "editNick-toolbarBtn|click": //??????????? tdw.action = "Clk_modify"; tdw.ver2 = 0; _monitor = 474437; //report.monitor([474437], true); break; case "editNick-listButton|click": //???hover????????? tdw.action = "Clk_modify"; tdw.ver2 = 2; break; case "adminNumHelp-toolbarBtn|click": //????????????????? tdw.action = "Clk_seemana"; break; case "setAdmin-listButton|click": //??????????? tdw.action = "Clk_setmana"; break; case "offSetAdmin-listButton|click": //?????????????? tdw.action = "Clk_unmana"; break; case "listUserInfo-listButton|click": //????????? tdw.action = "see_persondata"; break; case "delUser-listbutton|click": //????????? tdw.action = "Clk_delmber"; break; case "contentMenuOne-send|select": //????????????? tdw.action = "right_sendmsg"; break; case "contentMenuOne-view|select": //???????????? tdw.action = "right_seedata"; break; case "contentMenuOne-add|select": //???????????? tdw.action = "right_addfriend"; break; case "contentMenuOne-modify|select": //???????????? //????????????????????????? // report.tdw($.extend({ // action: "Clk_modify", // ver2: 1 // }, G.tdw)); tdw1 = $.extend({ action: "Clk_modify", ver2: 1 }, G.tdw); //???????? tdw.action = "right_modifyname"; break; case "contentMenuOne-shield|select": //???????????? tdw.action = "right_screensb"; break; case "contentMenuOne-jubao|select": //???????????? tdw.action = "right_report"; break; case "adminManageLog-toolbarBtn|click": //????????? tdw.action = "Clk_manaplay"; _monitor = 474427; //report.monitor([474427], true); break; case "advManage-toolbarBtn|click": //????????? tdw.action = "Clk_highmana"; report.monitor([474436], true); break; case "moreoptions-toolbarBtn|click": //????????? break; case "levelHelp-theadList|click": //????????? tdw.action = "Clk_rankrule"; break; case "editLevel-theadList|click": //?????????????? tdw.action = "Clk_setrank"; break; case "editLabel-theadList|click": //?????????????? tdw.action = "Clk_settag"; break; case "urlSkipToEditNick-input|autoFocus": //url????????? tdw.action = "Clk_modify"; tdw.ver2 = 4; break; case "tabSkipToEditNick-input|autoFocus": //tab???????????? tdw.action = "Clk_modify"; tdw.ver2 = 4; break; case "blackuser-toolbarBtn|click": //???????????? _monitor = 474426; //report.monitor([474426], true); break; } setTimeout(function() { report.tdw(tdw); report.monitor([_monitor], true); if (tdw1) { report.tdw(tdw1); } }, 3000); return true; } }; //????????? var tdw = {}; var memuin = util.getParameter("memuin"), enableedit = util.getParameter("enableedit"); if (memuin != "0" && enableedit == "1") { //?????? //????????? tdw = $.extend({ action: "exp", ver2: 1 }, G.tdw); } else { //????????? tdw = $.extend({ action: "exp", ver2: 2 }, G.tdw); } window.addEventListener('load', function() { setTimeout(function() { report.monitor(G.monitor); report.tdw(tdw); }, 3000); }, false); //???????? window.timeScope.clientMemberDataReadyStart = new Date().getTime() //?????????????????; G._memberData = { items: [], office_items: [] }; var changeMode = function() { $("#member-tbody").empty(); $("#member-thead").empty(); listData.init(); } G.changeMode = changeMode; var userlist = client.getAllMember(), memberBox = $("#member-tbody"); if (userlist) { var li = "", html = "", i = 0, len = userlist.length; memberBox.empty(); for (; i < len; i++) { var qq = userlist[i]; if (G.officemode == "0") { var d = client.getMemberInfo(qq); if (d) { var card = G.codeFilter(d["cardName"]) || "", levelname = (d["levelLable"]) || "", nick = G.codeFilter(d["nickName"]) || "", point = (d["levelPoint"]) || "" G._memberData.items.push({ card: card, levelname: levelname, nick: nick, point: point, qq: qq, times: "-" });; } else { //??????????? G._memberData.items.push({ card: "", levelname: "", nick: "", point: "", qq: qq, times: "-" }); } } else { var d = client.getMemberOfficeInfo(qq); if (d) { var card = G.codeFilter(d["cardName"]) || "", nick = G.codeFilter(d["nickName"]) || "", tel = G.codeFilter(d["tel"]) || "", position = G.codeFilter(d["position"]) || "", gender = G.codeFilter(d["gender"]) || ""; G._memberData.office_items.push({ nick: nick, card: card, tel: tel, position: position, gender: gender, qq: qq, times: "-" }); } else { //??????????? G._memberData.office_items.push({ card: "", nick: "", tel: "", position: "", gender: "", qq: qq, times: "-" }); } } //?????? if (i < 20) { //?????20?????? if (G.officemode == "0") { li = tmplListBox({ qq: qq, i: i, cgiready: "ready", listOne: tmplListOne({ i: i, data: G._memberData, version : exitGroupVersion, util: util, client: client }) }); } else { li = tmplListBox({ qq: qq, i: i, cgiready: "ready", listOne: tmplOfficeListOne({ i: i, data: G._memberData, util: util, client: client }) }); } memberBox.append(li); } else { html += tmplListBox({ qq: qq, i: i, cgiready: "unready", listOne: "" }); } } //?????? memberBox.append(html); //?????? listHtml.listUpdate(); delete G._memberData; } else { G.monitor.push(468408); } window.timeScope.clientMemberDataReadyEnd = new Date().getTime() //?????????????????; //?????? listData.init(); //html???????? listHtml.init(); //?????? window.onCallback_MarkCreditAndDelUser = function(result, error, member) { if (result == 0) { var li = $("#list-" + member), i = li.data("i"), isAdmin = (li.data("indentity") == "admin") ? true : false; li.parent().remove(); if (isAdmin) { var adminCount = $("#admin-count"); //?????????????????? //window.postMessage( JSON.stringify({'event': 'OnAdminChange', 'from':'Home'}), '*'); adminCount.html(parseInt(adminCount.html()) - 1); } G.memberData.items.splice(i, 1); //?????????????????? //window.postMessage(JSON.stringify({from: 'Member', event: 'OnMemberNumChange', curMemberNum: G.memberData.items.length}), "http://qinfo.clt.qq.com"); //???????????body??????????????????????????????????????????index???????? listHtml.loadTbody(true); //??? tdw = $.extend({ action: "suc_delmber", }, G.tdw); report.tdw(tdw); } else if (result === 2) { client.alert(config.msg.tit.alert, error); } else { client.alert(config.msg.tit.alert, config.msg.delUser.error); } } //?????????(??????????????) function shutHandler(d) { var obj = JSON.parse(d); //console.log(obj.d); if (parseInt(G.groupUin) === parseInt(obj.groupid)) { //????? var dom = $('#list-"' + obj.uin + '"] .time'); if (parseInt(obj.timestamp)) { if (!G.memberData.shutup_list) { G.memberData.shutup_list = {}; } G.memberData.shutup_list[obj.uin] = obj.timestamp; dom.text(config.msg.shut.howtimetocancelshut.replace("%s", util.getShutTime(obj.timestamp))); //??????????? } else { //???????? var userObj = getUinTime(obj.uin); dom.text(userObj.times); delete G.memberData.shutup_list[obj.uin]; } } } window.onMemberShut = shutHandler; window.onGroupShut = shutHandler; window["onTabChanged"] = function(json) { //console.log(json); var data = JSON.parse(json); if (data.enableedit == '1') { listHtml.isEditCard(data.memuin); } else { listHtml.lastTimeMsg(data.memuin); } }; //storage?????? window.addEventListener('storage', function(storage) { //console.log(storage); //?????? if (storage.key == "gp-personal-level-list") { G.memberData.levelname = JSON.parse(storage.newValue); listHtml.loadTbody(true); } //?????? //console.log(storage.key==G.gc+"tags"); if (storage.key == G.gc + "tags") { G.memberData.labelChange = true; var newValue = JSON.parse(storage.newValue); G.memberData.tag_info = newValue; for (var key in G.memberData.labelid) { if (G.memberData.label[key] != newValue[G.memberData.labelid[key]]) { G.memberData.label[key] = newValue[G.memberData.labelid[key]]; if ($("#list-" + key).size() > 0) { $("#list-" + key).find('[data-label-txt]').html(G.memberData.label[key]); } } } } //???????????? if (storage.key == G.gc + "_tag") { G.memberData.labelflag = storage.newValue; G.memberData.labelChange = true; //cgi??? listData.label(); //?????? listHtml.loadThead(); //?????? listHtml.loadTbody(true); } }, false); },{"../lib/config":3,"../lib/report":4,"../lib/util":6,"../module/member/card":7,"../module/member/client":9,"../module/member/list-data":12,"../module/member/list-html":13,"../module/member/tmpl/member-list-box":19,"../module/member/tmpl/member-list-one":20,"../module/member/tmpl/member-thead":21,"../module/member/tmpl/office-member-list-one":22}],2:[function(require,module,exports){ 'use strict'; /* ??allclient??allhummer2?????..... */ /* GetShareData SetShareData??tring) */ module.exports = (function() { var online = false; //???????? var config = { }; //?????? var closePop = function() { return callHummer('Window.Close'); }; // ????????? /** * pageId: 1: ?????, 2: ?????, 3: ???????? */ var destroyWebPage = function(pageId) { callClient('DestroyWebPage', [pageId]); }; // ?????????????? // ????????0?????? var onSave = function(f /*0?1?*/ ) { callClient('OnSave', [f]); }; // ????????eb????????????web??s????? /** * pageId: 1: ?????, 2: ?????, 3: ???????? */ var webLoadComplete = function(pageId) { callClient('WebLoadComplete', [pageId]); }; var closeWindow = function() { callClient('CloseWindow'); }; //???????? /** * type: 1: ?????????, 2: ?????????, 3: ???????? */ var alert = function(type, title, msg) { return callHummer('Window.Alert', '{ "iconType" : ' + type + ', "title" : "' + title + '", "text" : "' + msg + '" }'); } var confirm = function(type, title, msg) { return callHummer('Window.Confirm', '{ "iconType" : ' + type + ', "title" : "' + title + '", "text" : "' + msg + '" }'); } //??????T??? var bigT = function(param) { return callHummer('Default.DataReportEx', JSON.stringify(param)); } //????????? var online = function() { return callHummer('Contact.IsOnline').online; } //?????????????? var getSelfRole = function() { return callClient('GetSelfIdentity'); } //??????????? var getVersion = function() { return callHummer('IM.GetVersion') || ''; } //????? var getGroupUin = function() { return callHummer('GetGroupCode'); //??ilin?????????????????????? } //??????qq var getSelfUin = function() { return callHummer('Contact.GetSelfUin').uin; } //??????????eb??? function popNewWebPage(width, height, url, title, singletonId) { return callHummer('Group.PopNewWebPage', '{"width" : ' + width + ', "height" : ' + height + ', "title" : "' + title + '", "url" : "' + url + '", "singletonId":"' + singletonId + '" }'); } //???????? function removeLoad() { return callHummer('Window.RemoveLoading'); } //???????????????? var getPerfTimeStamp = function() { var ret = {}; try { ret = callHummer("Default.GetPerfTimeStamp"); } catch (e) { ret = {}; } return ret; } //???hammer??? var callHummer = function(command, args, callback) { var fun = window.external && window.external.CallHummerApi; try { // two situations : has arguments or not var _data = fun.apply(this, arguments); } catch (e) { //_rflag && report('Incorrect Call by '+ command +'('+ args +') with Exception ' + e.message,331059);//function call with exception return false; } var data = JSON.parse(_data); return data; } //??????????? var callClient = function(func, args, cb) { var loop = function() {}; if (arguments.length == 2) { if (typeof args == 'function') { cb = args; args = []; } else { cb = loop; } } else if (arguments.length == 1) { args = []; cb = loop; } // args = args.map(function(item) { // if (typeof item === 'string') { // return item; // } else { // return JSON.stringify(item); // } // }); //console.log(args); try { var res = window.external[func].apply(null, args); try { return JSON.parse(res); } catch (e) { return res; } } catch (e) { return cb(new Error('not support')); } }; window.OnClientCall = function(data) { void 0; } return { alert: alert, confirm: confirm, callClient: callClient, //???????? callHummer: callHummer, //??????hummer.xxx????? bigT: bigT, //????? getSelfRole: getSelfRole, //??????????? online: online, //?????? getVersion: getVersion, //????????? getGroupUin: getGroupUin, //????? getSelfUin: getSelfUin, //??????uin popNewWebPage: popNewWebPage, closePop: closePop, destroyWebPage: destroyWebPage, webLoadComplete: webLoadComplete, onSave: onSave, getPerfTimeStamp: getPerfTimeStamp, closeWindow: closeWindow, removeLoad: removeLoad } })(); },{}],3:[function(require,module,exports){ var db = { //?????? msg : { tit : { 'alert' : '???', 'error' : '?????' }, //????? sensitive : { 'setting' : '???????????????????????' }, //????????? intervals : { 6 : '15???', 7 : '30???', 8 : '1???', 9 : '4???' }, //????? vcode : { err : '???????????', more : '??????????????', fail :'???????????????????', photo : '??????????????', first : '?????????????', sys : '??????,????????' }, //??? offline : '???????????????????????????', //??? shut : { 'openallshuttitle' : '??????????', 'openallshutinfo' : '?????????????????', 'closeallshuttitle' : '?????????', 'closeallshutinfo' : '?????????????????', 'editshuttit' : '?????????', 'editshuttimeinfo' : '??????????%d??????????????', 'cancelshuttit' : '??????', 'man' : '??', 'cancelshutnum' : '??', 'cancelshutinfo' : '?????? %s ???????????', 'howtimetocancelshut' : '%s?????' }, //??? view : { enter : '??????????', notenter : '???????????????????????? <a data-action="view.enterMore" href="http://kf.qq.com/faq/120511jiYzIJ151231veQJRv.html" target="_blank">??????</a>??', //notenter : '??????????????5???????? <a data-action="view.enterMore" href="http://kf.qq.com/faq/160219jMnuUj160219vuuU3M.html" target="_blank">??????</a>??', nottenpay : '??<a data-action="view.enterPay" href="https://www.tenpay.com/v2/register/reg_index.shtml" target="_blank">???????????</a> ?????????', notjoin : '????????????????????', visitoropen : '?????????????????', visitornotchat : '????????????????????', visitorclose : '??????????????', notvideo : '?????????', cansearch : '?????????????????????', canupload : '?????????????????', notupload : '?????????????????????', canalbum : '?????????????????', notalbum : '?????????????????????', notshare : '??????????????????????????', notany : '???????????', level : '??????' }, //???????? tag : { tagtitle : '???????????', leveltitle : '???????????', managelog : '???????????' }, grade : { //?????? "wangcong":{ name:"???", list:["???","???","???","???","???","???"] }, //?????? "school":{ name:"???", list:["???","???","???","???","???","???"] }, //?????? "wuxia":{ name:"???", list:["???","???","???","???","???","???"] }, //?????? "junxian":{ name:"???", list:["???","???","???","???","???","???"] }, //?????? "office":{ name:"???", list:["???","????","???","???","???","???"] }, //?????? "xiuxian":{ name:"???", list:["???","???","???","???","???","???"] }, //?????? "xueba":{ name:"???", list:["???","???","???","???","???","???"] } }, delUser : { 'error' : '???????????????' }, errorMsg : { 12 : '????????????????????', 13 : '???????????????????????' }, defError : '??????,????????' } }; module.exports = db; },{}],4:[function(require,module,exports){ // /* ?????? */ var $ = window.Zepto || window.$; var util = require('./util'), client = require('./callClient'); module.exports = (function() { 'use strict'; // ????????????? var ISD_REPORT_URL = 'http://isdspeed.qq.com/cgi-bin/r.cgi?', // oz.isd.com MON_REPORT_URL = "http://cgi.connect.qq.com/report/report_vm?", // CGI?????? ethanwei(?????); BAD_REPORT_URL = 'http://badjs.qq.com/cgi-bin/js_report?bid=176&level=4&msg=', //badjs??? TDW_REPORT_URL = 'http://cgi.connect.qq.com/report/tdw/report?', //tdw ???url tdwTable = 'dc00141', //tdw ????????able isdTransport = new Image(), ozTransport = new Image(), rcTransport = new Image(), monitorTransport = new Image(), transport = new Image(); var conf = { 'zeptojs': 13, 'settingcss': 12, 'settingjs': 14, 'membercss': 17, 'membercjs': 18, 'profilecss': 15, 'profilejs': 16 } var groupUin = util.getParameter("groupuin"); var selfUin = client.getSelfUin() || util.getUin(); // http://isdspeed.qq.com/cgi-bin/r.cgi?flag1=7832&flag2=9&flag3=3 // ??? var transportList = [], $t = $(transport); $t.process = 0; $t.delay = 500; // ??????????????s transport.onload = transport.onerror = function() { $t.trigger('transport:end'); }; $t.on('transport:start', function(e, url) { if (url) transportList.push(url); if (!$t.process) { $t.process++; if (transportList.length) { window.setTimeout(function() { var surl = transportList.shift(); if (surl) { transport.src = surl; } }, $t.delay); } } }); $t.on('transport:end', function() { $t.process--; if (transportList.length) $t.trigger('transport:start'); }); var addT = function(url) { return url + '&t=' + new Date().getTime(); }; /** * monitor ??? * @param id monitor.server.com ????? id ?? */ function monitor(id, flag) { var url = MON_REPORT_URL + "monitors=" + "[" + id + "]"; // ????????????WEB?????? // monitorTransport.src = url; //?????? if (!flag) { url = addT(url); $t.trigger('transport:start', [url]); //?????? } else { var img = new Image(); img.src = url; img = null; } } /** * badjs??? *@param msg *@param url #@param line */ function bad(msg, url, line) { var m = [ msg, url, line ]; var url = BAD_REPORT_URL + m.join('|_|'); // ????????????WEB?????? url = addT(url); $t.trigger('transport:start', [url]); } /** * ISD ??? * @param f1 * @param f2 * @param f3 * @param timing */ function isd(f1, f2, f3, timing) { var reportData = [], point, startPoint = timing[0], i, k, l; i = 1; l = timing.length; for (; i < l; i++) { point = timing[i]; point = (point ? (point - startPoint) : 0); // ??????????????????0????????????????? if (point > 0) { // ??????1???? ????????? navigationStart?????? reportData.push(i + '=' + point); } } var url = ISD_REPORT_URL + 'flag1=' + f1 + '&flag2=' + f2 + '&flag3=' + f3 + '&' + reportData.join('&'); url = addT(url); // isdTransport.src = url; $t.trigger('transport:start', [url]); } /* timeing ?? obj????????*/ function isd2(f1, f2, f3, timing) { var reportData = []; for (var i in timing) { reportData.push(i + '=' + timing[i]); } var url = ISD_REPORT_URL + 'flag1=' + f1 + '&flag2=' + f2 + '&flag3=' + f3 + '&' + reportData.join('&'); url = addT(url); $t.trigger('transport:start', [url]); }; /** * ???Performance timing??? * * @param f1 flag1??????????????????D * @param f2 flag2?????????????ID * @param f3 flag3?????????????ID */ function performance(f1, f2, f3) { // ????????????copy & paste ?????????IE????? reportPoints??????????????????????????????? var perf = (window.webkitPerformance ? window.webkitPerformance : window.performance), reportPoints = ['navigationStart', "unloadEventStart", "unloadEventEnd", "redirectStart", "redirectEnd", "fetchStart", "domainLookupStart", "domainLookupEnd", "connectStart", "connectEnd", "requestStart", "responseStart", "responseEnd", "domLoading", "domInteractive", "domContentLoadedEventStart", "domContentLoadedEventEnd", "domComplete", "loadEventStart", "loadEventEnd" ], timing, l, i; if (perf && (timing = perf.timing)) { if (!timing.domContentLoadedEventStart) { // ?????erformance??????? reportPoints.splice(15, 2, 'domContentLoadedStart', 'domContentLoadedEnd'); } var timingArray = []; for (i = 0, l = reportPoints.length; i < l; i++) { timingArray[i] = timing[reportPoints[i]]; } isd(f1, f2, f3, timingArray); } } function send(url) { var img = new Image(); img.src = url; }; /** * ??????????? * @return {[type]} [description] * @example: report.mr('qq', appid, '11', '6', '2', '0', '0', '0', '2'); */ function bigT() { var qqBigT = '0x80032b3', openBigT = '0x80035aa', mobileBigT = '0x80038de', bigT = qqBigT; if (arguments[0] == 'qq') { bigT = qqBigT; } else if (arguments[0] == 'open') { bigT = openBigT; } else if (arguments[0] == 'mobile') { bigT = mobileBigT; }; var data = { //???????????'qq', ?????????????'open'??????????????'mobile' 'bigT': bigT, 'key': arguments[1] + '', 'param1': arguments[2] + '', 'param2': arguments[3] + '', 'param3': arguments[4] + '', 'param4': arguments[5] + '', 'param5': arguments[6] + '', 'param6': arguments[7] + '', 'param7': arguments[8] + '' } $u.callClient('doDataReport', [data]); }; var mmReportObj = { appid: 1000211, releaseversion: '@RELEASE_VERSION', frequency: 1 }, MM_REPORT_URL = 'http://wspeed.qq.com/w.cgi?'; function mm(cgi, retcode, tmcost) { var url, paramArr = []; var uin = util.getCookie('uin'); if (!mmReportObj.touin) { mmReportObj.touin = uin; } mmReportObj.commandid = cgi; mmReportObj.resultcode = retcode; mmReportObj.tmcost = tmcost; if (retcode == 0) { // ????????????1/20 // frequency???????? mmReportObj.frequency = 20; var ranNum = Math.floor(Math.random() * 100 + 1); if (ranNum > 5) { return; } } else { mmReportObj.frequency = 1; } for (var j in mmReportObj) { if (mmReportObj.hasOwnProperty(j)) { paramArr.push(j + "=" + encodeURIComponent(mmReportObj[j])); } } url = MM_REPORT_URL + paramArr.join("&"); url = addT(url); //console.debug(url); setTimeout(function() { transport.src = url; }, 500); } //???log function log(opt) { var log_on = true; // ???????????adjs?????. var levelMap = { 'debug': 1, 'info': 2, 'error': 4, 'fail': 8 } var level = 1, mid; if (typeof opt === 'object') { level = opt.type; mid = '195375'; } else { } if (log_on) { var img = new Image(); img.src = 'http://badjs.qq.com/cgi-bin/js_report?level=' + (level || 4) + '&bid=176' + (mid ? '&mid=' + mid : '') + '&msg=' + encodeURIComponent(opt.msg) + '|_|0|_|0' + +'&r=' + Math.random(); img = null; } else { void 0; } } var groupRole = "" + (client.callClient('getSelfIdentity') || util.getParameter("role")); var groupUin = util.getParameter("groupuin"); var selfUin = client.getSelfUin() || util.getUin(); var clientVersion = client.getVersion().version; var _toString = Object.prototype.toString; var deftdw = { 'uin': selfUin, 'opername': 'PC_grpdata', 'obj1': groupUin, //??? 'obj2': clientVersion, //????????? 'ver1': groupRole //0??????1???????????2??????3?????? } //tdw ??? function tdwreport(params, args, table) { if (!params) { return; } var _params; var reportTable = table || tdwTable; switch (_toString.call(params)) { case '[object Array]': //_params = params;//???????? break; case '[object Object]': params.ts = new Date().getTime(); params = $.extend({}, deftdw, params); if (args) { _params = [params]; //?????? } else { var __fields = []; var __datas = []; for (var i in params) { //if (i === 'obj3' || i === 'ts') continue; __fields.push(i); __datas.push(params[i]); } if (_toString.call(__datas[0]) !== '[object Array]') { __datas = [__datas]; } var url = TDW_REPORT_URL + 'table=' + reportTable + '&fields=' + JSON.stringify(__fields) + '&datas=' + encodeURIComponent(JSON.stringify(__datas)) + '&t=' + (+new Date()); var img = new Image(); img.src = url; img = null; return; //return _tdw(reportTable , __fields , [__datas] , params['obj3'] , params['ts']);//obj3???ip?????s??????????????????????????? } break; } // if(_toString.call(__datas[0]) !== '[object Array]'){ // __datas = [__datas]; // } //?????? var datas = [], reportFields = {}, fields = [], fieldids = []; for (var i = 0, l = params.length; i < l; i++) { var item = params[i], _datas = []; item.ts = new Date().getTime(); item = $.extend(item, deftdw); //????????? for (var j in item) { var idx; if (j in reportFields) { //???????? idx = reportFields[j]; fields[idx] = j; } else { fields.push(j); idx = fields.length - 1; reportFields[j] = idx; } if (typeof item[j] === 'number') { _datas[idx] = item[j]; } else { _datas[idx] = item[j] || ''; } } datas.push(_datas); } var url = TDW_REPORT_URL + 'table=' + reportTable + '&fields=' + JSON.stringify(fields) + '&datas=' + encodeURIComponent(JSON.stringify(datas)) + '&t=' + (+new Date()); var img = new Image(); img.src = url; img = null; } //?????? var isdPerf = function(flag1, flag2, flag3, perf) { var reportPoints = ['startTime', 'redirectStart', 'redirectEnd', 'fetchStart', 'domainLookupStart', 'domainLookupEnd', 'connectStart', 'connectEnd', 'requestStart', 'responseStart', 'responseEnd', 'duration']; var time = [0]; for (var i = 0, l = reportPoints.length; i < l; i++) { time.push(perf[reportPoints[i]]); } isd(flag1, flag2, flag3, time); //console.log(perf); } /* ????? flag1=7723&flag2=4&flag3=1 ????? flag1=7723&flag2=4&flag3=5 ???????? flag1=7723&flag2=4&flag3=2 ????? flag1=7723&flag2=4&flag3=4 */ var conf = { 12: /setting-[^\.]{5}\.css/, 13: /zepto-[^\.]{5}\.js/, 14: /setting-[^\.]{5}\.js/, 15: /profile-[^\.]{5}\.css/, 16: /profile-[^\.]{5}\.js/, 17: /member-[^\.]{5}\.css/, 18: /member-[^\.]{5}\.js/, 19: /grade-[^\.]{5}\.css/, 20: /grade-[^\.]{5}\.js/ } /* ???????? var conf = { 12: /setting\.css/, 13: /zepto\.js/, 14: /setting\.js/, 15: /profile\.css/, 16: /profile\.js/, 17: /member\.css/, 18: /member\.js/, 19: /grade\.css/, 20: /grade\.js/ } */ //h5???????.???????????... var loadHandler = function() { //window.onload = function(){ window.performance.mark('onload'); var pageid = $('body').data('speed'); performance(7723, 4, pageid); /* data-speed : 1 ????? 2 ?????,5 ????? */ var body = $('body'), type = body.attr('data-speed'), cssid = body.attr('data-css'), jsid = body.attr('data-js'); setTimeout(function() { var pageid = $('body').data('speed'); performance(7723, 4, pageid); var zep = util.getPerfMatch(conf[13]), css = util.getPerfMatch(conf[cssid]), js = util.getPerfMatch(conf[jsid]); /*???zepto???????????*/ if (zep) { isdPerf(7723, 4, 13, zep); } /*???css???????????*/ if (css) { isdPerf(7723, 4, cssid, css); } /*???js???????????*/ if (js) { isdPerf(7723, 4, jsid, js); } //console.log(conf[13],conf[cssid],conf[jsid],zep,css,js); var perf = (window.webkitPerformance ? window.webkitPerformance : window.performance); //??????????? var obj = client.getPerfTimeStamp(); // {ExternalReadyTS: "5130560", NavigateCompleteTS: "18298948", StartNavigateTS: "5130607", StartVisitTS: "5130529", errorCode: 0} /* ExternalReadyTS ????????????????? StartVisitTS ?????????????? NavigateCompleteTS ???????????? StartNavigateTS ?????????????? ?????c??igt?????, ???????????????¤??????????..??????????????c???????¤????????????????????.?????????. */ var clickTime = obj.ExternalReadyTS - obj.StartVisitTS, //???????????ebkit????? startTime = obj.StartNavigateTS - obj.ExternalReadyTS, //????????ebkit????? loadTime = obj.NavigateCompleteTS - obj.StartNavigateTS; //?????????????????? var param = { module: 'Performance', action: 'start_time', ver1: clickTime, //???????????ebkit????? ver2: startTime, //????????ebkit????? ver3: loadTime, //?????????????????? ver4: type } tdwreport(param); var bigT; //?????id //?????,?????????????? /* 0X8004B0C ????????????????? 0X8004B0D ????????????????? 0X8004B0E ?????????????????? */ switch (parseInt(type)) { case 1: bigT = '0X8004B0D'; break; case 2: bigT = '0X8004B0E'; break; case 5: bigT = '0X8004B0C'; break; default: bigT = '0X8004B25'; break; } var param = { 'bigT': bigT, 'key': '{gid:' + groupUin + ',uin:' + selfUin + '}', 'param1': clickTime + '', 'param2': startTime + '', 'param3': loadTime + '', 'param4': 0, 'param5': 0, 'param6': 0, 'param7': 0 } client.bigT(param); var time = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; time.push(clickTime); time.push(startTime); time.push(loadTime); isd(7723, 4, type, time); }, 1000); } //?????????onload.???????. document.onreadystatechange = function() { var status = document.readyState; window.performance.mark(status); if (document.readyState !== 'interactive') { return; } var type = $('body').attr('data-speed'); if (type === '2') { loadHandler(); } } document.addEventListener('DOMContentLoaded', function() { window.performance.mark('domcontentLoaded'); }, false); document.addEventListener('LoadEnd', function() { window.performance.mark('LoadEnd'); }, false); document.addEventListener('LoadError', function() { window.performance.mark('LoadError'); }, false); //window.onload = loadHandler; window.addEventListener('load', loadHandler, false); // setInterval(function(){ // console.log(document.readyState); // },20); // $(document).ready(function(){ // window.onload = loadHandler; // }); //window.addEventListener('load',loadHandler,false); //console.log(document.readyState); return { isd: isd, isd2: isd2, isdPerf: isdPerf, monitor: monitor, performance: performance, bad: bad, bigT: bigT, send: send, log: log, mm: mm, tdw: tdwreport }; })(); /** * @description ??????????????look.oa.com??????????? * @author hobodong * @example * 1.?????????: * reportCgi.report({ * 'url' : 'http://gamecentertest.cs0309.3g.qq.com/cgi-bin/gc_chest_fcgi?tt=2', * 'type': 1, // 1?????2?????3?????? * 'code': 0, // CGI????? * 'time': 1000, * 'rate': 10, // ?????1/10???????????????????? * 'uin' : 2237545582 * }); * 2.???seajs??????: * var reportCgi = require("reportCgi.js"); * reportCgi.report({ * 'url' : 'http://gamecentertest.cs0309.3g.qq.com/cgi-bin/gc_chest_fcgi?tt=2', * 'type': 2, * 'code': 502, * 'time': 1000, * 'rate': 1, // ????????? * 'uin' : 2237545582 * }); * @summary * ????? * reportCgi.js ???????????,?????????m.isd.com * ????????????????? * 1. ???http?????? * 2. ????? sso??? * ??????Q sso???????????????Q???????????ttp????????? */ ; (function(root, factory) { //console.log(root,factory); void 0; if (typeof define === 'function' && (define.amd || define.cmd)) { define('reportCgi', function(require, exports, module) { return factory(root, exports); }); } else { window.reportCgi = factory(window, {}); } })(this, function(root, reportCgi) { var _private = {}; var _public = reportCgi || {}; _private.keyList = ['domain', 'cgi', 'type', 'code', 'time', 'rate', 'uin', 'apn', 'device', 'signalStrength', 'expansion1', 'expansion2', 'expansion3', 'data', 'platform' ]; _private.apn = null; _private.device = ''; _private.signalStrength = ''; var mqq = window.mqq; _public.report = function(params) { if (!params || !params.url) { void 0; return; } params.rate = params.rate || 1; if (/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/.test(decodeURIComponent(params.url))) { if (Math.random() < 1 / (params.rate)) { var domain = RegExp.$4 || ''; var path = RegExp.$5 || ''; var search = RegExp.$6 || ''; if (mqq && mqq.device && mqq.device.getNetworkType && mqq.support("mqq.device.getNetworkType") && ! _private.apn) { mqq.device.getNetworkType(function(result) { _private.apn = result || "unknown"; _private.send.call(this, { domain: domain, cgi: path || "", type: params.type || 0, code: params.code || 0, time: params.time || 0, apn: _private.apn || "", device: params.device || _private.device || "", signalStrength: _private.signalStrength || "", expansion1: params.expansion1 || "", expansion2: params.expansion2 || "", expansion3: params.expansion3 || "", data: params.data || "", platform: params.platform || "", rate: params.rate, uin: params.uin || 0 }); }); } else { _private.send.call(this, { domain: domain, cgi: path || "", type: params.type || 0, code: params.code || 0, time: params.time || 0, apn: _private.apn || "", device: params.device || _private.device || "", signalStrength: _private.signalStrength || "", expansion1: params.expansion1 || "", expansion2: params.expansion2 || "", expansion3: params.expansion3 || "", data: params.data || "", platform: params.platform || "", rate: params.rate, uin: params.uin || 0 }); } } return true; } else { return false; } }; _private.cache = {}; _private.send = function(params) { var cache = _private.cache; var lazyTime = 2000; if (!cache.mapping) { cache.mapping = {}; } if (params) { var key = JSON.stringify({ domain: params.domain, uin: params.uin, rate: params.rate }); if (!cache.mapping[key]) { cache.mapping[key] = []; } cache.mapping[key].push(params); if (cache.timer) { clearTimeout(cache.timer); } cache.timer = setTimeout(function() { // console.log("loop"); _private.send.call(this); }, lazyTime); return false; } else { for (var key in cache.mapping) { if (cache.mapping.hasOwnProperty(key)) { if (cache.mapping[key] && cache.mapping[key].length > 0) { var request = { "key": _private.keyList.join(',') }; var paramsList = cache.mapping[key].splice(0, 10); for (var i = 0, iMax = paramsList.length, params; params = paramsList[i], i < iMax; i++) { for (var j = 0, jMax = _private.keyList.length, name; name = _private.keyList[j], j < jMax; j++) { request[[i + 1, j + 1].join('_')] = params[name]; } } var arr = []; for (var i in request) { arr.push(i + '=' + encodeURIComponent(request[i])); } var info = arr.join("&"); if (mqq && mqq.data && mqq.data.pbReport && mqq.support && mqq.support("mqq.data.pbReport")) { var ua = window.navigator.userAgent; var host = window.location.host; var data = { "d": info, "h": host, "ua": ua }; mqq.data.pbReport('104', JSON.stringify(data)); } else { _private.httpSend(info); } } else { delete cache.mapping[key]; } } } } return true; }; _private.httpSend = function(info) { if (!window._cgiReportStack) { window._cgiReportStack = []; } var img = new Image(); window._cgiReportStack.push(img); img.src = 'http://c.isdspeed.qq.com/code.cgi?' + info; }; return _public; }); /* |xGv00|9278b4bd877970f0773d7e7116652209 */ },{"./callClient":2,"./util":6}],5:[function(require,module,exports){ 'use strict'; //ajax??? var util = require('./util'); var report = require('./report'); var db = {}; module.exports = db; var skey = util.getCookie('skey'); function getToken() { skey = util.getCookie('skey'); var hash = 5381; for (var i = 0, len = skey.length; i < len; ++i) { hash += (hash << 5) + skey.charCodeAt(i); } var _token = hash & 0x7fffffff; return _token; } var bkn = getToken(); function checkUrl(url){ if(url.indexOf('http://')>=0){ return url; }else{ return 'http://qinfo.clt.qq.com'+url; } } var checkedUrl = []; var perf = window.performance; function checkAndReport(url,xhr){ if(url.indexOf('http://') < 0){ url = 'http://qinfo.clt.qq.com'+url; } if(!perf){ return; } //var turl = url.substr(0,url.indexOf('?')); //if($.inArray(turl,checkArr)>=0){ if($.inArray(url,checkedUrl)<0){ var time = perf.getEntriesByName(url)[0]; if(!time){ return; } checkedUrl.push(url); var param = { 1 : time.redirectEnd - time.redirectStart, //???????? 2 : time.domainLookupStart - time.fetchStart,//app cache??? 3 : time.domainLookupEnd - time.domainLookupStart,//dns?????? 4 : time.connectEnd - time.connectStart, //tcp?????? 5 : time.responseStart - time.requestStart, //??????????????? 6 : time.responseEnd - time.responseStart, //??????????? 7 : time.responseEnd - time.startTime, //????? 8 : time.fetchStart, 9 : time.domainLookupStart } param.url = url; if(param[2] > 5000){ BJ_REPORT.info(JSON.stringify({ '?????' : param[1], 'appcache' : param[2], 'dns' : param[3], 'tcp' : param[4], '???' : param[5], '???' : param[6], '?????' : param[7], 'fetchStart' : time.fetchStart, 'dnsstart' : time.domainLookupStart, //'header' : xhr.getAllResponseHeaders && xhr.getAllResponseHeaders() || false, // 'status' : xhr.status, // 'txt' : xhr.responseText, 'url' : url })); } } } /* url ???url param ??? cb ??? ecb ???????? cacheTime ?????? */ function post(url, param, cb, ecb, cacheTime) { ajax(url, 'POST', param, cb, ecb); } function get(url, param, cb, ecb, cacheTime,check) { ajax(url, 'GET', param, cb, ecb,check); } /** * ajax??? * @Author hordeliu * @DateTime 2015-12-30T10:44:37+0800 * @param {string} url [???url] * @param {string} type [??????: get post] * @param {object} param [???] * @param {Function} cb [??????] * @param {Function} ecb [???????? * @param {boolean} check [????????????] * @return {[type]} [description] */ function ajax(url, type, param, cb, ecb, check) { var tryTime = 0, //?????? maxTry = 1; //?????????? var overtime = 5000; //?????? //?????ype if (typeof type === 'object') { ecb = cb; cb = param; param = type; type = 'GET'; } else { type = type.toUpperCase(); } //????????cb; if (typeof ecb !== 'function') { ecb = cb; } //?????? var timer = setTimeout(function() { void 0; report.log({ type: 'fail', msg: url + ' time out', url: url }); if (typeof ecb === 'function') { ecb({ ec: 999 }); } var endTime = new Date().getTime() - startTime; reportCgi.report({ 'url' : checkUrl(url), 'type': 2, // 1?????2?????3?????? 'code': 999, // CGI????? 'time': endTime, 'rate': 1 // ?????1/10???????????????????? }); }, overtime); if (!param.bkn && !check) { param.bkn = getToken(); } if (!param.src && !check) { param.src = 'qinfo_v3'; } if(type === 'GET'){ if(url.indexOf('?') < 0){ url += "?"+$.param(param); }else{ url += "&"+$.param(param); } url += "&_ti="+new Date().getTime(); param = {}; } var startTime = new Date().getTime(); $.ajax({ type: type, url: url, data: param, xhrFields: { withCredentials: true }, //timeout: overtime, success: function(data) { clearTimeout(timer); try { if (typeof data === 'string') { data = JSON.parse(data); } } catch (e) { void 0; } //mm?????? var endTime = new Date().getTime() - startTime; //var ec; if (typeof data.ec !== 'undefined') { var ec = data.ec; } else if (typeof data.retcode !== 'undefined') { var ec = data.retcode; } if (typeof ec === 'undefined') { ec = 999; } setTimeout(function(){ checkAndReport(url); },100); //report.mm(url, ec, endTime); reportCgi.report({ 'url' : checkUrl(url), 'type': 1, // 1?????2?????3?????? 'code': data.ec || data.retcode, // CGI????? 'time': endTime, 'rate': 1 // ?????1/10???????????????????? }); if (typeof cb === 'function') { cb(data); } }, error: function(data) { clearTimeout(timer); try { data = JSON.parse(data); } catch (e) { data = { ec: 999 } //console.debug(e); } if (typeof ecb === 'function') { ecb(data); } } }); } // ?????????url function isNotIdempotent(url) { return false; } function _doSomething(xhr, url) { var __start = Date.now(); url = url || xhr.responseURL; xhr.done(function(res) { // do something // eg. report // mm???????????? //report.mm(url, res.ec, Date.now() - __start); reportCgi.report({ 'url' : checkUrl(url), 'type': 1, // 1?????2?????3?????? 'code': res.ec || res.retcode, // CGI????? 'time': Date.now() - __start, 'rate': 1 // ?????1/10???????????????????? }) setTimeout(function(){ checkAndReport(url,xhr); },100); if (res.ec == 1) void 0; }).fail(function(err, errMsg) { // do something // mm?????????????????????????? // ??????timeout??????????????0 // err is read only var mmErr = { status: err.status, statusText: err.statusText }; if (errMsg == 'timeout') { mmErr.status = 504; mmErr.statusText = 'timeout'; } // report.mm(url, mmErr.status, Date.now() - __start, { // msg: mmErr.statusText // }); reportCgi.report({ 'url' : checkUrl(url), 'type': 2, // 1?????2?????3?????? 'code': mmErr.status, // CGI????? 'time': Date.now() - __start, 'rate': 1 // ?????1/10???????????????????? }) checkAndReport(url,xhr); //console.log(url, arguments); }); } db.ajax = function(opt) { var _opt = { type: 'GET', dataType: 'json', timeout: 10000, data: { src: 'qinfo_v3', gc: util.getParameter('groupuin') } }; _opt.data = ~opt.url.indexOf('http://') ? {} : { src: 'qinfo_v3', gc: util.getParameter('groupuin') }; // ???sid?????????cgi??? bkn && (_opt.data.bkn = bkn); $.extend(true, _opt, opt); // /^http:\/\/qqweb.qq.com/.test(_opt.url) || (_opt.url = 'http://qqweb.qq.com' + _opt.url); var xhr = $.ajax(_opt); _doSomething(xhr, _opt.url); // ???retcode == 0?????????done // ???????????ail // ?????????????? var myXhr = { done: function done(fn) { var retry = 0; (function _done(xhr, fn) { xhr.done(function(res) { if (res.ec === 0 || res.retcode === 0) fn(res); }); xhr.fail(function() { // ?????????? // ????????????????????rl????? if (retry >= 1 || isNotIdempotent(_opt.url)) return; retry++; xhr = $.ajax(_opt); _doSomething(xhr, _opt.url); _done(xhr, fn); }); })(xhr, fn); return this; }, fail: function fail(fn) { var retry = 0; (function _fail(xhr, fn) { xhr.done(function(res) { if (res.ec !== 0 && res.retcode !== 0) fn(res); }); xhr.fail(function(err, errMsg) { // ?????????? // fail???????? if (retry >= 0) { if (errMsg == 'timeout') return fn({ ec: 504, msg: errMsg }); return fn({ ec: err.status }); } retry++; xhr = $.ajax(_opt); _doSomething(xhr, _opt.url); _fail(xhr, fn); }); })(xhr, fn); return this; }, timeout: function timeout(fn) { xhr.fail(function(err, errMsg) { if (errMsg == 'timeout') fn({ ec: 504, msg: errMsg }); }); return this; }, always: function(fn) { xhr.always(fn); return this; }, then: function() { xhr.then.apply(xhr, arguments); return this; } }; return myXhr; }; db.get = get; db.post = post; db.bkn = bkn; },{"./report":4,"./util":6}],6:[function(require,module,exports){ 'use strict'; //?????????? module.exports = (function() { /** * fn: ?????? * param: {any} o ?????? * return: {string} ??????????? * ??????????:"Boolean","Number","String","Function","Array","Date","RegExp","Object","undefined",?? */ function type(o) { var t = Object.prototype.toString.call(o), l = t.length; return o == null ? String(o) : t.slice(8, l - 1); }; /** * ??????key??ookies?? * ?????????????? * @param {String} key ??????key?? */ var getCookie = function(key) { var r = new RegExp('(?:^|;+|\\s+)' + key + '=([^;]*)'), m = document.cookie.match(r); return (!m ? '' : m[1]); }; var getUin = function(){ var uin = getCookie('uin'); return uin.replace(/^[\D0]+/g,''); } var getParameter = function(name,str){ str = str || location.href; var r = new RegExp("(\\?|#|&)" + name + "=([^&#]*)(&|#|$)"), m = str.match(r); return decodeURIComponent(!m ? "" : m[2]); } var getTextLength = function(str,len){ //??????????????????len*count+?????????????eplace var factor = len || 2; str += ''; var tmp = str.match(/[^\x00-\xff]/g) || []; var count = tmp.length; return str.length + (factor - 1) * count; } // ?????en???????????????????????n???????? var getSubstring = function(str, len, n) { n = n || 3; if(str.length <= len / n) return str; var length = 0; var res = ''; for(var i = 0; i < len; i++) { var c = str.charAt(i); if(/[^\x00-\xff]/.test(c)) length += n; else length++; res += c; if(length >= len) break; } if(length > len) res = res.substring(0, res.length - 1); return res; }; // ??????????????????????? var setMaxInput = (function() { var val = ''; // getTextLength($input.val().trim()); return function($input, max) { max = max || Number($input.attr('maxlength')); val = $input.val().trim(); var eInput = function(e) { // debugger; // console.log('input', e.keyCode); // ??????????? if(e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 13) return; if(getTextLength($input.val().trim(), 3) > max) return $input.val(val); val = $input.val().trim(); return; var v = subStr($input.val().trim(), max || Number($input.attr('maxlength'))); $input.val(v); }; var ePaste = function() { if(getTextLength($input.val().trim(), 3) > max) return $input.val(val); val = $input.val().trim(); return; var v = subStr($input.val().trim(), max || Number($input.attr('maxlength'))); $input.val(v); }; $input.off('input', eInput).off('paste', ePaste).on('input', eInput).on('paste', ePaste); } })(); //??? var subStr = function(str,maxlen){ var sResult = '', L=0, i=0, stop = false, sChar; if(str.replace(/[^\x00-\xff]/g,'xxx').length <= maxlen){ return str; } while(!stop){ sChar = str.charAt(i); //sResult+=sChar; L+= sChar.match(/[^\x00-\xff]/) !== null ? 3 : 1; if(L > maxlen){ stop = true; }else{ sResult+=sChar; i++; } } return sResult; } var decodeHtml = (function() { var htmlDecodeDict = { "quot": '"', "lt": "<", "gt": ">", "amp": "&", "nbsp": " " , "#34": '"', "#60": "<", "#62": ">", "#38": "&", "#160": " "}; return function(s){ s += ''; return s.replace(/&(quot|lt|gt|amp|nbsp);/ig, function(all, key) { return htmlDecodeDict[key]; }).replace(/&#u([a-f\d]{4});/ig, function(all, hex) { return String.fromCharCode(parseInt("0x" + hex)); }).replace(/&#(\d+);/ig, function(all, number) { return String.fromCharCode(+number); }); } })(); //??? var nameSortDown=function(a,b){ if(a<b){ return 1; }else if(a>b){ return -1; }else{ return 0; } }; var nameSortUp=function(a,b){ if(a<b){ return -1; }else if(a>b){ return 1; }else{ return 0; } }; var numSortDown=function(a,b){ a=parseInt(a), b=parseInt(b); if(a<b){ return 1; }else if(a>b){ return -1; }else{ return 0; } }; var numSortUp=function(a,b){ a=parseInt(a), b=parseInt(b); if(a<b){ return -1; }else if(a>b){ return 1; }else{ return 0; } }; //????????? function getShutTime(time){ time -= 30; if(time<3540){ return Math.ceil(time/60)+'???'; }else if(time < 82800){ return Math.ceil(time/3600)+'???'; }else{ return Math.ceil(time/86400)+'??'; } }; var storage = localStorage; // function getCacheKey(uin,gid){ } //???cache function setCache(key,data){ if(typeof data !== 'string'){ data = JSON.stringify(data); } try{ storage.setItem(key,data); }catch(e){ } } //???cache function getCache(key,flag){ if(flag){ return storage.getItem(key); }else{ var value = storage.getItem(key); try{ var data = JSON.parse(value); }catch(e){ var data = value; } return data; } } var gc; function init(gid){ gc = gid; } //??erformance ?????ame????????????? function getPerfMatch(name){ var perf = window.performance; if(perf && perf.getEntriesByType){ var list = window.performance.getEntriesByType('resource'); for(var i =0,l=list.length;i<l;i++){ var item = list[i]; if(name.test(item.name)){ return item; } } } return false; } //??erformance ?????ame???????? function getPerf(name){ var perf = window.performance; if(perf && perf.getEntriesByType){ var list = window.performance.getEntriesByType('resource'); for(var i =0,l=list.length;i<l;i++){ var item = list[i]; if(item.name.indexOf(name) >=0 ){ return item; } } } return false; } /* ???????????? */ (function(){ if(window.screen.availHeight <= 600){ $('body').addClass('limit-height'); } })(); return { init : init, type : type, getCookie : getCookie, getUin : getUin, getParameter : getParameter, getTextLength: getTextLength, getSubstring: getSubstring, setMaxInput: setMaxInput, subStr : subStr, decodeHtml: decodeHtml, nameSortDown : nameSortDown, nameSortUp : nameSortUp, numSortDown : numSortDown, numSortUp : numSortUp, getShutTime : getShutTime, setCache : setCache, getCache : getCache, getPerfMatch : getPerfMatch, getPerf : getPerf } })(); },{}],7:[function(require,module,exports){ 'use strict'; var util = require('../../lib/util.js'), client = require('./client'), cgi = require('./cgi'); module.exports = (function() { //???????? var set = function(uin) { var nickInput = $("#nick-input-" + uin), nickTxt = $("#nick-txt-" + uin); nickTxt.hide(); var i = $('#list-' + uin).data("i"); try { //input?????????select??? nickInput.show().focus()[0].select(); } catch (e) {} nickInput.data("value", nickInput.val()); nickInput.one("blur", function(e) { var _self = $(this); if (_self.val() == _self.data("value")) { _self.hide(); nickTxt.show(); return; } var val = _self.val(); val = util.getSubstring(val, 60, 3); cgi.setCard({ u: uin, name: val }, function(d) { cgi.cgiSuccess(d, "editCard"); if (d.ec == 0) { G.memberData.items[i].card = val; nickTxt.html(G.codeFilter(val)); _self.hide(); nickTxt.show(); } else { cgi.postErr(d); _self.hide(); nickTxt.show(); } }, cgi.postErr); }); }; function decode(s) { return s .replace(/&/g, '&') .replace(/>/g, '>') .replace(/</g, '<') .replace(/"/g, '"') .replace(/'/g, '\'') .replace(/ /g, ' ') .replace(/<br>/g, '\n'); }; var setOffice = function(uin) { var i = $('#list-' + uin).data("i"); //> ??? var cardInput = $("#office_card-input-" + uin), cardTxt = $("#office_card-txt-" + uin); cardTxt.hide(); cardInput.val(G.codeFilter(decode(G.memberData.office_items[i].card))); try { //input?????????select??? cardInput.show().focus()[0].select(); } catch (e) {} //> ??? var telInput = $("#office_tel-input-" + uin), telTxt = $("#office_tel-txt-" + uin); telTxt.hide(); telInput.val(G.codeFilter(decode(G.memberData.office_items[i].tel))); try { telInput.show(); } catch (e) {} //> ??? var positionInput = $("#office_position-input-" + uin), positionTxt = $("#office_position-txt-" + uin); positionTxt.hide(); positionInput.val(G.codeFilter(decode(G.memberData.office_items[i].position))); try { positionInput.show(); } catch (e) {} //> ??? var genderInput = $("#office_gender-input-" + uin), genderTxt = $("#office_gender-txt-" + uin); genderTxt.hide(); genderInput.val(G.codeFilter(decode(G.memberData.office_items[i].gender == 1 ? "??" : G.memberData.office_items[i].gender == 2 ? "??" : "-"))); try { genderInput.show(); } catch (e) {} var editfunc = function(e) { var clickid = e.target.id; var uin = e.data.edituin; var card = "office_card-input-" + uin, tel = "office_tel-input-" + uin, position = "office_position-input-" + uin, gender = "office_gender-input-" + uin; if (clickid == card || clickid == tel || clickid == position || clickid == gender) { $(document).one("mousedown", { edituin: e.data.edituin, editfunc: e.data.editfunc }, e.data.editfunc); } else { var cardTxt = $("#office_card-txt-" + uin), telTxt = $("#office_tel-txt-" + uin), positionTxt = $("#office_position-txt-" + uin), genderTxt = $("#office_gender-txt-" + uin); var cardInput = $("#" + card), telInput = $("#" + tel), positionInput = $("#" + position), genderInput = $("#" + gender); var item = {}; item.u = uin; var i = $('#list-' + uin).data("i"); var cardChanged = G.codeFilter(cardInput.val()); var cardOlded = cardInput.data("value"); if (cardChanged == cardOlded && cardChanged.length == cardOlded.length) {} else { item.name = util.getSubstring(cardChanged, 60, 3); cardTxt.html(G.codeFilter(item.name.length == 0 ? G.memberData.office_items[i].nick : item.name)); } cardInput.val(""); cardInput.hide(); cardTxt.show(); var telChanged = G.codeFilter(telInput.val()); var telOlded = telInput.data("value"); if (telChanged == telOlded && telChanged.length == telOlded.length) {} else { item.phone = util.getSubstring(telChanged, 20, 3); telTxt.html(G.codeFilter(item.phone)); } telInput.val(""); telInput.hide(); telTxt.show(); var positionChanged = G.codeFilter(positionInput.val()); var positionOlded = positionInput.data("value"); if (positionChanged == positionOlded && positionChanged.length == positionOlded.length) {} else { item.job = util.getSubstring(positionChanged, 60, 3); positionTxt.html(G.codeFilter(item.job)); } positionInput.val(""); positionInput.hide(); positionTxt.show(); var genderChanged = G.codeFilter(genderInput.val()); var genderOlded = genderInput.data("value"); if (genderChanged == genderOlded && genderChanged.length == genderOlded.length) {} else { if (genderChanged == "??" || genderChanged == "??") { var gender = util.getSubstring(genderChanged, 3, 3); item.gender = gender == "??" ? 1 : gender == "??" ? 2 : 0; } else { item.gender = 0; } genderTxt.html(G.codeFilter(item.gender == 1 ? "??" : item.gender == 2 ? "??" : "-")); } genderInput.val(""); genderInput.hide(); genderTxt.show(); cgi.setOfficeCard(item, function(d) { if (d.ec == 0) { //> ?????????????? var divitem = $('#list-' + uin); if (item.name === undefined) {} else { G.memberData.office_items[i].card = item.name; divitem.data("card", item.name); } if (item.phone === undefined) {} else { G.memberData.office_items[i].tel = item.phone; } if (item.job === undefined) {} else { G.memberData.office_items[i].position = item.job; } if (item.gender === undefined) {} else { G.memberData.office_items[i].gender = item.gender; } } else { cardTxt.html(G.codeFilter(G.memberData.office_items[i].card.length == 0 ? G.memberData.office_items[i].nick : G.memberData.office_items[i].card)); telTxt.html(G.codeFilter(G.memberData.office_items[i].tel)); positionTxt.html(G.codeFilter(G.memberData.office_items[i].position)); genderTxt.html(G.codeFilter(G.memberData.office_items[i].gender == 1 ? "??" : G.memberData.office_items[i].gender == 2 ? "??" : "-")); } }, function(d) { //> ??????????? cardTxt.html(G.codeFilter(G.memberData.office_items[i].card.length == 0 ? G.memberData.office_items[i].nick : G.memberData.office_items[i].card)); telTxt.html(G.codeFilter(G.memberData.office_items[i].tel)); positionTxt.html(G.codeFilter(G.memberData.office_items[i].position)); genderTxt.html(G.codeFilter(G.memberData.office_items[i].gender == 1 ? "??" : G.memberData.office_items[i].gender == 2 ? "??" : "-")); cgi.postErr(d); }); } }; $(document).one("mousedown", { edituin: uin, editfunc: editfunc }, editfunc); }; var toolbarEditBtn = function() { //???????? $("#edit-nick").on("click", function(e) { if (!G.eventListener("editNick-toolbarBtn", "click")) { return false; } if (G.officemode == "1") { setOffice(G.selfUin); } else { set(G.selfUin); } return false; }); }; //???????? var enterSubmit = function(e) { if (e.keyCode == 13) { if (!G.eventListener("editNick-listInput", "keydown[13]")) { return false; } $(this).blur(); } }; var keydownToSubimt = function() { $('[name="nick-input"]').off("keydown", enterSubmit).on("keydown", enterSubmit); $('[name="nick-input"]').each(function() { util.setMaxInput($(this)); }); //util.setMaxInput($('[name="nick-input"]')); }; //???????? var listEditBtn = function() { $("#member-tbody").on("click", '[data-card="edit"]', function(e) { if (!G.eventListener("editNick-listButton", "click")) { return false; } if (G.officemode == "0") set($(this).data("qq")); else setOffice($(this).data("qq")); return false; }); }; return { set: set, setOffice: setOffice, toolbarEditBtn: toolbarEditBtn, keydownToSubimt: keydownToSubimt, listEditBtn: listEditBtn }; })(); },{"../../lib/util.js":6,"./cgi":8,"./client":9}],8:[function(require,module,exports){ 'use strict'; var report = require("../../lib/report"), config = require('../../lib/config'), request = require('../../lib/request'), client = require('./client'), memberUtil = require('./util'); module.exports = (function() { //???????? function setCard(param, cb, error) { if (!param.gc) { param.gc = G.gc; } request.post('/cgi-bin/qun_info/set_group_card', param, cb, error); }; function setOfficeCard(param, cb, error) { if (!param.gc) { param.gc = G.gc; } request.post('/cgi-bin/qun_office/set_group_contacts', param, cb, error); }; //????????? function getMembers(param, cb, error) { if (!param.gc) { param.gc = G.gc; // param.n = 20; // param.p = 1; } request.get('/cgi-bin/qun_info/get_group_members_new', param, cb, error); }; function getOfficeMembers(param, cb, error) { if (!param.gc) { param.gc = G.gc; // param.n = 20; // param.p = 1; } request.get('/cgi-bin/qun_office/get_group_contacts', param, cb, error); }; //cgi wiki:http://tapd.oa.com/im_application_3/markdown_wikis/view/#1010091981004953207 function setStatus(param, cb, error) { if (!param.gid) { param.gid = G.gc; } request.get('http://s.p.qq.com/cgi-bin/homework/group/modify_group_card.fcg', param, cb, error); }; // function setLabel(param, cb, error) { if (!param.gc) { param.gc = G.gc; } request.post('/cgi-bin/qun_info/set_group_mem_tag', param, cb, error); }; //????????? function getLabel(param, cb, error) { if (!param.gc) { param.gc = G.gc; } request.post('/cgi-bin/qun_info/get_group_mem_tag', param, cb, error); }; //????????? //cgi wiki:http://tapd.oa.com/im_application_3/markdown_wikis/view/#1010091981004953207 function getStatus(param, cb, error) { if (!param.gid) { param.gid = G.gc; } request.get('http://s.p.qq.com/cgi-bin/homework/group/get_group_card.fcg', param, cb, error); }; //??????????????? function getLabelFlag(param, cb, error) { if (!param.gc) { param.gc = G.gc; } request.post('/cgi-bin/qun_info/get_member_tag_flag', param, cb, error); }; //??????,seq:?????????qqJoinString function getFace(seq, qqJoinString, cb) { var requestStartTime = + (new Date()); memberUtil.jsonp("http://face.imweb.qq.com/cgi-bin/face?app=group_info&redir=0&seq=" + seq + "&qq=40|" + qqJoinString, function(res){ reportCgi.report({ url : 'http://face.imweb.qq.com/cgi-bin/face', type : res.ec===0?1:2, code : res.ec, time : +(new Date()) - requestStartTime, rete : 10, uin : G.selfUin }); cb(res); }); }; //???????? function getGroupInfo(param, cb, error) { if (!param.gc) { param.gc = G.gc; } request.get('/cgi-bin/qun_info/get_group_info_all', param, cb, error); }; //postErr?????ost?????? function postErr(d) { G.monitor = []; switch (d.ec) { case 1: client.alert(config.msg.tit.alert, config.msg.offline); G.monitor.push(468410); break; case 2: void 0; G.monitor.push(468411); break; case 3: void 0; G.monitor.push(470269); break; case 4: void 0; G.monitor.push(470270); break; case 7: //????? case 11: //????? void 0; break; case 999: //client.alert('??????', 'CGI?????????! -------- ?????????'); void 0; G.monitor.push(470271); break; default: void 0; G.monitor.push(470272); } setTimeout(function() { report.monitor(G.monitor, true); }, 1000); } //cgi??? function cgiSuccess(d, typename) { if (d.ec === 0) { //?????? var tdw = $.extend({}, G.tdw); switch (typename) { case "setAdmin": tdw.action = "suc_setmana"; break; case "offSetAdmin": tdw.action = "suc_unmana"; break; case "editCard": tdw.action = "suc_name_modify"; break; } report.tdw(tdw); } } //???????? function setAdmin(param, cb, error) { if (!param.gc) { param.gc = G.gc; } //opt.op : 1:?????????0????????? request.post('/cgi-bin/qun_info/set_group_admin', param, cb, error); } //???????? function getShut(param, cb, error) { if (!param.gc) { param.gc = G.gc; } request.get('/cgi-bin/qun_info/get_group_shutup', param, cb, error); } //????????? function setShut(param, cb, error) { if (!param.gc) { param.gc = G.gc; } request.post('/cgi-bin/qun_info/set_group_shutup', param, cb, error); } //?????? function openOfficeMode(param, cb, error) { param.mode = 1; if (!param.gc) { param.gc = G.gc; } request.get('/cgi-bin/qun_office/set_group_officemode', param, cb, error); }; function closeOfficeMode(param, cb, error) { param.mode = 0; if (!param.gc) { param.gc = G.gc; } request.get('/cgi-bin/qun_office/set_group_officemode', param, cb, error); }; return { setCard: setCard, setOfficeCard: setOfficeCard, setLabel: setLabel, getStatus: getStatus, setStatus: setStatus, getMembers: getMembers, getOfficeMembers: getOfficeMembers, getLabel: getLabel, getFace: getFace, getGroupInfo: getGroupInfo, getShut: getShut, postErr: postErr, cgiSuccess: cgiSuccess, setAdmin: setAdmin, setShut: setShut, getLabelFlag: getLabelFlag, openOfficeMode: openOfficeMode, closeOfficeMode: closeOfficeMode } })(); },{"../../lib/config":3,"../../lib/report":4,"../../lib/request":5,"./client":9,"./util":27}],9:[function(require,module,exports){ 'use strict'; //?????????? //????????????????? var client = require('../../lib/callClient'), util = require('../../lib/util'); module.exports = (function() { //????????? var online = function() { return client.callClient('IsSelfOnline'); } //?????? function alert(tit, txt) { //external.CallHummerApi('Window.Alert','{"iconType":1,"title":"title","text":""}'); if (txt) { client.alert(1, tit, txt); } else { client.alert(1, '???', tit); } }; //??????????????? var getSelfIdentity = function() { var t = util.getParameter("role") || client.getSelfRole(); switch (t) { case 1: case "1": return "owner"; break; case 2: case "2": return "admin"; break; case 3: case "3": return ""; break; } } //??????qq var getSelfUin = function() { return client.getSelfUin() || util.getUin(); } //????????? var getVersion = function() { return (client.getVersion() || util.getParameter('clientversion')); } //????? var getGroupUin = function() { return (client.getGroupUin() || util.getParameter('groupuin')); } //?????? var openContactSelecter = function() { return client.callClient("OpenContactSelecter"); } //????????????? var sendMsgToGroupMem = function(uin) { return client.callClient("SendMsgToGroupMem", [uin + ""]); } //???????????q?????? var getMemberInfo = function(uin) { var d = client.callClient("GetSomeMemberName", ['{\"uins\":[' + uin + ']}']); if (d) { if (d[uin + ""]) { return d[uin + ""]; } } else { return false; } } var getMemberOfficeInfo = function(uin) { var d = client.callClient("GetSomeMemberNameOnOfficeMode", ['{\"uins\":[' + uin + ']}']); if (d) { if (d[uin + ""]) { return d[uin + ""]; } } else { return false; } } //???????????? var setAdminMsgBox = function(tit, txt) { return client.callClient("Hummer_Group_ShowMessageBox", [txt, tit, 1]); }; //???????? var getBenMenu = function() { var _return = client.callClient('GetBanSpeechMenuInfo'); if (!_return) { _return = [{ text: '10???', seconds: '600' }, { text: '1???', seconds: '3600' }, { text: '12???', seconds: '43200' }, { text: '1??', seconds: '86400' }]; } return _return; } //???????? var getIsShieldGroupMem = function(uin) { return client.callClient("GetIsShieldGroupMem", [uin + ""]); }; //????????? var getAllMember = function() { var list = client.callClient("GetAllMemberUin", [G.gc + ""]); if (util.type(list) != "Array") { return false; } if (list.length < 1) { return false; } return list; }; //?????? var delMember = function(uin) { //??????????????????onCallback_MarkCreditAndDelUser return client.callClient("MarkCreditAndDelUser", [uin + ""]); }; //?????? var addFriend = function(uin) { return client.callClient("GroupMemAddFrined", [uin + ""]); }; //?????? var userInfo = function(uin) { return client.callClient("Hummer_Contact_OpenContactInfoCard", [uin + "", "1"]); }; //???????? var cardInfo = function(uin) { return client.callClient("Hummer_Contact_OpenGroupContactInfoCard", [uin + "", G.gc + "", "0", "1"]); }; //?????? var jubaoUser = function(uin) { return client.callClient("ImpeachGroupMem", [uin + ""]); }; //?????? var shieldUser = function(uin) { return client.callClient("ShieldGroupMem", [uin + ""]); }; var getClientKey = function() { return client.callHummer('IM.GetClientKey'); }; //????????????????? var getGroupMemberInviteOption = function() { return client.callClient('GetGroupMemberInvateOption'); }; //????????? function editGroupShutTime(value) { return client.callClient('editGroupShutTime', [value]); } function ShowMoreMenu() { return client.callClient('ShowMoreMenu'); } function NotifyOfficeModeChange() { return client.callClient('SwitchOfficeMode', [G.officemode + ""]); } function GetOfficeMode() { return client.callClient('GetOfficeMode'); } function GetMemberHtmlVer() { return client.callClient('GetMemberHtmlVer'); } function onUILoadDone() { return client.callClient('onUILoadDone'); } function exitGroup(value){ return client.callHummer('Group.ExitGroup','{"groupId":"'+value+'"}'); } return { //???????? alert: alert, getSelfIdentity: getSelfIdentity, getSelfUin: getSelfUin, getVersion: getVersion, getGroupUin: getGroupUin, getBenMenu: getBenMenu, getIsShieldGroupMem: getIsShieldGroupMem, getAllMember: getAllMember, editGroupShutTime: editGroupShutTime, //?????? setAdminMsgBox: setAdminMsgBox, openContactSelecter: openContactSelecter, sendMsgToGroupMem: sendMsgToGroupMem, getMemberInfo: getMemberInfo, getMemberOfficeInfo: getMemberOfficeInfo, delMember: delMember, addFriend: addFriend, userInfo: userInfo, cardInfo: cardInfo, jubaoUser: jubaoUser, shieldUser: shieldUser, getClientKey: getClientKey, getGroupMemberInviteOption: getGroupMemberInviteOption, notifyOfficeModeChange: NotifyOfficeModeChange, showMoreMenu: ShowMoreMenu, getOfficeMode: GetOfficeMode, getMemberHtmlVer: GetMemberHtmlVer, onUILoadDone: onUILoadDone, exitGroup : exitGroup, //???????? online: online, common: client }; })(); },{"../../lib/callClient":2,"../../lib/util":6}],10:[function(require,module,exports){ 'use strict'; var config = require('../../lib/config'), util = require('../../lib/util'), client = require('./client'), cgi = require('./cgi'), label = require('./label'), status = require('./status'), card = require('./card'), tmplContentMenu = require('./tmpl/content-menu'); module.exports = (function() { var init = function() { //??? , ????? $(document).on("mousedown", "[data-member-list]", function(e) { //???????? $("#member-list-focus").removeClass('hover').removeClass('focus').removeAttr("id"); $(this).attr("id", "member-list-focus").addClass('focus'); //?????? var barMenu = $("#barMenu"), qq = $("#member-list-focus").data("member-list"), nowList = $("#list-" + qq), i = nowList.data("i"); if (e.button == 2) { if (!G.eventListener("contentMenu", "rightclick")) { return false; } var beShut = false, //????????????????? isfriend = nowList.data("isfriends"), shield = client.getIsShieldGroupMem(qq) ? "shield" : ""; if (G.memberData.shutup_list && G.memberData.shutup_list[qq]) { beShut = true; } //????????? barMenu.html(tmplContentMenu({ qq: qq, i: i, items: G.officemode == "0" ? G.memberData.items : G.memberData.office_items, shut: beShut, //???????? menu: client.getBenMenu(), //?????? isfriend: isfriend, //????????? version: G.version, shield: shield //???????? })); var panel = $("#member-box"); var secMenu = $("#secMenu"); //?????? var gap = 3, left = e.pageX, top = e.pageY, menuH = barMenu.height(), menuW = barMenu.width(), secH = secMenu.height(), secW = secMenu.width(), panelH = panel.height(), panelW = panel.width(); if (left + menuW > panelW - gap) { left = left - menuW; if (!barMenu.hasClass('sec-left')) barMenu.addClass('sec-left'); } else { if (left + menuW + secW > panelW - gap) { if (!barMenu.hasClass('sec-left')) barMenu.addClass('sec-left'); } else { barMenu.removeClass('sec-left'); } } if (top + menuH > panelH - gap) { top = top - menuH + 10; } if (top + 79 + secH > panelH - gap) { if (!barMenu.hasClass('sec-top')) barMenu.addClass('sec-top'); } else { barMenu.removeClass('sec-top'); } barMenu.css("visibility", "visible").css({ left: left, top: top }); //????????? label.hideMenu(); status.hideMenu(); } else { barMenu.css("visibility", "hidden"); $("#secMenu").css("visibility", "hidden"); } }); //?????????????????? $(document).click(function() { $("#barMenu").css("visibility", "hidden"); $("#secMenu").css("visibility", "hidden"); }); //??????????? $(document).bind("contextmenu", function(e) { return false; }); //??????????????????? var setShutHander = function(data, uin, time) { if (data.ec === 0) { //????? var dom = $('#list-' + uin + ' .time'); if (time) { if (!G.memberData.shutup_list) { G.memberData.shutup_list = {}; } G.memberData.shutup_list[uin] = time; dom.text(config.msg.shut.howtimetocancelshut.replace("%s", util.getShutTime(time))); //??????????? } else { //???????? dom.text(dom.data("time")); delete G.memberData.shutup_list[uin]; } //??????T??? var obj = { 'bigT': '0X800402D', 'key': '{"groupuin":' + G.gc + ';"currenttime":' + new Date().getTime() + ';"banspeechtime";' + time + ';"useruin":' + uin + '}', 'param1': '1', 'param2': '2', 'param3': G.role + '', 'param4': 0, 'param5': 0, 'param6': 0, 'param7': 0 }; client.common.callHummer('Default.DataReportEx', JSON.stringify(obj)); } else { cgi.postErr(data); } }; //?????? var setShut = function(e, uin) { var time = $(this).data('time'); var list = []; var handler = function(data) { setShutHander(data, uin, time); }; if (time === 'auto' && G.version >= 5383) { var sparam = { uin: [uin + ''], setting: true } $("#barMenu").css("visibility", "hidden"); var ret = client.editGroupShutTime(JSON.stringify(sparam)); if (ret && ret.times) { time = ret.times; var dom = $('#list-' + uin + ' .time'); if (!G.memberData.shutup_list) { G.memberData.shutup_list = {}; } G.memberData.shutup_list[uin] = time; dom.text(config.msg.shut.howtimetocancelshut.replace("%s", util.getShutTime(time))); //??????????? // list.push({ // uin : parseInt(uin), // t : time // }); // var param = { // shutup_list : JSON.stringify(list) // } // cgi.setShut(param,handler,handler); } } else { list.push({ uin: parseInt(uin), t: parseInt(time) }); var param = { shutup_list: JSON.stringify(list) } cgi.setShut(param, handler, handler); } }; //?????? var unsetShut = function(e, uin) { var list = []; list.push({ uin: parseInt(uin), t: 0 }); var param = { shutup_list: JSON.stringify(list) } var handler = function(data) { setShutHander(data, uin, 0); }; cgi.setShut(param, handler, handler); }; //?????? var showInfo = function(e, uin) { if (G.officemode == '1') client.cardInfo(uin); else client.userInfo(uin); }; //?????? var addFriends = function(e, uin) { client.addFriend(uin); }; //?????? var editCard = function(e, uin) { if (G.officemode == "0") card.set(uin); else card.setOffice(uin); }; //?????? var jubaoUser = function(e, uin) { //????????????dom???????????????????????????? $("#barMenu").css("visibility", "hidden"); client.jubaoUser(uin); }; //?????? var shieldUser = function(e, uin) { var res = client.shieldUser(uin); var img = $("#list-" + uin).find(".shielded"); if (res) { img.addClass('show'); $("#list-" + uin).data("shield", "true"); } else { img.removeClass('show'); $("#list-" + uin).data("shield", "false"); } }; //?????? var sendMsg = function(e, uin) { client.sendMsgToGroupMem(uin); }; //????????? var task = { 'gag': setShut, 'ungag': unsetShut, 'send': sendMsg, 'view': showInfo, 'modify': editCard, 'jubao': jubaoUser, 'shield': shieldUser, 'add': addFriends }; //?????? $('#barMenu').on('click', '[data-menuid]', function(e) { var self = $(this), menuid = self.data('menuid'), uin = $("#member-list-focus").data("member-list"); if (menuid) { if (!G.eventListener("contentMenuOne-" + menuid, "select")) { return false; } var fn = task[menuid]; if (typeof fn === 'function') { fn.call(this, e, uin); } } }); }; return { init: init }; })(); },{"../../lib/config":3,"../../lib/util":6,"./card":7,"./cgi":8,"./client":9,"./label":11,"./status":14,"./tmpl/content-menu":15}],11:[function(require,module,exports){ 'use strict'; var cgi = require('./cgi'), tmplLabelMenu = require('./tmpl/label-menu'); module.exports = (function() { var memberBox = $("#member-box"); var hideMenu = function() { $("#member-list-label-focus").removeClass('focus').removeAttr("id"); }; var eventBin = function() { var bodyHeight = $("#member-box").height(); //?????? memberBox.on("click", "[data-label]", function(e) { if (!G.eventListener("labelDropdown", "click")) { return false; } var ul = $(this).find("ul"); //???????????? if (G.memberData.labelChange) { ul.replaceWith(tmplLabelMenu({ labelid: $(this).data("label") })); } //???????? ul = $(this).find("ul"); if (ul.children("li").size() < 2) { $("#eiditLabel").click(); hideMenu(); return false; } //?????? if ($(this).hasClass('focus')) { hideMenu(); } else { hideMenu(); $(this).attr("id", "member-list-label-focus").addClass('focus'); } //?????? ul = $(this).find("ul"); var top = ul.offset().top, height = ul.height(); if (top + height > bodyHeight) { ul.css("top", -height); } return false; }); //?????? memberBox.on("click", "[data-label-id]", function(e) { if (!G.eventListener("labelDropdownOne", "select")) { return false; } var _this = $(this); var list = $("#member-list-focus"); var labelid = _this.data("label-id"); var qq = list.data("member-list"); cgi.setLabel({ uin_list: qq, tag_id: labelid }, function(d) { if (d.ec == 0) { list.find("[data-label-txt]").html(_this.text()); _this.addClass('focus'); G.memberData.label[qq] = _this.text(); G.memberData.labelid[qq] = labelid; G.memberData.items[parseInt(list.data("i"))].levelid = labelid; } else { cgi.postErr(d); } }, cgi.postErr); }); //?????? $(document).click(function() { hideMenu(); }); }; return { eventBin: eventBin, hideMenu: hideMenu }; })(); },{"./cgi":8,"./tmpl/label-menu":18}],12:[function(require,module,exports){ 'use strict'; var report = require('../../lib/report'), cgi = require('./cgi'), toolbar = require('./toolbar'), listHtml = require('./list-html'), util = require('../../lib/util'), memberUtil = require('./util'); module.exports = (function() { //????????? var createMemberList = function() { //??????? if (G.officemode == "0") { //?????????????? if (G.classHomeSchool === true && !G.memberData.statusload) { return; } if (G.memberData.itemsload && G.memberData.labelload && G.memberData.groupload && G.memberData.labelflagload) { mergeStatusData(); window.timeScope.cgiDataReadyEnd = new Date().getTime() //cgi?????????; var i = 0, len = 0, indentity = ""; //????????? if (G.selfUin == G.memberData.group.gOwner) { indentity = "owner"; } if (G.memberData.group["gAdmins"]) { for (i = 0, len = G.memberData.group.gAdmins.length; i < len; i++) { if (G.selfUin == G.memberData.group.gAdmins[i]) { indentity = "admin"; } } } G.selfIndentity = indentity; //?????? for (i = 0, len = G.memberData.items.length; i < len; i++) { indentity = ""; var qq = G.memberData.items[i].qq; if (qq == G.memberData.group.gOwner) { indentity = "owner"; } if (G.memberData.group["gAdmins"]) { for (var i2 = 0, len2 = G.memberData.group.gAdmins.length; i2 < len2; i2++) { if (qq == G.memberData.group.gAdmins[i2]) { indentity = "admin"; } } } G.memberData.items[i].indentity = indentity; } //??????????????????????????? G.memberData.blackusers = 0; G.memberData.blackitems = []; for (i = 0, len = G.memberData.items.length; i < len; i++) { var qq = G.memberData.items[i].qq; if (G.memberData.label[qq]) { G.memberData.items[i].labelid = G.memberData.labelid[qq]; } //???????? if (G.memberData.items[i].blackuser === 1) { G.memberData.blackusers++; G.memberData.blackitems.push(G.memberData.items[i]); } } //????? toolbar.init(); //?????? listHtml.loadThead(); //?????? listHtml.loadTbody(); //????????? listHtml.sortByIndentity(); //??????????????????? listHtml.isEditCard(); //??????????????????????? listHtml.lastTimeMsg(); if (!G.faceloaded) { //????????? var getFace = function(d) { var key, url; window.timeScope.userFaceLoadStart = window.timeScope.userFaceLoadStart || new Date().getTime() //??????????; for (key in d.qq) { url = d.qq[key].u.replace(/&/g, '&'); listHtml.setFace(key, url); G.memberData.face[key] = url; } }; //?????? var i = 0, len = G.memberData.items.length, jsonpQQjoin = ""; for (i = 0; i < len; i++) { var qq = G.memberData.items[i].qq; //qq??? //qq?????? if (i % 19 == 0 && i != 0) { jsonpQQjoin = jsonpQQjoin + qq; cgi.getFace(i, jsonpQQjoin, getFace); jsonpQQjoin = ""; } else { jsonpQQjoin = jsonpQQjoin + qq + "_"; } } if (jsonpQQjoin != "") { cgi.getFace(i, jsonpQQjoin, getFace); } G.faceloaded = 1; } //m.isd.com??????? if (window.timeScope.pagestart) { var isdTime = [ window.timeScope.pagestart.start, 0, //1 0, //2 window.timeScope.cssload.start, //3 window.timeScope.jsloadstartStart, //4 window.timeScope.jsloadstartEnd, //5 window.timeScope.domReady, //6 window.timeScope.clientMemberDataReadyStart, //7 window.timeScope.clientMemberDataReadyEnd, //8 window.timeScope.cgiDataReadyStart, //9 window.timeScope.cgiDataReadyEnd, //10 window.timeScope.memberListLoadStart, //11 window.timeScope.memberListLoadEnd //12 ]; setTimeout(function() { //console.log(isdTime) report.isd2(7832, 62, 1, isdTime); //report.isd(7723, 4, 6, isdTime); }, 1000); } } } else { if (G.memberData.labelload && G.memberData.office_itemsload && G.memberData.groupload && G.memberData.labelflagload) { window.timeScope.cgiDataReadyEnd = new Date().getTime() //cgi?????????; var i = 0, len = 0, indentity = ""; //????????? if (G.selfUin == G.memberData.group.gOwner) { indentity = "owner"; } if (G.memberData.group["gAdmins"]) { for (i = 0, len = G.memberData.group.gAdmins.length; i < len; i++) { if (G.selfUin == G.memberData.group.gAdmins[i]) { indentity = "admin"; } } } G.selfIndentity = indentity; //?????? for (i = 0, len = G.memberData.office_items.length; i < len; i++) { indentity = ""; var qq = G.memberData.office_items[i].qq; if (qq == G.memberData.group.gOwner) { indentity = "owner"; } if (G.memberData.group["gAdmins"]) { for (var i2 = 0, len2 = G.memberData.group.gAdmins.length; i2 < len2; i2++) { if (qq == G.memberData.group.gAdmins[i2]) { indentity = "admin"; } } } G.memberData.office_items[i].indentity = indentity; } //??????????????????????????? G.memberData.blackusers = 0; G.memberData.blackitems = []; for (i = 0, len = G.memberData.office_items.length; i < len; i++) { var qq = G.memberData.office_items[i].qq; if (G.memberData.label[qq]) { G.memberData.office_items[i].labelid = G.memberData.labelid[qq]; } //???????? if (G.memberData.office_items[i].blackuser === 1) { G.memberData.blackusers++; G.memberData.blackitems.push(G.memberData.office_items[i]); } } //????? toolbar.init(); //?????? listHtml.loadThead(); //?????? listHtml.loadTbody(); //????????? listHtml.sortByIndentity(); //??????????????????? listHtml.isEditCard(); //??????????????????????? listHtml.lastTimeMsg(); if (!G.faceloaded) { //????????? var getFace = function(d) { var key, url; window.timeScope.userFaceLoadStart = window.timeScope.userFaceLoadStart || new Date().getTime() //??????????; for (key in d.qq) { url = d.qq[key].u.replace(/&/g, '&'); listHtml.setFace(key, url); G.memberData.face[key] = url; } }; //?????? var i = 0, len = G.memberData.office_items.length, jsonpQQjoin = ""; for (i = 0; i < len; i++) { var qq = G.memberData.office_items[i].qq; //qq??? //qq?????? if (i % 19 == 0 && i != 0) { jsonpQQjoin = jsonpQQjoin + qq; cgi.getFace(i, jsonpQQjoin, getFace); jsonpQQjoin = ""; } else { jsonpQQjoin = jsonpQQjoin + qq + "_"; } } if (jsonpQQjoin != "") { cgi.getFace(i, jsonpQQjoin, getFace); } G.faceloaded = 1; } //m.isd.com??????? if (window.timeScope.pagestart) { var isdTime = [ window.timeScope.pagestart.start, 0, //1 0, //2 window.timeScope.cssload.tart, //3 window.timeScope.jsloadstartStart, //4 window.timeScope.jsloadstartEnd, //5 window.timeScope.domReady, //6 window.timeScope.clientMemberDataReadyStart, //7 window.timeScope.clientMemberDataReadyEnd, //8 window.timeScope.cgiDataReadyStart, //9 window.timeScope.cgiDataReadyEnd, //10 window.timeScope.memberListLoadStart, //11 window.timeScope.memberListLoadEnd //12 ]; setTimeout(function() { report.isd(7832, 62, 2, isdTime); //report.isd(7723, 4, 6, isdTime); }, 1000); } } } }; var mergeStatusData = function() { //????????????statusid????????tems??? if (G.classHomeSchool === true) { var items = G.memberData.items; var statusId = G.memberData.statusid; var length = items.length; for (var index = 0; index < length; ++index) { //console.log(G.memberData); if (statusId[items[index].qq + ""]) { items[index].statusid = statusId[items[index].qq]; } else { items[index].statusid = 0; } } delete G.memberData.statusid; } }; var status = function() { cgi.getStatus({}, function(d) { G.memberData.statusload = true; G.memberData.statusid = {}; if (d.retcode == 0) { if (!d.data || !d.data.card_hw_info) { return; } var data = d.data.card_hw_info; var length = data.length; var statusKey = ['identity', 'uin']; for (var index = 0; index < length; ++index) { var status = data[index]; G.memberData.statusid[status[statusKey[1]]] = status[statusKey[0]]; } // var key; // //???????????????????? // for (key in d.mem_tag) { // var i = 0, // len = d.mem_tag[key].length; // for (; i < len; i++) { // G.memberData.labelid[d.mem_tag[key][i]] = key; // } // } // //??????????????? // for (key in G.memberData.labelid) { // G.memberData.label[key] = d.tag_info[G.memberData.labelid[key]]; // } // //?????? // G.memberData.tag_info = d.tag_info; // //?????? createMemberList(); } else { //??????????????gi???????????????????????????????????gi cgi.postErr(d); } }, cgi.postErr); }; var label = function() { cgi.getLabel({}, function(d) { G.memberData.labelload = true; G.memberData.labelid = {}; G.memberData.label = {}; if (d.ec == 0) { if (!d.tag_info) { return; } var key; //???????????????????? for (key in d.mem_tag) { var i = 0, len = d.mem_tag[key].length; for (; i < len; i++) { G.memberData.labelid[d.mem_tag[key][i]] = key; } } //??????????????? for (key in G.memberData.labelid) { G.memberData.label[key] = d.tag_info[G.memberData.labelid[key]]; } //?????? G.memberData.tag_info = d.tag_info; //?????? createMemberList(); } else { cgi.postErr(d); } }, cgi.postErr); }; var init = function() { window.timeScope.cgiDataReadyStart = new Date().getTime() //cgi??????????; createMemberList(); //???????? if (G.memberData.groupload) {} else { cgi.getGroupInfo({}, function(d) { G.memberData.group = {}; if (d.ec == 0) { /*add by horde */ /*???????????.??????????????????.*/ var level = d.levelname; var gradeCache = util.getCache('gradeLevel'); if (!gradeCache) { gradeCache = {}; } gradeCache[G.gc] = level; util.setCache('gradeLevel', gradeCache); //?????? if ((typeof G.classHomeSchool != 'boolean') && (d.classID == G.classHomeSchool)) { G.classHomeSchool = true; } else { G.classHomeSchool = false; } if (G.classHomeSchool === true) { status(); } G.memberData.group.gOwner = d.gOwner; G.memberData.group.gAdmins = d.gAdmins; G.memberData.groupload = true; //?????? createMemberList(); } else { cgi.postErr(d); } }, cgi.postErr); } //?????? if (G.memberData.labelload) {} else { if (G.selfIndentity == "") { G.memberData.labelload = true; G.memberData.labelid = {}; G.memberData.label = {}; } else { label(); } } //?????????????? if (G.memberData.labelflagload) {} else { cgi.getLabelFlag({}, function(d) { G.memberData.labelflagload = true; G.memberData.labelflag = d.flag; //?????? createMemberList(); }, cgi.postErr); } if (G.officemode == "0") { //???????? if (G.memberData.itemsload) {} else { cgi.getMembers({}, function(d) { setTimeout(function() { var perf = util.getPerf('get_group_members_new'); report.isdPerf(7723, 4, 11, perf); }, 500); G.memberData.itemsload = true; G.memberData.items = []; if (d.ec == 0) { G.memberData.level = d.level; G.memberData.type = d.type; G.memberData.ext_num = d.ext_num; G.memberData.shutup_list = d.shutup_list; G.memberData.levelname = d.levelname; //??????? if (d.friends) { var i = 0, len = d.friends.length; G.memberData.friends = {}; for (i = 0; i < len; i++) { G.memberData.friends[d.friends[i]] = 1; } } //items?????? i = 0, len = d.mems.length; for (i = 0; i < len; i++) { var qq = d.mems[i].u, //qq??? nick = d.mems[i].n, //??? blackuser = d.mems[i].b, //1????????0???????? card = "", //????? labelid = "-1", //?????????id,???????????????????? levelid = d.lv[qq].l, //?????? point = d.lv[qq].p, //?????? times = memberUtil.dateFormat(new Date(parseInt(d.times[qq]) * 1000), "yyyy/MM/dd"); //??????? if (d.cards && d.cards[qq]) { card = d.cards[qq]; } if (times == "1970/01/01") { times = "-"; } //????????? G.memberData.items.push({ qq: qq, nick: nick, card: card, labelid: labelid, levelid: levelid, point: point, times: times, blackuser: blackuser }); } //?????? createMemberList(); } else { cgi.postErr(d); } }, cgi.postErr); } } else { //???????? if (G.memberData.office_itemsload) {} else { cgi.getOfficeMembers({}, function(d) { setTimeout(function() { var perf = util.getPerf('get_group_contacts'); report.isdPerf(7723, 4, 11, perf); }, 500); G.memberData.office_itemsload = true; G.memberData.office_items = []; if (d.ec == 0) { G.memberData.level = d.level; G.memberData.type = d.type; G.memberData.ext_num = d.ext_num; G.memberData.shutup_list = d.shutup_list; //??????? if (d.friends) { var i = 0, len = d.friends.length; G.memberData.friends = {}; for (i = 0; i < len; i++) { G.memberData.friends[d.friends[i]] = 1; } } //items?????? var len = d.contacts.length; var i = 0; for (i = 0; i < len; i++) { var qq = d.contacts[i].u, //qq??? tel = d.contacts[i].p, //??? position = d.contacts[i].j, //??? gender = d.contacts[i].g, //??? nick = d.contacts[i].n, card = d.contacts[i].c, blackuser = d.contacts[i].b; //????????? G.memberData.office_items.push({ tel: tel, position: position, gender: gender, blackuser: blackuser, qq: qq, card: card, nick: nick }); } //?????? createMemberList(); } else { cgi.postErr(d); } }, cgi.postErr); } } }; return { init: init, label: label }; })(); },{"../../lib/report":4,"../../lib/util":6,"./cgi":8,"./list-html":13,"./toolbar":26,"./util":27}],13:[function(require,module,exports){ 'use strict'; var report = require('../../lib/report'), util = require('../../lib/util'), config = require('../../lib/config'), client = require('./client'), cgi = require('./cgi'), card = require('./card'), label = require('./label'), status = require('./status'), contentMenu = require('./content-menu'), tmplMemberThead = require('./tmpl/member-thead'), tmplListBox = require('./tmpl/member-list-box'), tmplListOne = require('./tmpl/member-list-one'), tmplHomeschoolListOne = require('./tmpl/homeschool-member-list-one'), tmplOfficeMemberThead = require('./tmpl/office-member-thead'), tmplHomeschoolMemberThead = require('./tmpl/homeschool-member-thead'), tmplOfficeListOne = require('./tmpl/office-member-list-one'); var exitGroupVersion = 5449;//????????????????. module.exports = (function() { //?????????? var lastTimeMsg = function(uin) { var memuin = util.getParameter("memuin"), enableedit = util.getParameter("enableedit"); var toFocus = function(qq) { $("#member-list-focus").removeClass('focus').removeAttr("id"); if ($("#hidefocus-" + qq).size() < 1) { $("#hidefocus2-" + qq).focus(); $("#hidefocus2-" + qq).closest("[data-member-list]").attr("id", "member-list-focus").addClass('focus'); } else { $("#hidefocus-" + qq).focus(); $("#hidefocus-" + qq).closest("[data-member-list]").attr("id", "member-list-focus").addClass('focus'); } }; if (uin) { toFocus(uin); } else if (memuin != "0" && enableedit == "0") { toFocus(memuin); } }; //????????????????????? var listUpdate = function() { //???????? card.keydownToSubimt(); }; //??????????????????????????????????????input????????? var isEditCard = function(uin) { var memuin = util.getParameter("memuin"), enableedit = util.getParameter("enableedit"), isReload = util.getParameter("isReload"); var toFocus = function(qq) { $("#member-list-focus").removeClass('focus').removeAttr("id"); if ($("#hidefocus-" + qq).size() < 1) { $("#hidefocus2-" + qq).focus(); $("#hidefocus2-" + qq).closest("[data-member-list]").attr("id", "member-list-focus").addClass('focus'); } else { $("#hidefocus-" + qq).focus(); $("#hidefocus-" + qq).closest("[data-member-list]").attr("id", "member-list-focus").addClass('focus'); } }; if (uin) { if (!G.eventListener("tabSkipToEditNick-input", "autoFocus")) { return false; } toFocus(uin); listPageView(); setTimeout(function() { card.set(uin); }, 500); } else if (memuin != "0" && enableedit == "1" && isReload != "1") { if (!G.eventListener("urlSkipToEditNick-input", "autoFocus")) { return false; } toFocus(memuin); listPageView(); setTimeout(function() { card.set(memuin); }, 500); //??????????????? $(document).one("keydown", function(e) { if (e.keyCode == 116) { location.href = location.href + "&isReload=1"; return false; } }); } }; //????????? var resort = function() { if (!G.event_membertheadSortClick) { $("#member-thead").on("click", "li", function(e, inputsort) { var record = $(this).data("record"), sort = !inputsort || (inputsort && inputsort.length == 0) ? $(this).data("sort") : inputsort; if (!G.eventListener("resort-theadList", "sortkey-is-" + sort)) { return false; } //??????????????? if (G.memberData.isListViewLoad && sort) { return; } var items; if (G.officemode == "0") items = G.memberData.items; else items = G.memberData.office_items; switch (record) { case "point": if (sort == "desc") { items.sort(function(a, b) { return util.numSortUp(a[record], b[record]); }); } else { items.sort(function(a, b) { return util.numSortDown(a[record], b[record]); }); } break; default: if (sort == "desc") { items.sort(function(a, b) { return util.nameSortUp(a[record], b[record]); }); } else { items.sort(function(a, b) { return util.nameSortDown(a[record], b[record]); }); } break; } //??????????? sort = (sort == "desc") ? "asc" : "desc"; //??????????? $("#member-thead > li").data("sort", ""); //???????????? $(this).data("sort", sort); //???????? $("#member-tbody").scrollTop(0); //?????? loadTbody(true); }); G.event_membertheadSortClick = true; } }; //??????????? var sortByIndentity = function() { $("#member-thead [data-record='indentity']").trigger("click", ["asc"]); }; //?????? var setFace = function(qq, src) { //console.log(qq+","+src+","+$("#member-face-"+qq).size()) $("#member-face-" + qq).attr("src", src); }; //listPageView??? window.listPageViewTimeout; var listPageView = function() { clearTimeout(window.listPageViewTimeout); window.listPageViewTimeout = setTimeout(function() { var tbody = $("#member-tbody"), li = tbody.children('li'); var top = tbody.scrollTop(), split = 38; //?????? var grid = tbody.height(); var listNum = Math.floor(grid / split) + 1; var start = Math.floor(top / split) - 1; start = start - 10; //???ui???bug??????10?? if (start < 0) { start = 0; } var end = start + listNum; end = end + 20; //???ui???bug??????10?? var items; if (G.officemode == "0") items = G.memberData.items; else items = G.memberData.office_items; if (end > items.length) { end = items.length; } //console.log("top:"+top+";start:"+start+";end:"+end) for (var i = start; i < end; i++) { var qq = li.eq(i).data("member-list"); if (li.eq(i).data("cgi") == "unready") { li.eq(i).data("cgi", "ready"); if (G.officemode == "0") { if (G.classHomeSchool == true) { li.eq(i).html(tmplHomeschoolListOne({ i: i, data: G.memberData, version : exitGroupVersion, util: util, client: client })); } else { li.eq(i).html(tmplListOne({ i: i, data: G.memberData, version : exitGroupVersion, util: util, client: client })); } } else { li.eq(i).html(tmplOfficeListOne({ i: i, data: G.memberData, version : exitGroupVersion, util: util, client: client })); } } } //?????? listUpdate(); }, 200); }; //????? var init = function() { void 0; //??????????? contentMenu.init(); //??? label.eventBin(); //??? status.eventBin(); //?????? card.listEditBtn(); //?????? $(document).on("dblclick", "[data-member-list]", function(e) { //> ??????????? if ($(e.target).is('input')) return false; var uin = $(this).data("member-list"); if (!G.eventListener("listSendMsg-listbar", "dblclick")) { return false; } client.sendMsgToGroupMem(uin); }); //?????? $(document).on("click", "[data-user-detail]", function(e) { var uin = $(this).data("user-detail"); if (!G.eventListener("listUserInfo-listButton", "click")) { return false; } if (G.officemode == '1') client.cardInfo(uin); else client.userInfo(uin); }); //????? $(document).on("click", "[data-exit-group]", function(e) { if (!G.eventListener("delUser-listbutton", "click")) { void 0; return false; } var ret = client.exitGroup(G.gc); }); //???????? $(document).on("click", "[data-setadmin='owner'].setting", function(e) { var items; if (G.officemode == "0") items = G.memberData.items; else items = G.memberData.office_items; if (!G.eventListener("setAdmin-listButton", "click")) { return false; } var _this = $(this); var _list = _this.closest("[data-nick]"); var _i = _list.data("i"); if ($("#admin-count").html() == $("#total-admin").html()) { client.setAdminMsgBox("???", "?????????????????????????????????????????"); return; } var set = client.setAdminMsgBox("???", "???????? " + _list.data("nick") + " (" + _list.data("uin") + ") ?????????"); if (set == 1) { cgi.setAdmin({ u: _list.data("uin"), op: 1 }, function(d) { cgi.cgiSuccess(d, "setAdmin"); if (d.ec == 0) { _this.removeClass('setting').addClass('admin').attr("title", "?????"); $("#admin-count").html(parseInt($("#admin-count").html()) + 1); //G.memberData.items[_i]["indentity"] = "admin"; items[_i]["indentity"] = "admin"; } else { cgi.postErr(d); } }, cgi.postErr); } }); //???????? $(document).on("click", "[data-setadmin='owner'].admin", function(e) { var items; if (G.officemode == "0") items = G.memberData.items; else items = G.memberData.office_items; if (!G.eventListener("offSetAdmin-listButton", "click")) { return false; } var _this = $(this); var _list = _this.closest("[data-nick]"); var _i = _list.data("i"); var set = client.setAdminMsgBox("???", "???????? " + _list.data("nick") + " (" + _list.data("uin") + ") ????????????"); if (set == 1) { cgi.setAdmin({ u: _list.data("uin"), op: 0 }, function(d) { cgi.cgiSuccess(d, "offSetAdmin"); if (d.ec == 0) { _this.removeClass('admin').addClass('setting').attr("title", "?????????"); $("#admin-count").html(parseInt($("#admin-count").html()) - 1); //G.memberData.items[_i]["indentity"] = ""; items[_i]["indentity"] = ""; } }); } }); //?????? $(document).on("click", "[data-del-user]", function(e) { void 0; if (!G.eventListener("delUser-listbutton", "click")) { return false; } var uin = $(this).data("del-user"); client.delMember(uin); }); //?????,??????????? $(document).on("keydown", function(e) { var cur = $("#member-list-focus"); if (e.keyCode == 38) { //?????? var _cur = $("#member-tbody [data-member-list]").last(); if (cur.size() < 1) { _cur.attr("id", "member-list-focus").addClass('hover').focus(); } else { cur.removeClass('hover').removeAttr("id"); var pre = cur.prev(); if (pre.size() > 0) { pre.attr("id", "member-list-focus").addClass('hover').focus(); } else { $("#member-tbody").focus(); } } report.monitor([470344], true); } else if (e.keyCode == 40) { //?????? var _cur = $("#member-tbody [data-member-list]").first(); if (cur.size() < 1) { _cur.attr("id", "member-list-focus").addClass('hover').focus(); } else { cur.removeClass('hover').removeAttr("id"); var next = cur.next(); if (next.size() > 0) { next.attr("id", "member-list-focus").addClass('hover').focus(); } else { $("#member-tbody").focus(); } } report.monitor([470344], true); } else if ($(e.target).is('input')) { //> ????????IO????? } else if (e.keyCode == 36) { //home $("#adminnum-info").focus(); } else if (e.keyCode == 35) { //end $("#member-tbody").focus(); } else if (e.keyCode == 13) { var focus = $("#member-list-focus"); if (focus.size() > 0) { var uin = focus.data("member-list"); client.sendMsgToGroupMem(uin); } } }); //???????? client.common.removeLoad(); }; //?????? var loadThead = function() { var noofficeMode = G.officemode == "0"; if (noofficeMode) { if (G.classHomeSchool == true) { $("#member-thead").html(tmplHomeschoolMemberThead(G.memberData)); } else { $("#member-thead").html(tmplMemberThead(G.memberData)); } } else { $("#member-thead").html(tmplOfficeMemberThead(G.memberData)); } //?????? resort(); //?????? if (!G.event_gradeHelpClick && noofficeMode) { $("#gradeHelp").click(function(e) { if (!G.eventListener("levelHelp-theadList", "click")) { return false; } window.open("http://kf.qq.com/menu/227_1.html"); return false; }); G.event_gradeHelpClick = true; } //?????? if (!G.event_editGradeClick && noofficeMode) { $("#editGrade").click(function(e) { if (!G.eventListener("editLevel-theadList", "click")) { return false; } var url = 'http://qinfo.clt.qq.com/qinfo_v3/grade.html#groupuin=' + G.gc; var params = { appId: 10001016, width: 635, height: 480, title: config.msg.tag.leveltitle, url: url, singletonId: 'group_member_level_' + G.gc }; client.common.popNewWebPage(params.width, params.height, params.url, params.title, params.singletonId); return false; }); G.event_editGradeClick = true; } //?????? if (!G.event_eiditLabelClick && noofficeMode) { $("#eiditLabel").click(function(e) { label.hideMenu(); status.hideMenu(); if (!G.eventListener("editLabel-theadList", "click")) { return false; } var url = 'http://qinfo.clt.qq.com/group_member_tags/index.html?groupuin=' + G.gc; var params = { appId: 10001016, width: 310, height: 340, title: '???????????', url: url, singletonId: 'group_member_tags_' + G.gc }; client.common.popNewWebPage(params.width, params.height, params.url, params.title, params.singletonId); return false; }); G.event_eiditLabelClick = true; } //member-tbody?????? var $memberTbody = $("#member-tbody"); if (!$memberTbody.hasClass(G.selfIndentity)) { $memberTbody.addClass(G.selfIndentity); } //?????? if (G.classHomeSchool == true) { $memberTbody.addClass('homeschool'); } //????????? var _isLabel = (G.selfIndentity == "owner" || G.selfIndentity == "admin") && G.memberData.labelflag == "1"; if (!_isLabel) { if (!$("#member-box").hasClass('noLabel')) { $("#member-box").addClass('noLabel'); } } else { $("#member-box").removeClass('noLabel'); } //?????? if ((G.selfIndentity == "owner" || G.selfIndentity == "admin") && G.memberData.blackusers > 0) { G.memberData.blackMod = true; var blackuser = $("#member-control").find('[data-blackuser="true"]'); //???????????????????? blackuser.show(); //???????????? $("#blackuser-count").html(G.memberData.blackusers); //????????? if (!G.event_blackuserClick) { blackuser.on("click", function() { if (!G.eventListener("blackuser-toolbarBtn", "click")) { return false; } $("#member-control").hide(); $("#member-control-blackuser").show(); G.memberData.backitems = G.memberData.items; G.memberData.items = G.memberData.blackitems; G.memberData.blackMod = false; //???????? $("#member-tbody").scrollTop(0); //?????? loadTbody(true); }); G.event_blackuserClick = true; } //????????????????? if (!G.event_blackuserreturnClick) { $("#blackuser-return").on("click", function() { $("#member-control").show(); $("#member-control-blackuser").hide(); G.memberData.items = G.memberData.backitems; G.memberData.backitems = []; G.memberData.blackMod = true; //???????? $("#member-tbody").scrollTop(0); //?????? loadTbody(true); }); G.event_blackuserreturnClick = true; } } }; //?????? var loadTbody = function(ref) { var memberTbody = $("#member-tbody"); var reload = function() { window.timeScope.memberListLoadStart = new Date().getTime() //?????????????????; var items; if (G.officemode == "0") items = G.memberData.items; else items = G.memberData.office_items; var li = "", html = "", i = 0, len = items.length; memberTbody.empty(); for (; i < len; i++) { var qq = items[i].qq; var listOne = ""; if (G.officemode == "0") { if (G.classHomeSchool == true) { listOne = tmplHomeschoolListOne({ i: i, data: G.memberData, version : exitGroupVersion, util: util, client: client }); } else { listOne = tmplListOne({ i: i, data: G.memberData, version : exitGroupVersion, util: util, client: client }); } } else { listOne = tmplOfficeListOne({ i: i, data: G.memberData, version : exitGroupVersion, util: util, client: client }); } if (i < 20) { li = tmplListBox({ qq: qq, i: i, cgiready: "ready", listOne: listOne }); memberTbody.append(li); } else if (i > 19 && qq == G.selfUin) { //????????? memberTbody.append(html); //????????? html = ''; //???????? li = tmplListBox({ qq: qq, i: i, cgiready: "ready", listOne: listOne }); memberTbody.append(li); } else { html += tmplListBox({ qq: qq, i: i, cgiready: "unready", listOne: "" }); } } memberTbody.append(html); //?????? listUpdate(); window.timeScope.memberListLoadEnd = new Date().getTime(); }; //???????????2??????????????????????????? if (!(client.getAllMember()) || ref) { G.memberData.isListViewLoad = true; reload(); G.memberData.isListViewLoad = false; } //???scroll??? if (!G.event_memberTbodyOff) { memberTbody.off("scroll").on("scroll", (function() { listPageView(); })); G.event_memberTbodyOff = true; } //?????????????? listPageView(); //????? if (!G.event_memberTbodyFindFocus) { memberTbody.find("[data-member-list]").focus(function(e) { //???????? $("#member-list-focus").removeClass('hover').removeAttr("id"); $(this).attr("id", "member-list-focus").addClass('hover'); //????????? //$(this).find(".menu").html($("#barMenu").html()); }); G.event_memberTbodyFindFocus = true; } }; return { init: init, sortByIndentity: sortByIndentity, setFace: setFace, loadThead: loadThead, loadTbody: loadTbody, resort: resort, listPageView: listPageView, listUpdate: listUpdate, isEditCard: isEditCard, lastTimeMsg: lastTimeMsg }; })(); },{"../../lib/config":3,"../../lib/report":4,"../../lib/util":6,"./card":7,"./cgi":8,"./client":9,"./content-menu":10,"./label":11,"./status":14,"./tmpl/homeschool-member-list-one":16,"./tmpl/homeschool-member-thead":17,"./tmpl/member-list-box":19,"./tmpl/member-list-one":20,"./tmpl/member-thead":21,"./tmpl/office-member-list-one":22,"./tmpl/office-member-thead":23}],14:[function(require,module,exports){ 'use strict'; var cgi = require('./cgi'), report = require('../profile/report'); module.exports = (function() { var memberBox = $("#member-box"); var hideMenu = function() { $("#member-list-status-focus").removeClass('focus').removeAttr("id"); }; var eventBin = function() { var bodyHeight = $("#member-box").height(); //??? memberBox.on("click", "[data-status]", function(e) { var ul = $(this).find("ul"); //???????? ul = $(this).find("ul"); //?????? if ($(this).hasClass('focus')) { hideMenu(); } else { hideMenu(); $(this).attr("id", "member-list-status-focus").addClass('focus'); } //?????? ul = $(this).find("ul"); var top = ul.offset().top, height = ul.height(); if (top + height > bodyHeight) { ul.css("top", -height); } return false; }); //?????? memberBox.on("click", "[data-status-id]", function(e) { var _this = $(this); var list = $("#member-list-focus"); var statusid = _this.data("status-id"); var qq = list.data("member-list"); _this.parent().children("li").removeClass("focus"); cgi.setStatus({ target_uin: qq, identity: statusid }, function(d) { if (d.retcode == 0) { list.find("[data-status-txt]").html(_this.text()); _this.addClass('focus'); G.memberData.items[parseInt(list.data("i"))].statusid = statusid; report.jx({ 'module': 'capacity', 'action': 'other', 'obj3': statusid }); } else { //??????????????gi???????????????????????????????????gi cgi.postErr(d); } }, cgi.postErr); }); //?????? $(document).click(function() { hideMenu(); }); }; return { eventBin: eventBin, hideMenu: hideMenu }; })(); },{"../profile/report":28,"./cgi":8}],15:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { __p += '<ul class="context-list" tabindex="0" aria-label="??????">\r\n '; if(G.selfUin!=qq){; __p += '\r\n <li data-menuid="send" role="option" tabindex="0" aria-label="???????"><span>???????</span></li>\r\n '; }; __p += '\r\n <li data-menuid="view" role="option" tabindex="0" aria-label="' + ((__t = (G.officemode == '1' ? '????????' : '??????')) == null ? '' : __t) + '"><span>' + ((__t = (G.officemode == '1' ? '????????' : '??????')) == null ? '' : __t) + '</span></li>\r\n '; if(!isfriend){; __p += '\r\n <li data-menuid="add" role="option" tabindex="0" aria-label="??????"><span>??????</span></li>\r\n '; }; __p += '\r\n '; if(G.selfUin!=qq){; __p += '\r\n '; if((G.selfIndentity=="owner") || (G.selfIndentity=="admin" && items[i].indentity=="")){; __p += '\r\n <li '; if(shut){; __p += 'class="hide"'; }; __p += ' role="option" tabindex="-1" class="gag" aria-label="???"><span>???</span>\r\n <ul id="secMenu" class="context-menu context-sec-menu">\r\n '; for(var i = 0,l=menu.length;i<l;i++){ var item = menu[i]; ; __p += '\r\n <li data-menuid="gag" data-time="' + __e(item.seconds) + '" aria-label="???' + __e(item.text) + '" tabindex="0" role="option"><span data-time="' + __e(item.seconds) + '">' + __e(item.text) + '</span></li>\r\n '; }; __p += '\r\n '; if(version >= 5383){; __p += '\r\n <li data-menuid="gag" data-time="auto" aria-label="???????????" tabindex="0" role="option"><span data-time="auto">????????</span></li>\r\n '; }; __p += '\r\n </ul>\r\n </li>\r\n \r\n <li '; if(!shut){; __p += 'class="hide"'; }; __p += ' data-menuid="ungag" role="option" tabindex="0" class="gag" aria-label="??????"><span>??????</span>\r\n\r\n '; }; __p += '\r\n <li data-menuid="shield" role="option" tabindex="0" class="' + ((__t = (shield)) == null ? '' : __t) + '" aria-label="?????????"><span>?????????</span></li>\r\n <li data-menuid="jubao" role="option" tabindex="0" aria-label="????????"><span>????????</span></li>\r\n '; }; __p += '\r\n</ul>'; } return __p } },{}],16:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { __p += '\r\n'; var items = data.items; var qq=items[i].qq, face=data.face || {}, label=data.label || {}, labelid=data.labelid || {}, tag_info=data.tag_info || {}, shutup_list=data.shutup_list || {}, friends=data.friends || {}, status=data.status || {}, levelname=data.levelname || {}; // var _setting=""; //????????????????????????????????????? if(G.selfIndentity=='owner' && items[i].indentity==''){ _setting="setting"; } //??? var _face="http://3.url.cn/qun/clt/qinfo/member/img/auto.png"; if(face[qq]){ _face=face[qq]; } //???????? var indentity=""; if(items[i].indentity=="owner"){ indentity="???"; }else if(items[i].indentity=="admin"){ indentity="?????"; } if(G.selfIndentity=='owner' && items[i].indentity==''){ indentity="?????????"; } //??? var _labelid=labelid?labelid[qq]:"", _label=label[qq]?label[qq]:""; //??? var _stautsid = items[i].statusid?items[i].statusid:'0', _stauts = items[i].statusid?status[items[i].statusid]:'?????'; //????????????????????tems[i]["levelname"] var _levelName=items[i]["levelname"] || levelname["lvln"+items[i].levelid]; //???????? var shielded="",dataShield="false"; if(client.getIsShieldGroupMem(qq)){ shielded="show"; dataShield="true"; } //????? var _time=items[i].times; if(shutup_list[qq]){ _time=util.getShutTime(shutup_list[qq])+"?????"; } //??????????? var _isfriends=false; if(friends[qq] || qq==G.selfUin){ _isfriends=true; } ; __p += '\r\n<div id="list-' + ((__t = (qq)) == null ? '' : __t) + '" data-isfriends="' + ((__t = (_isfriends)) == null ? '' : __t) + '" data-i="' + ((__t = (i)) == null ? '' : __t) + '" data-shield="' + ((__t = (dataShield)) == null ? '' : __t) + '" data-nick="' + ((__t = (G.codeFilter(items[i].nick).replace('"','??'))) == null ? '' : __t) + '" data-uin="' + ((__t = (qq)) == null ? '' : __t) + '" data-indentity="' + ((__t = (items[i].indentity)) == null ? '' : __t) + '" data-blackuser="' + ((__t = (G.memberData.blackMod==true?items[i].blackuser:0)) == null ? '' : __t) + '"><input class="hidefocus" size="1" type="text" id="hidefocus2-' + ((__t = (qq)) == null ? '' : __t) + '" tabindex="-1"/>\r\n <div class="ico"><button data-setadmin="' + ((__t = (G.selfIndentity)) == null ? '' : __t) + '" class="' + ((__t = (items[i].indentity)) == null ? '' : __t) + ' ' + ((__t = (_setting)) == null ? '' : __t) + '" title="' + ((__t = (indentity)) == null ? '' : __t) + '" aria-label="' + ((__t = (indentity)) == null ? '' : __t) + '"></button></div>\r\n <div class="nick"><img id="member-face-' + ((__t = (qq)) == null ? '' : __t) + '" src="' + ((__t = (_face)) == null ? '' : __t) + '"/><img class="shielded ' + ((__t = (shielded)) == null ? '' : __t) + '" src="http://3.url.cn/qun/clt/qinfo/member/img/shield.png" alt=""><span class="txt">' + ((__t = (G.codeFilter(items[i].nick))) == null ? '' : __t) + '</span><span class="blackuser" title="?????????">!</span></div>\r\n <div class="status label">\r\n <div data-status="' + ((__t = (_stautsid)) == null ? '' : __t) + '">\r\n <div data-status-txt="true">' + ((__t = (_stauts)) == null ? '' : __t) + '</div>\r\n <ul>\r\n '; var key,focus=""; for(key in status){ if(items[i].statusid==key){ focus="focus"; }else{ focus=""; } ; __p += '\r\n <li class="' + ((__t = (focus)) == null ? '' : __t) + '" data-status-id="' + ((__t = (key)) == null ? '' : __t) + '">' + ((__t = (status[key])) == null ? '' : __t) + '</li>\r\n '; }; __p += '\r\n </ul>\r\n <i></i>\r\n </div>\r\n </div>\r\n <div class="card"><span class="txt" id="nick-txt-' + ((__t = (qq)) == null ? '' : __t) + '">' + ((__t = (G.codeFilter(items[i].card))) == null ? '' : __t) + '</span><input name="nick-input" type="text" maxlength="60" id="nick-input-' + ((__t = (qq)) == null ? '' : __t) + '" value="' + ((__t = (G.codeFilter(items[i].card))) == null ? '' : __t) + '" aria-label="???????????????" tabindex="-1"/></div>\r\n '; if((G.selfIndentity=="owner" || G.selfIndentity=="admin") && G.memberData.labelflag=="1"){; __p += '\r\n <div class="label">\r\n <div data-label="' + ((__t = (_labelid)) == null ? '' : __t) + '">\r\n <div data-label-txt="true">' + ((__t = (_label)) == null ? '' : __t) + '</div>\r\n <ul>\r\n '; var key,focus=""; for(key in tag_info){ if(items[i].labelid==key){ focus="focus"; }else{ focus=""; } ; __p += '\r\n <li class="' + ((__t = (focus)) == null ? '' : __t) + '" data-label-id="' + ((__t = (key)) == null ? '' : __t) + '">' + ((__t = (tag_info[key])) == null ? '' : __t) + '</li>\r\n '; }; __p += '\r\n <li class="" data-label-id="-1"> </li>\r\n </ul>\r\n <i></i>\r\n </div>\r\n </div>\r\n '; }; __p += '\r\n <div class="levelname" data-level="lvln' + ((__t = (items[i].levelid)) == null ? '' : __t) + '">' + ((__t = (_levelName)) == null ? '' : __t) + '??' + ((__t = (items[i].point)) == null ? '' : __t) + '??</div>\r\n <div class="time" data-time="' + ((__t = (items[i].times)) == null ? '' : __t) + '">' + ((__t = (_time)) == null ? '' : __t) + '</div>\r\n <div class="tool">\r\n '; if(G.selfUin==items[i].qq || G.selfIndentity=='owner' || (G.selfIndentity=='admin' && items[i].indentity!="owner")){ ; __p += '\r\n <button data-card="edit" data-qq="' + ((__t = (qq)) == null ? '' : __t) + '" class="edit-card" title="????????" aria-label="????????"></button>\r\n '; }; __p += '\r\n <button data-user-detail="' + ((__t = (qq)) == null ? '' : __t) + '" class="user-detail" href="#" title="' + ((__t = (G.officemode == '1' ? '????????' : '??????')) == null ? '' : __t) + '" aria-label="' + ((__t = (G.officemode == '1' ? '????????' : '??????')) == null ? '' : __t) + '"></button>\r\n '; if(G.selfUin!=items[i].qq && (G.selfIndentity=='owner' || (G.selfIndentity=='admin' && items[i].indentity==''))){ ; __p += '\r\n <button data-del-user="' + ((__t = (qq)) == null ? '' : __t) + '" class="del-user" href="#" title="?????????" aria-label="?????????"></button>\r\n '; }; __p += '\r\n '; if(G.selfUin==items[i].qq && G.version >= version){ ; __p += ' \r\n <button data-exit-group="' + ((__t = (G.selfUin)) == null ? '' : __t) + '" class="exit-group" title="'; if(G.selfIndentity=='owner'){; __p += '??????'; }else{; __p += '???????'; }; __p += '" aria-label="'; if(G.selfIndentity=='owner'){; __p += '??????'; }else{; __p += '???????'; }; __p += '"></button>\r\n '; }; __p += ' \r\n </div>\r\n <div class="menu"></div>\r\n</div>'; } return __p } },{}],17:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { __p += '<ul class="member-thead ' + ((__t = (G.selfIndentity)) == null ? '' : __t) + ' homeschool" id="member-thead">\r\n <li class="role" data-record="indentity" data-sort=""><span>???</span><i class="sort"></i></li>\r\n <li class="nick" data-record="nick"><span>???</span><i class="sort"></i></li>\r\n <li class="status" data-record="status"><span>???</span><i class="sort"></i></li>\r\n <li class="card" data-record="card"><span>?????</span><i class="sort"></i></li>\r\n '; if((G.selfIndentity=="owner" || G.selfIndentity=="admin") && G.memberData.labelflag=="1"){; __p += '\r\n <li class="label" data-record="labelid"><span>???</span><i class="sort"></i><a id="eiditLabel" class="edit" href="javascript:void(0);" title="??????" aria-label="??????"></a></li>\r\n '; }; __p += '\r\n <li class="levelname" data-record="levelid"><span>??????</span><i class="sort"></i>'; if(G.selfIndentity=="owner" || G.selfIndentity=="admin"){; __p += '<a id="editGrade" class="edit" href="#" title="??????" aria-label="??????"></a>'; }; __p += '<a id="gradeHelp" class="help" href="javascript:void(0);" title="??????" aria-label="??????" tabindex="-1"></a></li>\r\n <li class="time" data-record="times"><span>???????</span><i class="sort"></i></li>\r\n</ul>'; } return __p } },{}],18:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { __p += '<ul>\r\n '; var key,focus=""; for(key in G.memberData.tag_info){ if(labelid==key){ focus="focus"; }else{ focus=""; } ; __p += '\r\n <li class="' + ((__t = (focus)) == null ? '' : __t) + '" data-label-id="' + ((__t = (key)) == null ? '' : __t) + '">' + ((__t = (G.memberData.tag_info[key])) == null ? '' : __t) + '</li>\r\n '; }; __p += '\r\n <li class="" data-label-id="-1"> </li>\r\n</ul>'; } return __p } },{}],19:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape; with (obj) { __p += '<li data-member-list="' + ((__t = (qq)) == null ? '' : __t) + '" data-i="' + ((__t = (i)) == null ? '' : __t) + '" data-cgi="' + ((__t = (cgiready)) == null ? '' : __t) + '" tabindex="0"><input class="hidefocus" size="1" type="text" id="hidefocus-' + ((__t = (qq)) == null ? '' : __t) + '" tabindex="-1"/>' + ((__t = (listOne)) == null ? '' : __t) + '</li>'; } return __p } },{}],20:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { __p += '\r\n'; var items = data.items; var qq=items[i].qq, face=data.face || {}, label=data.label || {}, labelid=data.labelid || {}, tag_info=data.tag_info || {}, shutup_list=data.shutup_list || {}, friends=data.friends || {}, levelname=data.levelname || {}; // var _setting=""; //????????????????????????????????????? if(G.selfIndentity=='owner' && items[i].indentity==''){ _setting="setting"; } //??? var _face="http://3.url.cn/qun/clt/qinfo/member/img/auto.png"; if(face[qq]){ _face=face[qq]; } //???????? var indentity=""; if(items[i].indentity=="owner"){ indentity="???"; }else if(items[i].indentity=="admin"){ indentity="?????"; } if(G.selfIndentity=='owner' && items[i].indentity==''){ indentity="?????????"; } //??? var _labelid=labelid?labelid[qq]:"", _label=label[qq]?label[qq]:""; //????????????????????tems[i]["levelname"] var _levelName=items[i]["levelname"] || levelname["lvln"+items[i].levelid]; //???????? var shielded="",dataShield="false"; if(client.getIsShieldGroupMem(qq)){ shielded="show"; dataShield="true"; } //????? var _time=items[i].times; if(shutup_list[qq]){ _time=util.getShutTime(shutup_list[qq])+"?????"; } //??????????? var _isfriends=false; if(friends[qq] || qq==G.selfUin){ _isfriends=true; } ; __p += '\r\n<div id="list-' + ((__t = (qq)) == null ? '' : __t) + '" data-isfriends="' + ((__t = (_isfriends)) == null ? '' : __t) + '" data-i="' + ((__t = (i)) == null ? '' : __t) + '" data-shield="' + ((__t = (dataShield)) == null ? '' : __t) + '" data-nick="' + ((__t = (G.codeFilter(items[i].nick).replace('"','??'))) == null ? '' : __t) + '" data-uin="' + ((__t = (qq)) == null ? '' : __t) + '" data-indentity="' + ((__t = (items[i].indentity)) == null ? '' : __t) + '" data-blackuser="' + ((__t = (G.memberData.blackMod==true?items[i].blackuser:0)) == null ? '' : __t) + '"><input class="hidefocus" size="1" type="text" id="hidefocus2-' + ((__t = (qq)) == null ? '' : __t) + '" tabindex="-1"/>\r\n <div class="ico"><button data-setadmin="' + ((__t = (G.selfIndentity)) == null ? '' : __t) + '" class="' + ((__t = (items[i].indentity)) == null ? '' : __t) + ' ' + ((__t = (_setting)) == null ? '' : __t) + '" title="' + ((__t = (indentity)) == null ? '' : __t) + '" aria-label="' + ((__t = (indentity)) == null ? '' : __t) + '"></button></div>\r\n <div class="nick"><img id="member-face-' + ((__t = (qq)) == null ? '' : __t) + '" src="' + ((__t = (_face)) == null ? '' : __t) + '"/><img class="shielded ' + ((__t = (shielded)) == null ? '' : __t) + '" src="http://3.url.cn/qun/clt/qinfo/member/img/shield.png" alt=""><span class="txt">' + ((__t = (G.codeFilter(items[i].nick))) == null ? '' : __t) + '</span><span class="blackuser" title="?????????">!</span></div>\r\n <div class="card"><span class="txt" id="nick-txt-' + ((__t = (qq)) == null ? '' : __t) + '">' + ((__t = (G.codeFilter(items[i].card))) == null ? '' : __t) + '</span><input name="nick-input" type="text" maxlength="60" id="nick-input-' + ((__t = (qq)) == null ? '' : __t) + '" value="' + ((__t = (G.codeFilter(items[i].card))) == null ? '' : __t) + '" aria-label="???????????????" tabindex="-1"/></div>\r\n '; if((G.selfIndentity=="owner" || G.selfIndentity=="admin") && G.memberData.labelflag=="1"){; __p += '\r\n <div class="label">\r\n <div data-label="' + ((__t = (_labelid)) == null ? '' : __t) + '">\r\n <div data-label-txt="true">' + ((__t = (_label)) == null ? '' : __t) + '</div>\r\n <ul>\r\n '; var key,focus=""; for(key in tag_info){ if(items[i].labelid==key){ focus="focus"; }else{ focus=""; } ; __p += '\r\n <li class="' + ((__t = (focus)) == null ? '' : __t) + '" data-label-id="' + ((__t = (key)) == null ? '' : __t) + '">' + ((__t = (tag_info[key])) == null ? '' : __t) + '</li>\r\n '; }; __p += '\r\n <li class="" data-label-id="-1"> </li>\r\n </ul>\r\n <i></i>\r\n </div>\r\n </div>\r\n '; }; __p += '\r\n <div class="levelname" data-level="lvln' + ((__t = (items[i].levelid)) == null ? '' : __t) + '">' + ((__t = (_levelName)) == null ? '' : __t) + '</div>\r\n <div class="levelpoint">' + ((__t = (items[i].point)) == null ? '' : __t) + '</div>\r\n <div class="time" data-time="' + ((__t = (items[i].times)) == null ? '' : __t) + '">' + ((__t = (_time)) == null ? '' : __t) + '</div>\r\n <div class="tool">\r\n '; if(G.selfUin==items[i].qq || G.selfIndentity=='owner' || (G.selfIndentity=='admin' && items[i].indentity!="owner")){ ; __p += '\r\n <button data-card="edit" data-qq="' + ((__t = (qq)) == null ? '' : __t) + '" class="edit-card" title="????????" aria-label="????????"></button>\r\n '; }; __p += '\r\n <button data-user-detail="' + ((__t = (qq)) == null ? '' : __t) + '" class="user-detail" href="#" title="' + ((__t = (G.officemode == '1' ? '????????' : '??????')) == null ? '' : __t) + '" aria-label="' + ((__t = (G.officemode == '1' ? '????????' : '??????')) == null ? '' : __t) + '"></button>\r\n '; if(G.selfUin!=items[i].qq && (G.selfIndentity=='owner' || (G.selfIndentity=='admin' && items[i].indentity==''))){ ; __p += '\r\n <button data-del-user="' + ((__t = (qq)) == null ? '' : __t) + '" class="del-user" href="#" title="?????????" aria-label="?????????"></button>\r\n '; }; __p += '\r\n '; if(G.selfUin==items[i].qq && G.version >= version){ ; __p += ' \r\n <button data-exit-group="' + ((__t = (G.selfUin)) == null ? '' : __t) + '" class="exit-group" title="'; if(G.selfIndentity=='owner'){; __p += '??????'; }else{; __p += '???????'; }; __p += '" aria-label="'; if(G.selfIndentity=='owner'){; __p += '??????'; }else{; __p += '???????'; }; __p += '"></button>\r\n '; }; __p += '\r\n </div>\r\n <div class="menu"></div>\r\n</div>'; } return __p } },{}],21:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { __p += '<ul class="member-thead ' + ((__t = (G.selfIndentity)) == null ? '' : __t) + '" id="member-thead">\r\n <li class="role" data-record="indentity" data-sort=""><span>???</span><i class="sort"></i></li>\r\n <li class="nick" data-record="nick"><span>???</span><i class="sort"></i></li>\r\n <li class="card" data-record="card"><span>?????</span><i class="sort"></i></li>\r\n '; if((G.selfIndentity=="owner" || G.selfIndentity=="admin") && G.memberData.labelflag=="1"){; __p += '\r\n <li class="label" data-record="labelid"><span>???</span><i class="sort"></i><a id="eiditLabel" class="edit" href="javascript:void(0);" title="??????" aria-label="??????"></a></li>\r\n '; }; __p += '\r\n <li class="levelname" data-record="levelid"><span>???</span><i class="sort"></i>'; if(G.selfIndentity=="owner" || G.selfIndentity=="admin"){; __p += '<a id="editGrade" class="edit" href="#" title="??????" aria-label="??????"></a>'; }; __p += '<a id="gradeHelp" class="help" href="javascript:void(0);" title="??????" aria-label="??????" tabindex="-1"></a></li>\r\n <li class="levelpoint" data-record="point"><span>??????</span><i class="sort"></i></li>\r\n <li class="time" data-record="times"><span>???????</span><i class="sort"></i></li>\r\n</ul>'; } return __p } },{}],22:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { __p += '\r\n'; var items = data.office_items; var qq=items[i].qq, face=data.face || {}, label=data.label || {}, labelid=data.labelid || {}, tag_info=data.tag_info || {}, shutup_list=data.shutup_list || {}, friends=data.friends || {}; // var _setting=""; //????????????????????????????????????? if(G.selfIndentity=='owner' && items[i].indentity==''){ _setting="setting"; } //??? var _face="http://3.url.cn/qun/clt/qinfo/member/img/auto.png"; if(face[qq]){ _face=face[qq]; } //???????? var indentity=""; if(items[i].indentity=="owner"){ indentity="???"; }else if(items[i].indentity=="admin"){ indentity="?????"; } if(G.selfIndentity=='owner' && items[i].indentity==''){ indentity="?????????"; } //???????? var shielded="",dataShield="false"; if(client.getIsShieldGroupMem(qq)){ shielded="show"; dataShield="true"; } //??????????? var _isfriends=false; if(friends[qq] || qq==G.selfUin){ _isfriends=true; } ; __p += '\r\n<div id="list-' + ((__t = (qq)) == null ? '' : __t) + '" data-isfriends="' + ((__t = (_isfriends)) == null ? '' : __t) + '" data-i="' + ((__t = (i)) == null ? '' : __t) + '" data-shield="' + ((__t = (dataShield)) == null ? '' : __t) + '" data-nick="' + ((__t = (G.codeFilter(items[i].nick).replace('"','??'))) == null ? '' : __t) + '" data-card="' + ((__t = (G.codeFilter(items[i].card))) == null ? '' : __t) + '" data-uin="' + ((__t = (qq)) == null ? '' : __t) + '" data-indentity="' + ((__t = (items[i].indentity)) == null ? '' : __t) + '" data-blackuser="' + ((__t = (G.memberData.blackMod==true?items[i].blackuser:0)) == null ? '' : __t) + '">\r\n <div class="ico"><button data-setadmin="' + ((__t = (G.selfIndentity)) == null ? '' : __t) + '" class="' + ((__t = (items[i].indentity)) == null ? '' : __t) + ' ' + ((__t = (_setting)) == null ? '' : __t) + '" title="' + ((__t = (indentity)) == null ? '' : __t) + '" aria-label="' + ((__t = (indentity)) == null ? '' : __t) + '"></button></div>\r\n <div class="office_card">\r\n <img id="member-face-' + ((__t = (qq)) == null ? '' : __t) + '" src="' + ((__t = (_face)) == null ? '' : __t) + '"/>\r\n <img class="shielded ' + ((__t = (shielded)) == null ? '' : __t) + '" src="http://3.url.cn/qun/clt/qinfo/member/img/shield.png" alt=""/>\r\n <span class="txt" id="office_card-txt-' + ((__t = (qq)) == null ? '' : __t) + '">' + ((__t = (items[i].card.length == 0 ? G.codeFilter(items[i].nick):G.codeFilter(items[i].card))) == null ? '' : __t) + '</span>\r\n\t\t<input name="office_card-input" type="text" maxlength="60" id="office_card-input-' + ((__t = (qq)) == null ? '' : __t) + '" value="' + ((__t = (G.codeFilter(items[i].card))) == null ? '' : __t) + '" aria-label="???????????????" tabindex="-1"/>\r\n <span class="blackuser" title="?????????">!</span>\r\n </div>\r\n <div class="office_tel">\r\n\t\t<span class="txt" id="office_tel-txt-' + ((__t = (qq)) == null ? '' : __t) + '">' + ((__t = (G.codeFilter(items[i].tel))) == null ? '' : __t) + '</span>\r\n\t\t<input name="office_position-input" type="text" maxlength="60" id="office_tel-input-' + ((__t = (qq)) == null ? '' : __t) + '" value="' + ((__t = (G.codeFilter(items[i].tel))) == null ? '' : __t) + '" aria-label="??????????????"/>\r\n\t</div>\r\n <div class="office_position">\r\n\t\t<span class="txt" id="office_position-txt-' + ((__t = (qq)) == null ? '' : __t) + '">' + ((__t = (G.codeFilter(items[i].position))) == null ? '' : __t) + '</span>\r\n\t\t<input name="office_position-input" type="text" maxlength="60" id="office_position-input-' + ((__t = (qq)) == null ? '' : __t) + '" value="' + ((__t = (G.codeFilter(items[i].position))) == null ? '' : __t) + '" aria-label="??????????????"/>\r\n\t</div>\r\n <div class="office_gender">\r\n\t\t<span class="txt" id="office_gender-txt-' + ((__t = (qq)) == null ? '' : __t) + '">' + ((__t = (items[i].gender == 1 ? "??" : items[i].gender == 2 ? "??" : "-")) == null ? '' : __t) + '</span>\r\n\t\t<input name="office_gender-input" type="text" maxlength="60" id="office_gender-input-' + ((__t = (qq)) == null ? '' : __t) + '" value="' + ((__t = (items[i].gender == 1 ? "??" : items[i].gender == 2 ? "??" : "-")) == null ? '' : __t) + '" aria-label="??????????????"/>\r\n\t</div>\r\n <div class="office_tool">\r\n '; if(G.selfUin==items[i].qq || G.selfIndentity=='owner' || (G.selfIndentity=='admin' && items[i].indentity!="owner")){ ; __p += '\r\n <button data-card="edit" data-qq="' + ((__t = (qq)) == null ? '' : __t) + '" class="edit-card" title="????????" aria-label="????????"></button>\r\n '; }; __p += '\r\n </div>\r\n <div class="menu"></div>\r\n</div>'; } return __p } },{}],23:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape; with (obj) { __p += '<ul class="member-thead ' + ((__t = (G.selfIndentity)) == null ? '' : __t) + '" id="member-thead">\r\n <li class="role" data-record="indentity" data-sort=""><span>???</span><i class="sort"></i></li>\r\n <li class="office_card" data-record="card"><span>???</span><i class="sort"></i></li>\r\n <li class="office_tel" data-record="tel"><span>???</span><i class="sort"></i></li>\r\n <li class="office_position" data-record="position"><span>???</span><i class="sort"></i></li>\r\n <li class="office_gender" data-record="gender"><span>???</span><i class="sort"></i></li>\r\n</ul>'; } return __p } },{}],24:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { var _flag=false; if(G.selfUin==group.gOwner){ _flag=true; } var _i=0,_len=group.gAdmins?group.gAdmins.length:0; for(;_i<_len;_i++){ if(G.selfUin==group.gAdmins[_i]){ _flag=true; } } //???????? var adminTotal = { "1": 10, //200??? "2": 15, //500 "3": 15, //1000 "4": 20 //2000 }; var _adminCount=0,_totalAdmin=0; if(G.memberData.group["gAdmins"] && !!G.memberData.group["gAdmins"].length){ _adminCount=G.memberData.group["gAdmins"].length; } var ext_num=G.memberData["ext_num"] || 0; var levelcount=(parseInt(G.memberData.level) || 0) + 5; _totalAdmin=adminTotal[G.memberData["type"]] > levelcount ? adminTotal[G.memberData["type"]] : levelcount; _totalAdmin=_totalAdmin+ext_num; //?????? var advManage = 'http://ptlogin2.qq.com/jump?clientuin=' + G.selfUin + '&clientkey='+clientkey.clientKey+'&u1='+encodeURIComponent('http://qun.qq.com/member.html#gid='+G.gc); ; __p += '\r\n\r\n<li>\r\n <span id="adminnum-info" tabindex="1" aria-label="?????????????????????' + ((__t = (_adminCount)) == null ? '' : __t) + '?????????????????' + ((__t = (_totalAdmin)) == null ? '' : __t) + '">??????</span><span id="admin-count">' + ((__t = (_adminCount)) == null ? '' : __t) + '</span><span>/</span><span id="total-admin">' + ((__t = (_totalAdmin)) == null ? '' : __t) + '</span><span>??</span>\r\n <a id="adminNumHelp" class="help" href="http://kf.qq.com/faq/120322fu63YV130422yeIR7v.html" target="_blank" title="???" aria-label="???"></a>\r\n\t<a style="margin-left:3pt;" href="http://exp.qq.com/ur/?urid=23247" target="_blank" title="??????" aria-label="??????">???</a>\r\n <a data-blackuser="true" href="javascript:void(0);" tabindex="0" title="??????" aria-label="??????" style="display:none;">??????(<span id="blackuser-count">-</span>)</a>\r\n</li>\r\n\r\n<li>\r\n\t<span id="officemode_switch"/>\r\n <a id="edit-nick" href="javascript:void(0);" title="???????????" aria-label="???????????">???????????</a>\r\n <a id="moreoptions" class="moreoptions" href="javascript:void(0);" title="??????" aria-label="??????"></a>\r\n</li>'; } return __p } },{}],25:[function(require,module,exports){ 'use strict;' var _ = {}; var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; var escapeRegexp = new RegExp('[' + Object.keys(escapeMap).join('') + ']', 'g'); _.escape = function(string) { if (!string) return ''; return String(string).replace(escapeRegexp, function(match) { return escapeMap[match]; }); }; module.exports = function(obj) { obj || (obj = {}); var __t, __p = '', __e = _.escape, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } with (obj) { var _flag=false; if(G.selfUin==group.gOwner){ _flag=true; } var _i=0,_len=group.gAdmins?group.gAdmins.length:0; for(;_i<_len;_i++){ if(G.selfUin==group.gAdmins[_i]){ _flag=true; } } //???????? var adminTotal = { "1": 10, //200??? "2": 15, //500 "3": 15, //1000 "4": 20 //2000 }; var _adminCount=0,_totalAdmin=0; if(G.memberData.group["gAdmins"] && !!G.memberData.group["gAdmins"].length){ _adminCount=G.memberData.group["gAdmins"].length; } var ext_num=G.memberData["ext_num"] || 0 var levelcount = (parseInt(G.memberData.level) || 0) + 5; _totalAdmin=adminTotal[G.memberData["type"]] > levelcount ? adminTotal[G.memberData["type"]] : levelcount; _totalAdmin=_totalAdmin+ext_num; //?????? var advManage = 'http://ptlogin2.qq.com/jump?clientuin=' + G.selfUin + '&clientkey='+clientkey.clientKey+'&u1='+encodeURIComponent('http://qun.qq.com/member.html#gid='+G.gc); ; __p += '\r\n\r\n<li>\r\n <span id="adminnum-info" tabindex="1" aria-label="?????????????????????' + ((__t = (_adminCount)) == null ? '' : __t) + '?????????????????' + ((__t = (_totalAdmin)) == null ? '' : __t) + '">??????</span><span id="admin-count">' + ((__t = (_adminCount)) == null ? '' : __t) + '</span><span>/</span><span id="total-admin">' + ((__t = (_totalAdmin)) == null ? '' : __t) + '</span><span>??</span>\r\n <a id="adminNumHelp" class="help" href="http://kf.qq.com/faq/120322fu63YV130422yeIR7v.html" target="_blank" title="???" aria-label="???"></a>\r\n '; if(_flag){; __p += '\r\n <a data-managelog="true" href="javascript:void(0);" tabindex="0" title="??????" aria-label="??????">??????</a>\r\n '; }; __p += '\r\n <a data-blackuser="true" href="javascript:void(0);" tabindex="0" title="??????" aria-label="??????" style="display:none;">??????(<span id="blackuser-count">-</span>)</a>\r\n</li>\r\n\r\n<li>\r\n '; if(_flag){; __p += '\r\n <a id="advManage" href="' + ((__t = (advManage)) == null ? '' : __t) + '" target="blank" title="??????" aria-label="??????">??????</a>\r\n '; }; __p += '\r\n <a id="edit-nick" href="javascript:void(0);" title="???????????" aria-label="???????????">???????????</a>\r\n '; if(_flag || canAddMenber){; __p += '\r\n <a id="add-member" class="add-member" href="javascript:void(0);" title="??????" aria-label="??????"></a>\r\n '; }; __p += '\r\n</li>'; } return __p } },{}],26:[function(require,module,exports){ 'use strict'; var util = require('../../lib/util'), tmplToolbar = require('./tmpl/toolbar'), tmplOfficeToolbar = require('./tmpl/office-toolbar'), listHtml = require('./list-html'), card = require('./card'), client = require('./client'), cgi = require('./cgi'), config = require('../../lib/config'); module.exports = (function() { var init = function() { //??????tip?????????????¤??????? if (G.classHomeSchool && !util.getCache('first' + G.selfUin)) { var ht = $('#homescroll-tip'); ht.show(); ht.find('button').on('click', function() { util.setCache('first' + G.selfUin, 'true'); ht.hide(); }); } else { //util.setCache('first'+G.selfUin,'true'); } //????? G.memberData.clientkey = client.getClientKey(); G.memberData.canAddMenber = client.getGroupMemberInviteOption(); if (G.ver == "2" && G.classHomeSchool != true) $("#member-control").html(tmplOfficeToolbar(G.memberData)); else $("#member-control").html(tmplToolbar(G.memberData)); //???????? card.toolbarEditBtn(); //???????? $('#add-member').click(function() { if (!G.eventListener("addMember-toolbarBtn", "click")) { return false; } client.openContactSelecter(); }); //??????????? $("#member-control").on("click", "[data-managelog]", function(e) { if (!G.eventListener("adminManageLog-toolbarBtn", "click")) { return false; } var url = 'http://qinfo.clt.qq.com/qinfo_v3/member-log.html#groupuin=' + G.gc; var params = { appId: 10001016, width: 458, height: 330, title: config.msg.tag.managelog, url: url, singletonId: 'group_member_level_' + G.gc }; client.common.popNewWebPage(params.width, params.height, params.url, params.title, params.singletonId); return false; }); //??????????? $("#adminNumHelp").click(function() { if (!G.eventListener("adminNumHelp-toolbarBtn", "click")) { return false; } }); //?????? $("#advManage").click(function() { if (!G.eventListener("advManage-toolbarBtn", "click")) { return false; } }); //?????? $("#moreoptions").click(function() { if (!G.eventListener("moreoptions-toolbarBtn", "click")) { return false; } client.showMoreMenu(); }); if (G.selfIndentity == "owner" || G.selfIndentity == "admin") { $("#officemode_switch").show(); Select({ elId: 'officemode_switch', data: [{ text: '????????', value: 1 }, { text: '???????', value: 0 }], onChange: function(val) { if (val.value == 0 && G.officemode == "1") { cgi.closeOfficeMode({}, function(d) { setTimeout(function() { var perf = util.getPerf('set_group_officemode'); report.isdPerf(7723, 4, 11, perf); }, 500); // todo G.officemode = "0"; client.notifyOfficeModeChange(); G.changeMode(); }, cgi.postErr); } else if (val.value == 1 && G.officemode == "0") { cgi.openOfficeMode({}, function(d) { setTimeout(function() { var perf = util.getPerf('set_group_officemode'); report.isdPerf(7723, 4, 11, perf); }, 500); // todo G.officemode = "1"; client.notifyOfficeModeChange(); G.changeMode(); }, cgi.postErr); } }, initVal: G.officemode }); } else { $("#officemode_switch").hide(); } client.onUILoadDone(); }; var zIndex = 999; var $currSelect; var $doc = $(document); var Select = function(options) { if (!(this instanceof Select)) return new Select(options); var wid = options.elId; var html = '<span id="' + wid + '-select" class="select">\ <input class="select-value" readonly />\ <span class="options"></span>\ </span>'; this.elId = options.elId; this.onChange = options.onChange || null; this.$wrapper = $('#' + options.elId).html(html); this.$selectBox = $('#' + options.elId + '-select').css('z-index', zIndex--); this.$valIpt = this.$selectBox.find('> input.select-value'); this.$optionsBox = this.$selectBox.find('> span.options'); this.curVal = null; this.curIndex = 0; this.selectedN = 0; this.curOpts = []; if (options.data) this.render(options.data, options.initVal); this.bind(); }; var proto = Select.prototype; proto.bind = function() { var self = this; var $box = this.$selectBox; var $oBox = this.$optionsBox; $box.on('mouseenter', this.focus.bind(this)); $box.on('mouseleave', function(e) { if (!$box.hasClass('active')) $box.removeClass('focus'); }); $box.on('click', function(e) { e.stopPropagation(); if (!$box.hasClass('active')) { $box.addClass('active'); $currSelect = self; } else { $currSelect.blur(); } }); $box.on('click', '.options > input', function(e) { e.stopPropagation(); self.setVal(this.id.replace(/\D+/, '') >> 0); }); $box.on('mouseenter', '.options > input[readonly]', function(e) { e.target.classList.add('hover'); }); $box.on('mouseleave', '.options > input[readonly]', function(e) { e.target.classList.remove('hover'); }); }; proto.render = function(data, initVal) { // [{text: text, value: value}] if (!Array.isArray(data)) data = [data]; this.curOpts = data; var s = ''; var wid = this.elId; var index = this.getIndexByVal(initVal); data.forEach(function(item, i) { s += '<input id="' + wid + '-option-' + i + '" data-val="' + item.value + '" \ value="' + item.text + '" readonly />'; }); this.$optionsBox.html(s); this.setVal(index, true); }; proto.focus = function() { var box = this.$selectBox; if (!box.hasClass('focus')) box.addClass('focus'); }; proto.blur = function() { var box = this.$selectBox; $currSelect = null; box.removeClass('active'); if (box.hasClass('focus')) { box.removeClass('focus').removeClass('active'); } // reset if (this.selectedN !== this.curIndex) this.select(this.selectedN); }; // this way is bad proto.getIndexByVal = function(val) { var list = this.curOpts; var len = list.length; var target; var i = 0; if (val !== undefined) { for (i = 0; i < len; i++) { target = list[i]; if (target.value == val /* || target.text === val*/ ) break; else target = null; } if (!target) i = 0; } return i; }; proto.select = function(index) { var $box = this.$optionsBox; var $old = $box.find('> .selected'); var $target = $('#' + this.elId + '-option-' + index); if ($old.length && $old[0].id === $target[0].id) return; if ($old.length) $old.removeClass('selected'); $target.addClass('selected'); this.$valIpt.val($target.val()); this.selectedN = index; }; proto.setVal = function(index, notExecChange) { var $box = this.$optionsBox; var $target = $box.find('#' + this.elId + '-option-' + index); var text; var val; this.select(index); this.curIndex = index; val = $target.data('val'); text = $target.val(); this.curVal = { text: text, value: val, index: index }; // event support !notExecChange && this.onChange && this.onChange.call(this, this.curVal); this.blur(); }; $doc.ready(function() { // ?????? $doc.on('click', function onBodyClick(e) { if (!$currSelect) return; var box = $currSelect.$selectBox; var isActive = box.hasClass('active'); if (isActive) $currSelect.blur(); isActive = false; }); // ??????? var timer; $doc.on('keyup', function onBodyKeyup(e) { if (!$currSelect) return; if (timer) clearTimeout(timer); timer = setTimeout(function() { var code = e.keyCode; var idx = $currSelect.selectedN; if (!$currSelect.$selectBox.hasClass('active') || !code) return; // up if (code === 38 && idx) $currSelect.select(idx - 1); // down if (code === 40 && idx < $currSelect.curOpts.length - 1) $currSelect.select(idx + 1); // enter if (code === 13) $currSelect.setVal(idx); }, 100); }); }); window.onCallback_Managelog = function() { var url = 'http://qinfo.clt.qq.com/qinfo_v3/member-log.html#groupuin=' + G.gc; var params = { appId: 10001016, width: 458, height: 330, title: config.msg.tag.managelog, url: url, singletonId: 'group_member_level_' + G.gc }; client.common.popNewWebPage(params.width, params.height, params.url, params.title, params.singletonId); return false; } return { init: init }; })(); },{"../../lib/config":3,"../../lib/util":6,"./card":7,"./cgi":8,"./client":9,"./list-html":13,"./tmpl/office-toolbar":24,"./tmpl/toolbar":25}],27:[function(require,module,exports){ 'use strict'; module.exports = (function() { // fn: ???????????0?????? var numberPad = function(source, length) { var pre = "", negative = (source < 0), string = String(Math.abs(source)); if (string.length < length) { pre = (new Array(length - string.length + 1)).join('0'); } return (negative ? "-" : "") + pre + string; }; // fn: ??????????¤??????? var dateFormat = function(source, pattern) { if ('string' != typeof pattern) { return source.toString(); } function replacer(patternPart, result) { pattern = pattern.replace(patternPart, result); } var pad = numberPad, year = source.getFullYear(), month = source.getMonth() + 1, date2 = source.getDate(), hours = source.getHours(), minutes = source.getMinutes(), seconds = source.getSeconds(); replacer(/yyyy/g, pad(year, 4)); replacer(/yy/g, pad(parseInt(year.toString().slice(2), 10), 2)); replacer(/MM/g, pad(month, 2)); replacer(/M/g, month); replacer(/dd/g, pad(date2, 2)); replacer(/d/g, date2); replacer(/HH/g, pad(hours, 2)); replacer(/H/g, hours); replacer(/hh/g, pad(hours % 12, 2)); replacer(/h/g, hours % 12); replacer(/mm/g, pad(minutes, 2)); replacer(/m/g, minutes); replacer(/ss/g, pad(seconds, 2)); replacer(/s/g, seconds); return pattern; }; var jsonp = function(url, cb) { window.callback = function(d) { cb(d); }; var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement, script = document.createElement("script"); script.type = "text\/javascript"; script.src = url; script.onload = script.onreadystatechange = function() { if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") { //Handle memory leak in IE //setTimeout(function(){ script.onload = script.onreadystatechange = null; if (head && script.parentNode) { head.removeChild(script); } //script=null; script = undefined; //},3000); } }; head.insertBefore(script, head.firstChild); }; return { jsonp: jsonp, numberPad: numberPad, dateFormat: dateFormat }; })(); },{}],28:[function(require,module,exports){ 'use strict'; var util = require('../../lib/util'); var client = require('../../lib/callClient'); var report = require('../../lib/report'); var uin = client.getSelfUin() || util.getUin(); var version = client.getVersion().version; var _gtype; function tdw(action, ver3) { // ??????????? var opt = { module: 'edit', action: action || '' }; _gtype && (opt.ver2 = _gtype); ver3 && (opt.ver3 = ver3); report.tdw(opt); } tdw.setType = function(gtype) { _gtype = gtype; }; tdw.jx = function(param) { param = param || {}; var opt = { uin: uin, platform: 'PC', ver: version }; Object.keys(param).forEach(function(key) { opt[key] = param[key]; }); report.tdw(opt, false, 'dc00593'); } module.exports = tdw; },{"../../lib/callClient":2,"../../lib/report":4,"../../lib/util":6}]},{},[1]);
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de