mindpin/chatflow

QQ对话持久化工具第一轮迭代

ben7th opened this issue · 3 comments

需要基于这个 gem 实现一个 QQ 对话持久化工具(用一个新的rails工程来做),这个工具可以通过web进行如下操作:

用户打开首页,点击【导入新对话】按钮,出现一个textarea,允许用户粘贴QQ对话到网页。
用户粘贴QQ对话并点击【保存】按钮后,通过这个 gem 解析对话记录,并把解析出来的两类对象:line 和 user,持久化保存到系统数据库中。每个对话保存后会新生成 n 个 line 和 user 对象。持久化到数据库之后,每个对象会具有ID,同时需要保持他们的关联关系。

修改建议:

  1. 目前有两个对象 line 和 user. 为了让程序逻辑更清晰,再封装一个对象 chat_record (对话记录)
    chat_record 和 line 是一对多关系。

    chat_record has_many :lines
    line belongs_to chat_record
    
  2. 用户打开首页时,列出数据库中所有已保存的 chat_record 对象;

  3. 首页上放置一个【导入新对话】按钮。点击这个按钮后,出现一个表单界面,上面有一个 textarea,允许用户粘贴 QQ 对话到网页。

  4. 系统无需用户选择是单人对话还是多人对话,后台应自动判断。用户粘贴 QQ 对话并点击保存后,如果解析成功,则生成一个 chat_record 记录,以及若干 line 和 user 记录。如果解析失败则什么都不生成(先解析,再持久化。不要导入一半然后失败)

  5. 在首页上点击 chat_record 对象时,打开一个页面,用一个表格列出每个 line 的用户,时间,正文,等信息。

  6. 点击表格里的用户时,打开一个页面,列出该用户在系统内所有的 line. 以 chat_record 划分。

3月25日:

BUG:
http://markdown.4ye.me/L5Burmgb
导入这段文本的时候,消息发送者名字会错误的解析成数字

BUG:
http://markdown.4ye.me/jegKJHcD
导入这段文本的时候,点击 convert 按钮会出现空白页
并且会出现导入一半的问题

以上 BUG 都需要 fix