feat(app): 实现登录功能并优化应用启动流程

- 新增登录相关组件和 API 接口
- 实现用户信息获取和更新逻辑
- 添加启动加载界面
- 优化导航结构,支持登录和主应用切换
这个提交包含在:
xuqm 2025-08-29 18:39:55 +08:00
父节点 ee16d21c75
当前提交 81169f525b
共有 258 个文件被更改,包括 4323 次插入39 次删除

查看文件

@ -9,6 +9,7 @@
"lint": "eslint .",
"start": "react-native start",
"test": "jest",
"postinstall": "patch-package",
"build-android-common": "react-native bundle --platform android --dev false --entry-file src/app/app.ts --bundle-output bundle/android/common/common.android.bundle --assets-dest ./bundle/android/common --config metro.common.config.js --minify true --reset-cache",
"build-android-buz": "react-native bundle --platform android --dev false --entry-file src/buz.ts --bundle-output ./bundle/android/buz/buz.android.bundle --assets-dest ./bundle/android/buz --config metro.main.config.js --minify true --reset-cache",
"build-ios-common": "react-native bundle --platform ios --dev false --entry-file src/app/app.ts --bundle-output bundle/ios/common.ios.bundle --assets-dest ./bundle/ios --config metro.common.config.js --minify true --reset-cache",
@ -25,22 +26,29 @@
},
"dependencies": {
"@react-native-async-storage/async-storage": "^2.2.0",
"@react-native-community/hooks": "^100.1.0",
"@react-native/new-app-screen": "0.80.1",
"@react-navigation/native": "^7.1.14",
"@react-navigation/stack": "^7.4.2",
"@szyx-mobile/hooks": "^1.2.0",
"@szyx-mobile/use-request": "^1.2.3",
"babel-plugin-module-resolver": "^5.0.2",
"patch-package": "^8.0.0",
"react": "19.1.0",
"react-native": "0.80.1",
"react-native-bundle-splitter": "^3.0.1",
"react-native-copilot": "^3.3.3",
"react-native-device-info": "^14.0.4",
"react-native-exit-app": "^2.0.0",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "^2.27.2",
"react-native-linear-gradient": "^2.8.3",
"react-native-root-siblings": "^5.0.1",
"react-native-safe-area-context": "^5.5.2",
"react-native-spinkit": "^1.5.1",
"react-native-storage": "^1.0.1",
"react-native-toast-message": "^2.3.3",
"react-native-webview": "^13.16.0",
"react-native-zip-archive": "^7.0.2"
},
"devDependencies": {

查看文件

@ -14,15 +14,7 @@ function App() {
<StatusBar barStyle={isDarkMode ? 'light-content' : 'dark-content'} />
<AppProvider>
<RootSiblingParent>
{/*<CopilotProvider*/}
{/* backdropColor="rgba(0, 0, 0, 0.7)"*/}
{/* stepNumberComponent={() => null}*/}
{/* arrowSize={0}*/}
{/* tooltipStyle={styles.tooltip}*/}
{/* tooltipComponent={TooltipComponent}*/}
{/*>*/}
<NavigationContainer />
{/*</CopilotProvider>*/}
</RootSiblingParent>
<BottomSheet ref={ref => BottomSheet.setRef(ref)} />
<Alert ref={ref => Alert.setRef(ref)} />

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 54 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 459 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 975 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.4 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 273 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 478 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 716 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 306 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 576 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 975 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 228 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 453 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 760 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 259 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 526 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 963 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 267 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 390 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 680 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 424 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 996 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 9.0 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 30 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 50 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 5.9 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 9.6 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.2 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 5.0 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 8.6 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.7 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 6.1 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 608 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.2 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 483 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 956 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.6 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.9 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 6.5 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 9.2 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.2 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 7.1 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 10 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 798 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.7 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 879 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.0 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.6 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 851 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.9 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.2 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 835 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.4 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 790 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.7 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 873 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.0 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 895 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.9 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 724 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.5 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.3 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 5.8 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 17 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 34 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 12 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 37 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 62 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 6.3 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 20 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 19 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 51 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 137 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 206 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 992 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.2 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.3 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 608 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.3 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 2.1 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 625 B

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.1 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 1.4 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 4.9 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 24 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 54 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.7 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 11 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 22 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 3.9 KiB

某些文件未显示,因为此 diff 中更改的文件太多 显示更多