发表于: 2017-12-04 23:26:45

1 797


今天完成的事



把方案整理后给超哥过了一遍
有以下几个问题需要更改的
openid需要重新建一张表
没有对用户权限进行拦截
缺少一个图片上传的接口 
验证码需要分类别,以此区分注册和绑定,虽然我们暂时还没有绑定    


大吉大利组求学大作战复盘项目后端方案

项目名:academy

架构:

academy-grapes-core

academy-grapes-home-service

academy-grapes-admin-service

academy-grapes-home-web

academy-grapes-admin-web

 

 

门卫处

1.1 作为一名初高中生,我希望可以通过签到增长我的逆袭豆。这样便于用户在做某种事情上起到优惠的作用。

1.2作为一名初高中生,我希望可以查看我的签到记录,这样便于用户知晓签到的情况。

 

方案:

 

返回签到信息接口,返回用户id,昵称,逆袭豆数量,最近签到时间,累计签到天数,最高连续签到天数,本月签到历史,写一个定时任务,每天12点以后更新签到状态,0为未签到,1为已签到

 

签到接口,点击签到后,根据用户id查找数据库中的最近签到时间字段,该字段记录了最近一次的连续签到,每次点击签到都会判定该字段记录的时间是否是昨天,假如昨天未签到,则赋值为1,昨天签到则累计+1,逆袭豆数量随着签到天数递增+1,到第5天签到的时候停止增长,以后连续签到就一直是5颗逆袭豆。

 

user

用户id

冻结状态

创建时间

更新时间

逆袭豆

最近签到时间

累计签到天数

最高签到天数

连续签到

手机

邮箱

昵称

头像

年级

地址

标志符表

Id

用户id

状态

Openid

 

 

 

 

 

签到记录表

id

用户id

签到日期

创建时间

更新时间

创建人

更新人

 

 

学生证

2.1 作为一名第一次登录初高中生,我希望可以提示我默认调用微信基本信息,这样便于用户方便完善个人资料。

 

 

方案:

返回学生证信息接口,对于第一次登陆的学生,获取用户微信昵称,头像并保存进数据库,然后从数据库获取他的昵称,头像,年级,逆袭豆数量,绑定状态

 

2.2作为一名初高中生,我希望可以更改昵称、头像、选择年级,这样便于用户实时更新资料。

 

方案:

获取学生信息接口,获取学生的昵称、头像和年级,

更新学生信息接口,根据前端传来的昵称,头像和年级更改数据库信息,然后返回学生证页面

 

2.3作为一名初高中生,我希望可以看到我收藏、这样便于用户想看的时候可以进行查看。

 

方案:

根据用户id返回文章列表的接口,根据用户id返回视频列表的接口,使用分页来完成每次返回一定数量的文章和视频

 

2.4作为一名后台管理者,我希望可以通过微信授权得到用户的ID、昵称,用户修改后可以获得用户的年级以及可以对用户进行冻结和解冻的操作。这样便于我对用户的管理和情况的一个了解。

 

方案:

保存用户信息接口,想数据库中保存id,昵称,年级,会员和冻结状态

返回用户信息接口

冻结状态接口,根据用户id把用户状态改为冻结

解冻状态接口,根据用户id把用户状态改为解冻

 

2.5作为一名运营者,我希望用户个人中心可以有绑定手机号和邮箱的功能,以便以后出了app之后能够转移用户信息。

 

方案:

发送验证码接口,根据用户输入的手机号或者邮箱发送验证码并保存进验证码表,然后把前台穿过来的验证码和数据库中对比,匹配则在用户表里面保存手机号或者邮箱,验证码表,每晚清0,为了保证验证码的时效,发送验证码后180秒后会删除验证码,加入发送验证码60秒后又发送了验证码,则覆盖之前的验证码

 

绑定接口,根据前台传来的验证码和数据库对比,填写手机或邮箱信息进数据库,

并增加20颗逆袭豆

 

收藏点赞表

id

用户id

收藏类型

收藏的文章或视频id

点赞状态

收藏状态

创建时间

修改时间

 

验证码表

Id

用户id

类型

手机

邮箱

验证码

每天手机次数

每天邮箱次数

 

文学部

需求描述

