大学生专区 PRD

v1.0 | 范围:专区框架 · 学校选择 · 达人榜 · 校园互助 · 校园社区 · 学籍认证 · 圈子 · 企业直招 | 读者:产品 / 研发 / 测试 / 设计

0. 文档约定

项说明
优先级P0 本期必做(缺失即不可上线)|P1 本期应做(可延后一个版本)|P2 后续迭代
编号规则FR-x.y 功能需求|BR-x.y 业务规则|FD-x 字段定义|ST-x 状态机|EX-x 异常兜底|AC-x 验收用例
需求描述要求每条需求可测试:有明确触发条件、输入、输出

1. 术语与角色

术语定义
校园互助大学生专区内「技能 / 求助 / 组队」内容的聚合模块,专区默认模块
校园社区专区内「校园动态 + 圈子」的社区模块
企业直招企业面向大学生发布的招聘/项目内容模块
认证学校用户通过学籍认证绑定的学校,唯一且不可同时绑定多所
浏览学校用户当前正在查看内容的学校,可与认证学校不同
展示范围技能/求助的可见范围:仅本校 / 同城多校 / 不限
角色未认证用户 · 已认证学生 · 社会用户 · 企业账号

2. 模块地图

编号模块需求内容
M1专区框架FR-1.x顶部栏、模块 tab、默认模块、状态记忆
M2学校选择FR-2.x省份分组、搜索、切换浏览学校
M3达人榜FR-3.x你可能认识的达人
M4校园互助FR-4.x筛选、子 tab、内容卡片、发布挂件
M5校园社区FR-5.x认证氛围条、动态流、发布动态
M6学籍认证FR-6.x拍照识别、表单、提交、审核
M7圈子FR-7.x全部圈子、加入/退出、创建圈子
M8企业直招FR-8.x岗位列表、企业发布
M9发布FR-9.x专区发布(学校必选)、展示范围

3. 功能需求

M1 专区框架

编号功能优先级需求描述
FR-1.1专区入口P0首页「大学生专区」卡片点击 → 进入专区首页
FR-1.2顶部栏P0左侧返回;中间学校名(可点击);右侧无操作
FR-1.3模块 tabP0校园互助 / 校园社区 / 企业直招 三个 tab,可切换
FR-1.4默认模块P0进入专区默认选中「校园互助」
FR-1.5状态记忆P1本地记住最近一次的浏览学校与模块,再次进入时恢复
FR-1.6达人榜常驻P0校园互助与校园社区两个模块均展示达人榜,位置固定在内容区上方
编号规则
BR-1.1顶部学校名显示取当前浏览学校;若浏览学校为空则显示定位省份,再空则显示默认城市
BR-1.2已认证用户顶部学校名后追加标签:认证学校=浏览学校 →「已认证」(绿);否则 →「未认证」(灰)
BR-1.3切换模块不重置滚动位置之外的任何状态;切换模块后列表回到顶部

M2 学校选择

编号功能优先级需求描述
FR-2.1打开选择器P0点击顶部学校名 → 底部弹层「选择学校」,弹层高度 70% 屏幕
FR-2.2搜索P0输入 ≥1 字符即实时过滤学校名;支持全称与简称(如"同济")
FR-2.3省份切换P0横向省份 chips,切换后列表刷新为该省学校
FR-2.4学校列表P0学校 chips 列表;列表头显示「{省} · 共 {n} 所(可切换省份或搜索其他学校)」
FR-2.5选中生效P0点击学校 → 顶部学校名更新 → 内容区整体切换该校内容 → 关闭弹层 → 轻提示「已切换到 {学校}」
FR-2.6切回本校P1已认证用户浏览学校 ≠ 认证学校时,顶部显示提示条「已认证 {A},正在浏览 {B} · 切回本校」,点击一键切回
字段类型必填来源校验说明
FD-2-1schoolIdString是用户选择—学校唯一标识
FD-2-2schoolNameString是学校库≤20 字学校名称
FD-2-3provinceString是学校库—所属省份,用于分组与 chips
FD-2-4certStatusEnum是系统unverified / pending / verified / rejected学校认证状态
编号规则
BR-2.1默认省份 = 定位解析省份;无定位 → 默认省份(上海)
BR-2.2学校排序:同城 → 同省 → 其他,同层内按学校热度(近 30 天内容量)降序
BR-2.3切换浏览学校不改变认证归属;认证学校仅可由学籍认证流程变更
BR-2.4未认证用户选择学校仅影响浏览范围,不产生认证状态

