Files
height_manager/client/package.json
jaystar 28c4d7b3b4 feat: 实现减脂体重管理App完整功能
- 实现拍照识别食物功能(集成大语言模型视觉能力)
- 实现智能对话功能(集成大语言模型流式输出)
- 实现食物记录和卡路里管理功能
- 实现体重记录和统计功能
- 实现健康数据管理页面
- 配置数据库表结构(用户、食物记录、体重记录)
- 实现Express后端API路由
- 配置Tab导航和前端页面
- 采用健康运动配色方案
2026-02-02 15:17:50 +08:00

97 lines
3.0 KiB
JSON

{
"name": "expo-app",
"description": "my-expo-app",
"main": "expo-router/entry",
"private": true,
"scripts": {
"check-deps": "npx depcheck",
"postinstall": "npm run install-missing",
"install-missing": "node ./scripts/install-missing-deps.js",
"lint": "expo lint",
"start": "expo start --web --clear",
"test": "jest --watchAll"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@expo/metro-runtime": "^6.1.2",
"@expo/vector-icons": "^15.0.0",
"@react-native-async-storage/async-storage": "^2.2.0",
"@react-native-community/datetimepicker": "^8.5.0",
"@react-native-community/slider": "^5.0.1",
"@react-native-masked-view/masked-view": "^0.3.2",
"@react-native-picker/picker": "^2.11.0",
"@react-navigation/bottom-tabs": "^7.2.0",
"@react-navigation/native": "^7.0.14",
"dayjs": "^1.11.19",
"expo": "54.0.32",
"expo-auth-session": "^7.0.9",
"expo-av": "~16.0.6",
"expo-blur": "~15.0.6",
"expo-camera": "~17.0.10",
"expo-constants": "~18.0.8",
"expo-crypto": "^15.0.7",
"expo-file-system": "~19.0.21",
"expo-font": "~14.0.7",
"expo-haptics": "~15.0.6",
"expo-image": "^3.0.11",
"expo-image-picker": "~17.0.10",
"expo-linear-gradient": "~15.0.6",
"expo-linking": "~8.0.7",
"expo-location": "~19.0.7",
"expo-router": "~6.0.0",
"expo-splash-screen": "~31.0.8",
"expo-status-bar": "~3.0.7",
"expo-symbols": "~1.0.6",
"expo-system-ui": "~6.0.9",
"expo-web-browser": "~15.0.10",
"js-base64": "^3.7.7",
"react": "19.1.0",
"react-dom": "19.1.0",
"react-native": "0.81.5",
"react-native-chart-kit": "^6.12.0",
"react-native-gesture-handler": "~2.28.0",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
"react-native-modal-datetime-picker": "18.0.0",
"react-native-reanimated": "~4.1.0",
"react-native-safe-area-context": "~5.6.0",
"react-native-screens": "~4.16.0",
"react-native-sse": "^1.2.1",
"react-native-svg": "15.15.0",
"react-native-toast-message": "^2.3.3",
"react-native-web": "^0.21.2",
"react-native-webview": "~13.15.0",
"react-native-worklets": "0.5.1",
"zod": "^4.2.1"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@eslint/js": "^9.27.0",
"@types/jest": "^29.5.12",
"@types/react": "~19.1.0",
"@types/react-test-renderer": "19.1.0",
"babel-plugin-module-resolver": "^5.0.2",
"babel-preset-expo": "^54.0.9",
"chalk": "^4.1.2",
"connect": "^3.7.0",
"depcheck": "^1.4.7",
"esbuild": "0.27.2",
"eslint": "^9.39.2",
"eslint-formatter-compact": "^9.0.1",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-regexp": "^2.10.0",
"globals": "^16.1.0",
"http-proxy-middleware": "^3.0.5",
"jest": "^29.2.1",
"jest-expo": "~54.0.10",
"react-test-renderer": "19.1.0",
"tsx": "^4.21.0",
"typescript": "^5.8.3",
"typescript-eslint": "^8.32.1"
}
}