# 养老管理系统开发Prompt - Sonnet 4 Agent ## 项目概述 开发一套基于uni-app-x的多租户养老管理系统,严格遵循UTS Android开发规范,支持大屏和小屏响应式设计。 强烈要求参考sport/student/下面的页面来处理 ## 技术栈要求 - **前端框架**: uni-app-x (注意:不是uni-app) - **语言**: UTS (TypeScript的子集) - **数据库**: PostgreSQL + Supabase - **状态管理**: 自定义store模式 - **UI组件**: 原生组件 + 自定义组件 - **数据交互**: aksupainstance (自定义Supabase实例) ## UTS Android严格开发规范 ### 1. 变量和类型声明 ```typescript // ✅ 正确:使用let/const,明确类型 const items = ref([]) const itemCount = ref(0) let currentIndex: number = 0 // ❌ 错误:不要使用var,不要使用简写数组 var data = [] const list: Item[] = [] ``` ### 2. 数据结构处理 ```typescript // ✅ 正确:使用UTSJSONObject,for循环 const processData = (data: UTSJSONObject[]) => { for (let i: number = 0; i < data.length; i++) { const item = data[i] as UTSJSONObject const name = item.getString('name') ?? '' const age = item.getNumber('age') ?? 0 } } // ❌ 错误:不要使用map、forEach、safeGet data.map(item => safeGet(item, 'name', '')) ``` ### 3. 条件判断和空值处理 ```typescript // ✅ 正确:严格的boolean判断 if (userName !== null && userName !== '') { // 处理逻辑 } // 使用??进行空值合并 const title = item.getString('title') ?? '默认标题' // ❌ 错误:不要使用隐式转换 if (userName) { } // 错误 if (!data) { } // 错误 ``` ### 4. 类型定义 ```typescript // ✅ 正确:使用type,不要使用interface export type ElderInfo = { id: string name: string age: number roomNumber: string healthStatus: string createdAt: string } export type TenantInfo = { tenantId: string tenantName: string adminUserId: string settings: UTSJSONObject } // ❌ 错误:不要使用interface interface UserData { } // 不支持 ``` ### 5. CSS样式规范 ```css /* ✅ 正确:支持的样式 */ .container { display: flex; flex-direction: column; padding: 20rpx; margin: 10rpx; background-color: #ffffff; border-radius: 10rpx; } /* ❌ 错误:不支持的样式 */ .grid-container { display: grid; /* 不支持 */ gap: 10px; /* 不支持 */ min-height: 100%; /* 不支持百分比 */ } /* 不支持伪类选择器 */ .button:hover { } /* 错误 */ .input[disabled] { } /* 错误 */ ``` ## 系统功能模块设计 ### 1. 多租户架构 - 租户管理(tenant_management) - 用户权限管理(user_roles) - 数据隔离(tenant_data_isolation) - 计费管理(billing_management) ### 2. 核心业务模块 - 老人信息管理(elder_management) - 护理人员管理(caregiver_management) - 健康监测(health_monitoring) - 服务记录(service_records) - 家属沟通(family_communication) - 费用管理(fee_management) - 设备管理(device_management) - 安全监控(security_monitoring) ### 3. 数据交互模式 ```typescript // Supabase组件使用模式 const eldersRef = ref(null) const loadElderData = () => { if (eldersRef.value !== null) { const loadData = eldersRef.value!!.loadData loadData({ clear: false }) } } // 监听数据变化 const handleElderData = (result: UTSJSONObject) => { const data = result.get('data') if (data !== null && Array.isArray(data)) { eldersList.value = data as UTSJSONObject[] } } ``` ### 4. 响应式设计模式 ```typescript // 屏幕尺寸适配 const screenWidth = ref(0) const isLargeScreen = computed(() => screenWidth.value > 768) const handleResize = () => { const systemInfo = uni.getSystemInfoSync() screenWidth.value = systemInfo.screenWidth } onMounted(() => { handleResize() uni.onWindowResize(handleResize) }) ``` ## 页面结构要求 ### 1. 目录结构 ``` pages/ ├── eldercare/ # 养老管理主目录 │ ├── admin/ # 管理员端 │ │ ├── dashboard.uvue # 管理仪表板 │ │ ├── tenant-management.uvue # 租户管理 │ │ ├── elder-management.uvue # 老人管理 │ │ ├── caregiver-management.uvue # 护理员管理 │ │ └── billing.uvue # 计费管理 │ ├── caregiver/ # 护理员端 │ │ ├── dashboard.uvue # 护理仪表板 │ │ ├── elder-care.uvue # 护理记录 │ │ ├── health-check.uvue # 健康检查 │ │ └── schedule.uvue # 工作排班 │ ├── family/ # 家属端 │ │ ├── elder-status.uvue # 老人状态 │ │ ├── communication.uvue # 沟通交流 │ │ └── payment.uvue # 费用查看 │ └── types.uts # 类型定义 ``` ### 2. 类型定义文件 (types.uts) ```typescript // 租户相关类型 export type TenantInfo = { tenantId: string tenantName: string contactPerson: string contactPhone: string address: string status: string createdAt: string settings: UTSJSONObject } // 老人信息类型 export type ElderProfile = { elderId: string tenantId: string name: string age: number gender: string idNumber: string roomNumber: string emergencyContact: string healthStatus: string careLevel: string admissionDate: string profilePicture: string medicalHistory: UTSJSONObject } // 护理员类型 export type CaregiverProfile = { caregiverId: string tenantId: string name: string phone: string position: string certification: string workShift: string assignedElders: Array status: string } // 护理记录类型 export type CareRecord = { recordId: string elderId: string caregiverId: string recordType: string description: string timestamp: string images: Array vitalSigns: UTSJSONObject } ``` ## 开发指导原则 ### 1. 组件开发 - 每个页面独立成组件,避免深层嵌套 - 使用计算属性处理复杂逻辑 - 模板中的变量保持一维结构 ### 2. 数据处理 - 所有数据使用UTSJSONObject格式 - 避免使用map、forEach等高阶函数 - 使用for循环处理数组数据 ### 3. 错误处理 - 所有异步操作必须有try-catch - 用户友好的错误提示 - 网络异常的重试机制 ### 4. 性能优化 - 大屏小屏不同的渲染策略 - 数据懒加载 - 图片压缩和缓存 ## 具体开发任务 请基于以上规范和要求,开发一套完整的多租户养老管理系统,包括: 1. **管理员端功能**:租户管理、老人管理、护理员管理、数据统计、计费管理 2. **护理员端功能**:护理记录、健康监测、工作排班、消息通知 3. **家属端功能**:老人状态查看、护理记录查看、费用查询、在线沟通 每个功能模块都要: - 严格遵循UTS Android开发规范 - 支持多租户数据隔离 - 实现响应式设计(大屏/小屏适配) - 使用aksupainstance进行数据交互 - 包含完整的错误处理和用户反馈 开始开发时,请先确认技术方案,然后逐个模块实现。