Forráskód Böngészése

refactor(android): 重构 NavigationManager 并更新 MainActivity

- 修改 NavigationManager 中的 pop 方法,使其支持无参数调用
- 在 MainActivity 中启动 BuzActivity 后添加 finish() 方法,结束当前活动- 更新 app.android.bundle,简化初始界面并添加进入互联系统医院的功能
xuqm 1 hete
szülő
commit
c29efde0f9

+ 1 - 0
android/app/src/main/java/com/trust/ywx/MainActivity.kt

@@ -10,5 +10,6 @@ class MainActivity : AppCompatActivity() {
         super.onCreate(savedInstanceState)
         NavigationHelper.routerName = "app"
         startActivity(Intent(this, BuzActivity::class.java))
+        finish()
     }
 }

+ 5 - 2
android/app/src/main/java/com/trust/ywx/specs/navigation/NavigationManager.kt

@@ -12,13 +12,16 @@ class NavigationManager(reactContext: ReactApplicationContext) :
         NavigationHelper.routerName = name
         AppManager.lastActivity()
             ?.startActivity(Intent(AppManager.lastActivity(), BuzActivity::class.java))
+//        AppManager.lastActivity()
+//            ?.overridePendingTransition(0, 0)
     }
 
-    override fun pop(name: String?) {
-
+    override fun pop() {
+        AppManager.finishActivity(null)
     }
 
     override fun getName() = NAME
+
     companion object {
         const val NAME = "NavigationManager"
     }

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 2
bundle/app.android.bundle


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
bundle/common.android.bundle


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
config/bundleCommonInfo.json


+ 4 - 3
specs/NativeNavigationManager.ts

@@ -1,9 +1,10 @@
-import type {TurboModule} from 'react-native';
-import {TurboModuleRegistry} from 'react-native';
+import type { TurboModule } from 'react-native';
+import { TurboModuleRegistry } from 'react-native';
 
 export interface Spec extends TurboModule {
   navigate(name: string): void;
-  pop(name: string): void;
+
+  pop(): void;
 }
 
 export default TurboModuleRegistry.getEnforcing<Spec>(

+ 7 - 0
src/app/App.tsx

@@ -13,6 +13,7 @@ import {
   View,
 } from 'react-native';
 import * as navigation from '@common/NavigationHelper.ts';
+import { Apps } from '@common/NavigationHelper.ts';
 
 function App() {
   const isDarkMode = useColorScheme() === 'dark';
@@ -28,6 +29,12 @@ function App() {
           navigation.pushByName('hospital', {});
         }}
       />
+      <Button
+        title={'进入医网签'}
+        onPress={() => {
+          navigation.pushByName(Apps.Ywq, {});
+        }}
+      />
     </View>
   );
 }

+ 2 - 1
src/app/app.ts

@@ -1,4 +1,5 @@
 import { AppRegistry } from 'react-native';
 import App from './App.tsx';
+import { Apps } from '@common/NavigationHelper.ts';
 
-AppRegistry.registerComponent("app", () => App);
+AppRegistry.registerComponent(Apps.App, () => App);

+ 10 - 4
src/common/NavigationHelper.ts

@@ -1,6 +1,14 @@
 import { storageApp } from './StorageHelper.ts';
 import NavigationManager from '../../specs/NativeNavigationManager.ts';
 
+
+export enum Apps {
+  App='app',
+  Hospital='hospital',
+  Ywq='ywq',
+}
+
+
 export const pushByName = (name: string, params: any) => {
   storageApp
     .save({
@@ -12,8 +20,6 @@ export const pushByName = (name: string, params: any) => {
       NavigationManager.navigate(name);
     });
 };
-export const pop = (name: string) => {
-  storageApp.remove({ key: `MessageActivity-${name}` }).finally(() => {
-    NavigationManager.pop(name);
-  });
+export const pop = () => {
+  NavigationManager.pop();
 };

+ 1 - 1
src/hospital/Hospital.tsx

@@ -26,7 +26,7 @@ function Hospital() {
       <Button
         title={'返回'}
         onPress={() => {
-          pop('hospital');
+          pop();
         }}
       />
     </View>

+ 2 - 1
src/hospital/hospital.ts

@@ -1,4 +1,5 @@
 import { AppRegistry } from 'react-native';
 import Hospital from './Hospital.tsx';
+import { Apps } from '@common/NavigationHelper.ts';
 
-AppRegistry.registerComponent('hospital', () => Hospital);
+AppRegistry.registerComponent(Apps.Hospital, () => Hospital);

+ 34 - 0
src/ywq/Ywq.tsx

@@ -0,0 +1,34 @@
+/**
+ * Sample React Native App
+ * https://github.com/facebook/react-native
+ *
+ * @format
+ */
+
+import {
+  Button,
+  StatusBar,
+  StyleSheet,
+  useColorScheme,
+  View,
+} from 'react-native';
+
+function App() {
+  const isDarkMode = useColorScheme() === 'dark';
+
+  return (
+    <View style={styles.container}>
+      <StatusBar barStyle={isDarkMode ? 'light-content' : 'dark-content'} />
+      <View style={{ height: 100 }} />
+      <Button title={'onConfirm'} onPress={() => {}} />
+    </View>
+  );
+}
+
+const styles = StyleSheet.create({
+  container: {
+    flex: 1,
+  },
+});
+
+export default App;

+ 5 - 0
src/ywq/ywq.ts

@@ -0,0 +1,5 @@
+import { AppRegistry } from 'react-native';
+import App from './Ywq.tsx';
+import { Apps } from '@common/NavigationHelper.ts';
+
+AppRegistry.registerComponent(Apps.Ywq, () => App);

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott