前端设计 - Tp0t-Team/Tp0tOJ GitHub Wiki
前端
vue.js + vuetify + vetur + vue-router + typescript + prettier(格式化) +scss + npm + vue-apollo(GraphQL)
推荐工作环境:
VScode + Vetur插件(用于Vue语法) + “Prettier - Code Formatter”插件(用于代码格式化)+ “Apollo GraphQL”插件(用于GraphQL语法)
普通用户
主页
index
为ifream包含的静态页面 V1.0版本LOGO为礼帽 V2.0版本LOGO为高顶礼帽 V3.0版本为飞行员帽
router: /
功能:
l 战队logo
l 简单宣传
公告版
router: /bulletin
功能:
l 赛事公告
l 社团事务公告(xxx加入战队,xxx因不活跃时间太长注销帐号==)
l 某人加入战队后自动进行公告 /V2.0
l 规则公告
l ### 需要有置顶功能,置顶的公告颜色有区别
排行榜
router: /rank/:page
功能:
l 排名、name、最后一次提交时间、总分数
l name指向个人信息页面链接
l 后面的只做表格显示
l top 3 单独列出,不影响分页,TOP3有头像,点击头像和名字都跳转到个人页面
l 分页
l 支持排序,具体参见vuetify
个人信息
router: /profile/:user_id
功能:
l 访问他人的个人信息页面,department student_number QQ mail 将不进行显示
l 当前已经获得分数
l 当前分数衰减系数 /v2.0
l 历史最高排名
l 目前排名
l /荣誉:某题一血、xx比赛参与者等等/ /v2.0
题目
router: /challenge
功能:
l #### 点击弹出模态窗口
l 窗口题目、分值、描述、Hint、附件地址或者网址
管理员用户
/*
### 排行榜、题目、个人信息、公告板、主页 与普通用户一致
*/
用户管理页面(需要admin权限)
用户信息
用户列表(对排行榜进行拓展)
router: /admin/user
题目管理
题目管理页面
router: /admin/challenge
注册页面
登陆页面