Files
digital-pilates/package.json
richarjiang 39671ed70f feat(challenges): 添加自定义挑战功能和多语言支持
- 新增自定义挑战创建页面,支持设置挑战类型、时间范围、目标值等
- 实现挑战邀请码系统,支持通过邀请码加入自定义挑战
- 完善挑战详情页面的多语言翻译支持
- 优化用户认证状态检查逻辑,使用token作为主要判断依据
- 添加阿里字体文件支持,提升UI显示效果
- 改进确认弹窗组件,支持Liquid Glass效果和自定义内容
- 优化应用启动流程,直接读取onboarding状态而非预加载用户数据
2025-11-26 16:39:01 +08:00

88 lines
2.9 KiB
JSON

{
"name": "digital-pilates",
"main": "expo-router/entry",
"version": "1.0.2",
"scripts": {
"start": "expo start",
"ios": "expo run:ios",
"ios-device": "expo run:ios --device",
"lint": "expo lint"
},
"dependencies": {
"@expo/metro-runtime": "~6.1.2",
"@expo/ui": "~0.2.0-beta.7",
"@expo/vector-icons": "^15.0.3",
"@react-native-async-storage/async-storage": "^2.2.0",
"@react-native-community/datetimepicker": "8.5.1",
"@react-native-masked-view/masked-view": "^0.3.2",
"@react-native-picker/picker": "2.11.4",
"@react-native-voice/voice": "^3.2.4",
"@react-navigation/bottom-tabs": "^7.8.6",
"@react-navigation/elements": "^2.8.3",
"@react-navigation/native": "^7.1.21",
"@reduxjs/toolkit": "^2.11.0",
"@sentry/react-native": "~7.7.0",
"@types/lodash": "^4.17.21",
"dayjs": "^1.11.19",
"expo": "54.0.25",
"expo-apple-authentication": "~8.0.7",
"expo-background-task": "~1.0.8",
"expo-blur": "~15.0.7",
"expo-clipboard": "~8.0.7",
"expo-camera": "~17.0.9",
"expo-constants": "~18.0.10",
"expo-font": "~14.0.9",
"expo-glass-effect": "~0.1.7",
"expo-haptics": "~15.0.7",
"expo-image": "~3.0.10",
"expo-image-picker": "~17.0.8",
"expo-linear-gradient": "~15.0.7",
"expo-linking": "~8.0.8",
"expo-localization": "^17.0.7",
"expo-media-library": "^18.2.0",
"expo-notifications": "~0.32.12",
"expo-quick-actions": "^6.0.0",
"expo-router": "~6.0.15",
"expo-splash-screen": "~31.0.11",
"expo-sqlite": "^16.0.8",
"expo-status-bar": "~3.0.8",
"expo-symbols": "~1.0.7",
"expo-system-ui": "~6.0.8",
"expo-task-manager": "~14.0.8",
"expo-web-browser": "~15.0.7",
"i18next": "^25.6.2",
"lodash": "^4.17.21",
"lottie-react-native": "^7.3.4",
"react": "19.1.0",
"react-dom": "19.1.0",
"react-i18next": "^16.3.0",
"react-native": "0.81.5",
"react-native-chart-kit": "^6.12.0",
"react-native-device-info": "^14.0.4",
"react-native-gesture-handler": "~2.28.0",
"react-native-image-viewing": "^0.2.2",
"react-native-markdown-display": "^7.0.2",
"react-native-modal-datetime-picker": "^18.0.0",
"react-native-popover-view": "^6.1.0",
"react-native-purchases": "^9.2.2",
"react-native-reanimated": "~4.1.0",
"react-native-render-html": "^6.3.4",
"react-native-safe-area-context": "~5.6.1",
"react-native-screens": "~4.16.0",
"react-native-svg": "15.12.1",
"react-native-toast-message": "^2.3.3",
"react-native-view-shot": "^4.0.3",
"react-native-web": "^0.21.1",
"react-native-webview": "13.15.0",
"react-native-wheel-picker-expo": "^0.5.4",
"react-redux": "^9.2.0"
},
"devDependencies": {
"@babel/core": "^7.28.4",
"@types/react": "~19.1.13",
"eslint": "^9.35.0",
"eslint-config-expo": "~10.0.0",
"typescript": "~5.9.2"
},
"private": true
}