Jelajahi Sumber

碰到redirectURL就开iframe

zhejiushizhuce 1 tahun lalu
induk
melakukan
1970601231

+ 20 - 1
src/widgets/WPaymentOrder/index.jsx

@@ -5,15 +5,34 @@ import RUPayOrder from "@widgets/WPaymentOrder/RU/RUPayOrder";
 import MXOrderQR from "@widgets/WPaymentOrder/MX/QR/MXOrderQR";
 import {useLocation} from "react-router-dom";
 import {ROUTE_PATH} from "@constants/routes";
+import React from "react";
+import {useSelector} from "react-redux";
+import {getCurrPayOrder} from "@features/paySlice";
 const WPaymentOrder=({close})=>{
     const {hash} = useLocation();
-
+    const orderInfo=useSelector(getCurrPayOrder);
     const components={
         "br":BRPayOrder,
         "mx":MXPayOrder,
         "ru":RUPayOrder
     }
+    const renderOrderRedirect=()=>{
+        return (
+            <iframe
+                id={"order"}
+                title={"order"}
+                src={orderInfo.redirectURL}
+                className={styles.order_frame}
+                allow="fullscreen"
+                sandbox='allow-same-origin allow-scripts allow-popups allow-forms'
+            >
+            </iframe>
+        )
+    }
     const renderPayOrder=()=>{
+        if (orderInfo.redirectURL != null && orderInfo.redirectURL!==""){
+            return renderOrderRedirect();
+        }
         if (hash===ROUTE_PATH.PAY_ORDER_QR){
             return <MXOrderQR close={close}/>
         }

+ 5 - 0
src/widgets/WPaymentOrder/styles.module.scss

@@ -37,3 +37,8 @@
     width: 50%;
   }
 }
+.order_frame{
+  width: 100%;
+  height: calc(100vh - 3.45rem);
+  border: none;
+}