Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1892|回复: 5
打印 上一主题 下一主题

MailSpring源码分析--接口数据格式

[复制链接]

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
跳转到指定楼层
楼主
发表于 2020-10-13 15:50:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Qter 于 2020-10-13 16:29 编辑

Folder
  1. {
  2.         "modelClass": "Folder",
  3.         "modelJSONs": [{
  4.                 "__cls": "Folder",
  5.                 "aid": "b800a344",
  6.                 "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  7.                 "path": "INBOX",
  8.                 "role": "inbox",
  9.                 "v": 2
  10.         }, {
  11.                 "__cls": "Folder",
  12.                 "aid": "b800a344",
  13.                 "id": "StmzU7PDLSyVMtFArwBZMDv5EbSv45TjmXjbaPZCV",
  14.                 "path": "&g0l6P3ux-",
  15.                 "role": "drafts",
  16.                 "v": 2
  17.         }, {
  18.                 "__cls": "Folder",
  19.                 "aid": "b800a344",
  20.                 "id": "Jpge8BvRtPRvkZTJHhSFqPBKhnaT2DyXQRGuNN98R",
  21.                 "path": "&XfJT0ZAB-",
  22.                 "role": "sent",
  23.                 "v": 2
  24.         }, {
  25.                 "__cls": "Folder",
  26.                 "aid": "b800a344",
  27.                 "id": "q2zZWGt1Ky4YEkam5YokAALNktbtxA1xmPVB84BDu",
  28.                 "path": "&XfJSIJZk-",
  29.                 "role": "trash",
  30.                 "v": 2
  31.         }, {
  32.                 "__cls": "Folder",
  33.                 "aid": "b800a344",
  34.                 "id": "d6Pqqtiq83Wn94G8GUvpujjWQ6bcYoPjUDZyRkGKH",
  35.                 "path": "&V4NXPpCuTvY-",
  36.                 "role": "spam",
  37.                 "v": 2
  38.         }, {
  39.                 "__cls": "Folder",
  40.                 "aid": "b800a344",
  41.                 "id": "CtDtb7hksdT1NNG1kBYvcN8UJRNTUrVBWDHCzXEdr",
  42.                 "path": "&UWxT+JCuTvY-",
  43.                 "role": "",
  44.                 "v": 1
  45.         }, {
  46.                 "__cls": "Folder",
  47.                 "aid": "b800a344",
  48.                 "id": "V9AQF7D63q3qKCS6ZzJA1kfC3AtzeMWbohkvuRdRb",
  49.                 "path": "Personal",
  50.                 "role": "",
  51.                 "v": 1
  52.         }, {
  53.                 "__cls": "Folder",
  54.                 "aid": "b800a344",
  55.                 "id": "TeNLJcSZPWm9t1RZ5dFBybQAt5RFrqLRbcEsf3XjE",
  56.                 "path": "Mailspring",
  57.                 "role": "",
  58.                 "v": 1
  59.         }, {
  60.                 "__cls": "Folder",
  61.                 "aid": "b800a344",
  62.                 "id": "xxnLufF2J6YeBsBnXB8RX1UXbeY5pcjbbMGi3RCz",
  63.                 "path": "Mailspring/Snoozed",
  64.                 "role": "snoozed",
  65.                 "v": 2
  66.         }],
  67.         "type": "persist"
  68. }