1.作为一名初高中生,我希望可以看到文学文章列表,这样便于我更好的阅读文学文章。

 

方案:

返回文章列表的接口,使用公司框架分页的功能,按照一次10条输出给前端,返回列表内容包括文章的id,标题,创建时间,简介,该文章的收藏数和点赞数,封面,作者

 

返回banner图的接口,对文章类型添加索引,按文章类型搜索

 

 

2.作为一名初高中生,我希望可以对文章进行点赞和收藏,这样便于阅读自己认为好的文章。

 

方案:

进入文章详情

返回文章详情的接口,返回的字段有标题,时间,作者,正文,简介,点赞数和收藏数

文章点赞接口,文章表点赞数+1,并且在收藏点赞表里面添加或者更新一条记录

文章收藏接口,文章表收藏数+1,并且在收藏点赞表里面添加或者更新一条记录

 

 

3.作为一名初高中生,我希望在列表中可以展示作者的文章标题、作者昵称、发布时间、封面、摘要、收藏,点赞数,这样便于用户快速了解文章内容。

 

方案

返回文章列表的接口,包括作者的文章标题,作者,发布时间,封面,摘要,收藏数和点赞数,使用公司框架完成分页的功能

 

4.作为一名后台管理者,我希望可以对文章进行新增、编辑、上下架、搜索的操作,列表对序号、标题、作者昵称、发布时间、封面、摘要、收藏点赞数进行相应的展示。这样便于大致了解文章的主题。

 

方案

新增文章的接口,向数据库中保存标题,分类,封面,作者,摘要,正文

获取该文章后台信息的接口

 

修改文章的接口,根据id获取文章的封面,分类,作者,摘要,正文,标题

 

更新文章的接口,把修改以后的信息保存进数据库

 

搜索接口,使用动态sql语句查询并返回符合条件的文章列表

 

上下架接口,判断该条信息状态,如果是上架状态,调用接口实现下架

 

上传图片的接口,获取前端传来的图片,上传到第三方对象存储,并且把外链保存进数据库

 

 

5.作为一名后台管理者,我希望可以对文章的标题、作者、内容做出编辑或新增的动作。对文章内容进行立即发布、存为草稿、和返回的操作。

pm沟通后,存为草稿这个功能完成可以不用

 

方案

立即发布的接口,判断标题,作者,摘要是否都满足字数限制,如果满足,发布该文章,状态改为上架

 

 

文章表

id

文章id

标题

封面

摘要

作者

创建时间

更新时间

点赞数

收藏数

文章类型(是否banner)

正文

 

 

 

 

 

 

验收标准

1.在一级背景图上面可以看到文学部,对背景大小可手动缩放,滑动并且可以查看全图。点击文学部进入文学文章界面。文章分为banner文章和列表的文章。列表中可以看到文章标题、封面、作者、摘要、收藏数、点赞数、发表时间。banner图每3s滑动一次。

2.列表页的发表时间:1天之内都用小时来展示 -  eg:6小时前;1天之外用日期来展示 - eg:2017-01-02,列表标题展示限制10字之后...。摘要展示限制25字之后。列表以10条数据为一组进行点击加载更多。每加载一次刷新再次加载10条数据。没有数据时底部提示已加载全部文章,再点击已加载全部文章提示说明哎呀,没有了,别点啦。有文章点击则跳转向相应的文章详情下进行阅读。

 

方案:当打开列表页的时候会获取当前时间戳,然后减去常见时间,把结果除以每小时的毫秒数,如果为0,说明1小时内,显示1小时前,如果为1,也显示1小时前,

如果结果大于24,则显示日期

 

 

3.点击列表页数据跳转相应的详情页。详情页展示文章的标题、发表时间、作者、摘要、收藏数、点赞数。可在文章详情页对文章进行点赞和收藏。点击收藏成功提示收藏成功;取消提示取消收藏,点赞同样,收藏成功之后列表页的心也会变成收藏的状态,并且统计累积的点赞数目与收藏人数。

 

 

 

 

4.后台点击侧边栏内容管理下的文章列表,即可看到文章信息的管理,列表会展示文章的序号、标题、封面、作者、摘要、收藏数、点赞数、状 态。列表可对文章进行查看、编辑、下架、搜索的操作。用户数据1页展示10条数据,超出换页展示。列表数据按照上架的时间倒叙排列。

