XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

STHApplication

【MAUI】寄当家——安卓端交易管理系统

公开
关注 0 Fork 0 Star 0
UTF-8
namespace JiDangJia.Views;

public sealed class CommunityWebView : WebView
{
    public const string Origin="https://appassets.androidplatform.net/";
    public event Action<string>? MessageReceived;
    public string Html{set=>Source=new HtmlWebViewSource{Html=value,BaseUrl=Origin};}
    public bool Ready{get;private set;}
    internal void Receive(string message)
    {
        if(message.Length>200000)return;Dispatcher.Dispatch(()=>{if(Handler is null)return;if(message=="ready"){Ready=true;}MessageReceived?.Invoke(message);});
    }
    public Task Run(string script)=>EvaluateJavaScriptAsync(script);
    public void Stop(){Ready=false;if(Handler is not null)_=Run("window.stopMedia?.();");}
    public CommunityWebView(){Navigating+=(_,e)=>{if(!e.Url.StartsWith(Origin,StringComparison.Ordinal)&&e.Url!="about:blank")e.Cancel=true;};}
}