Browse Source

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

- 新增登录相关组件和 API 接口
- 实现用户信息获取和更新逻辑
- 添加启动加载界面
- 优化导航结构,支持登录和主应用切换
xuqm 1 tuần trước cách đây
mục cha
commit
81169f525b
100 tập tin đã thay đổi với 8 bổ sung8 xóa
  1. 8 0
      package.json
  2. 0 8
      src/app/App.tsx
  3. BIN
      src/app/assets/images/common/common_appicon.png
  4. BIN
      src/app/assets/images/common/common_arrow_back.png
  5. BIN
      src/app/assets/images/common/common_arrow_back@2x.png
  6. BIN
      src/app/assets/images/common/common_arrow_back@3x.png
  7. BIN
      src/app/assets/images/common/common_arrow_right_5.png
  8. BIN
      src/app/assets/images/common/common_arrow_right_5@2x.png
  9. BIN
      src/app/assets/images/common/common_arrow_right_5@3x.png
  10. BIN
      src/app/assets/images/common/common_arrow_right_6.png
  11. BIN
      src/app/assets/images/common/common_arrow_right_6@2x.png
  12. BIN
      src/app/assets/images/common/common_arrow_right_6@3x.png
  13. BIN
      src/app/assets/images/common/common_arrow_right_7.png
  14. BIN
      src/app/assets/images/common/common_arrow_right_7@2x.png
  15. BIN
      src/app/assets/images/common/common_arrow_right_7@3x.png
  16. BIN
      src/app/assets/images/common/common_arrow_right_8.png
  17. BIN
      src/app/assets/images/common/common_arrow_right_8@2x.png
  18. BIN
      src/app/assets/images/common/common_arrow_right_8@3x.png
  19. BIN
      src/app/assets/images/common/common_arrow_right_9.png
  20. BIN
      src/app/assets/images/common/common_arrow_right_9@2x.png
  21. BIN
      src/app/assets/images/common/common_arrow_right_9@3x.png
  22. BIN
      src/app/assets/images/common/common_clear.png
  23. BIN
      src/app/assets/images/common/common_clear@2x.png
  24. BIN
      src/app/assets/images/common/common_clear@3x.png
  25. BIN
      src/app/assets/images/common/common_list_empty.png
  26. BIN
      src/app/assets/images/common/common_list_empty@2x.png
  27. BIN
      src/app/assets/images/common/common_list_empty@3x.png
  28. BIN
      src/app/assets/images/common/common_logo.png
  29. BIN
      src/app/assets/images/common/common_logo@2x.png
  30. BIN
      src/app/assets/images/common/common_logo@3x.png
  31. BIN
      src/app/assets/images/common/common_name_authenticated.png
  32. BIN
      src/app/assets/images/common/common_name_authenticated@2x.png
  33. BIN
      src/app/assets/images/common/common_name_authenticated@3x.png
  34. BIN
      src/app/assets/images/common/common_name_unauthenticated.png
  35. BIN
      src/app/assets/images/common/common_name_unauthenticated@2x.png
  36. BIN
      src/app/assets/images/common/common_name_unauthenticated@3x.png
  37. BIN
      src/app/assets/images/common/common_radio_button_selected.png
  38. BIN
      src/app/assets/images/common/common_radio_button_selected@2x.png
  39. BIN
      src/app/assets/images/common/common_radio_button_selected@3x.png
  40. BIN
      src/app/assets/images/common/common_radio_button_unselected.png
  41. BIN
      src/app/assets/images/common/common_radio_button_unselected@2x.png
  42. BIN
      src/app/assets/images/common/common_radio_button_unselected@3x.png
  43. BIN
      src/app/assets/images/common/common_share_session.png
  44. BIN
      src/app/assets/images/common/common_share_session@2x.png
  45. BIN
      src/app/assets/images/common/common_share_session@3x.png
  46. BIN
      src/app/assets/images/common/common_share_timeline.png
  47. BIN
      src/app/assets/images/common/common_share_timeline@2x.png
  48. BIN
      src/app/assets/images/common/common_share_timeline@3x.png
  49. BIN
      src/app/assets/images/common/tab_home.png
  50. BIN
      src/app/assets/images/common/tab_home@2x.png
  51. BIN
      src/app/assets/images/common/tab_home@3x.png
  52. BIN
      src/app/assets/images/common/tab_home_s.png
  53. BIN
      src/app/assets/images/common/tab_home_s@2x.png
  54. BIN
      src/app/assets/images/common/tab_home_s@3x.png
  55. BIN
      src/app/assets/images/common/tab_mine.png
  56. BIN
      src/app/assets/images/common/tab_mine@2x.png
  57. BIN
      src/app/assets/images/common/tab_mine@3x.png
  58. BIN
      src/app/assets/images/common/tab_mine_s.png
  59. BIN
      src/app/assets/images/common/tab_mine_s@2x.png
  60. BIN
      src/app/assets/images/common/tab_mine_s@3x.png
  61. BIN
      src/app/assets/images/common/tab_recommend.png
  62. BIN
      src/app/assets/images/common/tab_recommend@2x.png
  63. BIN
      src/app/assets/images/common/tab_recommend@3x.png
  64. BIN
      src/app/assets/images/guide/app_tour_arrow_down.png
  65. BIN
      src/app/assets/images/guide/app_tour_arrow_down@2x.png
  66. BIN
      src/app/assets/images/guide/app_tour_arrow_down@3x.png
  67. BIN
      src/app/assets/images/guide/app_tour_arrow_up.png
  68. BIN
      src/app/assets/images/guide/app_tour_arrow_up@2x.png
  69. BIN
      src/app/assets/images/guide/app_tour_arrow_up@3x.png
  70. BIN
      src/app/assets/images/guide/app_tour_star.png
  71. BIN
      src/app/assets/images/guide/app_tour_star@2x.png
  72. BIN
      src/app/assets/images/guide/app_tour_star@3x.png
  73. BIN
      src/app/assets/images/guide/app_tour_thumb.png
  74. BIN
      src/app/assets/images/guide/app_tour_thumb@2x.png
  75. BIN
      src/app/assets/images/guide/app_tour_thumb@3x.png
  76. BIN
      src/app/assets/images/guide/guide_logo.png
  77. BIN
      src/app/assets/images/guide/guide_logo@2x.png
  78. BIN
      src/app/assets/images/guide/guide_logo@3x.png
  79. BIN
      src/app/assets/images/guide/guide_text.png
  80. BIN
      src/app/assets/images/guide/guide_text@2x.png
  81. BIN
      src/app/assets/images/guide/guide_text@3x.png
  82. BIN
      src/app/assets/images/home/home_background.png
  83. BIN
      src/app/assets/images/home/home_background@2x.png
  84. BIN
      src/app/assets/images/home/home_background@3x.png
  85. BIN
      src/app/assets/images/home/home_bulletin.png
  86. BIN
      src/app/assets/images/home/home_bulletin@2x.png
  87. BIN
      src/app/assets/images/home/home_bulletin@3x.png
  88. BIN
      src/app/assets/images/home/home_notifications.png
  89. BIN
      src/app/assets/images/home/home_notifications@2x.png
  90. BIN
      src/app/assets/images/home/home_notifications@3x.png
  91. BIN
      src/app/assets/images/home/home_scan.png
  92. BIN
      src/app/assets/images/home/home_scan@2x.png
  93. BIN
      src/app/assets/images/home/home_scan@3x.png
  94. BIN
      src/app/assets/images/home/home_section_background.png
  95. BIN
      src/app/assets/images/home/home_section_background@2x.png
  96. BIN
      src/app/assets/images/home/home_section_background@3x.png
  97. BIN
      src/app/assets/images/home/home_service_bingli.png
  98. BIN
      src/app/assets/images/home/home_service_bingli@2x.png
  99. BIN
      src/app/assets/images/home/home_service_bingli@3x.png
  100. BIN
      src/app/assets/images/home/home_service_contract.png

