工期宝 · 自测台

阶段 1:登录 / 手机号  ·  阶段 2:身份 / 资料 / 互相关注  ·  阶段 3:档期 / 工长首页  ·  阶段 4:记账 / 收款 / 工长确认  ·  阶段 5:简历 / 分享 / 申请关注  ·  阶段 6:消息通知
这是给不写代码的人用的。下面左右两张卡片就是两个"手机"(两个账号)。 左边先登录并选「我是工长」,右边登录并选「我是工人」,然后往下走: 互相关注工人设置档期工长首页看分组工人记工 / 工长确认简历分享 / 申请关注看消息通知
登录 code 随便填(例如 gongzhang-a),同一个 code 永远对应同一个账号,换个 code 就是新账号。
城市只能选安庆市 / 湖州市 / 郑州市(第一版只开通这三个)。

服务状态

还没检查

A 账号 A 未登录

1. 登录

2. 选身份(只允许选一次)

3. 填资料

未登录

B 账号 B 未登录

1. 登录

2. 选身份(只允许选一次)

3. 填资料

未登录

互相关注(阶段 2 核心)

用谁的身份操作

当前:A

关注 / 取关

看对方的资料(互关权限闸门)

处理关注申请

我的列表

先登录 A 和 B,再点上面的按钮
预期结果:未互关时「要对方电话」会返回 403 NOT_MUTUAL; 互关之后同样的按钮就能拿到手机号和微信号。取消关注后立刻又变成 403。

简历与传播(阶段 5)

1. 我的简历(工人)

2. 给工人填个手机号(不然验不出"看不到")

假登录模式下,这里填什么就是什么

3. 访客视角(不带登录态,模拟陌生人点开链接)

先让一个账号选「我是工人」并登录,再点上面的按钮
预期结果:公开版永远看不到手机号 / 微信号(需求 2.2), 而且是字段根本不返回,不是返回空值。 好友版必须互关才给,未互关返回 403 NOT_MUTUAL; 关掉公开开关后访客变成 403 RESUME_PRIVATE, 但不影响已经互关的人

消息通知(阶段 6)

1. 未读红点

账号 A(工长) 0 账号 B(工人) 0

2. 消息列表(当前操作方:

先登录 A 或 B,再点「拉取消息」
点列表里每条右边的按钮可以标为已读删掉。 只能操作自己的消息:拿别人的消息 id 去标记会返回 403 NOT_YOUR_MESSAGE, 已删掉的消息再操作返回 404 MESSAGE_NOT_FOUND

3. 微信订阅消息授权(

微信订阅消息是一次授权只能发一条,所以这里显示的是"还能发几条"。
当前 WECHAT_SUBSCRIBE_ENABLED=false、模板 ID 也没配, 所以这里是未启用状态:授权不会加可发次数, 需要推送的消息一律记为 skipped(未发送·功能未开启), 而不是 failed(发送失败)。这两个状态必须分得清, 否则运维会天天收到假告警。

客服与投诉(阶段 7.4-b)

1. 提交反馈(当前操作方:

先登录 A 或 B,再点「提交反馈」
反馈是落在"人"身上的:处理方式就是客服**回复你**,所以下面「我的反馈」里 能看到状态和客服回复
防止刷屏:同一个人最多只能积压 5 条还没给结论的反馈 (已解决 / 不予受理的不占额度)。超了返回 400 FEEDBACK_TOO_MANY_PENDING
内容少于 5 个字会被退回来(FEEDBACK_INVALID)—— 收到一堆"闪退""不能用"客服没法处理。

2. 常见问题(不用登录也能看

点「拉取常见问题」。勾上「模拟未登录」也能拉到 —— 这是故意的。
这个接口是登录可有可无的:最常见的问题恰恰是"我注册不上 / 我登录不了", 如果必须登录才能看,最需要看的人永远看不到。所以勾上「模拟未登录」照样能拉到, 返回 200 而不是 401
只返回运营启用的条目,并且按「排序号升序、同号按 id 升序」—— 加 id 兜底是为了同序号的两条在两次查询里不会换位置。

3. 举报作品照片(后台「举报列表」的数据来源

先在工人那边「填资料」里填一张作品照片 URL 并保存,再用另一个账号举报它
举报是落在"内容"上的:处理方式 = 判断要不要把这张照片下架。 这和反馈(落在人身上、处理方式是回复他)是两条线,所以后台也分两屏。
举报的处理结果不告诉举报人 —— 免得有人拿"对方被下架了"去要挟别人。
两条保护:不能举报自己REPORT_SELF,会引导他去「我的资料」里删); 同一个人对同一张照片重复举报不重复涨计数(返回 duplicated: true)—— 没有这条,一个人连点几十次就能把别人的照片一直顶在审核队列最前面, 严重时审核员会误以为"这么多人都举报了,肯定有问题"直接下架, 恶意举报就这样变成了下架工具。

工长首页 · 我的工人(按档期分组)

先让工长(操作方)登录,再点「查询我的工人」
只列已互关的工人。排序规则(需求文档 5.2): 现在有空 → 待确认 → 明天能接单 → N 天后 → 30 天以上 → 档期未更新; 组内同城优先、再按可接单天数升序。

工人记工与收款 先选一个工人身份

1. 记一笔工

2. 录一笔收款(只有工人能录)

先让一个账号选成「我是工人」,再记一笔
记给已互关工长的账,工长能看到、能确认; 手填名字的账只有你自己看得到,标记为「未关联,无法对账」。 日期不能填以后的日子。

工长确认记账 先选一个工长身份

1. 别人记给我的账

2. 确认某一笔

先让一个账号选成「我是工长」
工长只能看、只能确认,不能加也不能改 —— 这是需求文档 4.6 定死的。 确认之后工人会收到一条站内消息(消息读取页在阶段 6 做)。 手填名字的账不会出现在这里,因为那笔账没关联到平台用户。

每日档期刷新(定时任务)

正常情况每天凌晨自动跑一次,把到期的档期批量刷成「待确认」/「30 天以上」。 这个按钮是让你不用等到半夜也能验证它工作正常。
它只影响后台统计。工长看到的档期是查询时实时算出来的,跟这个任务无关。

操作日志

(这里会按时间顺序记录每次请求)