5.可对标题(限制25字之内)、作者(限制14字之内)、分类(card文章)、状态(全部、上架、下架)、点赞数、收藏数条件进行搜索。点赞数、收藏数搜索只限填写数字,后者不许小于前者。列表1页展示10条数据,超出换页展示

6.点击下架按钮则弹窗提示是否下架该文章?”是:提示下架成功;否:弹窗消失,展示当前列表。点击上架按钮则弹窗提示是否上架该文章?”是:提示上架成功;否:弹窗消失,展示当前列表。

7.点击新增按钮根据文章的标题(限制25字之内)、封面(上传文件在5M以内、作者(限制14字之内)、摘要(限制28字之内)、正文进行添加。底部两个按钮分别为取消保存;点击取消按钮弹窗提示确定取消编辑文章内容?确定:弹窗消失回到列表页,取消:弹窗消失,仍留在当前页面。点击保存按钮弹窗提示文章内容保存成功

 

 

影像部

需求描述

前台:

作为一名初高中生用户,我希望有教学视频的内容,以便于我能够观看视频进行学习。

2.作为一名初高中生用户,我希望视频可以按照年级、科目和视频列表展示内容,以便于我能够选择符合自己需求的视频。

3.作为一名初高中生用户,我希望在视频列表中可以展示视频的详细信息,以便于我选择是否观看此视频。

4.作为一名初高中生用户,我希望在视频详情里可以看到视频的标题、老师昵称、发布时间、播放视频、文字内容、收藏点赞数,这样便于我更清晰的浏览视频和内容。

后台:

5.作为一名后台管理员,我希望有视频管理,以便于我能够管理视频信息。

6.作为一名后台管理员,我希望视频有新增、编辑、查看、上下架功能,以便于我能够管理视频内容。

 

影像表

id

老师

老师头像

点赞数

收藏数

封面

类型

创建时间

更新时间

创建人

更改人

年级

科目

简介

视频链接

正文

排序(banner1-8,其余均为0

 

验收标准

 

影像部前台验收标准:

1.进入影像部路径:

在一级背景图上面可以看到影像部,对背景大小可手动缩放,滑动并且可以查看全图。点击影像部进入视频界面。

 

 

2.影像部列表页面:

页面分为年级科目列表、banner图和视频列表。

字段显示:每次进入影像部列表页都默认显示年级和科目。

视频列表显示有两种情况:

a在学生证中设置年级后(如:高三),进入影像部,选择初中部,视频列表为初中的全部科目视频。选择高中部,视频列表为高三的全部科目视频。
b.在学生证中未设置年级,进入影像部,选择初中部,列表页视频为初中的全部科目视频。选择高中部,列表页视频为高中的全部科目视频。

 

方案

获取影像部列表的接口,首先判断用户是否设置年级,如果没有设置,则默认显示所有年级的视频,如果有设置年级,列表为该年级的全部科目视频,返回字段有标题,老师,老师头像,点赞数和收藏数,简介,封面,类型

 

 

 

年级科目:点击年级和科目后,展示的视频内容同步更新。

 

方案

返回所选年级和科目列表的接口,使用动态查询,如果年级参数为空则返回全部科目的前10,如果年级不为空,科目为空,则返回对应年级科目的前10

 

 

banner图:banner图进行轮播显示,banner图无内容链接则点击无反应;有内容链接则跳转相应的内容详情进行浏览。

 

方案

后端数据库设置banner图链接字段默认为#

 

 

3)视频列表:列表中可以看到老师头像、昵称、视频简介、收藏数、点赞数、发表时间。

          老师头像和昵称在左上角显示;视频简介:初始最多显示两行内容,超过两行后出现更多按钮,点击更多展出全部简介内容。每行最多显示27个字,超过27字另起一行。

         收藏数和点赞数不可以在列表页操作;发表时间:不足1小时,按 –eg:1小时前 显示;24小时之内都用小时来展示 -  eg:6小时前;24小时之外用日期来展示 - eg:2017-01-02

 

方案

当打开列表页的时候会获取当前时间戳,然后减去常见时间,把结果除以每小时的毫秒数,如果为0,说明1小时内,显示1小时前,如果为1,也显示1小时前,

如果结果大于24,则显示日期

 

4 列表视频中内容展示:展示视频标题、视频时长、观看视频按钮。

          视频标题:视频标题展示一行限制20字,超过20字另起一行,默认居中对齐

          视频时长:-eg 04:35

          观看视频按钮:播放键

 

 

 

5)数据加载:列表以10条数据为一组进行点击加载更多,每加载一次刷新再次加载10条数据。没有数据时底部提示哎呀,没有了,别点啦

 

