大学生专区 PRD
0. 文档信息
| 项 | 内容 |
|---|---|
| 文档名称 | 大学生专区 PRD |
| 版本 | v1.0(首版) |
| 状态 | 评审中(评审通过后冻结) |
| 作者 | 产品经理 |
| 评审人 | 研发负责人 / 测试负责人 / 运营负责人 / 设计负责人 / 法务 |
| 适用范围 | 嗯来吧 App 大学生专区(校园互助 · 校园社区 · 企业直招) |
| 版本 | 日期 | 变更内容 | 修改人 |
|---|---|---|---|
| v1.0 | 2025-01-01 | 首版:补齐标准 15 章(背景/角色/流程/状态机/后台/通知/依赖/上线/合规/验收) | 产品 |
| v0.9 | (上一版) | 功能与规则说明(对齐用),缺后台、通知、依赖、口径、合规 | 产品 |
1. 背景与目标
1.1 为什么做
| # | 问题 |
|---|---|
| 1 | 大学生想接单赚钱,但首页混着社会订单,找不到"只属于校园"的机会 |
| 2 | 校园内求助(搬宿舍、取快递、辅导)没有合适的地方发布,发到社会频道无人问津 |
| 3 | 学生之间缺信任:无法确认对方是否本校学生 |
| 4 | 社团、圈子、校园话题没有沉淀场所,学生之间缺少连接 |
| 5 | 企业想招在校生,但触达不到具体学校 |
1.2 目标与成功指标(含口径)
| 指标 | 计算口径 | 周期 | 去重与排除 | 目标 | 数据来源 |
|---|---|---|---|---|---|
| 专区渗透率 | 进入专区的用户数 ÷ 首页访问用户数 | 自然日 | 按用户去重,同日多次进入计 1 次 | ≥15% | 客户端浏览日志 |
| 认证转化率 | 当日提交学籍认证的用户数 ÷ 当日进入专区的未认证用户数 | 自然日 | 只统计首次提交;重复提交不计 | ≥20% | 认证服务日志 |
| 校园成单占比 | 归属学校非空的成交订单数 ÷ 全站成交订单数 | 自然周 | 归属学校=发布时选择的学校;退款订单剔除 | ≥10% | 订单库 |
| 动态发布量 | 当日发布的校园动态条数 | 自然日 | 审核不通过不计入 | ≥500 条/日 | 内容库 |
| 圈子活跃度 | 当日有发帖或互动的圈子数 ÷ 圈子总数 | 自然日 | 互动含点赞/评论 | ≥30% | 圈子库 |
| 企业定向率 | 选择了学校的岗位数 ÷ 企业发布岗位总数 | 自然月 | — | ≥40% | 岗位库 |
1.3 本期范围
| 范围 | 内容 |
|---|---|
| 做 | 专区框架、学校选择、达人榜、校园互助、校园社区、学籍认证、圈子、企业直招、专区发布、后台审核与配置、通知 |
| 不做 | 跨校多认证、圈子群聊、视频动态、企业面试闭环、AI 猜学校、专区独立支付 |
| 二期 | 搜索、个人主页、分享邀请、数据看板、专区内容进首页推荐 |
1.4 假设与依赖(重要)
| 项 | 内容 |
|---|---|
| 假设 1 | 账号可为个人 / 企业 / 机构三类之一;学籍认证是个人身份下的资质,不是独立身份 |
| 假设 2 | 企业账号不可交易(无接单入口、不可发求助/闲置) |
| 假设 3 | 学校库由平台自建 + 第三方补充,初期覆盖 50 所高校,按省份分组 |
| 假设 4 | 学籍核验初期以人工审核为主(OCR 识别 + 人工比对),不做学信网直连 |
| 假设 5 | 发布内容统一走审核(机审 + 人审),审核时效:动态 ≤10 分钟、技能/求助 ≤30 分钟 |
| 假设 6 | 手机号统一走虚拟号(AXB),仅订单进入「施助中」后双方可见 |
| 依赖 1 | 定位服务、消息推送、文件存储与 CDN(既有能力) |
| 依赖 2 | OCR 识别服务(学生证/录取通知书)、内容审核服务(敏感词与图片) |
| 依赖 3 | 支付与资金托管(既有能力)、客服工单系统 |
| 依赖 4 | 运营人力:认证审核 + 内容审核 + 举报处理(需排班) |
2. 用户与角色
| 角色 | 可做什么 | 不可做什么 | 备注 |
|---|---|---|---|
| 未认证学生 | 浏览、点赞、收藏、评论 | 不可接单、不可发技能/求助 | 发布时需选校,内容标「未认证用户发布」 |
| 已认证学生 | 全部功能 | 可接单、发技能/求助/动态、建圈加圈 | 内容标认证学校 |
| 社会用户 | 可浏览专区、可接校园订单 | 不可发校园动态 | 不可加入「仅本校」圈子 |
| 企业账号 | 发布岗位、技能、组队(免费) | 不可交易 | 不可发求助/闲置/动态 |
| 机构账号 | 发布活动、公告 | 不可交易 | — |
| 运营 | 后台审核与配置 | — | 认证审核、内容审核、举报处理、学校库维护 |
| 客服 | 查看工单、协助用户 | — | 不可直接改内容状态 |
2.1 权限矩阵
| 能力 | 未认证学生 | 已认证学生 | 社会用户 | 企业账号 |
|---|---|---|---|---|
| 浏览专区内容 | ✓ | ✓ | ✓ | ✓ |
| 点赞/收藏/评论 | ✓ | ✓ | ✓ | ✗ |
| 接单/报名 | ✗(需认证) | ✓ | ✓ | ✗ |
| 发技能/求助 | △(需选校) | ✓ | ✗ | ✗ |
| 发校园动态 | △(需选校) | ✓ | ✗ | ✗ |
| 加入「仅本校」圈子 | ✗ | ✓(仅认证学校) | ✗ | ✗ |
| 发布企业岗位 | ✗ | ✗ | ✗ | ✓ |
3. 产品结构与信息架构
| 编号 | 模块 | 包含内容 |
|---|---|---|
| M1 | 专区框架 | 顶部栏、模块 tab、默认模块(校园互助)、状态记忆 |
| M2 | 学校选择 | 省份分组、搜索、切换浏览学校、切回本校 |
| M3 | 达人榜 | 你可能认识的达人(固定位,两模块共用) |
| M4 | 校园互助 | 一级筛选、找服务/接任务、内容卡片、发布挂件 |
| M5 | 校园社区 | 认证氛围条、动态流、互动、发布动态 |
| M6 | 学籍认证 | 拍照识别、表单、提交、审核状态 |
| M7 | 圈子 | 全部圈子、加入/退出、创建圈子 |
| M8 | 企业直招 | 岗位列表、企业发布(可选学校) |
| M9 | 专区发布 | 技能/求助/紧急/活动/闲置/组队 + 学校必选 + 展示范围 |
| M10 | 消息通知 | 事件触达与落地 |
| M11 | 后台与运营 | 认证审核台、内容审核台、举报处理、学校库、标签与榜单配置、风控名单、数据看板 |
3.1 页面清单
| 编号 | 页面 | 所属模块 | 说明 |
|---|---|---|---|
| P1 | 专区首页(校园互助) | M1/M3/M4 | 默认落地页 |
| P2 | 学校选择弹层 | M2 | 底部弹层 |
| P3 | 校园社区 | M5 | 含热门圈子 |
| P4 | 学籍认证页 | M6 | 表单 + 状态 |
| P5 | 发布动态弹层 | M5 | 学校必选 |
| P6 | 全部圈子 | M7 | 我的圈子 / 发现圈子 |
| P7 | 创建圈子弹层 | M7 | — |
| P8 | 企业直招 | M8 | 岗位列表 |
| P9 | 内容详情 / 岗位详情 | M4/M8 | 由列表进入 |
| P10 | 消息中心 | M10 | 通知落地 |
| B1–B7 | 后台 | M11 | 认证/内容/举报/学校库/标签/风控/看板 |
4. 功能需求
4.1 专区框架(M1)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-1.1 | 专区入口 | P0 | 首页「大学生专区」卡片 → 进入专区 |
| FR-1.2 | 顶部栏 | P0 | 返回 | 学校名(可点)| 三 tab |
| FR-1.3 | 默认模块 | P0 | 默认选中校园互助 |
| FR-1.4 | 状态记忆 | P1 | 记住上次浏览的学校与模块 |
| FR-1.5 | 达人榜常驻 | P0 | 校园互助与校园社区均展示 |
4.2 学校选择(M2)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-2.1 | 打开选择器 | P0 | 点顶部学校名 → 底部弹层 |
| FR-2.2 | 搜索 | P0 | 输入 ≥1 字实时过滤,支持简称 |
| FR-2.3 | 省份切换 | P0 | 省份 chips 切换即刷新列表 |
| FR-2.4 | 选中生效 | P0 | 切换学校 → 内容整体切换 → 轻提示 |
| FR-2.5 | 切回本校 | P1 | 已认证用户浏览他校时提示并可一键切回 |
| 编号 | 规则 |
|---|---|
| BR-2.1 | 顶部学校名取浏览学校;为空则定位省份;再空则默认城市 |
| BR-2.2 | 学校排序:同城 → 同省 → 其他;同层按近 30 天内容量降序 |
| BR-2.3 | 切换浏览学校不改变认证归属 |
| BR-2.4 | 学校库里状态为"停用"的学校不出现在列表 |
4.3 达人榜(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 | 标签优先级:认证学生 > 信用极好 > 校园达人 > 接单王 > 好评之星 > 新晋达人;同屏最多 2 个 |
| BR-3.5 | 不足 4 人时按实际展示;0 人时整块隐藏不留白 |
4.4 校园互助(M4)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-4.1 | 一级筛选 | P0 | 为你推荐(默认)/ 单纯任务 / 日结任务 / 远程助理 / 一级标签 |
| FR-4.2 | 子 tab | P0 | 找服务(技能)/ 接任务(求助与订单) |
| FR-4.3 | 内容卡片 | P0 | 见 8.1 字段表 |
| FR-4.4 | 发布挂件 | P0 | 右下 + → 专区发布(M9) |
| FR-4.5 | 分页 | P0 | 每页 20 条,到底提示"没有更多了" |
| 编号 | 规则 |
|---|---|
| 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 条 |
| BR-4.6 | 数值上限:单用户每日发布 ≤5 条(技能+求助合计) |
4.5 校园社区(M5)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-5.1 | 认证氛围条 | P0 | 未认证显示「完成学籍认证,接单更可信」+ 去认证;已认证不显示 |
| FR-5.2 | 热门圈子 | P0 | 横滑 5 个 + 更多圈子 |
| FR-5.3 | 动态流 | P0 | 头像、昵称、院系年级、关系提示、正文、图片 ≤9、互动数 |
| FR-5.4 | 互动 | P0 | 点赞/收藏/评论/举报;本人可删除 |
| FR-5.5 | 发布动态 | P0 | 学校必填 + 正文(1–1000 字)+ 图片 ≤9 |
| 编号 | 规则 |
|---|---|
| BR-5.1 | 关系提示仅在 同校/同院系/有共同好友 时展示 |
| BR-5.2 | 动态范围 = 归属学校;切校后动态流随之切换 |
| BR-5.3 | 审核制下发布后提示「已提交,审核中」,仅自己可见 |
| BR-5.4 | 数值上限:单用户每日发布动态 ≤10 条;可加入圈子 ≤30 个 |
4.6 学籍认证(M6)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-6.1 | 拍照识别 | P0 | OCR 自动填入学校、姓名、学号、院系 |
| FR-6.2 | 表单 | P0 | 学校/姓名/学号必填;院系选填 |
| FR-6.3 | 提交 | P0 | 校验通过 → 审核中 → 提示「预计 1 个工作日」 |
| FR-6.4 | 结果 | P0 | 通过 → 徽标生效;驳回 → 原因 + 重新提交 |
| 编号 | 项 | 规则 |
|---|---|---|
| ST-6 | 状态机 | unverified → 提交 → pending → 通过 verified / 驳回 rejected(可重提) |
| ST-6.1 | 触发方 | 用户提交、审核员通过/驳回、用户重新提交 |
| ST-6.2 | 约束 | 同一用户同时只能有 1 个 pending 或 verified;pending 时提交按钮置灰 |
| ST-6.3 | 超时 | pending 超过 2 个工作日 → 自动升级加急并通知运营 |
| ST-6.4 | 上限 | 每日重新提交 ≤3 次 |
4.7 圈子(M7)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-7.1 | 全部圈子 | P0 | 我的圈子 | 发现圈子;左侧 13 个分类 |
| FR-7.2 | 加入 | P0 | 自由加入→立即生效;需要审核→提示已申请 |
| FR-7.3 | 退出 | P0 | 我的圈子 → 编辑 → 确认后退出(编辑=退出=删除关系) |
| FR-7.4 | 创建圈子 | P0 | 名称 2–10 字、分类、介绍 ≤50 字、加入方式 |
| 编号 | 项 | 规则 |
|---|---|---|
| ST-7 | 圈子状态机 | 审核中 → 正常 / 驳回;正常 → 解散(圈主解散或违规封禁) |
| ST-7.1 | 申请状态 | 无 → 申请中 → 已加入 / 已拒绝(拒绝后冷却 24 小时可再申请) |
| BR-7.1 | 名称全局唯一;重名拦截 | |
| BR-7.2 | 「仅本校」要求认证学校 = 圈子归属学校 | |
| BR-7.3 | 驳回后重新提交无次数限制,但同一账号每日创建 ≤3 个 |
4.8 企业直招(M8)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-8.1 | 岗位列表 | P0 | 企业 logo、名称+认证、岗位、薪资、人数/已投递、截止、标签 |
| FR-8.2 | 企业发布 | P0 | 岗位/薪资/人数/截止必填;学校选填 |
| FR-8.3 | 展示范围 | P0 | 选了学校 → 仅该校可见;不选 → 全平台 |
| 编号 | 规则 |
|---|---|
| BR-8.1 | 企业资质未通过 → 不可发布 |
| BR-8.2 | 企业账号不可交易(无接单/报名入口) |
4.9 专区发布(M9)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-9.1 | 类型 | P0 | 技能/求助/紧急/活动/闲置/组队 + 动态 |
| FR-9.2 | 学校必填 | P0 | 专区发布学校为必填,默认取浏览学校 |
| FR-9.3 | 展示范围 | P0 | 仅本校(默认)/ 同城多校 / 不限 |
| FR-9.4 | 跨校标识 | P0 | 非"仅本校"显示「跨校」角标 |
| FR-9.5 | 联系手机号 | P1 | 求助类可选填,走虚拟号 |
4.10 消息通知(M10)
| 编号 | 需求 | 优先级 | 描述 |
|---|---|---|---|
| FR-10.1 | 消息中心 | P0 | 统一收件箱,按类型分组 |
| FR-10.2 | 红点 | P0 | 未读数量展示在底部 tab |
| 事件 | 触发 | 渠道 | 点击落地 |
|---|---|---|---|
| 认证结果 | 认证通过 / 驳回 | 站内信 + 推送 | 点 → 认证页 |
| 报名成功 | 他人报名我的求助 | 站内信 + 推送 | 点 → 我的求助详情 |
| 被接单 / 状态变更 | 订单状态变化 | 站内信 + 推送 | 点 → 订单详情 |
| 评论 / 回复 | 动态被评论 | 站内信 + 推送(可关) | 点 → 动态详情 |
| 圈子审核结果 | 创建通过 / 驳回 | 站内信 + 推送 | 点 → 圈子页 |
| 入圈申请 | 圈主收到申请 | 站内信 | 点 → 申请列表 |
| 内容审核结果 | 发布未通过 | 站内信 | 点 → 编辑重提 |
| 项 | 规则 |
|---|---|
| 频次控制 | 同一事件 10 分钟内只推 1 次;每日推送上限 5 条 |
| 免打扰 | 22:00–08:00 不推送(站内信照常) |
| 可关闭 | 用户可在设置中关闭"评论/点赞"类推送,认证与订单类不可关闭 |
5. 业务流程
5.1 主流程(进入专区)
| 步 | 触发 | 判断 | 结果 | 异常 |
|---|---|---|---|---|
| 1 | 点击专区入口 | 登录态 / 定位 | 恢复上次学校与模块;无记录用定位省份 | 未登录 → 引导登录 |
| 2 | 加载达人榜 + 内容 | 并行请求 | 骨架屏 ≤300ms | 失败 → 缓存 + 重试 |
| 3 | 用户操作(切模块/切校/下拉) | — | 内容刷新 | — |
5.2 泳道(前台 / 后台 / 系统)
| 泳道 | 动作 | 判断 | 产出 |
|---|---|---|---|
| 用户发布求助 | 选学校 → 填内容 → 提交 | — | — |
| 系统 | 机审(敏感词/图片) | 通过 → 进入人审队列;不通过 → 直接驳回 | 写库:状态=审核中 |
| 后台运营 | 内容审核台处理 | 通过 → 上架;驳回 → 通知用户 | 写库:状态=已上架/已驳回 |
| 用户 | 收到通知 | — | 内容出现在列表 |
5.3 关键状态机汇总
| 对象 | 状态流转 | 超时与逆流程 |
|---|---|---|
| 内容 | 草稿 → 审核中 → 已上架 → 已下架 / 已驳回 | 超时 30 分钟未审 → 提醒运营;驳回可编辑重提 |
| 订单 | 待接单 → 待支付 → 待履约 → 施助中 → 待验收 → 已完成 / 已取消 | 超时未支付 → 自动取消;争议 → 售后 |
| 报名 | 已报名 → 已通过 → 已拒绝 / 已取消 | 发起方 24 小时未处理 → 自动通过(求助单) |
| 认证 | 未认证 → 审核中 → 已认证 / 已驳回 | 2 个工作日未审 → 加急 |
| 圈子 | 审核中 → 正常 / 驳回 → 解散 | 驳回可重提 |
6. 异常流程
| 场景 | 触发 | 系统处理 | 用户看到 | 恢复方式 |
|---|---|---|---|---|
| 网络失败 | 接口 5xx / 超时 | 用缓存渲染 + 重试 | 「网络不太好,点击重试」 | 点击重试 |
| 重复提交 | 连点提交 | 按钮立即置灰 loading | 按钮不可再点 | 失败后恢复 |
| 并发抢单 | 两人同时接同一单 | 先到先得,后到提示已被接 | 「该任务已被接单」 | 返回列表看其他 |
| 定位未授权 | 拒绝定位 | 按未定位处理(默认城市) | 顶部默认城市 | 引导开启定位 |
| 搜索无结果 | 无匹配学校 | 空态不清空输入 | 「未找到该学校」 | 改关键词/换省 |
| 切校失败 | 接口失败 | 顶部回滚 | toast「切换失败」 | 重试 |
| OCR 失败 | 证件模糊 | 字段留空 + 高亮 | 「识别失败,请手动填写」 | 手动填写 |
| 学号占用 | 同校同学号已认证 | 拦截提交 | 「该学号已完成认证」 | 客服申诉 |
| 认证驳回 | 信息不符 | 状态=已驳回 + 原因 | 驳回原因 + 重新提交 | 重提(≤3 次/日) |
| 未选学校发布 | 学校为空 | 按钮置灰 | 提示"请选择学校" | 选校后激活 |
| 敏感词命中 | 含违规词 | 拦截 + 标出位置 | 「内容包含违规信息」 | 修改后提交 |
| 图片失败 | 单张上传失败 | 跳过失败图,其余正常 | 「1 张图片上传失败,点击重试」 | 重试或删图 |
| 审核不通过 | 机审/人审驳回 | 仅本人可见 + 通知 | 通知「未通过:{原因}」 | 编辑重提 |
| 内容被下架 | 举报成立 | 移除 + 通知 | 通知「内容已下架」 | 申诉 |
| 圈子重名 | 名称已存在 | 拦截 | 「该圈子名称已存在」 | 改名 |
| 入圈被拒 | 圈主拒绝 | 回到未加入 | 通知 + 24 小时冷却 | 再次申请 |
| 圈子解散 | 圈主解散/封禁 | 移除圈子与标识 | toast「该圈子已解散」 | 返回列表 |
| 无权限接单 | 未认证点报名 | 拦截并引导 | 「认证后可接单」+ 去认证 | 完成认证 |
| 账号限流 | 高频操作 | 降权/临时限制 | 「操作过于频繁」 | 冷却 10 分钟–24 小时 |
| 会话过期 | 长时间未操作 | 静默刷新;失败引导登录 | 登录页 | 登录后回原页 |
7. 交互与文案
7.1 四态要求(每个界面必须定义)
| 状态 | 要求 | 约束 |
|---|---|---|
| 默认态 | 展示真实内容;无内容走空态 | |
| 选中态 | 当前筛选项/tab 用橙色下划线或高亮 | 同一屏只有 1 个选中 |
| 禁用态 | 条件不满足的按钮置灰 + 说明原因(如"请选择学校") | 禁用时不响应点击 |
| 空态 | 说清原因 + 给出路(切换学校 / 去发布) | 不留白、不显示破图 |
7.2 文案规范
| 场景 | 规范 | 反例 |
|---|---|---|
| 按钮 | 动词+结果:去认证 / 切回本校 / 发布动态 / 加入圈子 | 不用"确定/提交"单独出现 |
| 错误 | 说清问题+怎么改:「学号至少 6 位」 | 不用"格式错误" |
| 风险确认 | 说清后果:「今天不再显示任务单」 | 破坏性操作必须二次确认 |
| 成功 | 轻提示 1.5 秒自动消失 | 不打断操作 |
| 空态 | 「该学校暂无内容」+ 两个出口 | — |
7.3 设计稿索引
| 页面 | 设计稿编号 | 备注 |
|---|---|---|
| P1 专区首页 | 待设计 | — |
| P2 学校选择弹层 | 待设计 | — |
| P3 校园社区 | 待设计 | — |
| P4 学籍认证 | 待设计 | — |
| P5 发布动态 | 待设计 | — |
| P6/P7 圈子 | 待设计 | — |
| P8 企业直招 | 待设计 | — |
| B1–B7 后台 | 待设计 | — |
8. 数据与字段
8.1 字段定义(数据字典)
| 对象 | 字段 | 类型 | 必填 | 来源 | 校验 | 说明 |
|---|---|---|---|---|---|---|
| 用户 | userId | String | 是 | 系统 | — | 唯一标识 |
| 用户 | nickname | String | 是 | 注册 | 2–20 字 | 昵称 |
| 用户 | accountType | Enum | 是 | 注册 | personal/company/org | 账号类型 |
| 用户 | creditScore | Number | 是 | 系统 | 0–100 | ≤50 不进推荐 |
| 学校 | schoolId / schoolName / province | String | 是 | 学校库 | 名称 ≤20 字 | — |
| 学校 | schoolStatus | Enum | 是 | 学校库 | normal/disabled | disabled 不展示 |
| 认证 | realName | String | 是 | OCR/手填 | 2–20 字 | 姓名 |
| 认证 | studentNo | String | 是 | OCR/手填 | ≥6 位;同校唯一 | 学籍号 |
| 认证 | department | String | 否 | OCR/手填 | ≤30 字 | 院系 |
| 认证 | certImage | File | 是 | 上传 | ≤10MB | 仅审核可见 |
| 认证 | certStatus | Enum | 是 | 系统 | unverified/pending/verified/rejected | — |
| 内容 | contentType | Enum | 是 | 发布 | skill/help/sos/activity/idle/team | — |
| 内容 | title / desc | String | 是/否 | 发布 | ≤30 / ≤100 字 | — |
| 内容 | price / priceUnit | Number/Enum | 是/否 | 发布 | ≥0 或"看着给";次/小时/天 | — |
| 内容 | schoolId | String | 是 | 发布 | 学校库内 | 专区发布必填 |
| 内容 | showScope | Enum | 是 | 发布 | campus/city/any | 默认 campus |
| 内容 | phone | String | 否 | 发布 | 手机号格式 | 虚拟号,施助中可见 |
| 内容 | contentStatus | Enum | 是 | 系统 | draft/reviewing/online/offline/rejected | — |
| 动态 | postContent | String | 是 | 输入 | 1–1000 字 | — |
| 动态 | postImages | Array | 否 | 上传 | ≤9 张,单张 ≤5MB | 超出压缩 |
| 圈子 | circleName | String | 是 | 创建 | 2–10 字,全局唯一 | — |
| 圈子 | category | Enum | 是 | 创建 | 运动/游戏/学习/兴趣/兼职/其他 | — |
| 圈子 | joinType | Enum | 是 | 创建 | free/review/schoolOnly | — |
| 岗位 | jobTitle / salary | String | 是 | 企业 | — | — |
| 岗位 | schoolId | String | 否 | 企业 | 学校库内 | 空=全平台 |
8.2 枚举值清单(研发按此实现)
| 枚举 | 取值 | 说明 |
|---|---|---|
showScope | campus 仅本校|city 同城多校|any 不限 | 列表角标:campus 不标、其余标「跨校」 |
joinType | free 自由加入|review 需要审核|schoolOnly 仅本校 | schoolOnly 需认证学校匹配;review 需圈主处理 |
certStatus | unverified|pending|verified|rejected | pending 时禁止重复提交 |
contentStatus | draft|reviewing|online|offline|rejected | 仅 online 对外可见 |
accountType | personal|company|org | company/org 不可交易 |
8.3 数据采集要求(最少必要)
| 事件 | 采集字段 | 用途 |
|---|---|---|
| 专区访问 | 来源(首页卡片/消息/分享)、学校、是否认证 | 用于渗透率 |
| 学校切换 | from、to、是否认证学校 | 用于选校体验优化 |
| 内容曝光与点击 | 内容 ID、tab、是否跨校 | 用于排序效果评估 |
| 发布 | 类型、学校、展示范围 | 用于发布漏斗 |
| 认证 | 入口、OCR 是否成功、耗时 | 用于认证转化 |
| 圈子 | 加入/退出/创建、来源 | 用于圈子活跃 |
| 说明 | 只采集以上最小集,不采集浏览轨迹与位置轨迹 |
9. 后台与运营需求(M11)
| 编号 | 后台功能 | 优先级 | 需求内容 |
|---|---|---|---|
| B1 | 认证审核台 | P0 | 待审列表、证件查看(带水印)、通过/驳回 + 原因、批量处理、审核记录与审计 |
| B2 | 内容审核台 | P0 | 动态与内容队列、机审结果、批量通过/驳回、违规分级、误判回滚 |
| B3 | 举报处理台 | P0 | 举报列表(按类型/次数排序)、处置(警告/下架/封禁)、处理时效统计 |
| B4 | 学校库管理 | P0 | 新增/编辑/停用/合并学校、按省份维护、批量导入 |
| B5 | 标签与榜单配置 | P1 | 达人标签阈值配置、达人榜展示数量与规则开关 |
| B6 | 风控名单 | P0 | 黑名单、敏感词库、限流阈值配置 |
| B7 | 数据看板 | P1 | 1.2 节 6 个指标的实时/日报视图 |
9.1 审核策略与处置矩阵
| 环节 | 范围 | 时效 | 处置 |
|---|---|---|---|
| 机审 | 敏感词、涉政涉黄、广告导流、二维码 | 秒级 | 命中 → 直接驳回 |
| 人审 | 机审通过的内容抽样 + 全部认证 + 全部圈子创建 | 动态 ≤10 分钟;内容 ≤30 分钟;认证 ≤1 个工作日 | — |
| 违规分级 | 轻微(广告)→ 警告 + 删除;一般(不实信息)→ 下架 + 扣信用分;严重(涉政涉黄/诈骗)→ 封禁 + 上报 | — | — |
| 申诉 | 用户对驳回/下架可申诉,运营 1 个工作日内复审 | — | 复审为终审 |
9.2 客服入口
| 项 | 要求 |
|---|---|
| 入口 | 专区「帮助与客服」;认证驳回页、内容下架通知内均带「联系客服」 |
| SLA | 工作日 2 小时内响应;认证/资金类优先 |
| 能力 | 客服可查看工单与用户认证状态,不可直接改内容状态,只能提交给运营处理 |
10. 非功能需求
10.1 性能与容量
| 项目 | 指标 | 备注 |
|---|---|---|
| 专区首屏 | 首次可交互 ≤1.5s(4G) | — |
| Tab 切换 | ≤300ms | — |
| 列表分页 | 首屏 20 条;上滑加载 ≤800ms | — |
| 搜索学校 | 防抖 300ms;结果 ≤500ms | — |
| 发布提交 | ≤1.5s 返回结果 | — |
| OCR 识别 | ≤5s,超时降级手动填写 | — |
| 图片 | 列表图 ≤100KB,懒加载 | — |
| 并发 | 开学季峰值:专区 UV 5 万/日、峰值 QPS 300 | 按 3 倍冗余设计 |
| 数据量级 | 内容 100 万条、动态 200 万条、圈子 5 万个 | 列表查询需索引(学校 + 状态 + 时间) |
| 缓存 | 内容列表按学校缓存 60s;达人榜 5 分钟;学校库长期缓存 | 缓存失效:审核状态变更即时清除 |
10.2 兼容与适配
| 项 | 要求 |
|---|---|
| 平台 | iOS 13+ / Android 8+;本期不含小程序与 PC |
| 屏幕 | 适配 5.0–6.9 英寸,含刘海屏安全区 |
| 字体 | 跟随系统字号,最大字号下不截断关键信息(价格、按钮) |
| 深色模式 | 本期不做 |
10.3 安全与合规
| 项 | 要求 |
|---|---|
| 敏感个人信息 | 学生证/录取通知书属敏感个人信息:单独同意、最小化收集、加密存储、7 天自动删除原件 |
| 展示脱敏 | 证件照仅审核可见并加水印;对外仅显示昵称 + 学校 + 认证标 |
| 手机号 | 统一虚拟号(AXB),施助中可见,订单结束 24 小时回收 |
| 企业资质 | 企业招聘需提供营业执照与(如涉及)人力资源服务许可证,未通过不可发布 |
| 未成年人 | 未满 16 周岁不可认证;16–18 周岁限制高价与跨城交易 |
| 注销与删除 | 账号注销后 15 日内删除认证资料与手机号,订单数据按法定期限保留 |
| 审计 | 认证审核、内容处置、封禁操作全部留痕(操作人、时间、原因、前后状态) |
11. 依赖与集成
| 依赖 | 提供方 | 提供什么 | 备注 |
|---|---|---|---|
| 定位服务 | 既有 | 定位解析省份/城市 | — |
| 学校库 | 自建 + 第三方 | 学校名称、省份、状态 | 运营维护 B4 |
| OCR 识别 | 第三方 | 学生证/录取通知书字段识别 | 失败降级手动填写 |
| 学籍核验 | 人工(本期) | 姓名+学号+证件比对 | 二期评估直连 |
| 内容审核 | 第三方机审 + 人工 | 敏感词、图片、广告 | 见 9.1 策略 |
| 支付与托管 | 既有 | 赏金托管、提现 | 专区不新增支付能力 |
| 消息推送 | 既有 | 站内信 + 厂商推送 | 见 4.10 |
| 虚拟号(AXB) | 第三方 | 号码隐私保护 | 仅施助中可见 |
| 客服工单 | 既有 | 用户申诉与协助 | 见 9.2 |
12. 上线与运营
| 项 | 方案 |
|---|---|
| 灰度 | 首批 3 所高校(同济、复旦、上交)内测 2 周,再按省份放量 |
| 开关 | 专区总开关、认证开关、圈子开关、企业直招开关;可按学校维度配置 |
| 回滚 | 内容级可单条下架;功能级可关开关回退,不做数据回滚 |
| 冷启动 | 每校上线前由运营导入 ≥200 条种子内容(真实求助 + 技能),并邀请 20 名种子达人 |
| 运营配置 | 达人标签阈值、达人榜数量、圈子推荐位、首页专区卡片文案与角标 |
| 监控 | 认证积压量、审核时长、举报量、专区接口错误率;超阈值告警 |
13. 验收标准
| 编号 | 场景 / 操作 | 预期结果 |
|---|---|---|
| AC-1 | 未认证 + 有定位进入专区 | 顶部显示省份;无认证标签 |
| AC-2 | 未认证 + 选「同济大学」 | 顶部显示「同济大学 · 未认证」;内容切为同济 |
| AC-3 | 已认证同济,切到复旦 | 提示「已认证 同济大学,正在浏览 复旦大学 · 切回本校」;发布默认同济 |
| AC-4 | 达人榜 | 同校优先;卡片含技能数与信用分;不足 4 人按实际;0 人整块隐藏 |
| AC-5 | 专区发布未选学校 | 发布按钮置灰;选择后激活 |
| AC-6 | 选择「同城多校」后发布 | 内容带「跨校」角标;在另一校可见 |
| AC-7 | 认证未上传证件 | 拦截并提示「请上传学生证 / 录取通知书」 |
| AC-8 | 学号 5 位 | 拦截并提示「学号至少 6 位」 |
| AC-9 | 学号已被占用 | 拦截并提示「该学号已完成认证」 |
| AC-10 | 认证提交后再次点击 | 按钮置灰,文案「审核中」 |
| AC-11 | 同一学号被第二个账号提交 | 第二个账号被拦截,需客服申诉 |
| AC-12 | 发布含敏感词 | 拦截并标出位置;内容不入库 |
| AC-13 | 两人同时接同一单 | 后到者提示「该任务已被接单」并返回列表 |
| AC-14 | 我的圈子点「编辑」 | 二次确认后退出;圈子从我的圈子移除 |
| AC-15 | 创建圈子名称 1 个字 | 拦截并提示「名称 2–10 字」 |
| AC-16 | 创建圈子重名 | 拦截并提示「该圈子名称已存在」 |
| AC-17 | 加入「仅本校」圈子(认证学校不符) | 拦截并提示「该圈子仅限 {学校} 同学加入」 |
| AC-18 | 企业账号进入校园互助 | 无接单/报名入口 |
| AC-19 | 企业发布选择学校 | 仅该校可见;不选则全平台可见 |
| AC-20 | 认证驳回后重新提交 4 次 | 第 4 次拦截并提示「今日提交次数已用完」 |
14. 附录
14.1 术语表
| 术语 | 定义 |
|---|---|
| 认证学校 | 用户通过学籍认证绑定的学校,唯一且不可同时绑定多所 |
| 浏览学校 | 当前查看内容的学校,可与认证学校不同 |
| 跨校发布 | 展示范围非「仅本校」的发布 |
| 专区 | 大学生专区(校园互助 + 校园社区 + 企业直招) |
14.2 待确认问题(需你拍板)
| 编号 | 问题与我的假设 |
|---|---|
| Q1 | 企业发布岗位是否收费?本期假设免费 |
| Q2 | 认证审核由谁负责?假设运营 2 人排班,工作日 1 个工作日内完成 |
| Q3 | 学校库首批 50 所名单由谁确定?假设由运营提供 |
| Q4 | 达人榜默认开启还是提供"不展示我"的隐私开关?假设默认开启 + 一期不做开关 |
| Q5 | 社会用户能否加入圈子?假设可加入"自由加入"类圈子,不可加入"仅本校" |
| Q6 | 同校/同院系关系的数据来源?假设来自用户资料中的学校与院系字段 |
| Q7 | 种子内容由谁准备、量级多少?假设每校 200 条 |
| Q8 | 认证被驳回 3 次后是否还允许?假设次日恢复 |
| Q9 | 专区内容是否进首页推荐位?假设一期不进 |
| Q10 | 是否允许学生之间直接电话联系(不经虚拟号)?假设统一虚拟号 |
14.3 与上一版(v0.9)的补全对照
| 项目 | v0.9 情况 | v1.0 位置 |
|---|---|---|
| 版本与变更记录 | 无 | 0 章 |
| 指标口径 | 只有目标数字 | 1.2 节 |
| 假设与依赖 | 无 | 1.4 节 |
| 角色与权限矩阵 | 分散 | 2 章 |
| 状态机 | 只有认证 | 5.3 节(内容/订单/报名/认证/圈子) |
| 后台与运营 | 整章缺失 | 9 章(B1–B7) |
| 审核策略矩阵 | 缺失 | 9.1 节 |
| 通知与消息 | 一行 | 4.10 节 + 事件清单 |
| 枚举值清单 | 缺失 | 8.2 节 |
| 数据采集 | 缺失 | 8.3 节 |
| 并发与容量 | 缺失 | 10.1 节 |
| 安全与合规 | 缺失 | 10.3 节 |
| 依赖与集成 | 缺失 | 11 章 |
| 上线与冷启动 | 缺失 | 12 章 |
| 验收用例 | 7 条太粗 | 13 章(AC-1~AC-20) |
| 待确认问题 | 无 | 14.2 节 |