@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);
}
}
}