mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-10 02:38:50 +01:00
🎨 Clean code https://github.com/siyuan-note/siyuan/pull/16755
Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
parent
171d030c3d
commit
cab9a573df
1 changed files with 45 additions and 40 deletions
|
|
@ -36,46 +36,6 @@ import (
|
|||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
// validateChars 验证从指定索引开始的字符是否合法(小写字母、数字、连字符)
|
||||
func validateChars(name string, startIdx, n int) bool {
|
||||
for i := startIdx; i < n; i++ {
|
||||
c := name[i]
|
||||
if c != '-' && (c < 'a' || c > 'z') && (c < '0' || c > '9') {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// isValidAttrName 验证属性名是否合法
|
||||
func isValidAttrName(name string) bool {
|
||||
n := len(name)
|
||||
if n == 0 {
|
||||
return false
|
||||
}
|
||||
// 首字符必须是小写字母
|
||||
c := name[0]
|
||||
if c < 'a' || c > 'z' {
|
||||
return false
|
||||
}
|
||||
// 后续字符只能是小写字母、数字、连字符
|
||||
if c != 'c' {
|
||||
return validateChars(name, 1, n)
|
||||
}
|
||||
// 首字符是 'c',检查自定义属性 custom- 前缀
|
||||
if n >= 7 && name[1] == 'u' && name[2] == 's' && name[3] == 't' && name[4] == 'o' && name[5] == 'm' && name[6] == '-' {
|
||||
if n == 7 {
|
||||
return false // 不允许只包含前缀
|
||||
}
|
||||
if c = name[7]; c < 'a' || c > 'z' {
|
||||
return false // 首字符必须是小写字母
|
||||
}
|
||||
return validateChars(name, 7, n)
|
||||
}
|
||||
// 非自定义属性
|
||||
return validateChars(name, 1, n)
|
||||
}
|
||||
|
||||
func SetBlockReminder(id string, timed string) (err error) {
|
||||
if !IsSubscriber() {
|
||||
if "ios" == util.Container {
|
||||
|
|
@ -356,3 +316,48 @@ func ResetBlockAttrs(id string, nameValues map[string]string) (err error) {
|
|||
cache.RemoveBlockIAL(id)
|
||||
return
|
||||
}
|
||||
|
||||
// isValidAttrName 验证属性名是否合法
|
||||
func isValidAttrName(name string) bool {
|
||||
n := len(name)
|
||||
if n == 0 {
|
||||
return false
|
||||
}
|
||||
|
||||
// 首字符必须是小写字母
|
||||
c := name[0]
|
||||
if c < 'a' || c > 'z' {
|
||||
return false
|
||||
}
|
||||
|
||||
// 后续字符只能是小写字母、数字、连字符
|
||||
if c != 'c' {
|
||||
return validateChars(name, 1, n)
|
||||
}
|
||||
|
||||
// 首字符是 'c',检查自定义属性 custom- 前缀
|
||||
if n >= 7 && name[1] == 'u' && name[2] == 's' && name[3] == 't' && name[4] == 'o' && name[5] == 'm' && name[6] == '-' {
|
||||
if n == 7 {
|
||||
return false // 不允许只包含前缀
|
||||
}
|
||||
|
||||
if c = name[7]; c < 'a' || c > 'z' {
|
||||
return false // 首字符必须是小写字母
|
||||
}
|
||||
return validateChars(name, 7, n)
|
||||
}
|
||||
|
||||
// 非自定义属性
|
||||
return validateChars(name, 1, n)
|
||||
}
|
||||
|
||||
// validateChars 验证从指定索引开始的字符是否合法(小写字母、数字、连字符)
|
||||
func validateChars(name string, startIdx, n int) bool {
|
||||
for i := startIdx; i < n; i++ {
|
||||
c := name[i]
|
||||
if (c < 'a' || c > 'z') && (c < '0' || c > '9') && c != '-' {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue