maui BlazorWebView+本地html 打包Android app 实现支付宝H5支付

 

 

 

 

   <BlazorWebView x:Name="blazorWebView" HostPage="wwwroot/index.html" UrlLoading="blazorWebView_UrlLoading" BlazorWebViewInitialized="blazorWebView_BlazorWebViewInitialized">
       
    </BlazorWebView>

 

复制代码
 private void blazorWebView_BlazorWebViewInitialized(object sender, Microsoft.AspNetCore.Components.WebView.BlazorWebViewInitializedEventArgs e)
        {
      //允许BlazorWebView 在Android平台下 访问http请求,需搭配android:usesCleartextTraffic="true" 使用
#if ANDROID
          e.WebView.Settings.MixedContentMode = Android.Webkit.MixedContentHandling.AlwaysAllow;
#endif
        }
        private async void blazorWebView_UrlLoading(object sender, Microsoft.AspNetCore.Components.WebView.UrlLoadingEventArgs e)
        {
            if (e.Url.Host != "0.0.0.0")
            {

                if (e.Url.ToString().StartsWith("alipays:") || e.Url.ToString().StartsWith("alipay"))
                {
                    await Launcher.OpenAsync(e.Url);
                    return;
                }
                else {
                    e.UrlLoadingStrategy = UrlLoadingStrategy.OpenInWebView;
                    
                }
               
            }
           
        }
复制代码

 

 

index.html 代码:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport"
          content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    <title>MauiApp3</title>
  
    <script src="lib/jquery.min.js"></script>
    <script src="lib/lib-flexible-2.0/index.js"></script>
</head>

<body>
   
    <button style="width: 100%;background: rgb(5, 200, 235);border: 0rem;" id="zhifu">支付宝支付</button><br /><br />
    <script src="_framework/blazor.webview.js" autostart="false" crossorigin="anonymous"></script>
    <script>
        $(function () {
            //调用服务端的支付宝H5支付接口 returnUrl:即支付成功后回跳的页面;quitUrl:即取消支付时回跳的页面,这2个参数是支付宝H5支付时的参数
            $("#zhifu").click(function () {
                $.post("https://xxxxx/ali/alipay", { returnUrl: "https://0.0.0.0/return.html", quitUrl: "https://0.0.0.0/quit.html" }, function (res) {
                    $("body").append(res);
                }).error(function (res) {
                    alert("出现错误:" + JSON.stringify(res));
                })
            })
        })
    </script>
</body>

</html>
复制代码

微信H5支付应该和支付宝的差不多应该都可行

posted on   落叶子  阅读(420)  评论(1编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示