| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- var userArray = new Array();
- var cb = checkBro();
- // var client = new ZeroClipboard();
- var cookieName = "ysmail"; //认证密匙保存cookie名称
- $(function () {
- setSidebarHelght();
- checkBro();
- newCheck();
- var authKey = $.cookie(cookieName);
- if (authKey) {
- $.YSM.authKey = authKey;
- getUsers();
- } else {
- login();
- }
- $.YSM.errCallBack = errcall;
- });
- function login() {
- $.YSM.ua(function (data) {
- $.YSM.authKey = data.data;
- getUsers();
- let date = new Date();
- date.setTime(date.getTime() + 7200000);
- $.cookie(cookieName, data.data, {expires: date});
- });
- }
- function checkBro() {
- if (navigator.appName == "Microsoft Internet Explorer") {
- if (navigator.appVersion.match(/4./i) == '4.') {
- return true;
- } else {
- return false;
- }
- }
- }
- /**
- * 设置左边区域高度
- */
- function setSidebarHelght() {
- $(".sidebar").css("height", $(window).height() - $(".container-fluid").height());
- }
- /**
- * 设置右边邮件显示列表区域宽度
- */
- function setMailcWidth() {
- $(".mailc").css("width", $(window).width() - $(".sidebar").width() - 15 * 2 - 90);
- }
- /**
- * 获取邮件账户列表
- */
- function getUsers() {
- $.YSM.ul(function (data) {
- userArray = data.data;
- var dom = $("#menu");
- var str = "";
- // var keyList = [];
- for (i in userArray) {
- var name = userArray[i];
- var key = proName(name);
- str += "<li class='dropdown' id='li" + key + "'>" +
- "<button type='button' id='dropdownMenu" + key + "'class='btn btn-link' style=\"padding: 6px 3px;\" onclick=\"liClick('" + name + "')\">" + name + " <span id=\"badge" + key + "\" class=\"" + (cb ? "" : "badge") + "\"></span></button><span data-toggle='dropdown' style='padding:1px 0' class='caret'></span>" +
- "<ul class='dropdown-menu pull-right' style='min-width:0px' role='menu' aria-labelledby='dropdownMenu" + key + "'>" +
- "<li role='presentation'><a class='zero' data-clipboard-text='" + name + "' >复制</a></li>" +
- "<li role='presentation'><a role='menuitem' tabindex='-1' href=\"javascript:del('" + name + "')\">删除</a></li>" +
- "</ul>" +
- "</li>"
- }
- dom.html(str);
- setMailcWidth();
- var clipboard = new ClipboardJS('.zero', {
- target: function (trigger) {
- return $(trigger).attr("clipboard-text");
- }
- });
- clipboard.on('success', function(e) {
- // console.info('Action:', e.action);
- // console.info('Text:', e.text);
- // console.info('Trigger:', e.trigger);
- // alert(e.text+"已复制!");
- succTips(e.text + " 已复制。");
- e.clearSelection();
- });
- // client = new ZeroClipboard($(".zero"));
- // console.log(client);
- // client.on( "ready", function( readyEvent ) {
- // // alert( "ZeroClipboard SWF is ready!" );
- // console.log(client);
- // succTips(readyEvent + " 已复制。");
- // client.on( "aftercopy", function(event) {
- // //在chrome下无法隐藏,处理一下.
- // var data = event.data["text/plain"];
- // $("#li"+proName(data)).removeClass("open");
- // succTips(data + " 已复制。");
- // } );
- // });
- //初始化账号复制
- });
- }
- function proName(name) {
- return name.replace(/@/, '').replace(/\./, ''); //去掉用户名中的@符号
- }
- /**
- * 随机获取用户
- */
- function getUser() {
- disableGetUser();
- $.YSM.u(function (data) {
- enableGetUser();
- getUsers();
- });
- }
- function liClick(v) {
- $("#badge" + proName(v)).text(""); //点击时将未读提示数设置为空
- succTips("数据读取中...");
- getMailData(v);
- }
- /**
- * 获取邮件数据
- * @param name 用户名
- * @returns
- */
- function getMailData(name) {
- $.YSM.ml(function (data) {
- display(data.data);
- }, name);
- }
- function display(array) {
- var dom = $("#accordion");
- var str = "";
- for (i in array) {
- var v = array[i];
- str += "<div class=\"panel panel-default\">" +
- "<div class=\"panel-heading\">" +
- "<h4 class=\"panel-title\">" +
- "<a data-toggle=\"collapse\" data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapse" + i + "\">" +
- proHtml(v.subject) +
- "</a>" +
- "</h4>" +
- "</div>" +
- "<div id=\"collapse" + i + "\" class=\"panel-collapse collapse\">" +
- "<div style=\"padding:10px\">发件人:" + proHtml(v.from) + "<br/>时间:" + v.date + "</div>" +
- "<div class=\"panel-body\">" +
- proHtml(v.content) +
- "</div>" +
- "</div>" +
- "</div>";
- }
- if (str == "") {
- succTips("暂无邮件.");
- } else {
- dom.html(str);
- }
- }
- /**
- * 双引号字符转义
- * @param str 要转换的文本
- * @returns
- */
- function proHtml(str) {
- return str;
- }
- /**
- * 删除邮箱账号
- * @param name
- */
- function del(name) {
- $.YSM.ud(getUsers, name);
- }
- /**
- * 检查是否有新邮件
- */
- function newCheck() {
- for (i in userArray) {
- var v = userArray[i];
- check(v);
- }
- setTimeout(newCheck, 10000);
- }
- function check(name) {
- $.YSM.mcu(function (data) {
- var coun = data.data;
- if (coun > 0) {
- $("#badge" + proName(name)).text(coun);
- }
- }, name);
- }
- /**
- * 禁用获取账号按钮
- */
- function disableGetUser() {
- var dom = $("#getuser");
- dom.attr("disabled", "disabled");
- dom.text("正在获取..");
- }
- /**
- * 启用获取账号按钮
- */
- function enableGetUser() {
- var dom = $("#getuser");
- dom.removeAttr("disabled", "");
- dom.text("获取新账号");
- }
- /**
- * 成功提示
- * @param message 提示内容
- */
- function succTips(message) {
- $("#accordion").html("<div class=\"alert alert-success\">" + message + "</div>");
- }
- /**
- * 错误回调
- */
- function errcall(data) {
- if (data.ret == 1023) {
- enableGetUser();
- } else {
- if (data.ret == 1024) {
- getUsers();
- }
- }
- errTips(data.msg);
- }
- /**
- * 错误信息提示
- * @param message 提示内容
- */
- function errTips(message) {
- $("#accordion").html("<div class=\"alert alert-danger\">" + message + "</div>");
- }
|