悟空考研 微信WebApp 研究生端 需求文档
1. 项目介绍
本文档为核桃壳 在2016.3~2017.8月期间,为悟空考研项目编写需求文档。悟空考研的整体项目结构如下图所示,在不同平台下拥有14条业务、产品线。整体结构如下图所示:
因为原公司已经倒闭,项目停止运营。不想此项目就在网上完全销声匿迹,所以特地将以前的相关核心文档整理出来,有以下几个目的:
- 献给一起为此项目奋斗过的小伙伴们,做为留念;
- 项目复盘,会对文档进行修正,反思;
- 给未来的产品同学学习参考。
本篇是在微信服务号中,让研究生能够为考生提供专业课服务的WebApp端。
备注1: 核桃壳拥有此份文档的著作权,且拥有所有的历史版本,有完全的自证能力和使用权利,不会有任何转载许可。
备注2: 本份文档编辑发布于2018-10-17,之后会有文档内容的修正和补充
2. 更新日志
2017-8-18
- 更新模板模板消息的课程7 模板消息
- 临时需求:考生抵达任何科目详情页,将默认关注此科目
2017-7-25
2017-7-13
- 根据新的版本,对需求文档的整体结构进行了重构
- 基本完成第三章节,对科目相关的页面和逻辑的描述
3. 序
3.1. 整体页面逻辑与关系
3.2. 科目,专业,研究生的关系
3.3. 部分旧数据的继承问题
3.3.1. 关注数据
3.3.2. 研究生辅导课
- 辅导课只跟研究生关联,不再和科目挂钩。辅导课的意义在于
3.4. 研究生活跃计算参考
- 可能作用于研究生的排序
- 可以每天计算并更新一次
- 本方案只做参考,不做硬性要求
3.5. 部分开发中出现的问题解答与记录
3.5.1. 用户如何取消关注科目,取消关注专业,取消关注研究生?
- WebApp只是像NativeApp,不便于在关注列表中进行滑动取关的操作,将保留在各自的详情页,点击取关按钮
- 另此WebApp依托于微信公众号,用户的取关行为更可能来源于取关公众号,故不着重设计
4. 常用设计模块
个人想法:
- 之后会在各章节把常用的功能尽量多抽象出来
- 好处就是便于画图,也应该会节省大家开发的时间
4.1. 研究生选择模块
由三部分构成:
- 顶部的标题(图中为
选择提问的研究生
) - 推荐的研究生列表
- 此列表中最多三个人
- 以最后一个与考生产生交互的顺序进行排列,交互行为包括(浏览访问科目详情页和研究生主页,向研究生提问,购买资料和课程等,关注的科目更新研究生)
- 查找更多学长
4.2. 提问模块
- 从4.2版本起,用户的所有提问都必须付费
提问说明
作为一个整体,用户点击整条都可以滑动展开或者闭合提问说明部分
提问模块分为两种情况
用户没有提问过
用户已经提问过
补充说明:
- 大部分情况下是没有
取消
按钮的 - 只有当用户在自己的提问历史记录中追问研究生时,有
取消
按钮,且没有提问说明
4.3. 资料列表
但凡一个科目下有资料可以出售的都会显示此资料列表,无论用户否已经购买
- 每个单元格有三种状态:
未购买
可以选中未购买
已经选中- 已经购买(没有框,不可勾选)
未购买
的选中状态将影响底部的支付金额- 点击预览跳转到2.6 资料预览页面,资料预览只预览此份资料,如果是非试卷资料需要有多页预览
- 未购买的资料附加信息显示
价格
/页数
- 已购买的资料显示
已购买,在微信【我的资料】中查看发送
4.3.1. 纸制和电子版
纸制版区别:
- 纸制版资料可以重复购买,
- 不会显示在我的资料里发送
- 标题的前缀不一样
- 纸制版需要填写收件地址
4.3.2. 按科目分组
4.3.3. 按类型分组
按目前有的资料类型大致按以下顺序进行分布:
- 真题试卷
- 真题试卷答案
- 研究生复习笔记
- 参考书
- 模拟题
- 科目讲义
- 本科期末试卷
- 考试范围
- 【剩余的顺序任意】
4.4. 寻找研究生
支持人数的计算与显示:
- 点赞支持的人数保证至少有一个人,显示人数 =(真实人数)* (随机倍数1
3) + (随机数110) - 可以前期先一次性把所有数据都生成好,做为基数,头像随机的从我们的用户中取(最好是取关用户)
- 真实人数=关注过的人数+提问过的人数+买过资料的人数
- 筹集金额使用真实数据,避免有研究生入驻后索要
操作:
- 在科目没有研究生入驻时,会出现此模块
- 无论哪一种支持,都相当于关注了此科目
- 点赞后就算关注此科目了
- 点击现金支持,显示5.1 支持研究生入驻
点击现金支持后,显示以下筹支付框
- 最新一个点赞的用户头像总是排在头像的最前面
- 下图只是示意,应该是分别
感谢
4.5. 资料预览
主要是下方的文案显示
类型 | 描述 |
---|---|
真题 | 此份资料只有考试题目,不包含答案 |
真题(回忆版) | 此份资料只有考试题目,是回忆版题目,不包含没有答案 |
答案 | 此份资料是对应年份初试真题的答案 |
其它资料(研究生填写资料) | 由研究生上传时填写的描述进行补充 |
其它资料(研究生未填写资料) | 请预览此份资料随机抽取的X页 |
4.6. 研究生辅导报名页面
4.7. 研究生介绍页面
显示项目 | 数据来源 | 如果此研究生之前已经入驻相应的科目 |
---|---|---|
关注人数 | 指关注此研究生的人数 | 将此科目的关注用户复制一份过来 |
她的回答 | 此研究生回答过问题的数量 | 将原科目主页下此研究生剪切过来,不区分科目 |
上传资料 | 研究生自己上传的资料总数 | 仅算此研究生自己上传的数量,不包括平台的数量 |
学校,年级,专业 | 专业没有先不显示,等待研究生补充 | |
个人简介 | 由研究生在新版中进行填写 | 如果没有,显示 暂未填写个人简介 |
她的初试专业科目 | 显示此研究生初试考试科目 |
5. 科目
5.1. 科目相关的设计图与交互逻辑
5.2. 科目导航
- 由
地区
,学校
,初试课科目
三个部分组成 - 用户依次筛选,最后通过初试专业科目条目进入到3.3 科目详情页中
- 用户从微信公众号中点击【按科目进行查找】按钮后,需要根据用户的浏览记录和关注情况进行判断
用户状态 | 参考章节 | 判断优化级 |
---|---|---|
用户没有任何访问记录 | 3.3.1 没有浏览记录和关注记录 | 低 |
用户有浏览记录,没有关注的科目 | 3.3.2 有浏览记录没有关注记录 | 中 |
用户有关注的科目 | 3.3.3 有关注记录 | 高 |
5.2.1. 没有浏览记录和关注记录
交互细节:
- 用户进入后,默认展开
1 地区选择
学校选择
和初试专业科目选择
不可点击
5.2.2. 有浏览记录没有关注记录
数据返回:
- 返回用户最近的3条浏览科目,最后访问的科目在最前面
- 科目条目以
学校 科目代码 科目名称
进行显示
交互细节:
地区选择
按钮处于高亮状态,指示用户可以点击- 用户如果忽略底部的访问科目,点击上方的
1.地区选择
,最近访问科目
部分消失
5.2.3. 有关注的科目
数据返回:
根据用户关注的科目数量进行返回
- 如果用户关注科目数量 <= 3, 则显示用户关注的所有科目
- 如果用户关注的科目数量 > 3, 则显示用户最新关注的两门科目,且如下显示
查看全部
按钮 - 最新关注的科目在最上方
交互设计需求:
- 科目条目以
学校 科目代码 科目名称
进行显示 - 最后一条显示为
查看全部
,点击后跳转到3.3 关注的科目列表页面 - 用户如果忽略底部的
我的考试科目
,点击上方的1.地区选择
,我的考试科目
部分消失
5.3. 我关注的初试科目
数据返回:
- 返回此考生所有关注的科目
- 根据科目的学校进行聚合
- 排序不做特别的要求
交互要求:
- 返回上级菜单根据用户实际进入到此页面的情况进行返回
- 相应的科目条目可以点击,点击后进入到3.4 科目详情页
5.4. 科目详情页
5.4.1. 科目介绍
数据显示:
- 显示
学校
,科目代码
+科目名称
,校徽
,关注
- 关注人数可以由原科目详情继承
- 未来可能展示的数据,
科目大纲
,复习心得
交互操作:
- 点击关注后切换成已关注
- 下方的关注人数+1,取关-1
5.4.2. 科目资料列表
5.4.2.1. 科目有资料
返回数据:
- 返回此科目下的所有资料,包括研究生上传资料,且不做平台和研究生的资料区分
- 资料按照上传的分类进行聚合
资料条目展示:
- 已购买的资料显示为
已购买,在【我的】菜单中进行发送
- 未购买的资料显示
价格
/资料页数
- 电子版资料在标题前面添加
【电子版】
,纸制版资料在标题前面添加【纸制版】
交互细节:
- 用户在选中未购买的资料后显示底部的计费菜单栏,且会随着用户选中的资料金额的总额变化而变动,如果总金额为0,计费菜单栏消失
- 已经购买过的资料则没有勾选项
- 资料预览参考2.6 资料预览
- 全选为此分类下的资料全选
5.4.2.2. 科目下无资料
无论是从短期还是长期,都会有相当的科目没有资料或者研究生。
现在通过重新设计空白页,能够争取让我们能不提供给用户资料和信息的时候,与用户产生第一次交互。
- 此页面考生的需求需要进行记录,未来将安排在后台管理系统的科目库中进行查询。
- 此页面的留言将不再做为提问显示
- 不对留言次数做限制,但限制提交频率,一天一次
5.4.3. 科目研究生
5.4.3.1. 有研究生入驻
返回数据:
- 返回入驻此科目的所有研究生
- 因为是在科目详情页,所以研究生主要显示的专业信息
- 最活跃的研究生在最顶部,计算方法参考1.4 研究生活跃计算参考
交互需求:
- 现在所有的详情页为整体页面,所以不做细致模块的区别跳转,点击任何研究生卡片的区域都跳转到5.3 研究生个人主页
5.4.3.2. 无研究生入驻
- 加载2.4 寻找研究生模块
- 点击查看研究生入驻后的辅导课,跳转2.2.4 研究生指导介绍
关注与表示关注:
- 同一个意思,操作结果相同
- 关注人数也是同步联动
预提问:
- 不再计入正常提问的列表中
- 在此期间累积的问题将发送给第一个入驻此科目的研究生
- 此预留提问免费,但限制一周留言一次
现金支持:
- 可以奖励给第一个入驻的研究生
- 显示真实数据
查看研究生入驻后的辅导课:
跳转到研究生辅导课报名页面
5.4.4. 科目适用专业
返回数据:
- 适用专业按照专业所在的学院进行展示
- 学院的数据请保持与研招网中的保持一致
- 理论上不可能为空,在上线之前先跑一遍数据以保证每一个科目下的适用专业都不为空
交互细节:
- 绿色提示条中的文字为固定内容,不做修改
- 相应的专业点击后进入到3.4 专业详情页中
6. 专业
如果对,专业,门类,一级学科,二级学科有疑问,可以参考学科、专业目录
导航中,返回的结果,一级学科和二级学科参考上链接中的表
按专业搜索的页面结构如下图所求,由两部分构成:
6.1. 专业相关的设计图和交互逻辑
6.2. 导航模块介绍
6.2.1. 导航栏
作用:
- 对用户的选择做引导
- 指示用户当前所处的选择位置
- 通过导航栏进行回退操作
- 引导用户最终点击进入到4.3 专业详情页
交互需求:
- 每一次用户从
结果列表
中选择后,导航栏
进入下一级显示 - 上一级显示的名称变为上一级
结果列表
中做的选择,且上一级的标题显示变成可以点击,>
的符号变为X
,指导用户可以进行取消之前的选择 - 如果整个导航栏中的字太多,放不下,则可以左右进行滑动
- 此导航栏需要有一定的记忆功能,时间可以不长,但需要有,即5分钟内从此页面跳出后,再回到此页面时,还保持此时的选择
- 具体操作可以参考后面的交互举例
交互举例:
下图中,整个标题不可点击
一级学科
的标题变更为0101哲学 X
,此标题可以进行点击,点击后回到情况1二级学科
选择完成后,为了保证标题不太长,只显示截取二级学科
6位中的后两位,此时点击06美学
回到状态2,点击0101哲学
回到状态1
6.2.2. 结果列表
返回的结果分两种展现形式和使用列表,如下图所示
一级学科
- 一级学科是固定数量(200个左右),所以可以使用静态数据
- 结果需要按照12个学科门类(两位数)进行分类
二级学科
- 二级学科使用静态数据
- 如有个别学科没有二级学科,使用一级学科的名字
招生学校
- 因为部分学校会变动,且数据查询结果比较复杂,请从服务器请求返回数据
6.2.3. 有专业详情页的浏览记录
数据返回:
- 最多返回三条浏览记录
- 最新浏览的专业在最上
交互需求:
点击专业直接跳转到4.3 专业详情页
6.2.4. 有关注科目
数据返回:
- 如果用户关注科目数量 不多于三个, 则显示用户关注的所有科目
- 如果用户关注的科目数量 多于三个, 则显示用户最新关注的两门科目,且如下显示
查看全部
按钮
交互需求:
点击查看全部,跳转到4.4 我关注的招生专业
6.3. 专业详情页
6.3.1. 专业面板
数据展示:
- 校徽
- 学校名称
- 专业名称,保持与研招网一致
- 关注人数
- 当前用户是否关注
交互需求:
- 关注后,关注人数联动变化
6.3.2. 初试科目
参考数据
- 此数据来自于研招网
- 未来专业可能还需要对不同学院进行细分
- 预留
初试科目
- 返回的科目按专业所在院系进行聚合
- 按之前的参考数据,同一个院系下,一个专业可能有多个研究方向,不同研究方向的专业科目不同,请直接聚合在相应的院系下
6.3.3. 专业研究生
6.3.3.1. 有研究生入驻
数据返回
- 返回所有能够和此专业关联的研究生,排序以1.4研究生的活跃度来计算
- 研究生信息中显示他入驻的科目
交互需求:
- 现在所有的详情页为整体页面,所以不做细致模块的区别跳转,点击任何研究生卡片的区域都跳转到5.3 研究生个人主页
6.3.3.2. 无研究生入驻
整体参考3.4.3.2 无研究生入驻
区别:
关注的是专业,所以卡片中相应的文案也是专业
6.3.4. 专业交流
数据返回
- 如果此专业下没有研究生,或者没有过问答,也就没有问答数据,所以此Tab不可点击
- 返回此专业下所有研究生的正常问答
- 最新回答的问题在最上面
交互操作
访问她的主页
跳转到此研究生的个人主页
6.4. 我关注的招生专业
数据返回:
- 返回此考生所有关注的专业
- 根据专业的学校进行聚合
- 排序不做特别的要求
交互要求:
- 返回上级菜单根据用户实际进入到此页面的情况进行返回
- 相应的科目条目可以点击,点击后进入到4.3 专业详情页
7. 研究生
7.1. 研究生相关的设计图与交互图
7.2. 新入驻研究生
- 通过悟空考研的公众号的二级菜单直接点入
- 与之前版本相比,配合新的研究生主页,简化交互细节
- 强化关注研究生后,从此页面进入到研究生主页的便捷性
7.2.1. 最新入驻列表
数据返回:
- 按入驻时间依次返回,最新入驻(审核通过)的在最顶部
- 初次加载数据(包括选择学校后)返回最多20条
- 每次到底部加载完成后,显示加载更多,再获取10条研究生数据
如果一个研究生入驻了两个科目,则显示两条记录
研究生信息显示
- 性别(通过icon来进行标识)
- 昵称(微信注册时的昵称)
- 入驻时间(只有今天和昨天入驻的进行显示)
- 学校,专业(新版入驻研究生都有专业)
点击交互
- 可点击区域为整个单元格
- 点击后跳转到此科目的5.3 研究生个人主页,
7.2.2. 无关注研究生
7.2.3. 有关注研究生
- 返回所有关注的研究生
- 点击效果与5.2.1 最新入驻研究生保持一致
7.3. 研究生个人主页
- 研究生个人主页是每个研究生都有的个人主页
- 研究生的个人信息介绍参考2.8 研究生介绍页面
7.3.1. 研究生资料
- 返回研究生入驻科目的资料,包括平台、此研究生上传
- 不包括其它研究生上传此科目的资料,避免冲突和混淆(比如同时上传某一科目的笔记,PPT等)
- 上传的资料按不同的科目进行分组,不细分资料的类型
7.3.1.1. 研究生无资料
立即咨询
跳转到研究生问答
模块
7.3.1.2. 研究生有资料
参考2.3 资料列表模块
7.3.2. 研究生问答
7.3.2.1. 研究生问答没有历史记录
- 所有提问现在必须付费后才能发送成功,避免在后台堆积无效问题
- 提问默认选中
3块钱
的付费金额 - 因为没有提问历史做为参照,所以加载如下图所示的
提问说明
- 点击发送后,用户的第一次提问会弹出5.3.2.4 用户首次提问反馈
7.3.2.2. 研究生问答有历史记录
- 考生还未提问过,所以提问说明需要展开
- 近期问题只加载本科目下的所有问答,最新回答的在最上面
- 点击发送后,用户的第一次提问会弹出5.3.2.4 用户首次提问反馈
- 添加查看我的提问,如果用户没有提问过,则不可点击,如果用户提问过,参考5.3.2.3 用户提问过
7.3.2.3. 用户提问过
- 学长/学姐根据当前研究生性别显示
- 支付价格为3元,根据情况最好可以灵活配置文案和支付价格
- 用户提问过,可以在提问记录中,过滤显示我的提问
7.3.2.4. 用户完成首次提问
用户完成首次提问后,弹出以下提示框,引导用户进入到3 我的学长学姐页面,对提问记录进行查看
点击前往,跳转页面3.2 我的提问
7.3.3. 研究生辅导
- 文案和课时数为后端可配置
- 与之前版本对比,去除购买用户头像、展示图
- 用户点击卡片上的
购买
按钮,生成订单 - 用户点击
查看上课详情
,跳转到2.7 研究生辅导报名页面 - 免费预约同样跳转到2.7 研究生辅导报名页面`
关于课程与原来研究生课程购买的关系与区别,及未来可能的需求:
当前每个科目下有研究生入驻后,都是五种课程,描述固定且相似,但购买的用户将不同
现在的课程只是对原来的课时数进行了一下包装
点击
+关注
后,显示已关注
报考人数来自关注人数,购买资料=复习资料购买数+研究生辅导课课时数
研究生的入学时间如果没有,则统一显示2016级,而在下一版的研究生注册会有年级选择
8. 我的
8.1. 我的相关页面的设计与交互逻辑
8.2. 我的主界面
- 用户ID由后台服务器生成,点击后复制相应的用户ID,便于跟管理员进行沟通
- 购买资料,点击后跳转6.3 购入的资料
电子版接收邮件
和纸制版接收地
址 点击后跳转 6.4电子邮箱录
入后显示完整的电子邮箱地址纸制版接收地址
显示录入地址的前五个字提问记录
点击后跳转到提问页面,参考6.5 提问记录章节专业课辅导
点击后跳转到6.6 专业课辅导章节
8.3. 购入的资料
- 返回所有用户购买的资料
- 所有资料按照
学校-科目
进行划分归类 - 排序不做限制
- 如果用户没有填写邮箱,点击
发送到我的邮箱时
跳转到6.4 邮箱
8.4. 收件地址|邮箱|研究生评价
- 此设计图为三个页面的合集
- 分别是 辅导课完成后,给研究生的评论,资料的邮箱地址和纸制资料的收件地址
- 点击提交后,提交成功返回之前的页面
- 研究生的评价请注意替换研究生的昵称
8.5. 提问记录
8.5.1. 没有访问记录和匹配研究生
- 这种情况是假定新关注的用户,没有到达到过任何有研究生入驻的2 科目详情页,直接进入了3 学长学姐的菜单中,所以我们需要将用户引流回查找科目详情页的流程中
- 点击按学校专业进行查找进入1.2 按专业搜索,点击按考试科目进行检索,进入1.1 按学校搜索
- 点击最新问答,进入3.4 最新问答页面,展示一下我们的问答体系
8.5.2. 如果有访问记录,没有提问
- 用户之前在公众号中有过以下操作:
- 购买过资料的
- 关注过科目的
- 有浏览访问记录
这些有研究生入驻,且还没有跟这些研究生提问过的,加载3.1.1 研究生选择模块和3.1.2 提问模块进行显示
- 研究生列表点击后是选中的效果
8.5.3. 已经有提问记录
- 如果用户已经和研究生有过提问记录(没有研究生入驻的不算),显示如下提问记录列表
- 提问的研究生对象固定,不会因为变更科目入驻人而变更
- 点击继续提问在列表的顶端弹出 3.2.2中的提问面板
8.5.4. 用户提问
用户点击顶部的提问按钮
因为没有指向性,所以需要加载
研究生列表模块
和问答回复模块
,默认选中最新提问的研究生用户点击提问记录下方的
继续提问
则在提问记录的下方直接加载
问答回复模块
,直接指向的此研究生,同时隐藏返回科目详情页
和继续提问
两个按钮
8.5.4.1. 正常提问回答
点击继续提问后,加载提问模块
,点击提问模块
的取消按钮,提问模块消失
8.5.4.2. 研究生未回答
仅有返回科目详情按钮
8.5.4.3. 提问违规
- 无论考生提问违规,还是研究生回答违规,都应该只可见管理员的回复
- 仅有返回科目详情按钮
8.6. 专业课辅导记录
8.6.1. 专业课确认流程
辅导课的上课流程:
8.6.2. 考生并没有购买辅导课
购买记录
不可点击- 查看
悟空考研的辅导课
跳转2.7 研究生辅导报名页面
8.6.3. 有上课记录
上课记录目前仅有三种记录类型(如下图所示):
- 辅导结束
- 确认完成
- 等待确认
请注意三种记录上的显示细节
- 文案可以再优化,但基本固定如下
- 课程确认的细节要突显,人物,课时消耗等
8.6.4. 购买记录
- 只有两种情况,
正在进行
和辅导结束
- 用户在写好评后,此按钮消失
- 如果用户购买了同一名研究生的辅导课,如下图所示,在相应的购买次数后加上编号
8.7. 订单
8.7.1. 资料详单确认页
- 资料购买清单,会显示各份资料的标题和价格
- 如果用户没有填写过邮箱,点击微信支付时需要对用户进行提醒
- 设置为我的目标院校的数据作为保留,先储存
- 注意事项的文案可以调整
8.8. 资料购买完成
目的:
- 返回订单编号,可以方便用户通过 订单编号与客服进行反馈
- 告诉用户资料已经送达,再次让用户确认邮箱
- 资料的储存位置
点击访问我的资料,跳转到我的资料页面
8.9. 辅导课程购买订单
- 与资料购买的订单页面类似,但有以下区别
- 填写的是电话而不是邮箱
- 购买清单只有课程卡片,但只有课程
卡片的图片
,标题
和价格
- 买后设置中没有立即发送到邮箱
- 注意事项的文案待修正
- 微信支付完成后,跳转到3.3.3 考生信息录入,由用户来填写信息
9. 模板消息
9.1. 模板消息的类型与出发条件
模板编号 | 模板类型 | 触发条件1 | 触发条件2 | 点击跳转 | 启用 |
---|---|---|---|---|---|
2 | 研究生动态2——研究生回答问题 | 考生关注此研究生 | 研究生回答了其它考生的问题 | 研究生主页 | |
3 | 问答被研究生回答 | 考生向研究生提问 | 研究生回答问题 | 我的问答 | |
4 | 提问违规 | 考生向研究生提问 | 提问被判定违规 | 我的问答 | |
5 | 提问管理员回复 | 考生提问违规或研究生提问违规 | 管理员在管理端进行回复 | 我的问答 | |
6 | 科目动态1——新资料上传 | 考生关注科目详情页 | 管理员上传了新资料 | 科目详情页 | |
7 | 科目动态2——研究生入驻 | 考生关注科目详情页 | 研究生入驻此科目 | 科目详情页 | |
8 | 提示购买辅导课 | 访问科目详情页或研究生主页 | — | 专业课辅导预约页面 | |
9 | 辅导课——单次辅导课完成 | 研究生发起确认通知 | — | 我的专业课辅导 | |
10 | 辅导课——全部课时完成 | 考生购买的一个系列课程的课时完成 | — | 我的专业课辅导 | |
11 | 辅导课——中止 | 管理员在后端管理系统中编辑课程中止 | — | — | |
12 | 支付完成1——购买资料 | 考生购买完成资料 | — | 我的资料 | |
13 | 支付完成2——购买辅导课 | 考生支付完成辅导课的订单 | — | 我的专业课辅导 |