@page "/signature/{user}" @page "/signature" @layout EmptyLayout @if (user.Sign != null) { }
@code { @inject IJSRuntime JsRuntime; @inject NotificationService _message; @inject IUserDao userDao; private IJSObjectReference module; @inject DialogService dialogService; [Parameter] public Pojo.User user { get; set; } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { // 导入。路径是相对wwwroot写的,其他位置参考顶部链接 module = await JsRuntime.InvokeAsync("import", "./signatureInit.js"); await module.InvokeVoidAsync("createSignatrue"); } } async Task handleClear() { await module.InvokeVoidAsync("clear"); } async Task handleUndo() { await module.InvokeVoidAsync("undo"); } async Task handlePreview() { bool flag = await module.InvokeAsync("isEmpty"); if (flag) { } else { string base64 = await module.InvokeAsync("getPNG"); await userDao.UpdateSign(user.Id, base64.Split(",")[1]); dialogService.Close(true); } } }