方案

请求数据的时候穿两个参数,起始位置和结束位置,起始位置为0,结束位置为max,在mysql语句中进行排序,约定每次传回来10条符合条件的记录。

 

3.影像部视频详情页:

1)点击视频列表中的某一部视频可跳转到相应的详情页,详情页展示视频的标题、老师昵称、发表时间、简介、视频播放框、正文内容、收藏数、点赞数。点击视频播放框播放按键对视频进行播放。

 

方案

根据文章id返回相对应信息的接口,并且判断该用户是否收藏或是点赞过该文章

 

2)点赞:点击空心点赞图标,图标状态点亮,数字统计+1,再点击点亮图标,状态改回初始状态,数字统计-1

         收藏:点击空心收藏图标,图标状态点亮,数字统计+1,提示收藏成功,再点击收藏图标,状态改回初始状态,数字统计-1。提示取消收藏

 

方案

根据之前判断该用户对该视频的点赞或者收藏状态

状态有三种,只点赞为1 0,只收藏为0 1,既收藏又点赞为1 1

如果用户对该视频的状态为1,那么他再次点击点赞会变为0

收藏同理

 

3)小窗功能:边看视频边浏览。观看视频过程中,向下滚动时,视频播放窗口会保持在顶部,向上滚动到顶部时,回到最初始状态。

 

影像部后台验收标准:

 

1.视频列表:

1)搜索框内容:标题、分类、所属年级、所属科目、点赞数、收藏数

 

 

方案

使用mysql动态查询

 

    2)后台点击侧边栏内容管理下的视频列表,即可看到对视频信息的管理,列表会展示视频的序号、视频标题、所属年级、所属科目、老师、收藏数、点赞数、编辑时间、状态。可对上传的视频进行查看、编辑、上下架、搜索的操作。列表数据按照上架的时间倒叙排列,视频数据1页展示10条数据,超出换页展示。

 

方案

返回视频列表的接口,返回id,视频标题、所属年级、所属科目、老师、收藏数、点赞数、编辑时间、状态字段信息,分页展示

 

    3)点击下架按钮则弹窗提示是否下架该视频?”是:提示下架成功;否:弹窗消失,展示当前列表。点击上架按钮则弹窗提示是否上架该视频?”是:提示上架成功;否:弹窗消失,展示当前列表。

    4)标题下的内容每行显示14个字,超过14字换行。老师下的内容每行显示5个字,超过5个字换行。

5banner图排序:点击“banner排序,按钮改为保持排序,列表页内容只显示banner图,点击其中一项内容上下拖动排序。顺序排好后,点击保持排序,弹窗提示:保持排序成功,点击确定,保存成功,点击取消,则状态不变。前台限制显示8banner图,后台banner图列表中序号1-8的内容,在前台展示 

 

方案

获取banner图的id和序号的接口

更新banner图的序号的接口

 

2.视频新增:

1)点击新增按钮,展示信息:所属年级、所属科目、老师、视频标题、分类:banner图和视频内容、视频简介、视频url地址、正文。

2)年级名称:对初中、高中、初一、初二、初三、高一、高二、高三、其他进行点击选择。

3)科目名称:对语文、数学、英语、物理、化学、生物、历史、地理、政治、其他进行点击选择。

4)老师昵称和头像:老师昵称初始内容为空,点击添加,弹出弹窗,输入昵称,上传头像图片,点击保存,弹窗提示保存成功。保存成功后,老师昵称会展示在列表内,选择昵称,头像同步更新变化。昵称列表中,选中老师昵称的姓名,点击删除,弹出提示框,选择确定,删除成功。

5)视频标题:限制40个字