复制代码
Messag
{
        "modelClass": "Message",
        "modelJSONs": [{
                "__cls": "Message",
                "_sa": 1602496215,
                "_suc": 0,
                "aid": "b800a344",
                "bcc": [],
                "cc": [],
                "date": 1595234938,
                "draft": false,
                "extraHeaders": {},
                "files": [],
                "folder": {
                        "__cls": "Folder",
                        "aid": "b800a344",
                        "id": "Jpge8BvRtPRvkZTJHhSFqPBKhnaT2DyXQRGuNN98R",
                        "path": "&XfJT0ZAB-",
                        "role": "sent",
                        "v": 3
                },
                "from": [{
                        "email": "15313159857@139.com",
                        "name": "15313159857@139.com"
                }],
                "gMsgId": "0",
                "hMsgId": "202007201648566810450@139.com",
                "id": "iG1rqtbwLjCp7joccKo6ujsfBuWBNriDtyp6Gbix4",
                "labels": [],
                "plaintext": false,
                "remoteFolder": {
                        "__cls": "Folder",
                        "aid": "b800a344",
                        "id": "Jpge8BvRtPRvkZTJHhSFqPBKhnaT2DyXQRGuNN98R",
                        "path": "&XfJT0ZAB-",
                        "role": "sent",
                        "v": 3
                },
                "remoteUID": 2742,
                "replyTo": [{
                        "email": "15313159857@139.com",
                        "name": "15313159857@139.com"
                }],
                "rthMsgId": null,
                "snippet": "test content 15313159857@139.com",
                "starred": false,
                "subject": "test",
                "threadId": "t:iG1rqtbwLjCp7joccKo6ujsfBuWBNriDtyp6Gbix4",
                "to": [{
                        "email": "15313159857@139.com",
                        "name": "15313159857"
                }],
                "unread": false,
                "v": 5
        }, {
                "__cls": "Message",
                "_sa": 1602496214,
                "_suc": 0,
                "aid": "b800a344",
                "bcc": [],
                "cc": [],
                "date": 1492644734,
                "draft": false,
                "extraHeaders": {},
                "files": [],
                "folder": {
                        "__cls": "Folder",
                        "aid": "b800a344",
                        "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
                        "path": "INBOX",
                        "role": "inbox",
                        "v": 3
                },
                "from": [{
                        "email": "itzj1_cmpost@139.com",
                        "name": "IT涔嬪?"
                }],
                "gMsgId": "0",
                "hMsgId": "301865120.64159.1492644734333.JavaMail.subscribeService@appdingyue02",
                "headersSyncComplete": true,
                "id": "qwDF4ZwVpQgprpFb41agxy5uCSVdL8LCVS98JgtwG",
                "labels": [],
                "remoteFolder": {
                        "__cls": "Folder",
                        "aid": "b800a344",
                        "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
                        "path": "INBOX",
                        "role": "inbox",
                        "v": 3
                },
                "remoteUID": 2468,
                "replyTo": [{
                        "email": "itzj1_cmpost@139.com",
                        "name": "IT涔嬪?"
                }],
                "rthMsgId": null,
                "starred": false,
                "subject": "鍚哥溂鐞冿紒涓扮敯瀹e竷璁″垝鐢熶骇
回复

使用道具 举报

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
沙发
 楼主| 发表于 2020-10-13 16:29:23 | 只看该作者
本帖最后由 Qter 于 2020-10-13 16:55 编辑



Message2
  1. {
  2.         "modelClass": "Message",
  3.         "modelJSONs": [{
  4.                 "__cls": "Message",
  5.                 "_sa": 1602496206,
  6.                 "_suc": 0,
  7.                 "aid": "b800a344",
  8.                 "bcc": [],
  9.                 "body": "<html>htmlcontent</html>",
  10.                 "cc": [],
  11.                 "date": 1596073609,
  12.                 "draft": false,
  13.                 "extraHeaders": {},
  14.                 "files": [],
  15.                 "folder": {
  16.                         "__cls": "Folder",
  17.                         "aid": "b800a344",
  18.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  19.                         "path": "INBOX",
  20.                         "role": "inbox",
  21.                         "v": 2
  22.                 },
  23.                 "from": [{
  24.                         "email": "2842929645@qq.com",
  25.                         "name": "2842929645@qq.com"
  26.                 }],
  27.                 "fullSyncComplete": true,
  28.                 "gMsgId": "0",
  29.                 "hMsgId": "tencent_21AE1435893CB72D50FEBAF1305701F7BB07@qq.com",
  30.                 "headersSyncComplete": true,
  31.                 "id": "remEPGj5RBNdCbidBnGgEXVsVd6soxEtKjaxrgSpz",
  32.                 "labels": [],
  33.                 "plaintext": false,
  34.                 "remoteFolder": {
  35.                         "__cls": "Folder",
  36.                         "aid": "b800a344",
  37.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  38.                         "path": "INBOX",
  39.                         "role": "inbox",
  40.                         "v": 2
  41.                 },
  42.                 "remoteUID": 2745,
  43.                 "replyTo": [{
  44.                         "email": "2842929645@qq.com",
  45.                         "name": "2842929645@qq.com"
  46.                 }],
  47.                 "rthMsgId": null,
  48.                 "snippet": "2842929645@qq.com",
  49.                 "starred": false,
  50.                 "subject": "gfd",
  51.                 "threadId": "t:remEPGj5RBNdCbidBnGgEXVsVd6soxEtKjaxrgSpz",
  52.                 "to": [{
  53.                         "email": "15313159857@139.com",
  54.                         "name": "15313159857"
  55.                 }],
  56.                 "unread": false,
  57.                 "v": 2
  58.         }, {
  59.                 "__cls": "Message",
  60.                 "_sa": 1602496206,
  61.                 "_suc": 0,
  62.                 "aid": "b800a344",
  63.                 "bcc": [],
  64.                 "body": "<html>htmlcontet2</html>",
  65.                 "cc": [],
  66.                 "date": 1595234938,
  67.                 "draft": false,
  68.                 "extraHeaders": {},
  69.                 "files": [],
  70.                 "folder": {
  71.                         "__cls": "Folder",
  72.                         "aid": "b800a344",
  73.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  74.                         "path": "INBOX",
  75.                         "role": "inbox",
  76.                         "v": 2
  77.                 },
  78.                 "from": [{
  79.                         "email": "15313159857@139.com",
  80.                         "name": "15313159857@139.com"
  81.                 }],
  82.                 "fullSyncComplete": true,
  83.                 "gMsgId": "0",
  84.                 "hMsgId": "202007201648566810450@139.com",
  85.                 "headersSyncComplete": true,
  86.                 "id": "iG1rqtbwLjCp7joccKo6ujsfBuWBNriDtyp6Gbix4",
  87.                 "labels": [],
  88.                 "plaintext": false,
  89.                 "remoteFolder": {
  90.                         "__cls": "Folder",
  91.                         "aid": "b800a344",
  92.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  93.                         "path": "INBOX",
  94.                         "role": "inbox",
  95.                         "v": 2
  96.                 },
  97.                 "remoteUID": 2741,
  98.                 "replyTo": [{
  99.                         "email": "15313159857@139.com",
  100.                         "name": "15313159857@139.com"
  101.                 }],
  102.                 "rthMsgId": null,
  103.                 "snippet": "test content 15313159857@139.com",
  104.                 "starred": false,
  105.                 "subject": "test",
  106.                 "threadId": "t:iG1rqtbwLjCp7joccKo6ujsfBuWBNriDtyp6Gbix4",
  107.                 "to": [{
  108.                         "email": "15313159857@139.com",
  109.                         "name": "15313159857"
  110.                 }],
  111.                 "unread": false,
  112.                 "v": 2
  113.         }, {
  114.                 "__cls": "Message",
  115.                 "_sa": 1602496206,
  116.                 "_suc": 0,
  117.                 "aid": "b800a344",
  118.                 "bcc": [],
  119.                 "cc": [],
  120.                 "date": 1482800592,
  121.                 "draft": false,
  122.                 "extraHeaders": {},
  123.                 "files": [],
  124.                 "folder": {
  125.                         "__cls": "Folder",
  126.                         "aid": "b800a344",
  127.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  128.                         "path": "INBOX",
  129.                         "role": "inbox",
  130.                         "v": 2
  131.                 },
  132.                 "from": [{
  133.                         "email": "jkhb_cmpost@139.com",
  134.                         "name": "139"
  135.                 }],
  136.                 "gMsgId": "0",
  137.                 "hMsgId": "269504832.14173.1482800592490.JavaMail.subscribeService@appdingyue02",
  138.                 "headersSyncComplete": true,
  139.                 "id": "VmWzuufgfhnG9aXPwYvnMgj25A9SC7La8zVomTdp3",
  140.                 "labels": [],
  141.                 "remoteFolder": {
  142.                         "__cls": "Folder",
  143.                         "aid": "b800a344",
  144.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  145.                         "path": "INBOX",
  146.                         "role": "inbox",
  147.                         "v": 2
  148.                 },
  149.                 "remoteUID": 2446,
  150.                 "replyTo": [{
  151.                         "email": "jkhb_cmpost@139.com",
  152.                         "name": "139"
  153.                 }],
  154.                 "rthMsgId": null,
  155.                 "starred": false,
  156.                 "subject": "fdsfd",
  157.                 "threadId": "t:VmWzuufgfhnG9aXPwYvnMgj25A9SC7La8zVomTdp3",
  158.                 "to": [],
  159.                 "unread": false,
  160.                 "v": 1
  161.         }, {
  162.                 "__cls": "Message",
  163.                 "_sa": 1602496206,
  164.                 "_suc": 0,
  165.                 "aid": "b800a344",
  166.                 "bcc": [],
  167.                 "cc": [],
  168.                 "date": 1489652566,
  169.                 "draft": false,
  170.                 "extraHeaders": {},
  171.                 "files": [],
  172.                 "folder": {
  173.                         "__cls": "Folder",
  174.                         "aid": "b800a344",
  175.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  176.                         "path": "INBOX",
  177.                         "role": "inbox",
  178.                         "v": 2
  179.                 },
  180.                 "from": [{
  181.                         "email": "umc_service@139.com",
  182.                         "name": "rrr"
  183.                 }],
  184.                 "gMsgId": "0",
  185.                 "hMsgId": "813132157.69863.1489652566778.JavaMail.api@umc-api4",
  186.                 "headersSyncComplete": true,
  187.                 "id": "ApPwWThvevAeas6teXWX8BxvXAThwGNi5XUgAgXKh",
  188.                 "labels": [],
  189.                 "remoteFolder": {
  190.                         "__cls": "Folder",
  191.                         "aid": "b800a344",
  192.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  193.                         "path": "INBOX",
  194.                         "role": "inbox",
  195.                         "v": 2
  196.                 },
  197.                 "remoteUID": 2445,
  198.                 "replyTo": [{
  199.                         "email": "umc_service@139.com",
  200.                         "name": "ccc"
  201.                 }],
  202.                 "rthMsgId": null,
  203.                 "starred": false,
  204.                 "subject": "cccc",
  205.                 "threadId": "t:ApPwWThvevAeas6teXWX8BxvXAThwGNi5XUgAgXKh",
  206.                 "to": [{
  207.                         "email": "15313159857@139.com"
  208.                 }],
  209.                 "unread": false,
  210.                 "v": 1
  211.         }],
  212.         "type": "persist"
  213. }
复制代码
回复 支持 反对

使用道具 举报

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
板凳
 楼主| 发表于 2020-10-13 17:14:32 | 只看该作者
Thread
  1. {
  2.         "modelClass": "Thread",
  3.         "modelJSONs": [{
  4.                 "__cls": "Thread",
  5.                 "aid": "b800a344",
  6.                 "attachmentCount": 0,
  7.                 "fmt": 1599356733,
  8.                 "folders": [{
  9.                         "__cls": "Folder",
  10.                         "_refs": 1,
  11.                         "_u": 0,
  12.                         "aid": "b800a344",
  13.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  14.                         "path": "INBOX",
  15.                         "role": "inbox",
  16.                         "v": 2
  17.                 }],
  18.                 "gThrId": "",
  19.                 "id": "t:RysRwotYxZtJXTEsVSrzR2fjqRqyUaAPJJfHsSh12",
  20.                 "inAllMail": true,
  21.                 "labels": [],
  22.                 "lmrt": 1599356733,
  23.                 "lmst": 0,
  24.                 "lmt": 1599356733,
  25.                 "participants": [{
  26.                         "email": "15313159857@139.com"
  27.                 }, {
  28.                         "email": "mail139@139.com",
  29.                         "name": "eeeee"
  30.                 }],
  31.                 "searchRowId": 1,
  32.                 "starred": 0,
  33.                 "subject": "tttt",
  34.                 "unread": 0,
  35.                 "v": 3
  36.         }, {
  37.                 "__cls": "Thread",
  38.                 "aid": "b800a344",
  39.                 "attachmentCount": 0,
  40.                 "fmt": 1596073609,
  41.                 "folders": [{
  42.                         "__cls": "Folder",
  43.                         "_refs": 1,
  44.                         "_u": 0,
  45.                         "aid": "b800a344",
  46.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  47.                         "path": "INBOX",
  48.                         "role": "inbox",
  49.                         "v": 2
  50.                 }],
  51.                 "gThrId": "",
  52.                 "id": "t:remEPGj5RBNdCbidBnGgEXVsVd6soxEtKjaxrgSpz",
  53.                 "inAllMail": true,
  54.                 "labels": [],
  55.                 "lmrt": 1596073609,
  56.                 "lmst": 0,
  57.                 "lmt": 1596073609,
  58.                 "participants": [{
  59.                         "email": "15313159857@139.com",
  60.                         "name": "15313159857"
  61.                 }, {
  62.                         "email": "2842929645@qq.com",
  63.                         "name": "2842929645@qq.com"
  64.                 }],
  65.                 "searchRowId": 2,
  66.                 "starred": 0,
  67.                 "subject": "sss",
  68.                 "unread": 0,
  69.                 "v": 3
  70.         }, {
  71.                 "__cls": "Thread",
  72.                 "aid": "b800a344",
  73.                 "attachmentCount": 0,
  74.                 "fmt": 1489652566,
  75.                 "folders": [{
  76.                         "__cls": "Folder",
  77.                         "_refs": 1,
  78.                         "_u": 0,
  79.                         "aid": "b800a344",
  80.                         "id": "Lk12eu8qWXuhFfhNgWQL95A9kY2aTz54ARP64zovM",
  81.                         "path": "INBOX",
  82.                         "role": "inbox",
  83.                         "v": 2
  84.                 }],
  85.                 "gThrId": "",
  86.                 "id": "t:ApPwWThvevAeas6teXWX8BxvXAThwGNi5XUgAgXKh",
  87.                 "inAllMail": true,
  88.                 "labels": [],
  89.                 "lmrt": 1489652566,
  90.                 "lmst": 0,
  91.                 "lmt": 1489652566,
  92.                 "participants": [{
  93.                         "email": "15313159857@139.com"
  94.                 }, {
  95.                         "email": "umc_service@139.com",
  96.                         "name": "ttt"
  97.                 }],
  98.                 "searchRowId": 32,
  99.                 "starred": 0,
  100.                 "subject": "sss",
  101.                 "unread": 0,
  102.                 "v": 2
  103.         }],
  104.         "type": "persist"
  105. }
复制代码
回复 支持 反对

使用道具 举报

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
地板
 楼主| 发表于 2020-10-13 17:28:34 | 只看该作者
app\src\global\mailspring-exports.js
const lazyLoadAndRegisterModel = (klassName, path) => {
  lazyLoad(klassName, `flux/models/${path}`);
  DatabaseObjectRegistry.register(klassName, () => exports[klassName]);
};

lazyLoadAndRegisterModel(`File`, 'file');
lazyLoadAndRegisterModel(`Event`, 'event');
lazyLoadAndRegisterModel(`Label`, 'label');
lazyLoadAndRegisterModel(`Folder`, 'folder');
lazyLoadAndRegisterModel(`Thread`, 'thread');
lazyLoadAndRegisterModel(`Account`, 'account');
lazyLoadAndRegisterModel(`Message`, 'message');
lazyLoadAndRegisterModel(`Contact`, 'contact');

回复 支持 反对

使用道具 举报

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
5#
 楼主| 发表于 2020-10-13 17:53:31 | 只看该作者
Messages are a sub-object of threads. The content of a message === immutable (with the
exception being drafts). Mailspring does not support operations such as move || delete on
individual messages; those operations should be performed on the message’s thread.
All messages are part of a thread, even if that thread has only one message.

回复 支持 反对

使用道具 举报

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
6#
 楼主| 发表于 2020-10-16 17:35:29 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-26 06:26 , Processed in 0.065674 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表