diff --git a/formatted/webwxApp.js b/formatted/webwxApp.js index 1668576..85b11d9 100644 --- a/formatted/webwxApp.js +++ b/formatted/webwxApp.js @@ -1,8062 +1 @@ -webpackJsonp([1], [function(e, exports, t) { - e.exports = t(259) + t(274); - }, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, exports) {}, , , , , , , , , , , function(e, exports, t) { - e.exports = t.p + "/static/img/a7Nznaj.gif" - }, , , , , , , , , , , function(e, exports) {}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - , function(e, exports, t) { - e.exports = t.p + "/static/img/2z6meE1.gif" - } - , function(e, exports, t) { - e.exports = t.p + "/static/img/2KriyDK.png" - } - , function(e, exports, t) { - e.exports = t.p + "/static/img/xasUyAI.gif" - } - , function(e, exports, t) { - window.MMSource = { - copySwfPath: t(260) - , jplayerSwfPath: t(261) - }, t(262), t(266), t(267), t(268), t(269), t(270), t(271), t(272), t(273) - } - , function(e, exports, t) { - e.exports = t.p + "/static/res/1OM7Ut2.swf" - } - , function(e, exports, t) { - e.exports = t.p + "/static/res/GIqH2cS.swf" - }, , , , , , , , , , , , - , function(e, exports, t) { - angular.module("Controllers", []), t(275), t(276), t(277), t(279), t(280), t(282), t(283), t(284), t(285), t(286), t(287), t(288), angular.module("Services", []), t(289), t(290), t(291), t(292), t(293), t(294), t(295), t(296), t(297), t(298) - , t(299), t(300), t(301), t(302), t(303), t(304), t(305), t(307), t(308), t(309), t(310), angular.module("Directives", []), t(311), t(312), t(313), t(314), t(315), t(316), t(317), t(318), t(319), t(320), t(321), t(322), t(323), t(324), t( - 325), t(326), t(327), t(328), t(329), t(330), t(331), t(332), t(333), t(334), t(335), t(336), angular.module("Filters", []), t(338), t(339) - , function() { - "use strict"; - angular.module("webwxApp", ["ui.router", "ngAnimate", "Services", "Controllers", "Directives", "Filters", "ngDialog", "jQueryScrollbar", "ngClipboard", "exceptionOverride"]) - .run(["$rootScope", "$state", "$stateParams", function(e, t, a) { - e.$state = t, e.$stateParams = a - }]) - .factory("httpInterceptor", ["accountFactory", function(e) { - return { - request: function(t) { - if (!t.cache && t.url.indexOf(".html") < 0 && (t.params || (t.params = {}), t.params.pass_ticket = e.getPassticket()), t.url.indexOf(".html") < 0) { - var a = location.href.match(/(\?|&)lang=([^&#]+)/); - if (a) { - var n = a[2]; - t.params || (t.params = {}), t.params.lang = n - } - } - return t - } - } - }]) - .config(["$sceProvider", "$httpProvider", "$logProvider", "$stateProvider", "$urlRouterProvider", "ngClipProvider", function(e, t, a, n, i, o) { - e.enabled(!1), a.debugEnabled(!0), o.setPath(window.MMSource.copySwfPath), t.interceptors.push("httpInterceptor"); - var r; - n.state("chat", { - url: "" - , params: { - userName: "" - } - , views: { - navView: { - controller: ["$stateParams", "chatFactory", "contactFactory", "stateManageService", "$rootScope", function(e, t, a, n, i) { - function o() { - var n = a.getContact(e.userName, "", !0); - i.$broadcast("root:statechange"), t.setCurrentUserName(e.userName), t.addChatList([n || { - FromUserName: e.userName - }]), e.userName = "" - } - if (n.change("navChat:active", !0), e.userName) { - var r = a.getContact(e.userName, "", !0); - r ? o() : a.addBatchgetContact({ - UserName: e.userName - , ChatRoomId: "" - }, !0) - .then(function(e) { - o() - }, function(e) {}) - } - }] - } - , contentView: { - templateUrl: "contentChat.html" - , controller: "contentChatController" - } - } - }) - .state("contact", { - url: "" - , views: { - navView: { - controller: ["stateManageService", function(e) { - e.change("navContact:active", !0) - }] - } - , contentView: { - templateUrl: "contentContact.html" - , controller: "contentContactController" - } - } - }) - .state("read", { - url: "" - , params: { - readItem: "" - } - , views: { - navView: { - controller: ["stateManageService", function(e) { - e.change("navRead:active", !0) - }] - } - , contentView: { - templateUrl: "contentRead.html" - , controller: ["$scope", "$stateParams", "subscribeMsgService", "mmpop", function(e, t, a, n) { - if (t.readItem) r = e.readItem = t.readItem; - else { - var i = a.getSubscribeMsgs()[0]; - e.readItem = r || i && i.MPArticleList[0] - } - e.optionMenu = function() { - n.toggleOpen({ - templateUrl: "readMenu.html" - , container: angular.element(document.querySelector(".read_list_header")) - , controller: "readMenuController" - , singletonId: "mmpop_reader_menu" - , className: "reader_menu" - }) - } - }] - } - } - }) - }]), angular.bootstrap(document, ["webwxApp"]) - }() - } - , function(e, exports) { - ! function() { - "use strict"; - location.href.indexOf("dev.web") < 0 ? angular.module("exceptionOverride", []) - .factory("$exceptionHandler", [function() { - return function(e, t) { - throw window._errorHandler && window._errorHandler(e), e - } - }]) : angular.module("exceptionOverride", []), angular.module("Controllers") - .controller("appController", ["$rootScope", "$scope", "$timeout", "$log", "$state", "$window", "ngDialog", "mmpop", "appFactory", "loginFactory", "contactFactory", "accountFactory", "chatFactory", "confFactory", "contextMenuFactory" - , "notificationFactory", "utilFactory", "reportService", "monitorService", "actionTrack", "surviveCheckService", "subscribeMsgService", "stateManageService" - , function(e, t, a, n, i, o, r, c, s, l, d, f, u, m, g, p, h, M, v, y, b, C, w) { - function S() { - return d.pickContacts(["friend", "chatroom"], { - chatroom: { - keyword: t.keyword - , isNewArray: !0 - } - , friend: { - keyword: t.keyword - , isNewArray: !0 - , isWithoutBrand: !0 - , showFriendHeader: !0 - } - }, !0) - .result - } - - function T() { - var e = F; - e && setTimeout(function() { - var t = (e[0].clientHeight - e.find(".ngdialog-content") - .height()) / 2; - e.css("paddingTop", t) - }, 20) - } - - function N() { - t.isLoaded = !0, t.isUnLogin = !1, M.report(M.ReportType.timing, { - timing: { - initStart: Date.now() - } - }), s.init() - .then(function(n) { - if (h.log("initData", n), n.BaseResponse && "0" != n.BaseResponse.Ret) return void(l.timeoutDetect(n.BaseResponse.Ret) || (r.openConfirm({ - className: "default " - , templateUrl: "comfirmTips.html" - , controller: ["$scope", function(e) { - e.title = _("02d9819"), e.content = _("0d2fc2c"), M.report(M.ReportType.initError, { - text: "程序初始化失败,点击确认刷新页面" - , code: n.BaseResponse.Ret - , cookie: document.cookie - }), e.callback = function() { - document.location.reload(!0) - } - }] - }), v.report(v.INIT_EXCEPTION_COUNT, 1))); - f.setLoginTime((new Date) - .getTime()), f.setUserInfo(n.User), f.setSkey(n.SKey), f.setSyncKey(n.SyncKey), d.addContact(n.User), d.addContacts(n.ContactList), u.initChatList(n.ChatSet), u.notifyMobile(f.getUserName(), m.StatusNotifyCode_INITED) - , C.init(n.MPSubscribeMsgList), e.$broadcast("root:pageInit:success"), h.setCheckUrl(f), h.log("getUserInfo", f.getUserInfo()), t.$broadcast("updateUser"), M.report(M.ReportType.timing, { - timing: { - initEnd: Date.now() - } - }); - var i = n.ClickReportInterval || 3e5; - setTimeout(function e() { - y.report(), setTimeout(e, i) - }, i), a(function() { - function e(a) { - d.initContact(a) - .then(function(a) { - d.addContacts(a.MemberList), M.report(M.ReportType.timing, { - timing: { - initContactEnd: Date.now() - } - , needSend: !0 - }), t <= 16 && a.Seq && 0 != a.Seq && (t++, e(a.Seq)) - }) - } - M.report(M.ReportType.timing, { - timing: { - initContactStart: Date.now() - } - }); - var t = 1; - e(0) - }, 0), t.account = d.getContact(f.getUserName()), E() - }), h.browser.chrome && (window.onbeforeunload = function(e) { - return e = e || window.event, e && (e.returnValue = "关闭浏览器聊天内容将会丢失。"), setTimeout(function() { - var e = (new Date) - .getTime() - f.getLoginTime(); - M.report(M.ReportType.sessionData, { - uin: f.getUin() - , browser: navigator.userAgent - , rmsg: f.getRMsgCount() - , rconv: f.getRConvCount() - , smsg: f.getSMsgCount() - , sconv: f.getSConvCount() - , lifetime: e - }, !0) - }, 0), "关闭浏览器聊天内容将会丢失。" - }) - } - - function E() { - t.debug && (D && a.cancel(D), b.start(4e4), D = a(function() { - s.syncCheck() - .then(function(e) { - return b.start(5e3), e - }, function(e) { - return b.start(2e3), e - }) - .then(G, k) - }, m.TIMEOUT_SYNC_CHECK)) - } - - function G(e) { - h.log("syncCheckHasChange", e); - try { - f.setSyncKey(e.SyncKey), f.setSyncCheckKey(e.SyncCheckKey), f.updateUserInfo(e.Profile, function() {}), angular.forEach(e.DelContactList, function(e, t) { - u.deleteChatList(e.UserName), u.deleteChatMessage(e.UserName), d.deleteContact(e), u.getCurrentUserName() == e.UserName && u.setCurrentUserName("") - }), angular.forEach(e.ModContactList, function(e, t) { - d.addContact(e) - }), angular.forEach(e.AddMsgList, function(e, t) { - if (u.messageProcess(e), e.FromUserName != f.getUserName()) { - f.setRMsgCount(f.getRMsgCount() + 1); - var t = P.indexOf(e.FromUserName); - t == -1 && (f.setRConvCount(f.getRConvCount() + 1), P.push(e.FromUserName)) - } - }) - } catch (e) { - e.other = { - reason: "throw err when syncChackHasChange" - }, window._errorHandler && window._errorHandler(e) - } finally { - E() - } - } - - function k(e) { - E() - } - - function I(e) { - var t = h.getCookie("last_wxuin") || "" - , a = parseInt(h.getCookie("login_frequency") || 1); - t !== e ? a = 1 : a += 1, h.setCookie("login_frequency", a, 2), h.setCookie("last_wxuin", e, 2), h.getLocalStorage() - .setItem("userAvatar", window.userAvatar) - } - 1 == Math.floor(100 * Math.random()) && v.report(v.PV, 1); - window._appTiming = {}; - i.go("chat"), e.CONF = m, t.isUnLogin = !window.MMCgi.isLogin, t.debug = !0, t.isShowReader = /qq\.com/gi.test(location.href); - var P = []; - window.MMCgi.isLogin && N(), t.$on("newLoginPage", function(e, t) { - f.setSkey(t.SKey), f.setSid(t.Sid), f.setUin(t.Uin), f.setPassticket(t.Passticket), N(), I(t.Uin) - }); - var U, A; - t.search = function(e) { - U && a.cancel(U), U = a(function() { - return t.keyword ? (A && A.close(), void(A = c.open({ - templateUrl: "searchList.html" - , controller: ["$rootScope", "$scope", "$state", function(e, t, a) { - t.$watch(function() { - return d.contactChangeFlag - }, function(e) { - t.allContacts.length = 0, t.allContacts.push.apply(t.allContacts, S()) - }), t.clickUserCallback = function(n) { - n.UserName && (a.go("chat", { - userName: n.UserName - }), t.closeThisMmPop(), e.$broadcast("root:searchList:cleanKeyWord")) - } - }] - , scope: { - keyword: t.keyword - , allContacts: S() - , heightCalc: function(e) { - return "header" === e.type ? 31 : 60 - } - } - , className: "recommendation" - , autoFoucs: !1 - , container: angular.element(document.querySelector("#search_bar")) - }))) : void(A && A.close()) - }, 200) - }, t.searchKeydown = function(t) { - switch (t.keyCode) { - case m.KEYCODE_ARROW_UP: - A && A.isOpen() && e.$broadcast("root:searchList:keyArrowUp"), t.preventDefault(), t.stopPropagation(); - break; - case m.KEYCODE_ARROW_DOWN: - A && A.isOpen() && e.$broadcast("root:searchList:keyArrowDown"), t.preventDefault(), t.stopPropagation(); - break; - case m.KEYCODE_ENTER: - A && A.isOpen() && e.$broadcast("root:searchList:keyEnter"), t.preventDefault(), t.stopPropagation() - } - }, t.$on("root:searchList:cleanKeyWord", function(e) { - t.keyword = "" - }); - var F; - t.$on("ngDialog.opened", function(e, t) { - w.change("dialog:open", !0), F = t, T() - }), t.$on("ngDialog.closed", function(e, t) { - w.change("dialog:open", !1), F = null - }), $(window) - .on("resize", function(e) { - T() - }), t.appClick = function(e) { - t.$broadcast("app:contextMenu:hide", e) - }; - var V, x = $(document.body); - x.on("dragenter", function(e) { - var t = e.originalEvent; - V = t.target, t.dataTransfer.dropEffect = "none", x.addClass("drop-enter"), t.stopPropagation(), t.preventDefault() - }), x.on("dragleave", function(e) { - var t = e.originalEvent; - t.dataTransfer.dropEffect = "none", V === t.target && x.removeClass("drop-enter"), t.stopPropagation(), t.preventDefault() - }), x.on("dragover", function(e) { - var t = e.originalEvent; - t.dataTransfer.dropEffect = "none", t.stopPropagation(), t.preventDefault() - }), x.on("drop", function(e) { - var t = e.originalEvent; - t.dataTransfer.dropEffect = "none", t.stopPropagation(), t.preventDefault() - }), t.showContextMenu = function(e) { - t.$broadcast("app:contextMenu:show", e) - }, t.toggleSystemMenu = function(e) { - c.toggleOpen({ - templateUrl: "systemMenu.html" - , top: 60 - , left: 85 - , container: angular.element(document.querySelector(".panel")) - , controller: "systemMenuController" - , singletonId: "mmpop_system_menu" - , className: "system_menu" - }) - }, t.showProfile = function(e) { - if (t.account) { - var a = t.account - , n = e.pageY + 25 - , o = e.pageX + 6; - c.open({ - templateUrl: "profile_mini.html" - , className: "profile_mini_wrap scale-fade" - , top: n - , left: o - , blurClose: !0 - , singletonId: "mmpop_profile" - , controller: ["$scope", function(e) { - e.contact = a, e.addUserContent = "", e.isShowSendBox = !1, e.chat = function(t) { - i.go("chat", { - userName: t - }), e.closeThisMmPop() - } - }] - }) - } - }, t.dblclickChat = function() { - t.$broadcast("app:chat:dblclick") - }, t.requestPermission = function() { - p.requestPermission(function() { - h.log("请求权限了...") - }) - }, b.callback(E); - var D; - t.isIPad = h.isIPad, t.isMacOS = h.isMacOS, t.isWindows = h.isWindows, t.showDownloadEntry = t.isMacOS || t.isWindows, t.closeDownloadEntry = function() { - t.showDownloadEntry = !1, M.report(M.ReportType.click2CloseAd, { - count: 1 - }), (new Image) - .src = "https://support.weixin.qq.com/cgi-bin/mmsupport-bin/reportforweb?rid=69373&rkey=17&rvalue=1" - }, t.clickAndClose = function() { - M.report(M.ReportType.clickAndCloseAd, { - count: 1 - }), (new Image) - .src = "https://support.weixin.qq.com/cgi-bin/mmsupport-bin/reportforweb?rid=69373&rkey=16&rvalue=1" - } - } - ]) - }() - } - , function(e, exports) { - ! function() { - "use strict"; - angular.module("Controllers") - .controller("loginController", ["$scope", "loginFactory", "utilFactory", "reportService", "monitorService", function(e, t, a, n, i) { - function o(c) { - switch (c.code) { - case 200: - t.newLoginPage(c.redirect_uri) - .then(function(t) { - var o = t.match(/(.*)<\/ret>/) - , r = t.match(/