+ 8 - 0
package.json

@@ -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": {

+ 0 - 8
src/app/App.tsx

@@ -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)} />

BIN
src/app/assets/images/common/common_appicon.png


BIN
src/app/assets/images/common/common_arrow_back.png


BIN
src/app/assets/images/common/common_arrow_back@2x.png


BIN
src/app/assets/images/common/common_arrow_back@3x.png


BIN
src/app/assets/images/common/common_arrow_right_5.png


BIN
src/app/assets/images/common/common_arrow_right_5@2x.png


BIN
src/app/assets/images/common/common_arrow_right_5@3x.png


BIN
src/app/assets/images/common/common_arrow_right_6.png


BIN
src/app/assets/images/common/common_arrow_right_6@2x.png


BIN
src/app/assets/images/common/common_arrow_right_6@3x.png


BIN
src/app/assets/images/common/common_arrow_right_7.png


BIN
src/app/assets/images/common/common_arrow_right_7@2x.png


BIN
src/app/assets/images/common/common_arrow_right_7@3x.png


BIN
src/app/assets/images/common/common_arrow_right_8.png


BIN
src/app/assets/images/common/common_arrow_right_8@2x.png


BIN
src/app/assets/images/common/common_arrow_right_8@3x.png


BIN
src/app/assets/images/common/common_arrow_right_9.png


BIN
src/app/assets/images/common/common_arrow_right_9@2x.png


BIN
src/app/assets/images/common/common_arrow_right_9@3x.png


BIN
src/app/assets/images/common/common_clear.png


BIN
src/app/assets/images/common/common_clear@2x.png


BIN
src/app/assets/images/common/common_clear@3x.png


BIN
src/app/assets/images/common/common_list_empty.png


BIN
src/app/assets/images/common/common_list_empty@2x.png


BIN
src/app/assets/images/common/common_list_empty@3x.png


