Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ben7th opened this issue Mar 6, 2015 · 3 comments
Open

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

ben7th opened this issue Mar 6, 2015 · 3 comments

Comments

@ben7th
Copy link
Contributor

ben7th commented Mar 6, 2015

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

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

@arlyxiao
Copy link

QQ解析部署到 heroku 访问
https://serene-thicket-8391.herokuapp.com/

查看数据,请访问
https://serene-thicket-8391.herokuapp.com/admin

@ben7th
Copy link
Contributor Author

ben7th commented Mar 23, 2015

修改建议:

  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 划分。

@ben7th
Copy link
Contributor Author

ben7th commented Mar 25, 2015

3月25日:

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

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

以上 BUG 都需要 fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants