[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-rbac-to-data-permissions-zh-CN":3,"blog-related-rbac-to-data-permissions-zh-CN":29,"blog-adjacent-rbac-to-data-permissions-zh-CN":65},{"id":4,"slug":5,"title":6,"excerpt":7,"content":8,"cover":9,"tone":10,"author":11,"publishedAt":12,"updatedAt":12,"readingMinutes":13,"featured":14,"tags":15,"category":19,"seoSettings":28},32,"rbac-to-data-permissions","权限模型：从角色控制到数据权限","多数后台的权限停在菜单和按钮层面，真正难的是让不同的人只看到自己该看的数据。","\u003Cp>企业后台的权限通常分三层：能不能登录、能看到哪些菜单、能点哪些按钮。这三层做好之后，客户往往还会提出第四个要求：同一个页面，不同的人看到的数据范围不一样。\u003C\u002Fp>\n\u003Ch2>三种常见的数据权限\u003C\u002Fh2>\n\u003Cp>按组织架构：部门经理只看本部门数据，区域经理看所辖区域，集团看全部。\u003C\u002Fp>\n\u003Cp>按数据归属：销售人员只看自己负责的客户，主管看团队，管理员看全部。\u003C\u002Fp>\n\u003Cp>按数据分级：合同、薪资这类敏感数据单独授权，与角色无关。\u003C\u002Fp>\n\u003Ch2>实现上的两个建议\u003C\u002Fh2>\n\u003Cp>不要在业务代码里到处写 if 判断，把数据范围抽成一个查询条件构造器，统一注入。\u003C\u002Fp>\n\u003Cp>权限变更要能审计：谁在什么时候改了谁的权限，出了问题可以追溯。\u003C\u002Fp>\n\u003Cp>权限设计的目标不是把人管住，而是让每个人在职责范围内顺畅工作，越界操作自然被挡住。\u003C\u002Fp>","","indigo","佳益方圆团队","2026-09-23T11:26:00+08:00",1,false,[16,17,18],"权限","后台系统","架构",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},0,"engineering","技术专栏","架构设计、性能优化、AI 集成与跨端方案等一线技术实践，由研发团队持续分享。","cpu","blue","article",60,{},[30,42,54],{"id":31,"slug":32,"title":33,"excerpt":34,"content":9,"cover":9,"tone":35,"author":11,"publishedAt":36,"updatedAt":36,"readingMinutes":13,"featured":14,"tags":37,"category":41},30,"integration-api-pitfalls","企业系统集成：接口对接最容易踩的五个坑","接口文档写得再全，真正对接时仍然会卡在字段约定、超时和重复推送这些细节上。","cyan","2026-10-17T09:00:00+08:00",[38,39,40],"系统集成","接口","工程实践",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":13,"slug":43,"title":44,"excerpt":45,"content":9,"cover":9,"tone":35,"author":11,"publishedAt":46,"updatedAt":47,"readingMinutes":48,"featured":49,"tags":50,"category":53},"why-enterprise-systems-age","为什么企业系统会在三年后开始“老化”","系统上线时功能齐全，三年后却处处别扭。问题往往不在代码，而在交付时被忽略的那些变化。","2026-10-16T09:30:00+08:00","2026-10-18T15:58:14.648+08:00",2,true,[51,52],"系统演进","架构设计",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":55,"slug":56,"title":57,"excerpt":58,"content":9,"cover":9,"tone":25,"author":11,"publishedAt":59,"updatedAt":59,"readingMinutes":13,"featured":14,"tags":60,"category":64},31,"idempotent-design-basics","幂等设计：重复提交不只是用户手抖","网络重试、消息重投、用户连点，都会让同一个请求到达多次。幂等应该设计在接口里。","2026-10-05T10:13:00+08:00",[61,62,63],"接口设计","幂等","可靠性",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"previous":66,"next":77},{"id":67,"slug":68,"title":69,"excerpt":70,"content":9,"cover":9,"tone":25,"author":11,"publishedAt":71,"updatedAt":72,"readingMinutes":48,"featured":14,"tags":73,"category":76},3,"miniapp-or-app","小程序还是 App？先看业务发生在什么场景","技术偏好不该成为选型依据。低频与高频、分享与留存、能力边界，才是决定载体的关键。","2026-09-25T09:00:00+08:00","2026-10-18T15:58:14.677+08:00",[74,75],"移动端","技术选型",{"id":13,"parentId":20,"slug":21,"name":22,"description":23,"icon":24,"cover":9,"tone":25,"kind":26,"sortOrder":27,"count":20},{"id":78,"slug":79,"title":80,"excerpt":81,"content":9,"cover":9,"tone":82,"author":11,"publishedAt":83,"updatedAt":83,"readingMinutes":13,"featured":14,"tags":84,"category":88},52,"user-interview-questions","用户访谈里最该问的三个问题","问“你想要什么”得到的是想象，问“你上次怎么做”得到的才是事实。","teal","2026-09-21T11:26:00+08:00",[85,86,87],"用户研究","访谈","产品方法",{"id":48,"parentId":20,"slug":89,"name":90,"description":91,"icon":92,"cover":9,"tone":25,"kind":26,"sortOrder":93,"count":20},"product-thinking","产品思维","需求分析、用户体验与产品设计方法论，以及从业务问题到产品方案的思考过程。","lightbulb",50]