M3 达人榜

编号功能优先级需求描述
FR-3.1展示P0专区内容区顶部固定卡片,标题「你可能认识的达人」,一行横排 4 个,可横向滑动
FR-3.2卡片信息P0头像、昵称、标签(≤2)、技能数、信用分
FR-3.3点击P1点击卡片 → 进入该用户个人主页
编号规则
BR-3.1候选集 = 同校 ∪ 同圈子用户;若浏览学校为空,则放宽为同城
BR-3.2排序:同校优先 → 近 30 天完成订单数降序 → 技能数降序 → 信用分降序
BR-3.3排除:本人、已拉黑、信用分 ≤50、被限流账号
BR-3.4同一用户 24 小时内不重复出现在「换一批」前后两屏(P2)
编号标签规则
BR-3.5接单王 = 近 30 天完成订单 ≥20
BR-3.6新晋达人 = 入驻 ≤30 天 且 完成订单 ≥5 且 好评 ≥4.8
BR-3.7校园达人 = 近 30 天完成订单 ≥50
BR-3.8好评之星 = 好评率 ≥98% 且 评价数 ≥20
BR-3.9认证学生 = 学籍认证通过;信用极好 = 信用分 ≥95
BR-3.10同屏最多展示 2 个标签,优先级:认证学生 > 信用极好 > 校园达人 > 接单王 > 好评之星 > 新晋达人

M4 校园互助

编号功能优先级需求描述
FR-4.1一级筛选P0为你推荐(默认)/ 单纯任务 / 日结任务 / 远程助理 / 一级标签(校园跑腿、学习辅导、家政维修、摄影设计、活动组局、情绪陪伴、二手转让、新奇体验)
FR-4.2子 tabP0「为你推荐」下含:找服务(技能)|接任务(求助/订单)
FR-4.3内容卡片P0见 FD-4 字段表
FR-4.4发布挂件P0右下悬浮 + 按钮 → 进入专区发布(见 M9)
FR-4.5上滑分页P0每页 20 条,到底提示「没有更多了」
字段类型必填来源校验说明
FD-4-1coverUrlString否发布内容≤9 张无图显示占位图
FD-4-2priceNumber / 枚举是发布内容≥0 或「看着给」显示为 ¥{price} + 单位
FD-4-3priceUnitEnum否发布内容次 / 小时 / 天默认「次」
FD-4-4titleString是发布内容≤30 字超长 2 行省略
FD-4-5descString否发布内容≤100 字2 行省略
FD-4-6publisherNameString是用户资料—昵称
FD-4-7publisherSchoolString是发布内容—学校名;未认证显示省份
FD-4-8joinCountNumber是系统≥0已报名人数,显示「已报名 N 人」
FD-4-9deadlineTimestamp否发布内容> 当前时间显示「今天 14:34 前完成」
FD-4-10distanceNumber否系统—有定位显示公里;否则「同城」
FD-4-11scopeTagEnum否系统本校 / 跨校跨校显示角标
FD-4-12isNovelBoolean否系统—新奇技能显示角标
编号规则
BR-4.1找服务排序 = 技能热度(浏览×0.30 + 收藏×0.25 + 评价数×0.20 + 评分×0.15 + 成交×0.10;新奇技能 ×1.3)
BR-4.2接任务排序 = 金额分×0.4 + 紧急分×0.3 + 新鲜分×0.2 + 互动分×0.1;有定位时先按距离档(≤1/1–3/3–5/5–10/10–20km)再按分数
BR-4.3内容范围 = 浏览学校;浏览学校为空时 = 全部学校
BR-4.4过滤:审核中、已下架、发布者信用分 ≤50 的内容不展示
BR-4.5同一发布者在首屏最多占 2 条

M5 校园社区

