LOG · 日志
remepui
RemepUI
Remipedia 的 Web 管理端:管患者、设备、绑定关系与健康数据,菜单和路由按后端的模块权限收窄。
状态:原型(主流程可用,依赖后端);入口:本地 pnpm dev,生产为 nginx 静态托管;仓库:https://github.com/fire-disposal/remepui
相关仓库:后端 remipedia、移动端联调工具 remepmobile
后端接口:https://iomt.205716.xyz/api-docs/openapi.json
本质
消费 remipedia 接口、按模块权限展示设备、绑定与患者数据的 Web 管理端。
选型
基于 React + Vite 的纯前端 SPA,后端消费 remipedia REST,数据 TanStack Query 缓存,部署 nginx 静态站点。
- 运行时与构建
- Node 20
- pnpm
- Vite
- TypeScript
- 前端
- React 19
- TanStack Router
- TanStack Query
- TanStack Table
- Zustand
- axios
- Mantine 8
- core
- dates
- hooks
- modals
- notifications
- Tabler Icons
- dayjs
- React 19
- 可视化
- ECharts
- echarts-for-react
- React Flow
- three
- @react-three/fiber
- @react-three/drei
- d3-scale
- d3-axis
- d3-time-format
- 后端
- remipedia REST
- 部署
- Docker
- Nginx
功能
- 15 条路由:登录、仪表板、患者、设备、绑定关系、绑定可视化、数据查询、健康时间轴、原始数据、用户、角色、模块权限、审计日志、外壳设置、压疮仿真。
- 认证:登录、刷新、登出、改密、
/auth/me;token 存在 localStorage,启动时 hydrate,过期前 5 分钟判为需刷新;401 进刷新队列,失败才弹过期对话框登出。 - 权限:路由级
checkModuleAccess与组件级PermissionGuard,通配*视为全权;无可用模块的普通账号会被登出。 - 患者/设备/绑定:增删改查,设备注册与“绑定患者”从列表页发起,绑定可结束与切换。
- 数据:条件查询与分页、活跃告警、事件确认与解决;健康时间轴按患者排列指标与事件。
- 原始数据:统计、payload 与元数据 JSON 查看、原始文本、导出。
- 管理:用户增删改查、角色与模块权限批量分配、审计日志查询。
- 压疮仿真:界面压力与风险系数驱动伤害累积、可逆转临界时间、体位与受压点、翻身建议、Bland 评分、音频提醒、记录导入导出。
- 外壳:8 套预设(通用、设备、患者、分析、管理员、简约、活力、压疮教学),只换菜单/LOGO/主色,落 localStorage。
- 未完成:单元测试与 e2e;WebSocket 订阅通道已封装但后端无对应接入。
启动流程
pnpm install
cp .env.example .env # VITE_API_BASE_URL=http://localhost:18000/api
pnpm dev # http://localhost:5173
- 后端先起:
remipedia里docker compose up -d,应用映射到127.0.0.1:18000。 - 校验:
pnpm build(tsc -b && vite build)、pnpm lint、pnpm preview。 - 生产:
docker build -t remepui .,或把dist/交给宿主机 nginx。 - 首次登录用后端初始化的管理员账号(
ADMIN_USERNAME/ADMIN_PASSWORD),部署前必须改密。 - 可选变量:
VITE_API_BASE_URL、VITE_APP_TITLE。
边界与已知问题
- 前端不定义后端能力:字段与错误码以
openapi.json为准,这里只按上面前缀调用。 - 权限只控制展示与跳转,接口能不能过取决于后端角色模块。
- 压疮仿真的记录存 localStorage,换浏览器即丢。
QUICK_START.md/SETUP.md/IMPLEMENTATION_COMPLETE.md描述的是早期结构(src/app/routes/、src/widgets/、4 套外壳),与现在的单文件router.tsx和 8 套外壳不一致。- 文档里的示例接口(如
/device/list)不是当前后端路径,照着写会 404。 - 没有测试文件,靠
tsc、eslint 和构建把关。
文档索引
- QUICK_START.md — 快速开始
- SETUP.md — 环境与配置