BIN
src/app/assets/images/common/common_logo.png


BIN
src/app/assets/images/common/common_logo@2x.png


BIN
src/app/assets/images/common/common_logo@3x.png


BIN
src/app/assets/images/common/common_name_authenticated.png


BIN
src/app/assets/images/common/common_name_authenticated@2x.png


BIN
src/app/assets/images/common/common_name_authenticated@3x.png


BIN
src/app/assets/images/common/common_name_unauthenticated.png


BIN
src/app/assets/images/common/common_name_unauthenticated@2x.png


BIN
src/app/assets/images/common/common_name_unauthenticated@3x.png


BIN
src/app/assets/images/common/common_radio_button_selected.png


BIN
src/app/assets/images/common/common_radio_button_selected@2x.png


BIN
src/app/assets/images/common/common_radio_button_selected@3x.png


BIN
src/app/assets/images/common/common_radio_button_unselected.png


BIN
src/app/assets/images/common/common_radio_button_unselected@2x.png


BIN
src/app/assets/images/common/common_radio_button_unselected@3x.png


BIN
src/app/assets/images/common/common_share_session.png


BIN
src/app/assets/images/common/common_share_session@2x.png


BIN
src/app/assets/images/common/common_share_session@3x.png


BIN
src/app/assets/images/common/common_share_timeline.png


BIN
src/app/assets/images/common/common_share_timeline@2x.png


BIN
src/app/assets/images/common/common_share_timeline@3x.png


BIN
src/app/assets/images/common/tab_home.png


BIN
src/app/assets/images/common/tab_home@2x.png


BIN
src/app/assets/images/common/tab_home@3x.png


BIN
src/app/assets/images/common/tab_home_s.png


BIN
src/app/assets/images/common/tab_home_s@2x.png


BIN
src/app/assets/images/common/tab_home_s@3x.png


BIN
src/app/assets/images/common/tab_mine.png


BIN
src/app/assets/images/common/tab_mine@2x.png


BIN
src/app/assets/images/common/tab_mine@3x.png


BIN
src/app/assets/images/common/tab_mine_s.png


BIN
src/app/assets/images/common/tab_mine_s@2x.png


BIN
src/app/assets/images/common/tab_mine_s@3x.png


BIN
src/app/assets/images/common/tab_recommend.png


BIN
src/app/assets/images/common/tab_recommend@2x.png


BIN
src/app/assets/images/common/tab_recommend@3x.png


BIN
src/app/assets/images/guide/app_tour_arrow_down.png


BIN
src/app/assets/images/guide/app_tour_arrow_down@2x.png


BIN
src/app/assets/images/guide/app_tour_arrow_down@3x.png


BIN
src/app/assets/images/guide/app_tour_arrow_up.png


BIN
src/app/assets/images/guide/app_tour_arrow_up@2x.png


BIN
src/app/assets/images/guide/app_tour_arrow_up@3x.png


BIN
src/app/assets/images/guide/app_tour_star.png


BIN
src/app/assets/images/guide/app_tour_star@2x.png


BIN
src/app/assets/images/guide/app_tour_star@3x.png


BIN
src/app/assets/images/guide/app_tour_thumb.png


BIN
src/app/assets/images/guide/app_tour_thumb@2x.png


BIN
src/app/assets/images/guide/app_tour_thumb@3x.png


BIN
src/app/assets/images/guide/guide_logo.png


BIN
src/app/assets/images/guide/guide_logo@2x.png


BIN
src/app/assets/images/guide/guide_logo@3x.png


BIN
src/app/assets/images/guide/guide_text.png


BIN
src/app/assets/images/guide/guide_text@2x.png


BIN
src/app/assets/images/guide/guide_text@3x.png


BIN
src/app/assets/images/home/home_background.png


BIN
src/app/assets/images/home/home_background@2x.png


BIN
src/app/assets/images/home/home_background@3x.png


BIN
src/app/assets/images/home/home_bulletin.png


BIN
src/app/assets/images/home/home_bulletin@2x.png


BIN
src/app/assets/images/home/home_bulletin@3x.png


BIN
src/app/assets/images/home/home_notifications.png


BIN
src/app/assets/images/home/home_notifications@2x.png


BIN
src/app/assets/images/home/home_notifications@3x.png


BIN
src/app/assets/images/home/home_scan.png


BIN
src/app/assets/images/home/home_scan@2x.png


BIN
src/app/assets/images/home/home_scan@3x.png


BIN
src/app/assets/images/home/home_section_background.png


BIN
src/app/assets/images/home/home_section_background@2x.png


BIN
src/app/assets/images/home/home_section_background@3x.png


BIN
src/app/assets/images/home/home_service_bingli.png


BIN
src/app/assets/images/home/home_service_bingli@2x.png


BIN
src/app/assets/images/home/home_service_bingli@3x.png


BIN
src/app/assets/images/home/home_service_contract.png


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác