feat: 添加相机和相册权限请求功能

- 在 AI 体态评估页面中集成相机和相册权限请求逻辑
- 更新 app.json 和 Info.plist,添加相应的权限说明
- 修改布局以支持照片上传功能,用户可上传正面、侧面和背面照片
- 更新 package.json 和 package-lock.json,添加 expo-image-picker 依赖
This commit is contained in:
richarjiang
2025-08-12 17:30:26 +08:00
parent e84ad0857c
commit 2fac3f899c
9 changed files with 705 additions and 365 deletions

View File

@@ -3,6 +3,9 @@ PODS:
- DoubleConversion (1.1.6)
- EXConstants (17.1.7):
- ExpoModulesCore
- EXImageLoader (5.1.0):
- ExpoModulesCore
- React-Core
- Expo (53.0.20):
- DoubleConversion
- ExpoModulesCore
@@ -49,6 +52,8 @@ PODS:
- SDWebImageAVIFCoder (~> 0.11.0)
- SDWebImageSVGCoder (~> 1.7.0)
- SDWebImageWebPCoder (~> 0.14.6)
- ExpoImagePicker (16.1.4):
- ExpoModulesCore
- ExpoKeepAwake (14.1.4):
- ExpoModulesCore
- ExpoLinearGradient (14.1.5):
@@ -2100,6 +2105,7 @@ DEPENDENCIES:
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- EXConstants (from `../node_modules/expo-constants/ios`)
- EXImageLoader (from `../node_modules/expo-image-loader/ios`)
- Expo (from `../node_modules/expo`)
- ExpoAsset (from `../node_modules/expo-asset/ios`)
- ExpoBlur (from `../node_modules/expo-blur/ios`)
@@ -2108,6 +2114,7 @@ DEPENDENCIES:
- ExpoHaptics (from `../node_modules/expo-haptics/ios`)
- ExpoHead (from `../node_modules/expo-router/ios`)
- ExpoImage (from `../node_modules/expo-image/ios`)
- ExpoImagePicker (from `../node_modules/expo-image-picker/ios`)
- ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`)
- ExpoLinearGradient (from `../node_modules/expo-linear-gradient/ios`)
- ExpoLinking (from `../node_modules/expo-linking/ios`)
@@ -2212,6 +2219,8 @@ EXTERNAL SOURCES:
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
EXConstants:
:path: "../node_modules/expo-constants/ios"
EXImageLoader:
:path: "../node_modules/expo-image-loader/ios"
Expo:
:path: "../node_modules/expo"
ExpoAsset:
@@ -2228,6 +2237,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-router/ios"
ExpoImage:
:path: "../node_modules/expo-image/ios"
ExpoImagePicker:
:path: "../node_modules/expo-image-picker/ios"
ExpoKeepAwake:
:path: "../node_modules/expo-keep-awake/ios"
ExpoLinearGradient:
@@ -2400,6 +2411,7 @@ SPEC CHECKSUMS:
boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90
DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
EXConstants: 98bcf0f22b820f9b28f9fee55ff2daededadd2f8
EXImageLoader: 4d3d3284141f1a45006cc4d0844061c182daf7ee
Expo: a40d525c930dd1c8a158e082756ee071955baccb
ExpoAsset: ef06e880126c375f580d4923fdd1cdf4ee6ee7d6
ExpoBlur: 3c8885b9bf9eef4309041ec87adec48b5f1986a9
@@ -2408,6 +2420,7 @@ SPEC CHECKSUMS:
ExpoHaptics: 0ff6e0d83cd891178a306e548da1450249d54500
ExpoHead: a7b66cbaeeb51f4a85338d335a0f5467e29a2c90
ExpoImage: e4102c93d1dbe99ff54b075452d1bc9d6ec21b7c
ExpoImagePicker: 0963da31800c906e01c03e25d7c849f16ebf02a2
ExpoKeepAwake: bf0811570c8da182bfb879169437d4de298376e7
ExpoLinearGradient: 7734c8059972fcf691fb4330bcdf3390960a152d
ExpoLinking: d5c183998ca6ada66ff45e407e0f965b398a8902