Codemaru 1.0.0.0
QR 코드, 모바일 랜딩 페이지, vCard 연락처 저장과 명함 디자인을 한 화면에서 제공하는 디지털 명함 서비스입니다.
로딩중...
검색중...
일치하는것 없음
Codemaru.Services.CardLandingPath 클래스 참조

더 자세히 ...

정적 Public 멤버 함수

static string NormalizeForTenant (string slug, CardHybridUser user)
static string TenantSlug (CardHybridUser user)
static string[] Split (string slug)
static string Slugify (string value)

상세한 설명

Card Landing Path 기능과 관련 상태를 캡슐화합니다.

CardLandingPath.cs 파일의 15 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ NormalizeForTenant()

string Codemaru.Services.CardLandingPath.NormalizeForTenant ( string slug,
CardHybridUser user )
inlinestatic

Normalize For Tenant 작업을 수행합니다.

매개변수
slugslug에 사용할 string 값입니다.
useruser에 사용할 CardHybridUser 값입니다.
반환값
Normalize For Tenant 작업에서 생성한 string 결과입니다.

CardLandingPath.cs 파일의 49 번째 라인에서 정의되었습니다.

50 {
51 var segments = Split(slug);
52 if (segments.Length == 0)
53 {
54 return $"card/{TenantSlug(user)}/me";
55 }
56
57 if (!string.Equals(segments[0], "card", StringComparison.OrdinalIgnoreCase))
58 {
59 return string.Join("/", segments.Select(Slugify));
60 }
61
62 if (segments.Length == 1)
63 {
64 return $"card/{TenantSlug(user)}/me";
65 }
66
67 if (segments.Length == 2)
68 {
69 return $"card/{TenantSlug(user)}/{Slugify(segments[1])}";
70 }
71
72 return string.Join("/", segments.Select(Slugify));
73 }

다음을 참조함 : Codemaru.Models.CardHybridUser(), Slugify(), Split().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ Slugify()

string Codemaru.Services.CardLandingPath.Slugify ( string value)
inlinestatic

Slugify 작업을 수행합니다.

매개변수
value적용할 값입니다.
반환값
Slugify 작업에서 생성한 string 결과입니다.

CardLandingPath.cs 파일의 160 번째 라인에서 정의되었습니다.

161 {
162 if (string.IsNullOrWhiteSpace(value))
163 {
164 return string.Empty;
165 }
166
167 var builder = new StringBuilder(value.Length);
168 var previousDash = false;
169
170 foreach (var rune in value.Trim().Normalize(NormalizationForm.FormD).EnumerateRunes())
171 {
172 if (Rune.GetUnicodeCategory(rune) == UnicodeCategory.NonSpacingMark)
173 {
174 continue;
175 }
176
177 if (rune.Value is >= 'A' and <= 'Z')
178 {
179 builder.Append((char)(rune.Value + 32));
180 previousDash = false;
181 }
182 else if (rune.Value is >= 'a' and <= 'z' or >= '0' and <= '9')
183 {
184 builder.Append((char)rune.Value);
185 previousDash = false;
186 }
187 else if (!previousDash)
188 {
189 builder.Append('-');
190 previousDash = true;
191 }
192 }
193
194 return builder.ToString().Trim('-');
195 }

다음에 의해서 참조됨 : NormalizeForTenant(), Codemaru.Services.LandingPagePublisher.NormalizeSlug(), TenantSlug().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Split()

string[] Codemaru.Services.CardLandingPath.Split ( string slug)
inlinestatic

Split 작업을 수행합니다.

매개변수
slugslug에 사용할 string 값입니다.
반환값
Split 작업에서 생성한 string[] 결과입니다.

CardLandingPath.cs 파일의 129 번째 라인에서 정의되었습니다.

129 =>
130 (slug ?? string.Empty)
131 .Replace("\\", "/", StringComparison.Ordinal)
132 .Split('/', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)
133 .Where(static segment => segment is not "." and not "..")
134 .ToArray();

다음에 의해서 참조됨 : NormalizeForTenant(), Codemaru.Services.LandingPagePublisher.NormalizeSlug().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ TenantSlug()

string Codemaru.Services.CardLandingPath.TenantSlug ( CardHybridUser user)
inlinestatic

Tenant Slug 작업을 수행합니다.

매개변수
useruser에 사용할 CardHybridUser 값입니다.
반환값
Tenant Slug 작업에서 생성한 string 결과입니다.

CardLandingPath.cs 파일의 99 번째 라인에서 정의되었습니다.

100 {
101 var idSlug = Slugify(user.Id);
102 return string.IsNullOrWhiteSpace(idSlug) ? "guest" : idSlug;
103 }

다음을 참조함 : Codemaru.Models.CardHybridUser(), Slugify().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: