第3章 Axure基础元件与交互:动态面板、中继器、交互用例、条件设置

3.1 用户场景:权限原型中的典型交互困境

产品经理在设计权限系统原型时,常遇到以下三类高频场景:

  • 场景一:不同角色看到不同页面。如管理员进入控制台能看到“用户管理”菜单,普通成员则看不到。若用独立页面为每个角色复制一份,将导致原型膨胀且难以维护。
  • 场景二:同一按钮在不同权限下反应不同。例如“删除”按钮,对管理员直接弹出确认框,对普通成员则提示“无权限”。静态原型无法表达这种条件分支。
  • 场景三:权限列表需动态渲染。角色与权限的对应关系经常变动,若手动绘制每个角色的权限表格,每次需求变更都需要重新出图,效率极低。
产品经理痛点 —— 上述三个场景的共性问题是:静态原型只能展示“某一时刻”的界面,而权限交互的本质是“不同条件→不同状态”的动态映射。要解决这个问题,必须掌握 Axure 中四个基础但强大的元件与交互机制。

3.2 业务问题:静态原型无法表达权限变化

使用传统“堆页面”的方式做权限原型,会带来三个业务层面的问题:

问题维度堆页面方式带来的业务风险
页面维护为每个角色复制一套页面角色数量增多时,原型体积成倍膨胀,需求变更需逐一修改所有页面
交互验证按钮点击后直接跳转固定页面无法模拟权限校验过程,开发人员难以理解“判断→分支”的逻辑
数据一致性权限数据写死在页面文本中权限矩阵调整时,需要手动修改每个页面的文本,极易遗漏或出错

这些问题的根源在于:原型缺乏“状态管理”和“数据驱动”能力。动态面板、中继器、交互用例与条件设置正是弥补这些能力的核心工具。

3.3 需求拆解:四个核心能力

从产品需求表达的角度,四个元件分别对应权限交互中不可或缺的四种能力:

元件/机制核心职能在权限交互中扮演的角色
动态面板管理界面状态切换一个面板承载多个状态(如管理员视图/普通用户视图),通过切换状态实现角色视图的无跳转变化
中继器数据加载与动态渲染存储用户列表、权限矩阵等结构化数据,驱动页面内容自动生成,数据变更时原型自动更新
交互用例事件触发与动作编排定义“何时执行何动作”,如单击按钮时触发权限校验流程
条件设置逻辑分支与规则判断在交互用例中加入“如果角色=管理员,则执行A;否则执行B”的判断规则
常见误区 —— 不要试图用动态面板“模拟”所有权限数据,数据部分应交给中继器;动态面板只负责“呈现层的状态切换”。职责分离是原型可维护性的关键。

3.4 原型方案表达:元件组合方案

结合四个元件,可以构建一套完整的权限交互原型方案,分为“数据层”和“呈现层”两部分:

  • 数据层(中继器 + 条件设置):中继器存储用户权限数据集,每一行记录包含 user_id、role、permission_level 等字段。条件设置读取当前选中用户的 role 或 permission_level 值,作为判断依据。
  • 呈现层(动态面板 + 交互用例):动态面板的不同状态对应不同的权限视图(如“管理员面板”“编辑者面板”“查看者面板”)。交互用例监听用户操作(如点击“进入管理后台”按钮),先触发条件判断,再根据结果切换到动态面板的对应状态。
中继器数据集示例字段:
┌─────────────┬──────────────┬──────────────────┐
│ 字段名       │ 数据类型     │ 示例值            │
├─────────────┼──────────────┼──────────────────┤
│ user_id     │ 文本 (Text)  │ U001             │
│ role        │ 文本 (Text)  │ admin            │
│ level       │ 数字 (Number)│ 3                │
│ department  │ 文本 (Text)  │ 技术部           │
└─────────────┴──────────────┴──────────────────┘
方案优势 —— 当权限需求变化时(如新增一个“超级管理员”角色),只需在中继器中添加一条记录,并在动态面板中新增一个状态,无需复制整套页面。原型维护成本降低 60% 以上。

3.5 交互逻辑:权限状态机与条件分支

权限交互的核心逻辑可以抽象为一台“状态机”:用户操作触发事件 → 中继器提供权限数据 → 条件设置进行判断 → 动态面板切换到对应的状态。下图展示了这一完整流程:

图3-1 动态面板与中继器协作的权限交互流程 用户触发操作 中继器查询权限数据 条件判断:是否有权限? 动态面板切换(有权限) 显示功能界面 动态面板切换(无权限) 提示无权限信息 是 否

流程中的关键交互逻辑拆解如下:

  1. 事件触发:用户点击某个受权限控制的元件(如“编辑”“删除”“进入管理后台”),交互用例捕获该事件。
  2. 数据查询:中继器根据当前用户的标识查找对应的权限记录,返回 role 与 permission_level 值。
  3. 条件分支:条件设置对返回值进行判断。例如 [[Item.role == 'admin']] 或 [[Item.level >= 3]]。判断结果为“真”则走左侧分支,“假”则走右侧分支。
  4. 状态切换:动态面板根据分支结果切换到对应的状态(有权限状态 / 无权限状态),每个状态下放置不同的内容或提示。
  5. 结果呈现:用户看到功能界面或权限提示,完成一次完整的权限交互闭环。
条件表达式示例(直接用于 Axure 交互用例的条件设置面板):
[[Item.role == "admin"]]          // 精确匹配角色
[[Item.level >= 3]]               // 数值比较
[[Item.role == "editor" && Item.department == "技术部"]]  // 多条件与

3.6 验收标准

在原型交付前,使用以下验收点检查权限交互的完整性与正确性:

验收维度验收点验证方法
功能完整每个受控元件都绑定了权限判断交互用例逐一点击受控元件,观察是否触发了条件判断流程
状态覆盖动态面板包含所有角色对应的状态,且无遗漏切换中继器中的用户角色数据,验证动态面板状态是否正确切换
条件正确条件设置中的表达式与实际权限矩阵一致对照权限矩阵文档,检查每个条件分支的结果是否符合预期
边界处理无权限、角色不存在、数据为空等异常情况有对应状态在中继器中构造异常数据,验证动态面板是否显示“无权限”或“数据异常”状态
交互流畅状态切换无闪烁、无跳转、无内容重叠在预览模式下反复切换角色,观察动态面板过渡是否平滑
验收红线 —— 如果出现“角色A看到角色B的专属功能”或“无权限用户依然能执行操作”的情况,说明条件设置或动态面板状态映射存在错误,必须修复后才能交付原型。