6)分类:选择banner图,则显示出上传封面(上传文件在5M以内)的操作。选择card视频,则不显示上传封面的内容。分类选择为card视频时,所有内容必须填写才能保存,选择为banner图时,所有内容必须填写才能保存。

7)视频简介、限制140个字

8)视频url地址:输入地址以后,显示出视频播放框,可播放视频。

9)视频截图:在视频地址链接下面,需上传上传视频截图,上传的截图用于在前台的列表展示。

10)正文:无文字限制。

11)点击保存,页面跳转到视频列表页,并且有弹窗提示内容添加成功,视频默认下架状态。点击取消,则弹窗提示:确定取消编辑内容?确定:则返回视频列表;取消:弹窗消失。

3.视频列表页查看和编辑

1)点击查看按钮可对视频的内容进行查看(与视频新增页面显示一致内容,不同的是底部为返回按钮。

 

方案

根据id搜索对应的视频,返回对应的视频信息

 

2)点击编辑按钮可对视频的内容进行编辑。(与视频新增页面显示一致内容,不同的是底部为修改和取消按钮。),点击修改按钮即可对内容进行编辑。点击取消,则弹窗提示:确定取消修改内容?确定:则返回视频列表;取消:弹窗消失。

        

方案

根据id搜索对应的视频,返回对应的视频信息

点击编辑则将输入框内的所有内容更新到对应字段

 

老师表

id

名字

头像

创建时间

更新时间

创建人

更新人

 

 

公告栏

需求描述

1.作为一名运营者,我希望能有公告栏展示的功能,以便能及时向用户公告公众号的相关信息

公告栏验收标准:

1.进入公告栏路径:

1、在一级背景图上面可以看到公告栏,对背景大小可手动缩放,滑动并且可以查看全图。点击公告栏进入公告栏界面。

2、在公告栏页面,页面展示最新公告,展示多行文本框,文本框内每行最多展示12个字,每个页面最多展示八行文字,可以上下拖动展示公告栏内容。点击右上角叉号或弹窗展示3秒后自动消失。

4.后台点击侧边栏内容管理下的公告管理,即可看到公告信息的列表管理,可对公告进行查看、编辑、上架、下架删除、新增的操作。用户数据1页展示10条数据,超出换页展示。列表数据按照上架的时间倒叙排列。       

 

方案

进行分页并返回公告列表信息的接口,返回字段暂定为id,标题,状态,简介

新增接口,标题,简介,状态默认为下架,正文

删除接口,根据id删除公告

编辑接口,返回需要编辑的字段

更新接口

 

5.可对公告标题(限制10字之内)、状态(全部、上架、下架)条件进行搜索。列表1页展示10条数据,超出换页展示

 

方案

Mysql动态查询

 

 

6.点击下架按钮则弹窗提示是否下架该公告?”是:提示下架成功;否:弹窗消失,展示当前列表。点击上架按钮则弹窗提示是否上架该公告?”是:提示上架成功;否:弹窗消失,展示当前列表。                

 

方案

上架接口,首先判断是否有别的上架公告,如果有别的上架公告,把别的公告的上架状态改为下架,因为公告只能有一条

下架接口

 

 

7.点击新增按钮根据公告的标题(限制10字之内)、公告正文进行添加。底部两个按钮分别为取消确定;点击取消按钮弹窗提示确定取消编辑公告内容?确定:弹窗消失回到列表页,取消:弹窗消失,仍留在当前页面。点击保存按钮弹窗提示公告内容保存成功

 

 

 

 

公告表

id

标题

状态

简介

正文

创建时间

修改时间

 

体育部

需求描述

作为一名运营者,我希望能有预留的空跳转模块,以便能后期能便捷添加新的功能模块。

验收标准:

在一级背景图上面可以看到体育部,对背景大小可手动缩放,滑动并且可以查看全图。点击体育部进入体育部界面。

 

 

 

2、在体育部页面,页面展示正在施工图片,并且显示“施工中,欢迎客观稍后再来”

方案

跳转到体育部的接口,但是该接口目前只有一张图片,不提供任何服务





明天计划的事

方案评审,但是数据库的excel还没写完



收获

修正了方案中的不足之处


遇到的问题



返回列表 返回列表
评论

    分享到