发表于: 2019-11-27 19:17:00
1 1238
一、今天完成的事
1.完成后端方案设计
(2)后台
需求:
作为后台管理者,我希望通过微信授权的到用户的id,昵称,用户修改后可以获得用户的年级,以及可以对用户进行东街和解冻的操作。这样便于我对用户的管理和情况逐一了解
作为后台管理者,我希望用户个人中心可以有绑定手机号和邮箱的功能,以便以后除了app之后能够转移用户信息
验收:
后台可看到用户基本信息,可对用户进行管理,可对用户进行增删改,冻结
每一页用户数据最多展示10条,超出换页
在用户管理标题旁边展示所有用户的数量总和。
列表展示用户序号、id、昵称、年级、手机号、邮箱、所在区域、逆袭豆、状态。
点击“冻结”按钮提示冻结,冻结用户无法登录
点击“查看”按钮跳转到用户详情页,展示该用户的信息
解决:
冻结用户状态码修改为1
查询所有用户信息,分页使用springboot-pagehelper
点击查看显示单个用户所有信息
****
4.文学部
(1)前台
需求:
作为用户,我希望可以看到文章列表,便于我更好的阅读文学文章
作为用户,我希望可以对文章进行点赞和收藏,便于阅读自己认为好的文章
作为用户,我希望在列表中可以展示作者的文章标题、作者昵称、发布时间、封面、摘要、收藏、点赞数,便于我快速了解文章内容
验收:
列表中可以看到文章标题、封面、分类、作者、摘要、收藏数、点赞数、发表时间
列表页的发表时间:1天之内都用小时来展示
点击列表页数据跳转相应的详情页。详情页展示文章的标题、发表时间、分类、作者、摘要、收藏数、点赞数。
解决:
查询所有文章,根据日期倒序展示
点赞收藏每次前台提交后端更新一次,每提交一次+1,取消-1
(2)后台
需求:
作为后台管理者,我希望可以对文章进行新增、编辑、上下架、搜索的操作
作为后台管理者,我希望可以展示列表中文章序号、标题、作者昵称、发布时间、封面、摘要、收藏点赞数,这样便于了解文章的主题
作为后台管理者,我希望可以对文章的标题、作者、内容做出编辑或新增的动作。对文章内容进行保存、取消、返回的操作
验收:
列表会展示文章的序号、标题、封面、分类、作者、摘要、收藏数、点赞数、状态。
列表可对文章进行查看、编辑、下架、搜索的操作。用户数据1页展示10条数据,超出换页展示。
列表数据按照上架的时间倒叙排列。
可对标题(限制25字之内)、作者(限制14字之内)、分类(全部、banner文章、card文章)、状态(全部、上架、下架)、点赞数、收藏数条件进行搜索。
点击“下架”按钮则弹窗提示“是否下架该文章?
点击“新增”按钮根据文章的标题(限制25字之内)、封面(上传文件在5M以内) 、分类(banner文章、card文章)、作者(限制14字之内)、摘要(限制28字之内)、正文进行添加。
解决:
列表展示所有文章,根据日期倒序展示
可根据条件查询相应信息
下架文章状态码改为0,默认下架
字数限制,文件限制由前端进行提示,后端数据库字段尽量设置大一点,如限制25字,可设置最大值为100字节,即33个中文字符,以免出现异常
5.影像部
(1)前台
需求:
作为用户,我希望视频可以按照年级、科目和视频列表展示内容
作为用户,我希望在视频列表中可以展示视频的详细信息
作为用户,我希望在视频列表中可以展示视频的详细信息
作为用户,我希望在视频详情里可以看到视频的标题、老师的昵称、发布时间、播放视频、文字内容、收藏点赞数
验收:
在学生证中设置年级后(如:高三),进入影像部,视频列表为高三的全部科目视频。
在学生证中未设置年级,进入影像部,列表页视频为全部科目视频。由用户自由选择。
年级科目:点击年级和科目后,展示的视频内容同步更新。
视频列表:列表中可以看到老师头像、昵称、视频简介、收藏数、点赞数、发表时间。
收藏数和点赞数不可以在列表页操作
列表视频中内容展示:展示视频标题、视频时长、观看视频按钮。
详情页展示视频的标题、老师昵称、发表时间、简介、视频播放框、正文内容、收藏数、点赞数。点击视频播放框播放按键对视频进行播放。
解决:
展示所有视频,根据时间倒序排放
点击视频可进入视频详情页,详情页展示基本信息
(2)后台
需求:
作为后台管理员,我希望有视频管理,以便于我能够管理视频信息
作为后台管理员,我希望视频有新增、编辑、查看、上下架功能,以便于我能够管理视频内容。
验收:
搜索框内容:标题、分类、所属年级、所属科目、点赞数、收藏数
后台点击侧边栏内容管理下的视频列表,即可看到对视频信息的管理,列表会展示视频的序号、视频标题、所属年级、所属科目、老师、收藏数、点赞数、编辑时间、状态。
可对上传的视频进行查看、编辑、上下架、搜索的操作。列表数据按照上架的时间倒叙排列,视频数据1页展示10条数据,超出换页展示。
点击“下架”按钮则弹窗提示“是否下架该视频?”
点击“新增”按钮,展示信息:所属年级、所属科目、老师、视频标题、分类:banner图和视频内容、视频简介、视频url地址、正文。
年级名称:初中、高中、初一、初二、初三、高一、高二、高三、其他
科目名称:对语文、数学、英语、物理、化学、生物、历史、地理、政治、其他
老师昵称和头像:老师昵称初始内容为空
视频默认下架状态。
可对视频内容进行正常的增删查改
解决:
展示所有视频列表,可根据条件进行条件搜索
视频默认下架,状态码为0,上架修改状态码
6.后台管理
需求:
作为后台管理者,我希望能看到所有管理员的信息
作为后台管理者,我希望设置权限,能对账户进行授权
作为后台管理者,我希望设置一个超级账号,能对所有管理进行操作
作为后台管理者,我希望能修改我的密码
作为后台管理者,我希望有角色管理,能对管理者权限进行设置
作为后台管理者,我希望对模块进行管理,以便我查看所有模块以及某个模块对应的父模块
验收:
后台增加账户管理,列表显示所有管理员,并能通过权限增删查改
设置修改密码模块
设置角色管理模块,列表展示所有角色,并能编辑、新增和删除
模块管理中,每个子模块对应父模块id,显示创建人,修改人id,创建时间和更新时间
解决:
展示所有管理员信息,密码不展示
用shiro框架管理后台管理员身份验证/登录注册
密码用md5加密,迭代2次
设置超级管理员,拥有最高权限
模块管理对应各个父模块id
2.增加几个接口文档
1.签到模块
(1)查询签到信息
请求地址: GET /all/check
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | Long | student_id | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
total_check | int | 最高累计签到次数 | |
highest_continued_check | int | 最高持续签到天数 | |
beans_amount | int | 逆袭豆总数 |
(2)签到成功
请求地址: PUT /check/setStatus
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | Long | student_id | 是 | |
date | Long | 日期 | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
total_check | int | 最高累计签到次数 | |
highest_continued_check | int | 最高持续签到天数 | |
current_continued_check | int | 当前连续签到次数,最高5次 | |
beans_amount | int | 逆袭豆总数 |
2.学生证模块
(1)首次授权
请求地址: POST /getInfo
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
code | 微信小程序code | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
data | array | 文章列表 |
(2)获取用户信息
请求地址: GET /myInfo
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | student_id | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
name | String | 学生昵称 | |
image | String | 学生头像 | |
grade | String | 年级 | |
beans_amount | int | 逆袭豆总数 |
(3)收藏列表
请求地址: GET /myConn
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | student_id | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
data | array | 文章列表 | |
data | array | 视频列表 | 点击视频收藏重定向,再返回文章收藏时同样 |
(4)绑定手机
(首次绑定)
请求地址: POST /phone
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | Long | student_id | 是 | |
phone | Long | 手机号 | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 |
(第二次进入绑定页面)
请求地址: GET /phone
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | Long | student_id | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
phone | Long | 手机号 |
(修改绑定)
请求地址: PUT /phone
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | Long | student_id | 是 | |
phone | Long | 手机号 | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
phone | Long | 手机号 |
(5)绑定邮箱
(首次绑定)
请求地址: POST /email
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | Long | student_id | 是 | |
String | 邮箱 | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 |
(第二次进入绑定页面)
请求地址: GET /phone
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | Long | student_id | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
phone | Long | 手机号 |
(修改绑定)
请求地址: PUT /email
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
id | Long | student_id | 是 | |
String | 邮箱 | 是 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 | |
String | 邮箱 |
(6)提交修改数据
请求地址: PUT /myInfo
请求参数:
字段 | 类型 | 说明 | 是否必填 | 备注 |
---|---|---|---|---|
字段 | 类型 | 说明 | 是否必填 | 备注 |
id | Long | student_id | 是 | |
name | String | 昵称 | 否 | |
grade | String | 年级 | 否 | |
image | String | 头像 | 否 |
返回参数:
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
code | int | 状态码 | |
message | String | 返回信息 |
二、遇到的问题
三、收获
学习微信小程序
调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。
后端获取code+appid+appsecret,调用api获得open_id,使用openid和session_key获取用户信息
自定义登录态用token装,然后放到数据库中
四、明天的计划
后端方案评审
评论