# Locare **Repository Path**: xiaodaizi/locare ## Basic Information - **Project Name**: Locare - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-30 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Locare — 家人实时定位 家人实时定位 App(Android + 网页端),服务器资源极其有限(2vCPU 2GiB / SQLite / 3Mbps)。 ## 目录结构 ``` Locare/ ├── app/ # Android 端(Kotlin) ├── web/ # 网页前端(Vue 3 + Vite) └── server/ # 后端(Node.js + Express + SQLite) ``` ## 快速开始 ### 1. 启动后端 ```bash cd server cp .env.example .env # 修改 JWT_SECRET、ADMIN_SECRET 等 npm install node seed.js # 预建测试账号 npm run dev # 开发模式 ``` ### 2. 启动前端 ```bash cd web npm install npm run dev # http://localhost:5173 ``` ### 3. 生产部署(ECS) ```bash # 安装依赖 cd server && npm install --omit=dev # 使用 PM2 启动 bash scripts/start.sh # 设置开机自启 pm2 startup && pm2 save # 构建前端 cd web && npm run build # 将 dist/ 部署到 /var/www/locare/web/dist # Nginx 配置 cp server/nginx.conf /etc/nginx/conf.d/locare.conf nginx -t && systemctl reload nginx ``` ### 4. 安卓 App - 在 `app/build.gradle.kts` 中修改 `SERVER_URL` - 配置 `google-services.json`(FCM) - 用 Android Studio 构建安装 ## 默认测试账号 | 手机号 | 密码 | 昵称 | |--------|------|------| | 13800138001 | locare123 | 爸爸 | | 13800138002 | locare123 | 妈妈 | | 13800138003 | locare123 | 小明 | > 修改 `server/seed.js` 中的 `defaultAccounts` 或设置 `SEED_ACCOUNTS` 环境变量来自定义账号。 ## API 概览 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/auth/login | 登录 | | POST | /api/auth/refresh | 刷新 Token | | GET | /api/families | 我的家庭圈列表 | | POST | /api/families | 创建家庭圈 | | POST | /api/families/join | 加入家庭圈 | | GET | /api/families/:id/members | 成员列表 + 最新位置 | | POST | /api/location | 上报位置 | | GET | /api/location/history | 历史轨迹 | | POST | /api/geofences | 创建围栏 | | GET | /api/geofences | 围栏列表 | | DELETE | /api/geofences/:id | 删除围栏 | | POST | /api/sos | SOS 求救 | | POST | /api/device/token | 注册 FCM Token | ## 运维接口(需 `X-Admin-Secret` 请求头) | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/admin/restart | 触发 PM2 reload | | GET | /api/admin/status | 服务状态 + 数据库大小 | | GET | /api/admin/logs | 最近 100 行日志 |