跨端布局先分清视口和状态边界

封面信息图

窄屏隐藏一个按钮只是布局选择,不是权限控制。用户改一条 CSS、直接调用接口,都会绕过前端的视觉隐藏。组件是否显示可以由权限状态决定,真正的授权必须在服务端每次请求时完成。

function ExportAction({ allowed }: { allowed: boolean }) {
  if (!allowed) return null;
  return <button type="button">导出</button>;
}

不要把权限集合写进浏览器可修改的静态配置里,也不要因为按钮未渲染就省掉 API 鉴权。响应式样式只管排版:桌面可以显示工具栏,手机可以收进菜单;两种入口都调用同一条受服务端保护的能力。测试时至少覆盖无权限用户直接请求、权限切换和不同视口三类情况。

Logo

一站式 AI 云服务平台

更多推荐