招聘求职与职业人才版块全面改版方案(待审批 2026-07-13)
招聘求职与职业人才版块全面改版方案
文档性质:网站更新修复说明 · 方案与改造记录(待审批)
版本:V1.0 · 2026-07-13
状态:Phase 1–3 已开发落地(2026-07-13)· 需执行 SQL 迁移后启用沟通功能
关联页面:life/detail、work/detail、career/detail、招聘求职 Hub、应职人才市场
适用站点:baoan(法律站)、ba(保安站)
一、改造背景与您提出的五项需求
| # | 需求摘要 | 现状问题 |
|---|---|---|
| 1 | life/detail 招聘详情页全面改版 | 仍沿用通用「同城信息」版式:红包滚动、附近信息 Tab、字段展示不全、手机脱敏混乱(PC 弱脱敏 / WAP 全暴露) |
| 2 | 公司招聘详情须支持留言、对话、申请加入 | 仅有 WAP 单向留言表单;PC 无入口;无对话线程;加入公司走独立 careerjoin 与招聘详情割裂 |
| 3 | 职业人才详情同样要有聊天、电话、申请 | career/detail 有留言+邀请,但无对话;回复分散在三个 inbox,体验像「通知」不像「聊天」 |
| 4 | 招聘求职 ↔ 职业人才 互链推荐 | 三模块(life/work/career)各自独立,详情页无「匹配牛人/匹配岗位/匹配企业」 |
| 5 | 参考知名招聘网重新设计完美方案 | 见下文对标分析与统一产品设计 |
原则:在现有 life + work + career + recruit_inquiry 基础上 升级,不大拆大建;留言表可演进为对话线程,复用已有私信基础设施。
二、知名招聘网站对标分析
2.1 Boss 直聘(最贴近「直接沟通」)
| 能力 | Boss 做法 | 本站差距 |
|---|---|---|
| 详情结构 | 职位标题 + 薪资突出 + 标签 + 公司卡片 + JD 分段 | life 详情仍是信息帖结构,薪资/岗位要素不突出 |
| 核心 CTA | 立即沟通(站内 IM)+ 投递简历 | 仅「留言」单行文本,无对话 UI |
| 牛人推荐 | 职位页底部「看过该职位的人还看了」+ 相似牛人 | 无 |
| 招聘方视角 | 职位详情 → 推荐匹配候选人 | 无 |
| 电话 | 需双方同意或付费查看 | 规则不统一 |
可借鉴:底部固定操作栏「沟通 / 投递 / 收藏」;详情页嵌入迷你聊天抽屉;职位页推荐「匹配牛人」。
2.2 智联招聘 / 前程无忧(传统综合招聘)
| 能力 | 做法 | 可借鉴 |
|---|---|---|
| 职位卡片 | 薪资范围、经验、学历、地点一行展示 | life/work 列表与详情统一「招聘卡片」组件 |
| 公司主页 | 职位详情右侧/底部挂公司信息,可进公司所有在招职位 | work 详情挂 shop 卡片;life 个人帖可挂「发布者职业档案」 |
| 投递 | 一键投递 + 附件简历 | 对应「发送职业档案摘要」+ 留言 |
| 相似职位 | 详情页「相似招聘」 | 同学目/同地区 life + work 混合推荐 |
2.3 猎聘(中高端 / 人才导向)
| 能力 | 做法 | 可借鉴 |
|---|---|---|
| 人才详情 | 结构化:期望薪资、擅长领域、工作经历时间轴 | career/detail 增强时间轴与标签 |
| 双向 | 猎头/HR 可主动开聊;候选人可回聊 | 对话线程双向 |
| 人才推荐 | 按职能、城市、薪资匹配 | career 列表智能排序(二期) |
2.4 58 同城 / 赶集招聘(分类信息出身,与本站最接近)
| 能力 | 做法 | 可借鉴 |
|---|---|---|
| 信息帖详情 | 标题 + 关键属性表 + 描述 + 联系人 | 保留「属性表」但去掉二手/红包等非招聘元素 |
| 联系 | 电话 + 微聊 | 电话按规则展示 + 站内聊 |
| 列表 | 频道 → 子类 → 筛选 | 已有十大频道,需强化筛选(地区/薪资) |
2.5 对标结论(本站差异化定位)
法律站 / 保安站 = 58 式分类信息(life 快速发布)
+ Boss 式直接沟通(recruit 对话)
+ 猎聘式人才档案(career 应职人才市场)
+ 公司结构化岗位(work)
不做:完整复制 Boss 的付费查看电话、独立 App 级 IM。
要做:招聘垂直详情 + 可回复对话 + 三模块互链 + 统一「沟通中心」。
三、现状技术诊断(代码级)
3.1 life/detail 主要问题
| 问题 | 位置 | 说明 |
|---|---|---|
| 版式非招聘 | Home/life/detail.html、Wap/life/detail.html | 酒店/团购式布局、红包滚动、附近信息 Tab |
| 字段展示不全 | 模板 | text1–5、num1/2、select1–5 未按招聘语义排版(薪资/经验/学历) |
| 手机显示混乱 | PC msubstr 7 位 + 点击显示;WAP tel: 全文 | 应统一「登录后查看 / 发起沟通后可见」 |
| PC 无沟通入口 | Home\LifeAction 无 inquiry() | 仅 WAP 有留言 |
| 已知 Bug | Wap\LifeAction::detail L537 | $cate_id 未定义 |
| 收藏错误 | PC 模板 | 使用不存在的 $detail['shop_id'] |
3.2 留言 / 对话现状
访客 → POST inquiry → by_recruit_inquiry(单行)
→ by_msg 通知(单向)
接收方 → /user/recruitinquiry 或 /merchant/recruitinquiry(仅查看,不能回复)
缺口:无 parent_id、无发送方 outbox、无详情页内对话 UI、私信模块(by_message)未打通。
3.3 三模块关系现状
| 模块 | 详情 URL | 沟通方式 | 互链 |
|---|---|---|---|
| life 招聘帖 | /life/detail/life_id/{id} | WAP 留言 | 无 |
| work 公司岗 | /wap/nearwork/detail/work_id/{id} | WAP 留言 | 无 |
| career 人才 | /career/detail/user_id/{id} | 留言 + 邀请加入 | 无 |
| 加入公司 | /user/career/join | 审核流 | 与招聘详情无按钮串联 |
四、产品设计总纲
4.1 新页面命名(个人中心)
| 名称 | 路径建议 | 面向 |
|---|---|---|
| 沟通中心(推荐) | /user/recruit/chat/ | 求职者:我发起的招聘沟通 |
| 招聘沟通 | /merchant/recruit/chat/ | 招聘方:公司收到的沟通 |
| 人才沟通 | /user/career/chat/ | 职业人:人才市场相关对话(可与沟通中心合并 Tab) |
个人中心菜单建议:我的 → 沟通中心(合并现有「招聘留言」只读列表,升级为可回复对话)。
4.2 统一详情页结构(招聘帖 life / 公司岗 work)
采用 「招聘详情页」 专用模板,废弃通用 life 酒店式布局。
┌─────────────────────────────────────────┐
│ 顶栏:返回 | 招聘详情 | 分享 │
├─────────────────────────────────────────┤
│ 【职位标题】 薪资/待遇(大字突出) │
│ 标签:全职/兼职 | 经验 | 学历 | 地区 │
├─────────────────────────────────────────┤
│ 发布方卡片 │
│ · 个人:头像+昵称+职业档案入口 │
│ · 公司:LOGO+公司名+在招职位数→公司页 │
├─────────────────────────────────────────┤
│ 职位描述(JD) │
│ · 岗位职责 / 任职要求(结构化字段优先) │
│ · 富文本 details 补充 │
├─────────────────────────────────────────┤
│ 工作地址 + 地图(可选) │
├─────────────────────────────────────────┤
│ ▼ 匹配牛人(招聘类频道显示) │
│ [卡片][卡片][卡片] → career/detail │
├─────────────────────────────────────────┤
│ ▼ 相似招聘 │
│ life + work 混合推荐 │
├─────────────────────────────────────────┤
│ 固定底栏 │
│ [立即沟通] [申请加入] [电话] [收藏] │
└─────────────────────────────────────────┘
求职类频道(律师求职、保安求职等):标题区改为「期望薪资/期望岗位」,底栏 CTA 改为「立即沟通」「邀请面试」;推荐区改为 匹配招聘企业。
4.3 人才详情页结构(career)
┌─────────────────────────────────────────┐
│ 顶栏:应职人才 | 分享 │
├─────────────────────────────────────────┤
│ 头像 | 姓名/昵称 | 职业 | 从业年限 │
│ 标签:擅长领域 | 期望薪资 | 地区 │
├─────────────────────────────────────────┤
│ 个人简介 │
│ 执业/上岗证件(脱敏展示) │
│ 工作业绩时间轴 │
├─────────────────────────────────────────┤
│ ▼ 匹配岗位(该公司/同职能在招) │
│ work + life 招聘帖推荐 │
├─────────────────────────────────────────┤
│ 固定底栏 │
│ [立即沟通] [邀请加入公司] [电话] [收藏] │
└─────────────────────────────────────────┘
4.4 详情页内「沟通抽屉」(核心交互)
参考 Boss 立即沟通,在详情页底部或侧滑打开 对话面板,而非跳转表单页。
| 步骤 | 用户操作 |
|---|---|
| 1 | 点击「立即沟通」 |
| 2 | 未登录 → 跳转登录,回跳详情 |
| 3 | 已登录 → 打开对话抽屉,自动创建/进入 conversation |
| 4 | 首条消息可带快捷语:「您好,我对该职位感兴趣」 |
| 5 | 对方在沟通中心回复,双方实时(轮询/WebSocket 二期)看到线程 |
电话按钮规则(建议):
| 场景 | 规则 |
|---|---|
| 未登录 | 提示登录 |
| 已登录未发起沟通 | 显示「沟通后可见」或中间 4 位 138****5678 |
| 已有对话 / 对方开启公开 | 显示完整号码 + tel: |
| 发布者本人 | 始终可见自己的联系方式 |
五、对话系统设计(留言 → 聊天升级)
5.1 方案选择
| 方案 | 说明 | 推荐 |
|---|---|---|
| A | 扩展 by_recruit_inquiry 增加 parent_id、conversation_id | ★★★ 改动小 |
| B | 新建 by_recruit_conversation + by_recruit_message | ★★★★★ 推荐 |
| C | 直接复用 by_message 私信表 | ★★ 与招聘业务绑定弱 |
推荐方案 B:业务清晰,便于按 biz_type 挂招聘上下文,不影响原有私信。
5.2 新表设计(草案)
by_recruit_conversation 会话
| 字段 | 类型 | 说明 |
|---|---|---|
| conversation_id | PK | |
| biz_type | varchar | life / work / career |
| biz_id | int | 关联业务 ID |
| shop_id | int | 公司侧(可 0) |
| user_a | int | 参与者 A(user_id,小的放 a) |
| user_b | int | 参与者 B |
| last_message | varchar | 最后一条摘要 |
| last_time | int | 最后消息时间 |
| unread_a / unread_b | int | 各自未读数 |
| status | tinyint | 1 正常 0 关闭 |
| create_time | int |
唯一索引:(biz_type, biz_id, user_a, user_b) 防止重复开聊。
by_recruit_message 消息
| 字段 | 类型 | 说明 |
|---|---|---|
| message_id | PK | |
| conversation_id | int | |
| from_user_id | int | |
| content | text | 文本 |
| msg_type | varchar | text / system / resume_card / apply_card |
| is_read | tinyint | |
| create_time | int |
系统消息示例:对方已投递职业档案摘要、对方申请加入公司,请至加入申请审核处理。
与现有 by_recruit_inquiry 关系
- 迁移:旧
inquiry行按(biz_type, biz_id, from, target)生成会话 + 首条 message - 兼容:后台
/backstage/recruitinquiry可保留只读审计,或合并到会话列表
5.3 对话流(Mermaid)
sequenceDiagram
participant JS as 求职者
participant DP as 招聘详情页
participant API as RecruitChatService
participant DB as by_recruit_conversation
participant HR as 招聘方沟通中心
JS->>DP: 点击「立即沟通」
DP->>API: openConversation(biz_type, biz_id)
API->>DB: 查找或创建会话
JS->>API: sendMessage(您好…)
API->>HR: 未读+1 + Msg通知
HR->>API: replyMessage(欢迎投递简历)
API->>JS: 未读+1 + 详情页抽屉刷新
5.4 各端回复入口(对应您的第 3 点)
| 角色 | 入口名称 | 路径 | 看到的内容 |
|---|---|---|---|
| 招聘方(公司) | 招聘沟通 | /merchant/recruit/chat/ | 本公司职位/招聘帖下的所有会话 |
| 求职者(个人) | 沟通中心 | /user/recruit/chat/ | 我发起的招聘沟通 + 人才市场被人联系 |
| 职业人(人才侧) | 沟通中心 · 人才 Tab | 同上 Tab | biz_type=career 且 target 是自己 |
| 系统管理员 | 招聘沟通审计 | /backstage/recruitinquiry/ 升级 | 全站会话(合规) |
申请加入公司:详情页按钮 → 仍走 by_user_shop_join_request,但在对话中插入 apply_card 系统消息,审核入口链到 careerjoin。
六、三模块互链推荐(对应您的第 4 点)
6.1 推荐引擎(一期规则,二期可 AI)
不引入复杂算法,先用 规则匹配:
| 详情页 | 推荐块 | 匹配规则 |
|---|---|---|
| 招聘帖 life(招聘频道) | 匹配牛人 | user_career:profession 与 cate 子类映射 + 同 city_id + is_public=1,取 6 条 |
| 招聘帖 life(求职频道) | 匹配招聘 | 同学历/地区 life 招聘频道 + 同公司 work,取 6 条 |
| work 岗位 | 匹配牛人 | 同 shop_id 职业档案 + 同职能人才 |
| career 人才 | 匹配岗位 | 同职业 work + 同学历地区 life 招聘帖 |
| career 人才 | 匹配企业 | 相关 shop 列表(有在招职位) |
6.2 映射配置
新增 by_recruit_match_rule 或在 LifecateModel 配置:
法律招聘 → 职业:律师、法务、律师助理
保安招聘 → 职业:保安员、班长、监控员
律师求职 → 推荐频道:法律招聘、法律兼职
6.3 列表页互链
| 页面 | 新增入口 | ||
|---|---|---|---|
/wap/recruit/index | Tab:招聘 | 求职 | 牛人(链 career) |
/wap/career/index | 顶部:「查看在招职位」→ recruit hub 带 profession 筛选 | ||
/home/life/index | 侧栏卡片:「应职人才推荐」 |
七、life/detail 改版专项(对应第 1 点)
7.1 模板策略
| 端 | 做法 |
|---|---|
| WAP | 新建 Wap/life/detail_recruit.html,LifeAction::detail 根据 channel_id 招聘/求职类走新模板 |
| PC | 新建 Home/life/detail_recruit.html,同上 |
| 旧模板 | 非招聘频道(培训/讲座等)可暂保留 detail.html,逐步迁移 |
7.2 字段语义映射(招聘频道)
| life 字段 | 招聘 UI 标签 | 展示位置 |
|---|---|---|
| title | 职位名称 | 标题 |
| num1 | 薪资下限 | 标题旁 |
| num2 | 薪资上限 | 标题旁 |
| text1 | 经验要求 | 标签行 |
| text2 | 学历要求 | 标签行 |
| text3 | 招聘人数 | 标签行 |
| text4 | 工作性质 | 标签行 |
| select1–5 | 福利/班次等 | 标签 |
| addr + city | 工作地点 | 地址区 |
| details | 职位描述 | JD 区 |
| contact + mobile | 联系人/电话 | 底栏(按规则) |
求职频道映射为:期望薪资、期望岗位、到岗时间等(后台分类字段标签可配置)。
7.3 必须移除的招聘页元素
- 红包滚动 / 领取浮层
- 「附近信息」Tab(PC)
- 酒店式图片轮播(无图用默认招聘图)
- 同城「更多同类」低价信息样式 → 改为「相似招聘」卡片
7.4 必须修复的 Bug(随改版一并做)
Wap\LifeAction$cate_id未定义- PC 收藏
shop_id错误 → 改为life/favorites或收藏 life_id - PC 认证徽章逻辑
- WAP 推荐列表嵌套
<a> - 微信分享双轨统一走
applyContentDetailShare - PC 补充
inquiry/ 对话 API
八、公司招聘详情(work)对齐
当前主详情在 /wap/nearwork/detail/work_id/{id},改版与 life 招聘详情 共用同一套 UI 组件:
| 字段来源 | work 表 + shop |
|---|---|
| 职位名 | work.title |
| 公司 | shop.shop_name + logo |
| 薪资 | work.money 等 |
| 沟通 | biz_type=work 会话 |
| 申请 | 投递档案 + 留言 |
| 推荐牛人 | 同 6.1 |
PC:新增 /home/work/detail/work_id/{id}(当前缺失)。
九、实施分期(建议)
您审阅同意后按 Phase 执行,未同意前不改生产代码。
Phase 1 — 详情页招聘化(约 1–2 周)
- [ ] 新建 WAP/PC
detail_recruit模板 - [ ] 字段映射 + 去掉红包/附近信息
- [ ] 统一电话展示规则
- [ ] 修复已知 Bug
- [ ] 底栏 CTA:沟通(暂跳留言表单)、电话、收藏
- [ ] work PC 详情页
验收:打开 life/detail/life_id/22900 版式正确、字段齐全、手机规则一致。
Phase 2 — 对话系统(约 2 周)
- [ ] 迁移 SQL:
by_recruit_conversation+by_recruit_message - [ ]
RecruitChatService:open / send / list / read - [ ] 详情页沟通抽屉 UI
- [ ] 个人「沟通中心」+ 商家「招聘沟通」
- [ ] 旧
inquiry数据迁移 - [ ]
apply_card与careerjoin联动
验收:招聘详情发起沟通 → 对方回复 → 双方在同一线程往返。
Phase 3 — 三模块互链(约 1–2 周)
- [ ] 详情页「匹配牛人 / 匹配岗位 / 相似招聘」推荐块
- [ ] Hub Tab 与筛选联动
- [ ] career 详情「匹配企业招聘」
- [ ] 帮助中心操作说明更新
验收:招聘详情可点进牛人;牛人详情可点进企业在招职位。
Phase 4 — 体验打磨(可选)
- [ ] 未读角标:会员中心、商家后台、员工工作台
- [ ] 快捷语 / 常用回复
- [ ] 职业档案卡片消息类型
- [ ] 推送:微信模板消息「新招聘消息」
- [ ] 敏感词 / 举报对话
十、UI 规范(主题色)
遵循全站 theme-btn-fill / theme-btn-ghost 规则:
| 元素 | 样式 |
|---|---|
| 底栏「立即沟通」 | theme-btn-fill |
| 底栏「申请加入」「收藏」 | theme-btn-ghost |
| 顶栏(主题色背景) | 白字按钮 |
| 对话气泡 | 己方主题色底白字,对方白底主题色字 |
十一、保安站(ba)适配
| 项目 | baoan | ba |
|---|---|---|
| 频道名 | 法律招聘、律师求职… | 保安招聘、保安求职… |
| 职业映射 | 律师、法务… | 保安员、班长… |
| 文案 | 律所、执业证 | 安保公司、保安员证 |
| 代码 | 共用 RecruitChatService、模板 | 同步,仅文案/种子数据不同 |
十二、风险与边界
| 风险 | 对策 |
|---|---|
| 对话涉诈 / 骚扰 | 举报入口 + 敏感词 + 后台审计 |
| 电话泄露 | 沟通前脱敏,可配置「始终隐藏」 |
| 数据迁移 | inquiry → conversation 脚本可回滚 |
| 性能 | 推荐块缓存 10 分钟;消息列表分页 |
| 与旧私信混淆 | 招聘沟通独立入口,不合并 by_message |
十三、涉及文件清单(开发时)
| 类型 | 路径 |
|---|---|
| 模板 | themes/default/Wap/life/detail_recruit.html(新) |
| 模板 | themes/default/Home/life/detail_recruit.html(新) |
| 模板 | themes/default/Wap/recruit/inc_chat_drawer.html(新) |
| Action | Wap\LifeAction、Home\LifeAction |
| Action | User\RecruitchatAction、Merchant\RecruitchatAction(新) |
| Service | RecruitChatService.class.php(新) |
| Service | RecruitMatchService.class.php(新) |
| SQL | docs/sql/migrations/V20260713_001_recruit_chat.sql(新) |
| 个人中心 | User/member/index.html 增加「沟通中心」 |
| 商家后台 | Merchant/recruitchat/(新) |
十四、请您审阅的决策点
请逐项确认或调整后再开发:
| # | 决策项 | 建议方案 | 您的意见 |
|---|---|---|---|
| 1 | 个人中心沟通菜单名 | 沟通中心 | 可改名 |
| 2 | 电话展示 | 发起沟通后可见完整号 | 或始终脱敏 |
| 3 | 对话表 | 新建 conversation + message | 或扩展现有 inquiry |
| 4 | life 非招聘频道 | 暂保留旧详情模板 | 或全部统一 |
| 5 | Phase 优先级 | 先 Phase1 详情改版 | 或先做对话 |
| 6 | PC work 详情 | Phase1 同步做 | 同意/暂缓 |
十五、相关文档
下一步:您在本方案上批复(可逐条留言修改意见)→ 按确认后的 Phase 排期开发 → 每 Phase 完成后更新帮助中心操作说明与 updates 文档。
