🎒 fix: 兼容分组名字有英文与数字组合的情况,配置文件添加注释说明 (#105)

This commit is contained in:
二丫讲梵 2022-08-05 15:25:14 +08:00 committed by GitHub
parent ef652a366b
commit 12aa33e37d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -101,6 +101,7 @@ ldap:
group-name-modify: false group-name-modify: false
# 是否允许更改用户DN # 是否允许更改用户DN
user-name-modify: false user-name-modify: false
# 📢 即便用不到如下三段配置信息,也不要删除,否则会有一些奇怪的错误出现
dingtalk: dingtalk:
# 配置获取详细文档参考: http://ldapdoc.eryajf.net/pages/94f43a/ # 配置获取详细文档参考: http://ldapdoc.eryajf.net/pages/94f43a/
flag: "dingtalk" # 作为钉钉在平台的标识 flag: "dingtalk" # 作为钉钉在平台的标识

View File

@ -17,6 +17,12 @@ func isEnglish(str string) bool {
return match return match
} }
// 是否为英文与数字组合
func isEnglishAndNum(str string) bool {
match, _ := regexp.MatchString(`^[a-zA-Z0-9_-]+$`, str)
return match
}
// 是否全为中文 // 是否全为中文
func isChinese(s string) bool { func isChinese(s string) bool {
for _, r := range s { for _, r := range s {
@ -32,7 +38,8 @@ func isChinese(s string) bool {
1.如果名字中有横杠或者下划线连接将会删去下划线再处理 1.如果名字中有横杠或者下划线连接将会删去下划线再处理
2.全是中文直接转拼音 2.全是中文直接转拼音
3.全是英文不进行处理原文呈现 3.全是英文不进行处理原文呈现
4.如果是中英混合那么分以下几种情况 4.英文与数字组合不进行处理原文呈现
5.如果是中英混合那么分以下几种情况
1.开头是中文结尾不是中文进入Convert逻辑第一种 1.开头是中文结尾不是中文进入Convert逻辑第一种
2.开头不是中文结尾不是中文进入Convert逻辑第一种 2.开头不是中文结尾不是中文进入Convert逻辑第一种
3.开头不是中文结尾是中文进入Convert逻辑第三种 3.开头不是中文结尾是中文进入Convert逻辑第三种
@ -56,7 +63,7 @@ func Convert(src string) string {
if isChinese(src) { // 全是中文 if isChinese(src) { // 全是中文
return strings.Join(pinyin.LazyConvert(src, nil), "") return strings.Join(pinyin.LazyConvert(src, nil), "")
} }
if isEnglish(src) { // 全是英文 if isEnglish(src) || isEnglishAndNum(src) { // 全是英文,或者为英文与数字组合
return src return src
} }