练习-托育项目
需求
- H5
- CMS
- Node 服务
功能点
- 家长端,手机号,验证码登录
- 教师端,邮箱密码登录
- 每日评价数据保存
- 每月评价数据保存
- 家长端是否阅读过消息
- 切换学员
技术选型
使用 Vue 开发 CMS 系统,API 使用一套 Node 服务器。
构建完整的架构,添加 API 参数校验工具,添加全局异常处理,统一错误信息,密码加密,使用jwt
生成用户令牌
项目分层结构
在controller
中定义路由,接受参数和返回结果。
在service
中编写具体的业务逻辑。
在model
中定义模型,且操作数据库。
数据库结构设计
概要设计
轮播模块数据表
- ID(主键)、模块名称、模块类型、模块排序值、图片、跳转链接
学员信息表
- ID(主键)、学员号、学员姓名、学员性别、看护教师邮箱、看护教师姓名、家长手机号
家长信息表
- 家长手机号(主键)、密码
教师信息表
- 教师邮箱(主键)、密码、教师姓名
每日评价表
- ID(主键)、学员号、教师邮箱、家长手机号、评价状态、评价时间、已读手机号、在园数据、图片评论
月度评价表
- ID(主键)、学员号、教师邮箱、家长手机号、评价状态、评价时间、已读手机号、主题内容、教学目标、详细信息、本月进步、童言童语、难忘的事、想对爸爸妈妈说的
逻辑设计
nursery_banner
轮播模块数据表字段名称 | 类型 | 说明 |
---|---|---|
id(PK) | int | 主键 |
name | varchar(128) | 模块名称 |
type | varchar(32) | 模块类型 |
index | int(2) | 模块排序值 |
images | varchar(256) | 图片,多张图片用, 分割 |
link | varchar(128) | 跳转链接 |
nursery_user_info
学员信息表字段名称 | 类型 | 说明 |
---|---|---|
id(PK) | int | 主键 |
userCode(UK) | varchar(32) | 学员号 |
userName | varchar(8) | 学员姓名 |
userSex | varchar(4) | 学员性别 |
teacherEmail | varchar(64) | 看护教师邮箱 |
teacherName | varchar(64) | 看护教师姓名 |
parentPhone | varchar(64) | 家长手机号 |
nursery_parent_info
家长信息表字段名称 | 类型 | 说明 |
---|---|---|
id(PK) | int | 主键 |
phone(UK) | varchar(64) | 家长手机号 |
password | varchar(64) | 密码 |
nursery_teacher_info
教师信息表字段名称 | 类型 | 说明 |
---|---|---|
id(PK) | int | 主键 |
email(UK) | varchar(64) | 教师邮箱 |
name | varchar(64) | 教师姓名 |
password | varchar(64) | 密码 |
nursery_day_evaluation
每日评价表字段名称 | 类型 | 说明 |
---|---|---|
id(PK) | int | 主键 |
userCode(UK) | varchar(32) | 学员号 |
teacherEmail | varchar(64) | 看护教师邮箱 |
parentPhone | varchar(64) | 家长手机号 |
state | int(2) | 评价状态 |
date | date | 评价时间 |
isReadPhone | varchar(64) | 已读手机号 |
appraiseInfo | varchar(256) | 在园数据 |
appraiseText | varchar(1024) | 在园评价 |
appraisePicUrl | varchar(256) | 在园图片 |
nursery_monthly_evaluation
月度评价表字段名称 | 类型 | 说明 |
---|---|---|
id(PK) | int | 主键 |
userCode(UK) | varchar(32) | 学员号 |
teacherEmail | varchar(64) | 看护教师邮箱 |
parentPhone | varchar(64) | 家长手机号 |
state | int(2) | 评价状态 |
date | date | 评价时间 |
isReadPhone | varchar(64) | 已读手机号 |
subjectContent | varchar(1024) | 主题内容 |
teachingTarget | varchar(1024) | 教学目标 |
remark | varchar(1024) | 详细信息 |
monthImprove | varchar(1024) | 本月提升情况 |
tyty | varchar(1024) | 童言童语 |
teacherRemark | varchar(1024) | 让老师难忘的事 |
toParent | varchar(1024) | 想对爸爸妈妈说的 |
开发路由与接口
教师端
教师登录:
post - /loginByTeacher
- 入参:
email
,password
- 入参:
获取每日评价列表:
get - /getDayListByTeacher
- 入参:
date
,email
- 入参:
获取每日评价详情:
get - /getDayDetailByTeacher
- 入参:
id
,email
- 入参:
提交每日评价信息:
post - /postDayInfoByTeacher
- 入参:
id
,email
,appraiseInfo
,appraiseText
,appraisePicUrl
- 入参:
删除每日评价:
post - /delDayInfo
- 入参:
id
,email
- 入参:
获取月度评价列表:
get - /getMonthListByTeacher
- 入参:
date
,email
- 入参:
获取月度评价详情:
get - /getMonthDetailByTeacher
- 入参:
id
,email
- 入参:
提交月度评价信息:
post - /postMonthInfoByTeacher
- 入参:
id
,email
,subjectContent
,teachingTarget
,remark
,monthImprove
,tyty
,teacherRemark
,toParent
- 入参:
删除月度评价:
post - /delMonthInfo
- 入参:
id
,email
- 入参:
家长端
家长登录:
post - /loginByParent
获取每日评价列表:
get - /getDayListByParent
获取每日评价详细:
get - /getDayDetailByParent
获取月度评价列表:
get - /getMonthListByParent
获取月度评价详细:
get - /getMonthDetailByParent
CMS 系统
获取轮播:
get - /getBanner
新建轮播:
post - /addBanner
编辑轮播:
put - /editBanner
删除轮播:
delete - /delBanner
新增学员:
post - /addNewStudent
编辑学员:
put - /editNewStudent
删除学员:
delete - /delNewStudent
需要补充的知识
- sequelize、关联、多表查询