Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

View File

@@ -0,0 +1,280 @@
# 养老管理系统开发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<UTSJSONObject[]>([])
const itemCount = ref<number>(0)
let currentIndex: number = 0
// ❌ 错误不要使用var不要使用简写数组
var data = []
const list: Item[] = []
```
### 2. 数据结构处理
```typescript
// ✅ 正确使用UTSJSONObjectfor循环
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<SupadbComponentPublicInstance | null>(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<number>(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<string>
status: string
}
// 护理记录类型
export type CareRecord = {
recordId: string
elderId: string
caregiverId: string
recordType: string
description: string
timestamp: string
images: Array<string>
vitalSigns: UTSJSONObject
}
```
## 开发指导原则
### 1. 组件开发
- 每个页面独立成组件,避免深层嵌套
- 使用计算属性处理复杂逻辑
- 模板中的变量保持一维结构
### 2. 数据处理
- 所有数据使用UTSJSONObject格式
- 避免使用map、forEach等高阶函数
- 使用for循环处理数组数据
### 3. 错误处理
- 所有异步操作必须有try-catch
- 用户友好的错误提示
- 网络异常的重试机制
### 4. 性能优化
- 大屏小屏不同的渲染策略
- 数据懒加载
- 图片压缩和缓存
## 具体开发任务
请基于以上规范和要求,开发一套完整的多租户养老管理系统,包括:
1. **管理员端功能**:租户管理、老人管理、护理员管理、数据统计、计费管理
2. **护理员端功能**:护理记录、健康监测、工作排班、消息通知
3. **家属端功能**:老人状态查看、护理记录查看、费用查询、在线沟通
每个功能模块都要:
- 严格遵循UTS Android开发规范
- 支持多租户数据隔离
- 实现响应式设计(大屏/小屏适配)
- 使用aksupainstance进行数据交互
- 包含完整的错误处理和用户反馈
开始开发时,请先确认技术方案,然后逐个模块实现。