Skip to content

Commit c986015

Browse files
authored
doc(BaiduOcr): add config documentation (#6690)
* doc: 文档格式化 * doc: 更新配置文档 * doc: 更新资源文件 * doc: 更新文档
1 parent 6d3d2f9 commit c986015

File tree

4 files changed

+38
-23
lines changed

4 files changed

+38
-23
lines changed

src/BootstrapBlazor.Server/Components/Samples/BaiduOcr.razor

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,29 @@
11
@page "/ocr"
2-
@inject IBaiduOcr OcrService
3-
@inject IStringLocalizer<BaiduOcr> Localizer
4-
@inject ToastService ToastService
52

63
<h3>@Localizer["Title"]</h3>
74

85
<h4>@Localizer["SubTitle"]</h4>
96

107
<Tips>@Localizer["BaiduOcrDesc"]</Tips>
8+
<PackageTips Name="BootstrapBlazor.BaiduOcr" />
9+
<p><b>@Localizer["BaiduOcrIntro"]</b></p>
10+
<p class="code-label">@((MarkupString)Localizer["BaiduOcrStep1"].Value)</p>
11+
<p>@((MarkupString)Localizer["BaiduOcrStep1Desc"].Value)</p>
12+
<Pre>{
13+
"BaiduOcrOption": {
14+
"AppId": "",
15+
"ApiKey": "",
16+
"Secret": ""
17+
}
18+
}</Pre>
19+
<p class="code-label">@((MarkupString)Localizer["BaiduOcrStep2"].Value)</p>
20+
<Pre>[Inject, NotNull]
21+
private IBaiduOcr? OcrService { get; set; }</Pre>
1122

12-
<PackageTips Name="BootstrapBlazor.BaiduOcr" />
13-
14-
<p><b>@Localizer["BaiduOcrIntro"]</b></p>
15-
<p>@((MarkupString)Localizer["BaiduOcrStep1"].Value)</p>
16-
<p>@((MarkupString)Localizer["BaiduOcrStep2"].Value)</p>
23+
<p class="code-label">@((MarkupString)Localizer["BaiduOcrStep3"].Value)</p>
1724

1825
<DemoBlock Title="@Localizer["VatInvoiceTitle"]" Introduction="@Localizer["VatInvoiceIntro"]" Name="VatInvoice">
19-
<ButtonUpload TValue="string" OnChange="@OnClickToUploadBlock" BrowserButtonText="VATInvoice" ShowUploadFileList="false" IsDisabled="IsLoading" BrowserButtonIcon="@Icon"></ButtonUpload>
26+
<ButtonUpload TValue="string" OnChange="@OnClickToUploadBlock" BrowserButtonText="VATInvoice" ShowUploadFileList="false" IsDisabled="_isLoading" BrowserButtonIcon="@Icon"></ButtonUpload>
2027
@if (Invoice != null)
2128
{
2229
<div class="row form-inline g-3 mt-0">
@@ -128,7 +135,7 @@
128135
<EditorItem @bind-Field="@context.TotalAmount" Text="金额" PlaceHolder="可为空" />
129136
</FieldItems>
130137
<Buttons>
131-
<Button ButtonType="ButtonType.Submit" Icon="fa-solid fa-check" Text="Verify" />
138+
<Button ButtonType="ButtonType.Submit" Icon="fa-solid fa-check" Text="Verify"></Button>
132139
</Buttons>
133140
</EditorForm>
134141
</ValidateForm>

src/BootstrapBlazor.Server/Components/Samples/BaiduOcr.razor.cs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,21 @@ namespace BootstrapBlazor.Server.Components.Samples;
1212
/// </summary>
1313
public partial class BaiduOcr : IDisposable
1414
{
15-
private InvoiceEntity? Invoice { get; set; }
15+
[Inject, NotNull]
16+
private IBaiduOcr? OcrService { get; set; }
1617

17-
/*以下示例为本站特殊处理逻辑可不参考*/
18-
private bool IsLoading { get; set; }
18+
[Inject, NotNull]
19+
private IStringLocalizer<BaiduOcr>? Localizer { get; set; }
1920

20-
private string ButtonIcon { get; } = "fa-solid fa-cloud-arrow-up";
21+
[Inject, NotNull]
22+
private ToastService? ToastService { get; set; }
2123

22-
private string LoadingIcon { get; } = "fa-solid fa-spinner fa-spin-pulse";
24+
private InvoiceEntity? Invoice { get; set; }
25+
26+
/*以下示例为本站特殊处理逻辑可不参考*/
27+
private bool _isLoading;
2328

24-
private string Icon => IsLoading ? LoadingIcon : ButtonIcon;
29+
private string Icon => _isLoading ? "fa-solid fa-spinner fa-spin-pulse" : "fa-solid fa-cloud-arrow-up";
2530

2631
/// <summary>
2732
/// 取消请求令牌
@@ -33,12 +38,12 @@ private async Task OnClickToUploadBlock(UploadFile file)
3338
if (file.File != null)
3439
{
3540
// 设置 按钮禁用
36-
IsLoading = true;
41+
_isLoading = true;
3742
StateHasChanged();
3843

3944
// 获得上传文件
4045
var payload = await file.GetBytesAsync(file.File.Size);
41-
if (payload != null && payload.Length > 0)
46+
if (payload is { Length: > 0 })
4247
{
4348
try
4449
{
@@ -60,7 +65,7 @@ private async Task OnClickToUploadBlock(UploadFile file)
6065
}
6166
}
6267

63-
IsLoading = false;
68+
_isLoading = false;
6469
StateHasChanged();
6570
}
6671
}

src/BootstrapBlazor.Server/Locales/en-US.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,9 @@
650650
"BaiduOcrDesc": "本组件通过调用 Baidu AI 平台文字识别接口进行增值税发票文字识别。支持对增值税普票、专票、全电发票(新版全国统一电子发票,专票/普票)、卷票、区块链发票的所有字段进行结构化识别,包括发票基本信息、销售方及购买方信息、商品信息、价税信息等,其中五要素字段的识别准确率超过 99.9%; 同时,支持对增值税卷票的 21 个关键字段进行识别,包括发票类型、发票代码、发票号码、机打号码、机器编号、收款人、销售方名称、销售方纳税人识别号、开票日期、购买方名称、购买方纳税人识别号、项目、单价、数量、金额、税额、合计金额(小写)、合计金额(大写)、校验码、省、市,四要素字段的识别准确率可达95%。上传图片不能超过 4M",
651651
"BaiduOcrIntro": "Usage",
652652
"BaiduOcrStep1": "1. Get <code>IBaiduOcr</code> instance by inject service",
653-
"BaiduOcrStep2": "2. Call <code>IBaiduOcr</code> instance method",
653+
"BaiduOcrStep1Desc": "Update the <code>appsettings.json</code> file with the following configuration. Please register on <a href=\"https://ai.baidu.com/ai-doc/index/OCR\" target=\"\">Baidu AI Open Platform</a> and apply for relevant parameter values.",
654+
"BaiduOcrStep2": "2. Get <code>IBaiduOcr</code> instance by inject service",
655+
"BaiduOcrStep3": "3. Call <code>IBaiduOcr</code> instance method",
654656
"VerifyVatInvoiceTitle": "增值税验真",
655657
"VerifyVatInvoiceIntro": "通过调用 <code>IBaiduOcr</code> 服务实例的发票验真方法 <code>VerifyInvoiceAsync</code> 返回 <code>InvoiceVerifyResult</code> 其属性 <code>Valid</code> 为 <code>true</code> 时为真"
656658
},

src/BootstrapBlazor.Server/Locales/zh-CN.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,6 @@
465465
"MultipleMaskContainerDesc": "组件内自己设置 <code>Mask</code> 组件,调用 <code>MaskService</code> 实例方法 <code>Show</code> 时,通过第二个参数指定 <code>Mask</code> 实例即可",
466466
"MaskCloseTitle": "代码关闭弹窗",
467467
"MaskCloseIntro": "通过使用 <code>DialogCloseButton</code> 组件或者级联参数关闭弹窗"
468-
469468
},
470469
"BootstrapBlazor.Server.Components.Samples.Messages": {
471470
"MessagesTitle": "Message 消息提示",
@@ -650,8 +649,10 @@
650649
"VatInvoiceIntro": "通过上传增值税发票图片调用百度 Ocr 接口进行文字识别",
651650
"BaiduOcrDesc": "本组件通过调用 Baidu AI 平台文字识别接口进行增值税发票文字识别。支持对增值税普票、专票、全电发票(新版全国统一电子发票,专票/普票)、卷票、区块链发票的所有字段进行结构化识别,包括发票基本信息、销售方及购买方信息、商品信息、价税信息等,其中五要素字段的识别准确率超过 99.9%; 同时,支持对增值税卷票的 21 个关键字段进行识别,包括发票类型、发票代码、发票号码、机打号码、机器编号、收款人、销售方名称、销售方纳税人识别号、开票日期、购买方名称、购买方纳税人识别号、项目、单价、数量、金额、税额、合计金额(小写)、合计金额(大写)、校验码、省、市,四要素字段的识别准确率可达95%。上传图片不能超过 4M",
652651
"BaiduOcrIntro": "使用方法",
653-
"BaiduOcrStep1": "1. 通过注入服务获得 <code>IBaiduOcr</code> 实例",
654-
"BaiduOcrStep2": "2. 调用服务相对应的识别方法即可",
652+
"BaiduOcrStep1": "1. 配置 <code>BaiduOcrOption</code>",
653+
"BaiduOcrStep1Desc": "更新 <code>appsettings.json</code> 文件,配置如下:相关参数值请在 <a href=\"https://ai.baidu.com/ai-doc/index/OCR\" target=\"\">百度 AI 开放平台</a> 注册后开通申请",
654+
"BaiduOcrStep2": "2. 通过注入服务获得 <code>IBaiduOcr</code> 实例",
655+
"BaiduOcrStep3": "3. 调用服务相对应的识别方法即可",
655656
"VerifyVatInvoiceTitle": "增值税验真",
656657
"VerifyVatInvoiceIntro": "通过调用 <code>IBaiduOcr</code> 服务实例的发票验真方法 <code>VerifyInvoiceAsync</code> 返回 <code>InvoiceVerifyResult</code> 其属性 <code>Valid</code> 为 <code>true</code> 时为真"
657658
},

0 commit comments

Comments
 (0)