Skip to content

地区管理 ​

地区管理以省、市、区县为主要管理层级,后端还保留街道和村庄数据能力。当前管理页面主要使用地区树和各层级详情、列表接口。

页面结构 ​

  • 左侧:地区树,用于快速选择区域。
  • 右侧:当前区域详情和下级区域列表。
  • 下级区域较多时,右侧内容区域支持独立垂直滚动。

地区树默认展开省份和城市层级,区县默认不展开,以避免首次渲染大量节点。后端接口耗时较短但页面仍慢时,应重点检查前端是否一次展开和渲染了全部节点。

加载方式 ​

GET /area/tree 返回树结构,可以使用 maxLevel 控制层级。选中节点后,根据区域类型调用对应详情或下级列表接口。

页面展示所需接口不应因为前端权限判断而静默跳过;前端正常调用,由后端返回 403 表达无权限。前端展示类元素才使用 view: 权限控制。

权限设计 ​

地区树、各层级详情、城市列表、区县列表以及各层级增删改均应有明确接口资源。只使用地区树时,勾选未被页面调用的独立列表权限不会产生效果;这属于接口是否实际被调用的问题,不是权限系统失效。

数据关系 ​

地区上下级目前主要通过区域编码关联,不完全依赖数据库主键。因此当前删除不做复杂的跨业务关联性检查;如果删除后重新创建相同编码,可以恢复编码引用关系。

这并不意味着生产环境可以随意删除地区。涉及订单、地址或统计数据的项目,应在自己的业务 Service 中增加编码引用保护。

性能建议 ​

  • 首次只请求页面实际需要的最大层级。
  • 默认展开有限层级,不一次展开所有区县。
  • 树数据未变化时避免重复请求。
  • 选中节点后只刷新右侧受影响数据。
  • 大体量街道、村庄数据不建议直接加入首屏树。

YeahBoot 官方技术文档