paper-manager
面向教师的试卷网络管理系统,基于Golang+vben。项目由前端后端两大部分组成,没有中间件。
main.go
统合前后端为单一可执行文件,静态访问交给前端,API部分则转交后端处理。
参数
监听处理点位
- /api/***: 所有信令 API
- /file/***: 所有上传的文件(动态文件)
- /upload: 上传文件接口,上传的文件会统一存至
./data/file/
以供访问
前端
位于frontend
文件夹
基于vben
编写前端页面并编译为静态文件以供main.go
嵌入。
登录页 /login
登录
输入账号密码登录。登录成功后,前端将查询并缓存用户名、权限、头像、简介等信息备用,同时导航到指定的家页面。
- 课程组长:导航到分析页
/dashboard/analysis
- 其他人:导航到工作台
/dashboard/workbench
登录时将依次访问/api/getLoginSalt
/api/login
/api/getUserInfo
忘记密码
点击忘记密码
后填写用户名与手机号码,再点击重置
,即可将重置消息报告给课程组长,由课程组长电话联系确认无误后,在系统中批准进行密码重置。
上报消息时访问/api/resetPassword
|
|
填写信息 |
上报消息 |
注册
点击注册
后填写用户名、手机号与密码,再点击注册
,即可将注册消息报告给课程组长,由课程组长电话联系确认无误后,在系统中批准以所填信息创建账号。
上报消息时访问/api/register
|
|
填写信息 |
上报消息 |
个人设置 /settings
个人设置位于右上角状态栏头像的下拉列表中,点击后即可对用户自己的信息进行设置。
基本设置
对用户的昵称、个人简介与头像进行自定义设置。
上传头像时访问/upload
保存设置时访问/api/setUserInfo
安全设置
对用户的密码、联系方式进行修改。
- 密码:导航至
/settings/password
进行设置,成功后将自动退出当前登录,同时在系统消息中通知课程组长。
- 联系方式:导航至
/settings/contact
进行设置,成功后会在系统消息中通知课程组长。
设置密码时访问/api/setPassword
设置联系方式时访问/api/setContact
注销
该功能位于右上角状态栏头像的下拉列表中,点击退出系统
后即可注销登录。
注销时访问/api/logout
仪表板/分析页 /dashboard/analysis
此页仅课程组长可见,向课程组长展示近一年的访问量信息。
载入时访问/api/getAnnualVisits
仪表板/工作台 /dashboard/workbench
显示用户收到的消息,用户可以选择删除
已读消息。对于课程组长,还提供对注册
和重置密码
消息的快捷处理按钮接受
,可以快速执行相应操作。下面是一个演示。
载入时访问/api/getUsersCount
/api/getMessageList
处理消息时访问/api/acceptMessage
/api/delMessage
1. 课程组长工作台
登入系统,修改了自己的信息,又收到了两个用户的注册请求
2. 课程组长工作台
接受2人注册请求
3. A老师(filemgr)工作台
课程组长接受注册申请后,更改了个人信息
4. B老师(user)工作台
课程组长接受注册申请后,更改了个人信息和联系方式
5. 课程组长工作台
最终的消息状态
仪表板/用户管理 /dashboard/account
此页仅课程组长可见,提供用户管理功能,可以禁用用户、编辑用户权限和信息。下面是一个管理用户的例子。
载入时访问/api/getUsersList
禁用账户时访问/api/disableUser
设置用户信息时访问/api/setUserInfo
设置用户权限时访问/api/setRole
1. 上一板块演示后的用户管理界面状态
2. 课程组长编辑filemgr用户的信息
3. A老师(filemgr)工作台上的显示
4. 课程组长禁用filemgr用户
5. filemgr用户无法登陆
6. filemgr用户通过重置密码向课程组长发出恢复账号申请
7. 课程组长接受申请
8. A老师(filemgr)成功登录进入工作台
9. 课程组长将A老师(filemgr)的权限更改为归档代理
10. A老师(filemgr)工作台的显示
试卷库 /filelist
后端
位于backend
文件夹
基于标准http
库,不用重框架,负责提供各种API。