用户相关界面route
问题描述
明确和完善用户账户、历史、状态、分析等相关功能页面,方便用户个人信息和状态的查看、管理和分析,从而提升用户体验。为此,需设计和实现用户相关页面和跳转逻辑。
目标用户
期望描述
为用户实现如下界面:
-
/user (UserIndex) 用户个人概览页面,聚合显示用户公开信息、状态等 -
/user/:uid (PublicUserIndex) 用户公开概览页面,聚合显示用户公开信息、状态等 -
/profile (Profile) 用户个人信息页面 -
/profile/:uid (Profile) 用户公开信息页面 -
/profile/edit (ProfileEdit) 用户信息编辑页面:提供用户信息的编辑功能 -
/profile/fgtpwd(PasswordEdit)密码重置页面:提供利用邮箱或手机验证用户身份并重置密码的功能 -
/history (History) 个人历史记录概览,聚合显示用户相关记录 -
/history/:uid (History) 用户历史记录概览:用户所提交的题目、参加比赛以及曾浏览主题或讨论贴的记录 -
/history/browse (BrowseHistory)用户浏览记录页面:用户曾浏览的主题、讨论贴等记录 -
/history/exercise (ExerciseHistory) 用户题目提交记录页面:用户所提交的所有题目列表 -
/history/pack (PackHistory) 用户参加比赛记录页面:用户所参加的所有测试或比赛列表/history/pack (PackHistory) 用户参加比赛记录页面:用户所参加的所有测试或比赛列表 -
/analysis(Analysis)提交记录分析页面,聚合显示用户提交记录可视化分析与用户编程能力雷达图 -
/analysis/:uid(PublicAnalysis)用户公开分析页面 -
/analysis/exercise(ExerciseAnalysis)用户题目提交记录分析:可按科目或涉及知识点、时间等分别进行列表 -
/analysis/ability(AbilityAnalysis)用户编程能力分析:可根据用户提交记录及比赛记录进行用户编程能力评估,同时可以对用户进行针对性能力补强的建议 (分析聚合模块暂定题目与能力分析,后期可继续拓展)
以下为用户社交行为,后期可单独分离为新的issue,此处先做保留
- /community (Community) 个人社交概览页面:用户参与讨论、用户好友、用户所在圈子的记录
- /community/:uid (Community) 用户公开社交概览页面:用户参与讨论、用户好友、用户所在圈子的记录
- /community/likes (Likes) 个人最爱:用户收藏记录(此页面也可做为用户历史记录,暂时归为社交行为)
- /community/votes (Votes) 个人评价:用户发出的评价/投票/点赞记录(此页面也可做为用户历史记录,暂时归为社交行为)
- /community/discussions (Discussions) 个人讨论页面:用户在讨论区发送、评论的帖子记录
- /community/friends (Friends) 个人好友页面:用户好友列表、接收系统消息界面
- /community/friend/:fid (FriendDetail) 个人好友详情页面
- /community/chat/:fid (Chat) 私信页面:用户间发送私信、提交官方反馈页面
- /community/circles (Circles) 个人圈子页面:用户加入的圈子、所在组织列表
- /community/circle/:cid (CircleDetail) 圈子、组织信息页面
-
在任何页面点击右上部头像或昵称跳转至/user; -
在用户相关页面导航栏可跳转至/user,/profile,/history, /analysis; -
在Profile页面点击修改密码跳转至/profile/fgtpwd,点击修改信息跳转至/profile/edit; -
在History页面可跳转至/history/exercise,/history/brower,/history/pack; -
在ExerciseHistory页面点击相应题目可跳转至/exercise/:eid; -
在PackHistory页面点击相关比赛可跳转至/pack/:pid; -
在BrowerHistory页面可跳转至相关讨论区、讨论贴或相关主题; -
在Analysis页面可跳转至/analysis/exercise,/analysis/ability; -
在ExerciseAnalysis页面点击相应题目可跳转至/exercise/:eid; -
在用户四个聚合模块都提供公共页面,主要提供非本用户浏览,其他用户在好友区、讨论区或其他本用户昵称可能出现的页面点击本用户页面可跳转至/user/:uid; -
在PublicUserIndex页面可跳转至/profile/:uid, /history/:uid, /analysis/:uid。
额外需求
-
需要对接题目详情和比赛详情; -
可拓展讨论区、编程主题功能; -
可将题目按比赛、编程科目等进行细分;
设计原则
效果衡量
-
可实现基本页面(user、history、profile、analysis) -
完善analysis模块的可视化分析; -
完善analysis模块的能力分析与编程题目推荐功能;