1- @page " /toolbox/translationslug"
1+ @page " /tools/slug-generator"
2+ @using CodeWF .Core
3+ @inject ITranslationService TranslationService
4+ @inject IPopupService PopupService
25
3- <h1 >别名生成器</h1 >
6+ <MCard
7+ Outlined
8+ Elevation =" 2"
9+ Width =" 500" >
10+ <MListItem >
11+ <MListItemContent >
12+ <MListItemTitle Class =" text-h5 mb-1" >
13+ 别名生成器
14+ </MListItemTitle >
15+ </MListItemContent >
16+ </MListItem >
17+ <MRow Class =" mx-2" >
18+ <MButton class =" ma-2 white--text"
19+ Color =" blue-grey"
20+ OnClick =" HandleChineseToEnglishAsync" >
21+ 中译英
22+ </MButton >
23+ <MButton class =" ma-2 white--text"
24+ Color =" blue-grey"
25+ OnClick =" HandleEnglishToChineseAsync" >
26+ 英译中
27+ </MButton >
28+ <MButton class =" ma-2 white--text"
29+ Color =" blue-grey"
30+ OnClick =" HandleEnglishToUrlSlugAsync" >
31+ 英转URL
32+ </MButton >
33+
34+ <MButton class =" ma-2"
35+ Color =" info"
36+ OnClick =" HandleChineseToUrlSlugAsync" >
37+ <LoaderContent >
38+ <span class =" custom-loader" >
39+ <MIcon >mdi-cached</MIcon >
40+ </span >
41+ </LoaderContent >
42+ <ChildContent >
43+ 中转URL
44+ </ChildContent >
45+ </MButton >
46+ </MRow >
47+ <MRow Class =" mx-2" >
48+ <MTextarea Label =" 请输入中文"
49+ AutoGrow
50+ Outlined
51+ @bind-Value =" Chinese"
52+ Rows =" 3"
53+ RowHeight =" 25"
54+ Shaped
55+ Class =" mx-2" >
56+ </MTextarea >
57+
58+ </MRow >
59+ <MRow Class =" mx-2" >
60+ <MTextarea Label =" 翻译后的英文标题或输入英文"
61+ AutoGrow
62+ Outlined
63+ @bind-Value =" English"
64+ Rows =" 3"
65+ RowHeight =" 25"
66+ Shaped
67+ Class =" mx-2" >
68+ </MTextarea >
69+
70+ </MRow >
71+ <MRow Class =" mx-2" >
72+ <MTextarea Label =" 转换后URL别名"
73+ AutoGrow
74+ Outlined
75+ @bind-Value =" Slug"
76+ Rows =" 3"
77+ RowHeight =" 25"
78+ Shaped
79+ Class =" mx-2" >
80+ </MTextarea >
81+ </MRow >
82+ </MCard >
83+
84+ @code
85+ {
86+ /// <summary >
87+ /// 中文标题
88+ /// </summary >
89+ public string ? Chinese { get ; set ; }
90+
91+
92+ /// <summary >
93+ /// 英文标题
94+ /// </summary >
95+ public string ? English { get ; set ; }
96+
97+
98+ /// <summary >
99+ /// 别名
100+ /// </summary >
101+ public string ? Slug { get ; set ; }
102+
103+ public async Task HandleChineseToEnglishAsync ()
104+ {
105+ try
106+ {
107+ English = await TranslationService ! .ChineseToEnglishAsync (Chinese );
108+ }
109+ catch (Exception ex )
110+ {
111+ English = ex .Message ;
112+ await PopupService .EnqueueSnackbarAsync ($" 中译英异常,请联系作者:{ex .Message }" );
113+ }
114+ }
115+
116+ public async Task HandleEnglishToChineseAsync ()
117+ {
118+ try
119+ {
120+ Chinese = await TranslationService ! .EnglishToChineseAsync (English );
121+ }
122+ catch (Exception ex )
123+ {
124+ Chinese = ex .Message ;
125+ await PopupService .EnqueueSnackbarAsync ($" 英译中异常,请联系作者:{ex .Message }" );
126+ }
127+ }
128+
129+ public async Task HandleEnglishToUrlSlugAsync ()
130+ {
131+ try
132+ {
133+ Slug = TranslationService ! .EnglishToUrlSlug (English );
134+ }
135+ catch (Exception ex )
136+ {
137+ Slug = ex .Message ;
138+ await PopupService .EnqueueSnackbarAsync ($" 英转URL别名异常,请联系作者:{ex .Message }" );
139+ }
140+ }
141+
142+ public async Task HandleChineseToUrlSlugAsync ()
143+ {
144+ await HandleChineseToEnglishAsync ();
145+ await HandleEnglishToUrlSlugAsync ();
146+ }
147+ }
0 commit comments