多总结,才能跑的好远。
这部分是新闻模块。
一、新闻详情
1、查看到新闻详情,分为两种状态,登录状态,和非登录状态,非登陆状态不做赘述
2、登录状态首先要把用户的登录信息保存在g变量中,即查询用户登录状态
3、定义一个空的字典列表
4、遍历对象列表,将对象的字典添加到字典列表中
5、查询新闻数据 news = News.query.get(news_id) #是真的方便
6、查询不到抛出404
二、收藏新闻
1、判断用户登录状态
2、接收参数 request.json.get(xxx)
3、判断参数(获取到id、收藏的动作)
4、多一个步骤就是加上int(id),毕竟我们不能控制用户传的什么参数
5、查询这条新闻是否存在
6、收藏/取消收藏即判断当前所执行的动作是取消,继续判断是否在用户收藏列表,在就移除,反之添加。
7、return ok
三、评论及回复评论
1、判断用户登录状态
2、判断参数是否完整,if not all[xxxxxx]
3、查询新闻
4、初始化评论模型,并且赋值
5、提交数据即可
db.session.add(model)
db.seeion.commit()
6、return ok
四、点赞评论
1、判断用户的登录状态
2、取到请求参数(点赞的id。动作)
3、判断参数
4、获取到要被点赞的评论模型
5、如果已经点赞,为同一用户则执行取消点赞db.session.delete(),同时更新点赞次数
6、不是同一用户则点赞此评论,更新点赞次数
7、提交数据
8、return ok
五、关注用户
1、取到自己的登录信息,必须在登录状态下才可关注
2、取参数(id、关注的action),并做校验判断
3、判断参数动作action是都在关注/未关注的状态
4、取到要关注的用户
5、根据action执行相应的操作
6、执行关注操作,如果此用户未被关注,则为用户列表添加一个关注列表,否则为返回已经关注
7、如果已经被关注,则将此用户remove即取消关注
8、return ok
六、注意点
我们在加载新闻详情页面的时候,就要加载出当前用户的是否点赞、收藏、评论的信息。
基本流程就是,查数据、做判断,以及定义一个字典,把要直接显示的数据放进去。
以上就是新闻模块逻辑流程啦~