123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- import { LoginMgr } from "../common/LoginManager";
- import { AccountData } from "../data/AccountData";
- import { Mail, MailData } from "../data/MailData";
- export class MailManager {
- //邮件功能是否开放
- static isOpenMail() {
- return false;
- }
- //排序
- static orderMail(): Mail[] {
- let mails = MailData.getData()
- const mailList: Mail[] = [];
- const nowTime = AccountData.serverTime;
- for (const key in mails) {
- const v = mails[key];
- // if (parseInt(v.expire, 10) >= nowTime) {
- mailList.push(v);
- // }
- }
- mailList.sort((a, b) => {
- const x = parseInt(a.read, 10) === 0 ? 1 : 0;
- const y = parseInt(b.read, 10) === 0 ? 1 : 0;
- if (x > y) {
- return -1;
- } else if (x < y) {
- return 1;
- }
- return parseInt(a.expire, 10) > parseInt(b.expire, 10) ? -1 : 1;
- });
- return mailList;
- }
- //获取邮件剩余保留时间
- static getLeftDays(time: number): number {
- let leftTime = time - AccountData.serverTime;
- leftTime = Math.ceil(leftTime / (24 * 60 * 60));
- return leftTime <= 0 ? 0 : leftTime;
- }
- //是否有邮件未读
- static haveMailNotRead(): boolean {
- let mails = MailData.getData()
- const nowTime = AccountData.serverTime;
- for (const key in mails) {
- const v = mails[key];
- if (parseInt(v.expire, 10) >= nowTime && parseInt(v.read, 10) === 0) {
- return true;
- }
- }
- return false;
- }
- //获取邮件附件(首个外部展示用)
- static getShowAward(id: string): any {
- let mails = MailData.getData()
- for (const key in mails) {
- const v = mails[key];
- if (parseInt(v.id, 10) === parseInt(id, 10)) {
- if (v.awards && v.awards.length > 0) {
- if (mails[parseInt(v.id, 10)].read === '1') {
- return null;
- } else {
- return v.awards[0];
- }
- }
- }
- }
- return null;
- }
- //获取邮件文本
- static getMailText(content: any, isTitle: boolean): string {
- let jsonData = content;
- let text: string;
- // if (isTitle) {
- // if (typeof jsonData === 'number') {
- // text = ConfData.getMapData('maillocaltext.dat')[jsonData.toString()].Title;
- // } else {
- // text = content;
- // }
- // return Util.getString(text);
- // } else {
- // if (Array.isArray(jsonData)) {
- // const count = jsonData.length;
- // text = ConfData.getMapData('maillocaltext.dat')[jsonData[0].toString()].Desc;
- // if (count === 2) {
- // const tcConfNew = ConfData.getMapData('manorcity.dat');
- // const tcsConfNew = ConfData.getMapData('manorschedule.dat');
- // const tcConf = ConfData.getMapData('territorycity.dat');
- // const tcsConf = ConfData.getMapData('territoryschedule.dat');
- // if (parseInt(jsonData[0], 10) === 14) {
- // const str = ' Lv.' + tcConf[jsonData[1]].CityLevel + ' ' + Util.getString(tcConf[jsonData[1]].Name);
- // text = Util.getString(text).replace('%s', str);
- // } else {
- // }
- // }
- // return text;
- // } else {
- return content;
- // }
- // }
- }
- //消息-讀郵件
- static sendGetMailMsg(args: { ids: {} }, callback) {
- LoginMgr.sendPost('user', 'get_mails', (data) => {
- console.log(data);
- MailData.setNewMail(data.get_mails)
- callback();
- }, args)
- }
- //是否有附件未领
- static haveItemToGet(): boolean {
- let mails = MailData.getData()
- for (const key in mails) {
- const v = mails[key];
- if (v.awards && v.awards.length > 0) {
- return true;
- }
- }
- return false;
- }
- //消息-批量刪除
- static sendBatchDelMailMsg(args: {}, callback) {
- LoginMgr.sendPost('user', 'batch_del_mail', (data) => {
- console.log(data);
- MailData.removeMail(data.del_mails);
- callback();
- }, args)
- }
- //消息-批量領獎
- static sendBatchMaillAwardsMsg(args: {}, callback) {
- LoginMgr.sendPost('user', 'batch_mail_awards', (data) => {
- console.log(data);
- for (const key in data.read_mails) {
- if (Object.prototype.hasOwnProperty.call(data.read_mails, key)) {
- const element = data.read_mails[key];
- MailData.setMailReadById(key);
- callback();
- }
- }
- }, args)
- }
- //消息-讀郵件
- static sendReadMailMsg(args: { id: string }, callback) {
- LoginMgr.sendPost('user', 'read_mail', (data) => {
- console.log(data);
- MailData.setMailReadById(args.id)
- }, args)
- }
- }
|