编号功能优先级需求描述
FR-5.1认证氛围条P0未认证:显示「完成学籍认证,接单更可信」+ 说明 + 「去认证」按钮;已认证:不展示氛围条,顶部仅保留认证徽标
FR-5.2热门圈子P0横向滑动,显示前 5 个圈子 + 「更多圈子」入口
FR-5.3动态流P0卡片含:头像、昵称、学校院系年级、关系提示、正文、图片(1–9 九宫格)、学校/位置标、收藏数、评论数、点赞数
FR-5.4互动P0点赞/取消点赞、收藏/取消收藏、评论、举报;本人动态可删除
FR-5.5查看评论P0底部「查看评论 (N)」→ 展开评论列表
FR-5.6发布动态P0右下「发布动态」→ 弹层(见 FR-5.7)
FR-5.7发布动态表单P0字段:选择学校(必填)、动态内容、添加图片(≤9)
字段类型必填来源校验说明
FD-5-1schoolIdString是用户选择须在浏览省份内发布动态的归属学校
FD-5-2contentString是用户输入1–1000 字动态正文;空则拦截提交
FD-5-3imagesArray否用户上传≤9 张,单张 ≤5MB超出压缩
FD-5-4relationTipString否系统—如「你的 3 位学院同学认识 TA」;无关联不返回
FD-5-5likeCount / favCount / commentCountNumber是系统≥0互动计数
编号规则
BR-5.1关系提示生成条件:同校 / 同院系 / 有共同好友,命中任一才展示;否则不展示该行
BR-5.2动态范围 = 归属学校;用户切换浏览学校后动态流随之切换
BR-5.3社区为审核制时,发布后提示「已提交,审核中」且仅自己可见
BR-5.4点赞、收藏为幂等操作,重复点击切换状态

M6 学籍认证

编号功能优先级需求描述
FR-6.1入口P0校园社区氛围条「去认证」;及「我的」页认证入口
FR-6.2拍照识别P0按钮「立即拍照 / 上传」→ 识别学生证/录取通知书 → 自动填入学校、姓名、学号、院系
FR-6.3表单P0字段见 FD-6;学校支持「切换」
FR-6.4提交P0点击「提交认证」→ 校验通过 → 进入「审核中」状态 → 提示「预计 1 个工作日内完成审核」
FR-6.5结果P0通过 → 认证徽标生效;驳回 → 展示驳回原因 + 「重新提交」
字段类型必填来源校验说明
FD-6-1schoolIdString是OCR / 手选须在学校库内认证学校
FD-6-2realNameString是OCR / 手填2–20 字姓名
FD-6-3studentNoString是OCR / 手填≥6 位,数字或字母学籍号
FD-6-4departmentString否OCR / 手填≤30 字院系
FD-6-5certImageFile是拍照/上传≤10MB证件照,仅审核可见
项说明
ST-6 认证状态机unverified(未认证)→ 提交 → pending(审核中)→ 通过 → verified(已认证);→ 驳回 → rejected(可重新提交,最多每日 3 次)
重复提交pending 状态下「提交认证」按钮置灰,文案「审核中」
互斥一个用户同时只能有一个 pending 或 verified 的认证学校
编号规则
BR-6.1OCR 识别置信度低于阈值时,对应字段留空并高亮提示「识别失败,请手动填写」,不阻断提交
BR-6.2学号与姓名由运营/自动核验;同一学校同一学号不可被两个账号认证
BR-6.3证件照对外打码;预览链接 5 分钟一次性有效并记录审计日志

M7 圈子

编号功能优先级需求描述
FR-7.1全部圈子页P0入口:校园社区「更多圈子」。页内 tab:我的圈子 | 发现圈子
FR-7.2分类侧栏P0推荐 / 人气 / 户外 / 运动 / 收藏 / 摄影 / 宠物 / 二次元 / 娱乐 / 手作 / 潮玩 / 游戏 / 其他
FR-7.3圈子卡片P0头像、圈名、成员数与标签(如「1240 成员 · 学习 · 券商实习」)、加入按钮
FR-7.4加入 / 退出P0自由加入→立即生效;需要审核→提示「已申请」;已加入→按钮变为「进入」
FR-7.5编辑即退出P0「我的圈子」右侧「编辑」→ 退出圈子(删除加入关系),需二次确认
FR-7.6创建圈子P0弹层:名称(2–10 字)、分类、介绍(≤50 字)、加入方式(需要审核 / 自由加入)→ 提交
编号规则
BR-7.1圈子名称全局唯一,重名拦截并提示「该圈子名称已存在」
BR-7.2创建的圈子需审核,约 1 个工作日;未通过前仅创建者可见
BR-7.3加入方式为「仅本校」时,要求用户学籍认证通过且认证学校 = 圈子归属学校
BR-7.4退出圈子后不再展示该圈子的帖子与标识;重新加入无需再次审核(原为自由加入时)

M8 企业直招

