文章目录

操作日志不是把“某人做了某事”堆成一串动态,而是让有权限的人在一段时间后仍能回答:谁在什么时间对哪个对象做了什么,结果是什么,证据是否完整。下面用供应商资料后台的操作日志练习这一任务,并在Pixso UI 设计协作流程中绘制列表与详情。

供应商资料操作日志的筛选、详情与敏感字段脱敏

先区分审计日志和活动动态

审计日志强调按时间记录系统活动,通常需要稳定的事件编号和可追溯字段;活动动态可以只展示团队协作消息。两者混用会导致列表既不能检索,也不敢作为复核依据。本篇只讨论后台管理员定位一次资料变更的界面,不负责规定后端必须记录的全部事件。

字段示例为什么需要
发生时间2026-10-12 14:36:08,UTC+8明确时区,避免跨地区误读
操作者陈宁 / cn-084区分同名成员和服务账号
动作修改结算周期使用固定动作词,便于筛选
对象供应商 S-018 / 资料页让用户能回到被操作对象
结果成功、拒绝、失败区分“发起过”和“已生效”
事件编号evt-20261012-00428支持客服或安全团队引用同一条记录

失败事件也要保留。比如陈宁提交了结算周期变更,但因版本冲突被拒绝;只显示成功记录会让管理员误以为没有人尝试修改。错误详情可以分层:列表给结果和短原因,详情给错误码、请求编号和下一步。

列表先解决“找到哪一条”

案例中一小时产生 428 条记录。默认显示最近 24 小时,筛选区提供时间范围、操作者、动作、对象类型和结果;时间范围要标出“按 UTC+8 解释”。点击“修改结算周期”后,结果列表只保留该动作,并显示“已筛选 37 条”。筛选条件应可清除、复制和分享,不能把筛选状态藏在 URL 以外的不可见会话里。

排序按发生时间倒序,并提供事件编号和结果列。分页切换不清空筛选;若日志持续写入,页面给出“有 12 条新记录”提示,让用户决定是否刷新。刷新后仍保留当前时间范围和动作条件,避免正在核对的列表突然换成另一批。

详情要呈现前后值和证据链

点击事件 evt-20261012-00428 打开详情:对象“供应商 S-018”、操作者陈宁、动作“修改结算周期”、旧值“15天”、新值“30天”、结果“成功”、发生时间和事件编号。把旧值与新值放在同一行对照,空值显示“未设置”,不要用空白让人猜是缺失还是脱敏。

如果动作涉及多字段,按字段列出变化;如果只是查看或导出,不要伪造前后值。详情可提供“打开对象”入口,但打开对象时要再次按当前权限检查。日志详情的权限和业务对象权限可能不同:安全管理员能看事件存在,但普通成员只能看到被授权对象的摘要。

脱敏要有规则,导出要有边界

假设供应商资料包含联系人手机号和银行账号。列表不显示完整值;详情显示手机号前 3 后 2 位,账号只显示后 4 位,并在旁边说明“按角色脱敏”。不能把“无权限”做成空白,因为用户需要知道这是被遮蔽而非没有记录。高权限用户是否可以临时查看,需有明确的授权、原因和审计事件。

导出按钮应告诉用户导出的时间范围、当前筛选、字段范围和格式。普通成员只能导出脱敏字段;安全管理员导出完整字段时,系统还应记录一次“导出日志”。下载链接的有效期、文件加密和最大条数属于产品政策,不能在设计稿里擅自承诺。

缺失、重复和时区异常怎么处理

  • 事件延迟:显示采集时间和发生时间,若两者不同,用提示解释排序依据。
  • 重复回放:同一事件编号只展示一次;若系统重试造成重复,详情标记关联编号,不把它们合并成一条不可追溯记录。
  • 字段缺失:显示“系统未提供”并保留事件编号,不用“未知”掩盖数据质量问题。
  • 跨时区:允许切换显示时区,但详情保留原始时间和偏移量。

把一次变更画成可复核路径

在 Pixso 画布中把日志列表、筛选条件、单条详情和脱敏提示放在同一条“修改供应商结算周期”的路径上。

Pixso画布中的操作日志怎么设计?筛选、详情与敏感字段脱敏状态路径
把默认、处理中、成功和失败状态放在同一条可评审路径中。

再用管理员和普通成员两种身份走一遍,确认详情与导出范围没有越权。验收清单至少包括:筛选条件可读且能清除;结果列区分成功、拒绝和失败;详情显示前后值与事件编号;敏感值按角色脱敏;新记录提示不会覆盖当前列表;焦点从列表进入详情后能返回原位置。最后把事件字段、时间口径、权限角色和导出审计规则写进交付说明。