V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
emric
V2EX  ›  分享创造

Seals - 帮你备份在 QQ 云端的聊天记录。

  •  
  •   emric ·
    17 · 2016-04-10 00:30:34 +08:00 · 6340 次点击
    这是一个创建于 3177 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Seals

    一个 electron/vue 小练手,它能帮你备份在 QQ 云端的聊天记录。

    使用前你要需要

    • QQ 会员
    • 漫游全部好友

    具体戳这里:https://github.com/17/seals


    如果觉得不错,请务必打赏我 。(ಡωಡ)

    第 1 条附言  ·  2016-04-10 20:40:40 +08:00

    这个东东,有什么用呢?

    • 因为聊天记录还无法取消会员的同学。
    • 本地备份聊天记录,以免被企鹅删除。( 腾讯取消了永久漫游 )
    30 条回复    2016-07-12 00:42:29 +08:00
    he11owor1d
        1
    he11owor1d  
       2016-04-10 07:18:39 +08:00
    用户名醒目
    LengthMin
        2
    LengthMin  
       2016-04-10 10:35:15 +08:00 via Android
    ...
    mittya
        3
    mittya  
       2016-04-10 10:37:06 +08:00
    配图霸气
    iroywang
        4
    iroywang  
       2016-04-10 10:58:38 +08:00 via Android
    额。。 qq 会员只能备份两个月,这个可以永久备份?
    emric
        5
    emric  
    OP
       2016-04-10 11:07:36 +08:00
    @iroywang 对, 将云端的记录保存到本地
    Death
        6
    Death  
       2016-04-10 11:22:30 +08:00
    我当时怎么没有想到注册一个如此简洁的用户名(⊙﹏⊙)
    oott123
        7
    oott123  
       2016-04-10 11:25:33 +08:00
    main.js:16356 Uncaught (in promise) TypeError: Cannot read property 'length' of undefined
    at Object.normalizeFriendList (**/seals.asar/build/main.js:16356:35)
    at **/seals.asar/build/main.js:15261:44
    at process._tickCallback (node.js:392:9)
    normalizeFriendList @ main.js:16356
    (anonymous function) @ main.js:15261
    _tickCallback @ node.js:392

    输完独立密码之后就这样了,再点按钮就

    main.js:17806 Uncaught TypeError: Cannot read property 'length' of nullselectList @ main.js:17806
    backup @ main.js:17051
    (anonymous function) @ main.js:787
    missqso
        8
    missqso  
       2016-04-10 11:40:19 +08:00
    配图是海豹日企鹅哦?
    emric
        9
    emric  
    OP
       2016-04-10 12:03:23 +08:00
    @oott123 在解析好友列表的时候出错了。你是不是有空的好友表列?
    emric
        10
    emric  
    OP
       2016-04-10 12:06:23 +08:00
    @missqso 腾讯已经无法解决我体内的洪荒之力了。
    oott123
        11
    oott123  
       2016-04-10 12:07:37 +08:00
    @emric 看了下确实有……删了之后好了。
    能不能全选啊这个……
    oott123
        12
    oott123  
       2016-04-10 12:22:38 +08:00
    选了一个好友,等了很久之后告诉我: xxx 的消息记录是空的,备份完成
    文件夹里也什么都没有
    orz ,明明是有很多记录的
    UnisandK
        13
    UnisandK  
       2016-04-10 12:24:49 +08:00
    配图霸气+1
    emric
        14
    emric  
    OP
       2016-04-10 12:30:32 +08:00
    @oott123 它只能备份漫游在 QQ 云端的聊天记录。
    如果你之前不是会员的话,那之前的聊天记录是没有漫游到腾讯的服务器的...
    oott123
        15
    oott123  
       2016-04-10 12:34:33 +08:00
    @emric 首先,我是会员
    其次,我也漫游到了腾讯的服务器
    再者,从控制台里看到它确实从腾讯服务器拉取了好多好多消息,里面确实就是我的聊天记录……
    meizi
        16
    meizi  
       2016-04-10 12:34:36 +08:00
    作死的行为,总有一天要埋下定时砸蛋
    gdtv
        17
    gdtv  
       2016-04-10 12:58:09 +08:00 via Android
    请问这个是什么原理?云端有提供 api 吗?
    emric
        18
    emric  
    OP
       2016-04-10 12:59:59 +08:00
    @oott123 如果提示消息记录是空的话,那它就是空的。这个是 QQ 服务器返回的。
    现在是一个人都没有备份下来?
    oott123
        19
    oott123  
       2016-04-10 13:01:53 +08:00
    @emric 是啊。
    我这里看到的情况是,如果我选中真的是空记录的好友,那我点击备份->马上得到“ xxx 为空”
    如果我选中的不是空记录的好友,那我点击备份->等待很长一段时间,同时产生一大堆网络请求和控制台日志 -> “ xxx 为空”
    emric
        20
    emric  
    OP
       2016-04-10 13:02:00 +08:00   ❤️ 1
    @gdtv 是利用 QQ 会员的 API 读取漫游在服务器的聊天记录。这份 API 是解析源码得到的。
    emric
        21
    emric  
    OP
       2016-04-10 13:04:00 +08:00
    @oott123 你下最新的 release 试试,昨晚我不小心上传了一个不能备份的 release (虽然已经删除
    lemonda
        22
    lemonda  
       2016-04-10 21:53:13 +08:00
    一直是困扰我的问题之一,必须点个赞!
    strwei
        23
    strwei  
       2016-04-10 22:26:22 +08:00
    配图霸气+2
    oojiayu
        24
    oojiayu  
       2016-04-11 01:02:30 +08:00
    能出一个使用教程不? 感觉完全不会用啊……
    ProfFan
        25
    ProfFan  
       2016-04-11 01:07:20 +08:00
    和 @oott123 一样的情况
    emric
        26
    emric  
    OP
       2016-04-11 02:13:06 +08:00
    @ProfFan
    @oott123
    我把所有好友都备份了一遍了,但是还是没有重现这个错误。: (
    我猜测是读取到个别聊天记录时,服务器会返回一个所有聊天记录都是空的错误。
    你们试一下 v0.1.3-beta 的 release 看看是否解决了这个问题。
    emric
        27
    emric  
    OP
       2016-04-11 02:34:13 +08:00
    @oojiayu

    因为我这里上传速度太慢了,所以我就没有制作懒人包,不过你可以用下面的流程启动。

    - 下载适合你系统的 Electron[1]
    - 解压,启动 Electron
    - 将下载好的 seals.asar 拖到 Electron 的窗口里就大功告成了

    1: https://npm.taobao.org/mirrors/electron/0.37.5/
    Ziya
        28
    Ziya  
       2016-07-11 15:25:41 +08:00
    启动 Electron ,然后把程序拖进去,就提示错误
    A JavaScript error occurred in the main process
    具体的错误信息如下:
    Uncaught Exception:
    Error: Cannot find module 'app'
    at Module._resolveFilename (module.js:438:15)
    at Function.Module._resolveFilename (/usr/local/lib/node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.Module._load (module.js:386:25)
    at Module.require (module.js:466:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/Ziya/Downloads/seals.asar/browser.js:3:13)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:456:32)
    at tryModuleLoad (module.js:415:12)
    emric
        29
    emric  
    OP
       2016-07-11 15:58:06 +08:00
    @Ziya electron 1.0 应该改了 API ,你试试 https://npm.taobao.org/mirrors/electron/0.37.5/ 这个版本。
    或者等我今晚弄弄。
    kn007
        30
    kn007  
       2016-07-12 00:42:29 +08:00 via Android
    关注
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2799 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 06:57 · PVG 14:57 · LAX 22:57 · JFK 01:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.