编号功能优先级需求描述
FR-8.1岗位列表P0卡片:企业 logo、企业名 + 企业认证标、岗位名、薪资、需求人数 / 已投递、截止时间、标签、专业能力要求
FR-8.2筛选P1按岗位类型 / 学校 / 薪资筛选
FR-8.3企业发布P0发布表单新增「学校」字段(非必填);选择后内容仅在该学校下展示,不选则全平台展示
FR-8.4投递P1岗位详情页「投递 / 联系企业」
编号规则
BR-8.1企业账号不可交易:无接单入口、不可发布求助/闲置、组队仅免费模式
BR-8.2企业发布内容必须通过企业资质审核后才对外展示

M9 专区发布

编号功能优先级需求描述
FR-9.1发布类型P0技能 / 求助 / 紧急求救 / 活动 / 闲置转让 / 组队(与首页发布一致)
FR-9.2学校字段P0从专区发起的发布,学校为必填;默认取当前浏览学校
FR-9.3展示范围P0仅本校 / 同城多校 / 不限;默认「仅本校」
FR-9.4跨校标识P0展示范围非「仅本校」的内容,卡片展示「跨校」角标
FR-9.5联系手机号P1求助类发布新增「联系手机号」字段,非必填
编号规则
BR-9.1未认证用户从专区发布时必须手动选择学校;发布后内容标「未认证用户发布」
BR-9.2已认证用户默认发布到认证学校;若手动改为其他学校,需二次确认并标「跨校发布」
BR-9.3联系手机号默认走虚拟号(AXB);仅订单进入「施助中」后双方可见,点击可直接调起拨号;订单结束 24 小时回收
BR-9.4学校 / 展示范围为必选前置条件,缺失则「发布」按钮不可点击

4. 权限矩阵

角色可见内容发技能/求助发动态限制
未认证 · 未选校省份内容(全部学校)✗需先选校可浏览/点赞/收藏
未认证 · 已选校该校内容△ 需选校该校动态需选校内容标「未认证用户发布」
已认证 A 校默认 A 校;可浏览 B 校✓ 默认 A 校✓切校需标跨校
社会用户可接大学生订单/技能✓ 社会场✗不可发动态
企业账号企业直招/技能/组队(免费)✗ 不可交易✗不可发求助/闲置

5. 异常与兜底

编号场景处理
EX-1首屏加载骨架屏;失败保留上次缓存内容 + 「点击重试」,不弹错误窗
EX-2空态「该学校暂无内容」+ 按钮「切换学校」「去发布」
EX-3图片失败显示占位图,标题与点击不受影响
EX-4OCR 失败字段留空 + 高亮提示「识别失败,请手动填写」,可继续提交
EX-5切换学校失败顶部学校名回滚到原值 + toast「切换失败,请重试」
EX-6发布失败保留表单内容,按钮恢复可点,toast 展示失败原因
EX-7定位未授权按未定位处理(默认省份),并在选择器首次打开时提示授权

6. 验收用例

编号场景操作预期结果
AC-1未认证 + 有定位进入专区顶部显示省份名,无认证标签
AC-2未认证 + 选校选择「同济大学」顶部显示「同济大学 · 未认证」,内容切换为同济内容
AC-3已认证 A 校切 B 校认证同济,切到复旦顶部提示「已认证 同济大学,正在浏览 复旦大学 · 切回本校」;发布默认仍为同济
AC-4达人榜进入校园互助展示 4 个卡片,含技能数与信用分;切到校园社区仍在同一位置
AC-5子 tab点「接任务」列表切换为求助/订单,排序符合 BR-4.2
AC-6专区发布点发布挂件 → 技能表单含「学校」且必填;不选学校时发布按钮不可点
AC-7展示范围选择「同城多校」后发布内容卡片出现「跨校」角标;在 B 校可见
AC-8学籍认证不上传证件直接提交拦截并提示「请上传学生证 / 录取通知书」
AC-9学籍号校验输入 5 位学号提交拦截,提示「学籍号至少 6 位」
AC-10认证审核中提交后再点提交按钮置灰,文案「审核中」
AC-11圈子编辑我的圈子点「编辑」二次确认后退出圈子,圈子从我的圈子移除
AC-12创建圈子名称输入 1 字拦截并提示「名称 2–10 字」
AC-13企业发布企业选择学校后发布内容仅在该学校下的企业直招模块展示
AC-14权限企业账号进入校园互助无接单/报名入口

7. 本期不做(明确排除)

不做说明
跨校认证一个用户同时认证多所学校
圈子内独立聊天/群聊本期只做圈子帖子与成员关系
企业在线面试/简历投递闭环本期仅展示与「联系企业」
校园动态视频本期仅图片 + 文字
AI 自动匹配学校(按定位猜学校)本期由用户显式选择