Commit Graph

7 Commits

Author SHA1 Message Date
richarjiang
640cfbf467 feat: 新用户默认昵称及个人中心加载状态修复
- 新用户注册时随机生成普拉提主题默认昵称(16 个可选)
- 修复 App 启动后个人中心首次进入不展示用户信息的 bug
  - loggedIn 改为仅依赖 token 是否存在
  - 新增 hasProfile 判断用户数据是否已加载
  - 未加载时显示骨架屏而非空白
- 抽离随机函数为可注入依赖,消除 Math.random 测试耦合
2026-04-05 10:21:58 +08:00
richarjiang
982e569fa3 feat: 支持一键发布服务端 2026-04-04 15:39:26 +08:00
richarjiang
994d1f75d5 feat(server): add booking, payment, and scheduler modules
Booking: reservation with atomic transactions, cancellation with refund
logic based on cancelHoursLimit (23 tests)
Payment: WeChat Pay integration (mock), order lifecycle, membership
creation on payment callback (13 tests)
Scheduler: cron tasks for slot generation, cleanup, membership expiry (8 tests)
109 total tests passing across 9 test suites
2026-04-02 12:33:50 +08:00
richarjiang
593a6e5453 feat(server): add membership and time-slot modules
Membership: card type CRUD, deduction/restore logic, valid card lookup (15 tests)
TimeSlot: slot generation from week templates, availability query with booking
status, admin management, cleanup tasks (26 tests)
65 total tests passing
2026-04-02 12:24:07 +08:00
richarjiang
a1a91f96d8 feat(server): add auth, user, and studio modules
Auth: WeChat login, JWT, roles guard (24 tests passing)
User: profile CRUD, training stats with month/total calculations
Studio: config management with auto-default creation
2026-04-02 12:12:18 +08:00
richarjiang
e653580155 feat(server): add Prisma schema with all 8 data models
- User, CardType, Membership, WeekTemplate, TimeSlot, Booking, Order, StudioConfig
- PrismaService and global PrismaModule
- snake_case column mapping with camelCase TypeScript fields
- Proper indexes and unique constraints
2026-04-02 12:01:21 +08:00
richarjiang
90b54d1138 feat: scaffold monorepo with shared types and NestJS server
- pnpm workspace with packages/app, packages/server, packages/shared
- @mp-pilates/shared: enums, constants, TypeScript interfaces for all 8 data models
- @mp-pilates/server: NestJS bootstrap with health check, validation pipe, CORS
- Base TypeScript config with strict mode
2026-04-02 11:37:35 +08:00