21 Commits

Author SHA1 Message Date
MingNian
f412a474cd 重构健康中心页面:合并指标入口、独立记录页面、多指标趋势图
- 健康中心合并血压/心率/血糖/血氧/体重为统一入口卡片
- 记录页面每个指标独立日期+保存,紧凑设计
- 趋势图支持多指标切换显示,同时显示收缩压和舒张压
- 首页健康概览修复返回页面后数据不更新的问题
- Vite 添加代理,支持手机通过局域网 IP 访问
- 医生端患者详情新增健康趋势图及指标切换
- 运动饮食页面支持删除记录
- 修复复查完成后患者端消失的问题
2026-05-26 15:56:06 +08:00
MingNian
d5f167167a feat: replace Redis with PostgreSQL for caching, rate limiting, SMS codes, and token blacklist
- Add 4 PG entities: VerificationCode, RateLimitEntry, TokenBlacklistEntry, CacheEntry
- Add 4 services: VerificationService, RateLimitService, TokenBlacklistService, CacheService
- Add CleanupBackgroundService for periodic expired data cleanup
- Add MigrationHelper for safe schema migration without data loss
- Update AuthController: real SMS code generation, rate limiting, logout endpoint with JWT blacklist
- Update JwtProvider: add JTI claim for token revocation
- Update Program.cs: register new services, JWT blacklist validation, DB migration
- Remove StackExchange.Redis NuGet package and all Redis config references
- Update start-dev.bat: 6→5 services, remove Redis startup
- Update docs: remove Redis references from all documentation
- Fix: logout button spacing on profile page
- Fix: .gitignore data/→/data/ to not ignore Infrastructure/Data/
2026-05-26 13:48:53 +08:00
MingNian
39ab6062b5 feat: medication reminders, follow-up/visit separation, health record page
Backend:
- MedicationService: today-summary with missed detection (local time)
- FollowUpService: doctor-initiated follow-ups filter, AddAsync supports Notes
- FollowUpController: type query param (followup/recheck)
- MedicationController: today-summary endpoint
- Auth: UpdateProfileRequest→class, StentDate/StentType, soft-delete fix

Patient frontend:
- HomePage: date display, medication reminder cards with missed status
- MedicationListPage: beautified with delete button, slot preview
- MedicationDetailPage: redesigned with progress bars, new CSS
- ProfilePage: beautified menu icons, health record link
- HealthRecordPage: new page with indicators, history, meds, reports
- ServicesHub: added doctor-visit card
- VisitListPage: doctor-initiated follow-ups view
- EditProfilePage: removed height/weight, added stent fields
- Fixed getProfile field mappings (nickname, height, weight, stent)

Doctor frontend:
- Layout: added 随访管理 sidebar item with SVG icon
- FollowUpListPage: recheck-only filter, complete/delete buttons, collapsed completed
- VisitListPage/EditPage: doctor follow-up management
- PatientListPage: added stentType column
- Dashboard: fixed pending reports endpoint
- ReportListPage/DetailPage: fixed uploadedAt field
- ChatPage: SignalR real-time, dynamic hostname
2026-05-25 14:48:05 +08:00
MingNian
db443b258e revert: remove .env loading, restore hardcoded config
- appsettings.json: restored hardcoded secrets
- Program.cs: removed .env file loader
- Frontend api-clients: restored hardcoded localhost:5000
- Removed .env, .env.example, vite-env.d.ts files
- Kept all audit fixes (endpoints, DTOs, field names, status labels)
2026-05-24 13:38:45 +08:00
MingNian
ede4a8d29e fix: audit issues - field mismatches, missing endpoints, data loss
- Report frontends: createdAt→uploadedAt field alignment with backend
- Dashboard: fix pending reports endpoint /api/reports/pending
- FollowUpListPage: status labels upcoming/cancelled
- MedicationController: add PUT/DELETE endpoints + service methods
- FollowUpController: add DELETE endpoint, Notes to CreateRequest
- Auth: UpdateProfileRequest includes doctor fields
- Auth: login restores soft-deleted users instead of crashing
2026-05-24 13:24:21 +08:00
MingNian
d6a432aec4 feat: extract secrets to .env, remove hardcoded credentials
- Backend: .env file for DB/JWT/Redis/MinIO config, appsettings.json cleared
- Backend: Program.cs loads .env at startup (no extra NuGet packages)
- Frontend: .env files for VITE_API_URL, api-clients use import.meta.env
- Added vite-env.d.ts type declarations for both frontends
- All hardcoded localhost:5000 replaced with env variable
- Added .env.example template for onboarding
2026-05-22 22:02:08 +08:00
MingNian
722ee76d93 refactor: patient frontend UI overhaul
- Reworked design system (variables, global styles, component CSS)
- Updated TabBar with icon-based navigation
- Redesigned HomePage, HealthHub, ServicesHub layouts
- Improved Exercise/Diet, Medication, Profile pages styling
- Simplified constants (removed emoji icons, streamlined data)
- Fixed launch.json cwd paths for frontend projects
2026-05-22 17:48:18 +08:00
MingNian
9d384dc6fb feat: add SignalR real-time chat to doctor and patient frontends 2026-05-22 14:51:02 +08:00
MingNian
90615a6cb3 fix: prevent duplicate consultations with db unique constraint, frontend init once guard, chat history preserved 2026-05-22 11:20:48 +08:00
MingNian
8caa374699 fix: prevent duplicate consultations in backend, health calendar shows medication dots 2026-05-22 10:59:46 +08:00
MingNian
4a525124c5 fix: chat history persists, reuse active consultation, load messages properly 2026-05-22 10:48:14 +08:00
MingNian
a9d70aa130 fix: medication time slot picker, auto-expire, red dot logic, home greeting position 2026-05-21 16:43:43 +08:00
MingNian
4c85cd50be fix: patient report shows interpretation, medication daily tracking, followup bugs, home overview restored, doctor renamed 2026-05-21 16:32:20 +08:00
MingNian
0df75c35e9 refactor: single doctor, direct chat, any phone login, UI polish, fix animations 2026-05-21 16:05:21 +08:00
MingNian
bec65959a7 fix: notification click navigates to related page, report interpretation notifies patient 2026-05-21 15:54:16 +08:00
MingNian
204bc19ce5 fix: consultation notifications, profile edit hint, doctor report in Chinese, chat UI polish, tabbar badge 2026-05-21 15:40:17 +08:00
MingNian
3ef25e734f fix: bat uses dotnet directly, doctor frontend gets port 5174 2026-05-21 15:20:55 +08:00
MingNian
51c7c89ec5 docs: split tech docs into backend/patient/doctor, add prod roadmap, improve upload UI, fix report list for doctors, auto-start frontends in bat 2026-05-21 11:21:43 +08:00
MingNian
5d89dcceeb fix: doctor report list shows all patient reports, upload area supports file selection, start-dev.bat starts frontends 2026-05-20 17:02:25 +08:00
MingNian
15deddfcb9 fix: report upload missing imageUrls field 2026-05-20 16:43:28 +08:00
MingNian
435af55c4a Initial commit: HealthManager full-stack health management platform
Backend: .NET 10 + PostgreSQL + EF Core + JWT + SignalR
Frontend patient: React 19 + TypeScript + Vite (mobile H5)
Frontend doctor: React 19 + TypeScript + Vite (desktop web)
2026-05-20 16:18:56 +08:00