前端设计 - 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

注册页面

登陆页面