feat: 器械分类网格化 + 分类页标题防乱码 + 按器械/部位多维度筛选

- 首页『热门器械』由横滑 chips 改为与『按部位浏览』一致的网格
- 分类页 navbar 标题改由本地分类枚举回写,避免外部传入标题乱码
- 分类页新增二级维度多选筛选:器械维度交叉按部位,其余维度交叉按器械
- 后端 exercises.service 支持 equipment/bodyPart 逗号分隔多值 OR 过滤(向后兼容)
This commit is contained in:
2026-07-24 10:28:40 +08:00
parent ec0eb98411
commit 393157e56b
6 changed files with 122 additions and 27 deletions

View File

@@ -3,12 +3,17 @@
.filterbar {
position: sticky;
z-index: 40;
white-space: nowrap;
padding: 8rpx 0 4rpx;
padding: 8rpx 0 12rpx;
background: var(--bg-grad);
}
.filterbar__row { white-space: nowrap; }
.filterbar chip { display: inline-block; margin-right: 16rpx; }
.filterbar__spacer { display: inline-block; width: 4rpx; }
/* 二级维度(多维度筛选):主维度横列下方再叠一条横列,带标签与清除 */
.filterbar__sub { margin-top: 12rpx; padding-top: 14rpx; border-top: 1rpx solid var(--line); }
.filterbar__subhead { display: flex; align-items: center; justify-content: space-between; padding: 0 4rpx 10rpx; }
.filterbar__sublabel { font-size: 24rpx; color: var(--text-2); font-weight: 600; }
.filterbar__clear { font-size: 22rpx; color: var(--accent); }
/* 加载 / 空态占位:横列区域常驻,避免加载期间整块消失 */
.filterbar__loading {
font-size: 24rpx;