ff3a120b55
feat(plan): 新增「加入计划」选择器页 + 增强官方计划浏览,修复返回不刷新
...
1) 新增 pages/plan-select(加入我的计划选择器,替换详情页 actionSheet)
- 默认展示我全部计划(浏览,不再强制搜索),支持 最近创建/动作最多 排序 + 名称搜索
- 点选即把动作加入该计划并返回;无计划时引导新建
- 入口接在 detail 页「加入计划」(无 planId 时 navigate 至此)
2) 增强 pages/collection(官方训练计划)
- 默认展示全部分级,新增 等级筛选 chips + 名称搜索(均用现有字段,不改后端)
- 筛选/搜索纯前端,viewGroups 驱动渲染
3) 修复 plan-detail 从「添加动作」返回后列表不刷新(上轮已单独提交 7ff55a6)
4) app.json 注册 plan-select 页面
2026-07-23 14:15:41 +08:00
a0894837bd
ux: 动作收藏按钮从顶部浮窗移到底部,与加入计划并排 + 图标美化
...
- detail 顶部 favbtn 浮窗(需避让胶囊、丑)移除,改为底部 addbar 内与 CTA 并排的方形按钮
- fc-icon 新增 filled 属性:收藏态实心心形(Lucide 描边图标默认 fill=none,filled=true 时 fill=stroke 变实心)
- 收藏按钮美化:圆角 24rpx 方形 + 发丝边框,未收藏描边(text-2)、已收藏实心(accent)+ accent-soft 底色 + accent-ring 边框 + 点按 scale 反馈
- detail.js 清理 favRight/favTop 胶囊避让逻辑(不再需要)
2026-07-22 23:25:17 +08:00
47c4801f34
fix: 动作详情GIF动图播放 + 收藏按钮避让胶囊
2026-07-22 16:02:04 +08:00
98126c62ec
feat: 自托管超分媒体 + 详情页优先清晰JPG
...
- 后端 main.ts: 新增 /media 静态服务(指向容器内 /app/media,由卷挂载)
配合 MEDIA_BASE_URL 指向本服务 /media,彻底脱离 jsDelivr 依赖
- 详情页 hero 优先用超分 JPG(720px),GIF/JPG 互为降级兜底
2026-07-22 15:33:29 +08:00
06bd96a473
fix: 修复动作卡片点击双触发导致跳 404
...
- 8 个页面 exercise-card 由 bind:tap 改为 catch:tap,拦截原生 tap 冒泡
避免一次点击被『自定义事件 + 原生冒泡』触发两次,
第二次 e.detail 无 id → navigateTo detail?id=undefined → 404
- 所有 onExercise 顶部加 id 守卫,无 id 直接 return
- exercise-card 点击前校验 exercise.id,缺失不触发
- detail onLoad 的 id 为空时直接显示空态,不再发起错误请求
2026-07-22 15:30:28 +08:00
70ff806042
feat: 小程序连接服务器IP + 同步未提交开发
...
- miniprogram/config.js: BASE_URL 指向 http://192.227.237.8:3001
- 动作标题中文化(nameZh),搜索匹配 name/nameZh/nameEn
- 新增计划/收藏/我的 等页面与组件
- 后端 Docker 化(Dockerfile/.dockerignore)与翻译脚本
- .gitignore 补充 .DS_Store
2026-07-22 14:05:30 +08:00
b3b58e66fb
feat: init fitness-coach (backend + miniprogram)
...
- backend: NestJS service with exercise/plan data
- miniprogram: WeChat mini program client
- exclude node_modules, dist, runtime data-store, local env
2026-07-22 00:35:40 +08:00