基于微信登录的评论程序

Why

我很需要需要一个评论程序

起因于用 github 来运营自己的 blog,习惯了使用代码编辑器敲代码,非常喜欢在编辑器中用 markdown语法 来写文字, 很简洁舒服,没有压力,自然而然的感觉。有的人喜欢手写,但我很怕用手写字,用手写文字对于我来说很累很痛苦,这种严重程度到我每次办理银行业务要写自己名字确认,都觉得很不爽。

在本地编辑器写文字,每次写完一部分,commit一次提交到 github 中进行了版本管理,最后写完了一次 push,发布到 blog 中,既有了版本控制,发布管理也很自然,不需要刻意的进行什么操作。

github 托管 blog还是有一点点缺点:

  1. 只能托管静态页面,无法运行动态程序
    意味着无法像其它 blog 支持统计访问的程序,也没有办法支持评论程序。要使用这些功能就必须使用第三方插件
  2. 百度不支持在 github 上的托管网站索引,百度上无法搜索到自己的blog,自己写的文章。
    对于这个我到是无所谓,因为 blog 就是记录自己的一些想法,同时学习如何写作。所以不在乎是否被百度索引或被别人搜索到。

对文章进行评论的功能,我还是很需要的,想知道朋友对我的文章的意见建议,评价。

找了几个都不满足我的需求,所以基于产品经理的职业习惯,自己用业余时间设计一个然后撸出来吧.

What

我的需求一句话说就是想要一个和微信朋友圈、公众号体验一样的评论程序。

  1. PC 端用户需要评论的时候,微信扫码获取用户信息,然后就可以评论,评论后自己的头像,名字都是微信的信息
  2. 手机端用户需要评论的时候,直接弹出微信授权,是否允许获取个人信息,授权后就可以进行评论
  3. 授权过一次后,就记住状态,之后在所有使用该评论系统的文章下面都不需要再登录,直接显示了记住的状态,用户直接发表留言或评论即可
  4. 可以像公众号文章一样进行点赞文章,点赞评论,置顶评论
  5. 可以记录访问量
  6. 作者可以控制是否在需要在微信上收到评论的通知,可以在微信上就操作评论的回复
  7. ...

怎么样,是不是光想一想就很爽

用户操作的时候很简单,浏览文章的时候还是和原来一样,没有任何区别。当用户看完文章,想评论的时候,如果没有扫码过,点击评论输入框的时候会弹出使用微信扫描二维码,扫码后就可以进行评论了。

自己的头像,名字,评论内容,就显示给了文章作者。

算是一种基于微信的熟人的评论体系吧。

这么做不光爽,而且还有效防止了垃圾广告程序的攻击,而且是全网统一的防攻击。

目前这还是一个最初的想法,还需要在做的过程逐步迭代。

When & Where

打算平均每天2h来做这个事情,早上到办公室上班前1h,晚上健身结束后在家1h,这样就有5h了,然后周末在家拿出一天10h,一周就有15h来推进这个事情。(h: hour)

Who

产品经理:我
项目经理:我
后端开发:我
前端开发:我
美工设计:我抄袭 + 请教同事改进
测试:我 + 朋友体验

How & How much

第一阶段: 30-40h

快速实现是一个能用的走完整个流程的系统

  1. 评论列表展示
  2. 评论输入框
  3. 点击需要评论弹出微信扫码
  4. 用户扫码后获得用户信息,允许用户进行评论
  5. 用户评论后添加评论到列表
  6. 对评论点赞
  7. 对评论置顶

第二阶段: 30-40h

迭代改进+测试

第三阶段: 30-40h

开放对外用户的注册使用的平台,相关调用手册说明,相关推广文章编写:

总计时间

一共需要大概90到120个小时,差不多是11-15个工作日,这次我会尝试记录每一个部分所花费的时间,到最后看实际花费时间和预估时间的差别。

后续阶段:

陆陆续续持续改进

时间记录:

第一阶段 (30-40h)

  1. 11.15 1h (08:00-09:00)
    完成系统的简单产品设计,并写下来这篇产品文档
  2. 11.16 1.5h (11:00-0:30)
    完成获取微信登录二维码,获取用户微信扫码状态,如果用户未扫码,则持续更新获取,同时提升了获取的速度。性能很好。这么快的弄出来,得益于公司老铁的热心优秀建议,使我少走很多弯路。
  3. 11.17 2h (06:00-08:00)
    完成 PC 端二维码登录,改进各种特殊情况下的处理方式,完成服务端各项接口测试,都测试通过,并都能获取到相关数据。
  4. 11.17 2.5h (09:00-11:30)
    完成前后端联通,完成评论列表页面,休息一会,一会开始做用户和评论相关数据表,进行存储。
  5. 11.17 0.5 (12:00-13:00)
    开始做数据表设计,未完成
  6. 11.18 4h (08:00-12:00)
    完成数据表设计,以及数据的维护,开始进行评论数据插入
  7. 11.18 5h (13:30-18:30)
    完成 PC 端整个评论流程,用户扫码登录,评论内容,获取的评论列表,客户端记住用户登录状态,以及 token 验证。
  8. 11.18 5h (19:00-23:30)
    a 优化数据库结构,减少数据库查询和插入次数。 b 优化数据接口,减少请求次数 c 研究和测试 cookie或localstorage跨域解决方案。(未完成)
  9. 11.19 1h (07:00-08:00)
    优化代码结构,完善相关文档
  10. 11.20 3h (20:00-23:00)
    完成多用户设计,用户可以自己注册,后续可以添加自己网站,生成自己的网站appid和appkey,然后就可以部署评论程序到自己的网站
  11. 11.21 1.5h (21:45-23:15)
    学习前后端表单处理validation相关的库,以及clean data相关的库
  12. 11.24 2h (07:00-09:00)
    检查和解决 突发 bug,数据无法插入了
  13. 11.24 2h (13:30:00-15:30)
    完善后台用户操作部分:个人网站添加,编辑,删除,获取和展示评论列表
  14. 11.25 1h (07:00-09:00)
    完成对评论的点赞(喜欢), 增加管理员完成对评论的删除,增加垃圾评论标记
  15. 11.26 1h (22:00-23:00)
    思考和查找并发解决方案,比如瞬间1000个人点赞,如何保证点赞数据的正确性
  16. 11.27 3h (12:00-15:00)
    完成点赞,前端后端,以及取消点赞
  17. 11.28 3.5h (07:00-22:30)
    完成跨域评论解决方案
  18. 11.30 3.5h (07:00-22:30)
    完成跨域的相关细节修复,尝试连接云数据库,遇到为题,暂未解决
  19. 12.02 3h (15:00-18:00)
    部署到服务器,连接本地数据库进行测试
  20. 12.02 2h (22:00-24:00)
    修复点击赞的 bug,以及更新后台评论列表
  21. 12.04 2h (19:00-21:00)
    增加手机微信端打开页面进行评论,获取用户授权,然后获得用户头像和姓名

第一阶段完成

预计用时30-40h, 实际用时:50.5h 超过预期时间10-20小时

第二阶段 30-40h

  1. 12.05 3.5h (20:00-23:30)
    增加评论回复的功能
  2. 12.06 1.5h (22:00-23:30)
    完成评论回复的添加和展示

3.

2018-12-06 15:26

留言