磨刀不误砍柴工。先备好地址、账号和测试数据标记规范。
| 项 | 值 |
|---|---|
| 测试站(内网) | http://192.168.11.70:5112 |
| 管理员 | admin / admin123(全部权限) |
| 安全员 | inspector / inspector123(无用户管理权限,正好测 403) |
| 普通员工 | staff / staff123 |
【点检】(如 【点检】配电房隐患)。这样最后收尾时能一键认出并删干净,不污染生产数据。看到旧的 测试/冒烟 数据不要动,那是历史遗留。地址:http://192.168.11.70:5112/login —— 门卫,拦住坏人、放行自己人。

admin,密码留空,点「登录」logs 表不应新增 login 成功记录admin,密码随便输错,点「登录」login_fail(action 列),detail 含用户名admin / admin123 点「登录」tk_safe_sessionlogin / auth,user=系统管理员地址:/portal —— 总大厅,三扇门通三端,头顶四个数字是全站缩影。

/m、/admin、/screen,无 404/500;staff 账号看不到 PC 后台入口(无权限)hazards 表)F12 切手机模式(390px)。员工每天用的 9 个页面,一个一个过。

【点检】配电房电缆裸露 → 级别选一般 → 单位/点位任选 → 传 1 张照片 → 点「提交上报」hazards.status=pending 且多一条 hazard_flow(action=create)。记下它的 id,后面 3-3、5-1 要用【点检】正常 → 状态选正常 → 点「确认签到」staff 登录手机端 →「📋 任务」→ 点该整改任务 →「📷 提交整改」→ 说明填 【点检】已包扎 → 传整改后照片 →「提交并等待复核」hazard_flow 多一条 action=rectify,rectify_note 一致【点检】匿名举报测试 → 勾选匿名 → 提交anonymous=1、reporter 为空;violation_reports 表多一条training_lesson_progress 有你的 user_id 记录;training_notes 增删对应;training_certificates 在全完成时多一条emergency_plans,管控卡来自 risk_points(level 决定颜色)equipment.next_inspectionusers 表对应行 phone/password 变化;logs 有改密记录用 admin 登录,地址 /admin。左菜单自上而下,一个模块不落。

hazards.status 跟着变;hazard_flow 按顺序多出 assign→rectify→review/close;tasks 同步生成/关闭;销号后工作台隐患总数-1、待办数变化
organizations / equipment / personnel / related_parties / materials(+material_io) 增删改各对一条;出入库在 material_io 留两条(in/out),materials.quantity 加减正确【点检】配电房触电风险 → 级别选红 → 填管控措施/责任人/复核周期 → 保存 → 点「复核」填结果 → 再「编辑」改级别 → 「删除」risk_points 增删各一;risk_reviews 多一条;仪表盘风险分布红数 +1 再 -1【点检】消防专项)→ 点「归档检查记录」填检查项 → 保存 → 删除special_actions 增删各一,关联记录同步【点检】消防课)→「添加视频」挂课时 → 用 staff 账号去手机端学完 → 回来看学时统计 → 删除课程(连带课时/记录一起清)training_courses/lessons/records 联动;删除后三表无残留(重点查)emergency_plans / drill_records / contacts 增删各一【点检】动火作业,提交申请)→「一级审批」通过 →「二级审批」通过 →「完工销项」work_permits.status 跟着走;每步审批人和时间落库dianjian,角色 staff)→ 用它登录一次 → 改它为 inspector → 删除;再用 inspector 账号访问「用户管理」页users 增改删各一,最终无 dianjian 残留【点检】/按模块筛 → 系统设置页改一条配置保存 → 点「发送测试」logs 可按关键字/模块命中;site_settings 值已更新地址:/screen —— 免登录,给领导看的门面,数字必须和后台一致。

/screen(验证免登录)→ 逐项抄下数字longitude!='' 在 PG 报错 500,已修——若再现 500 即回归失败前台一点、后台一查,表名就是证据。抽查时直接用这张表。
| 前台操作 | 落库表 | 关键字段 |
|---|---|---|
| 随手拍提交 | hazards + hazard_flow(create) | title / photos / status=pending |
| 分派工单 | hazards + tasks + hazard_flow(assign) | assignee / deadline / status=handling |
| 提交整改 | hazards + hazard_flow(rectify) | rectify_note / rectify_photos / status=reviewed* |
| 复核销号/退回 | hazards + hazard_flow(review/close) | review_note / status=closed |
| 巡查签到 | patrol_records | plan_id / point_name / record |
| 匿名举报 | hazards(anonymous=1) + violation_reports | anonymous / reporter 为空 |
| 培训完成/笔记/证书 | training_lesson_progress / training_notes / training_certificates | user_id / content / cert_code |
| 物资出入库 | material_io + materials.quantity | io_type / quantity 加减 |
| 风险复核 | risk_reviews + risk_points.next_review | result / 日期顺延 |
| 作业许可全链 | work_permits | status 步进 + 审批人时间 |
| 登录成功/失败 | logs(action=login/login_fail) | user / ip |
| 新增用户/改密 | users | username / password(sha256) |
考完试擦黑板。所有 【点检】 数据必须删干净,生产库干干净净交回去。
【点检】 → 逐条删除;用户页删 dianjian;隐患页确认销号的那条也删(或保留归档,请示负责人)【点检】 零结果;工作台四个数字回到点检前(对照开始时拍的照)【点检】 残留;logs 保留(审计不删);旧的 测试/冒烟 历史数据不动【点检】 和 dianjian。历史遗留的 测试/冒烟 数据是生产库沉积问题,另立数据治理任务处理,本次不动。