瀏覽代碼

message jump detail

nieyuge 2 年之前
父節點
當前提交
0691c781ed
共有 3 個文件被更改,包括 28 次插入0 次删除
  1. 5 0
      App.tsx
  2. 6 0
      src/pages/navigations/message.tsx
  3. 17 0
      src/pages/screens/webview.tsx

+ 5 - 0
App.tsx

@@ -5,6 +5,7 @@ import { NavTabScreen } from './src/router';
 import Twitter from '@/pages/screens/twitter/index';
 import Redpack from '@/pages/screens/redpack/index';
 import Login from '@/pages/screens/login/index';
+import WebView from '@/pages/screens/webview/index';
 import { SafeAreaProvider } from 'react-native-safe-area-context';
 import { ModalPortal } from 'react-native-modals';
 
@@ -31,6 +32,10 @@ class App extends Component {
 							name="Redpack"
 							component={Redpack}
 						/>
+						<stackNavigator.Screen
+							name="WebView"
+							component={WebView}
+						/>
 						<stackNavigator.Screen name="Login" component={Login} />
 					</stackNavigator.Navigator>
 				</NavigationContainer>

+ 6 - 0
src/pages/navigations/message.tsx

@@ -9,6 +9,7 @@ interface Props {
 }
 
 let webref: any;
+let webprops: any;
 
 const onMessage = async (event: any) => {
     let { info, data } = (event.nativeEvent.data && JSON.parse(event.nativeEvent.data)) || {};
@@ -17,11 +18,16 @@ const onMessage = async (event: any) => {
             info.target = webref;
             messageCenter.send({ info, data });
             break;
+        case 'IFRAME_MESSAGE_PAGE_CREATE_TAB':
+            webprops.navigation.navigate('WebView', data);
+            break;
     }
 }
 
 const Message = (props: Props) => {
     const { isLogin, goTwitterAuthorize } = useLoginCom(props);
+    // global
+    webprops = props;
 
     if (isLogin === false) {
         return (

+ 17 - 0
src/pages/screens/webview.tsx

@@ -0,0 +1,17 @@
+import React from 'react';
+import { DenetWebview } from '@/components/webview';
+
+interface Props {
+    navigation: any;
+	route: any;
+}
+
+const WebView = (props: Props) => {
+	return (
+		<DenetWebview
+			uri={props.route.params.url}>
+		</DenetWebview>
+	);
+};
+
+export default WebView;