mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	修复日志内容可能过长而无法存入数据库的问题
This commit is contained in:
		@@ -62,3 +62,23 @@ func Similar(s1 string, s2 string) float32 {
 | 
			
		||||
 | 
			
		||||
	return (float32(count)/float32(l1) + float32(count)/float32(l2)) / 2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// LimitString 限制字符串长度
 | 
			
		||||
func LimitString(s string, maxLength int) string {
 | 
			
		||||
	if len(s) <= maxLength {
 | 
			
		||||
		return s
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if maxLength <= 0 {
 | 
			
		||||
		return ""
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var runes = []rune(s)
 | 
			
		||||
	var rs = len(runes)
 | 
			
		||||
	for i := 0; i < rs; i++ {
 | 
			
		||||
		if len(string(runes[:i+1])) > maxLength {
 | 
			
		||||
			return string(runes[:i])
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return s
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -28,3 +28,15 @@ func TestSimilar(t *testing.T) {
 | 
			
		||||
	t.Log(utils.Similar("efgj", "hijk"))
 | 
			
		||||
	t.Log(utils.Similar("efgj", "klmn"))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestLimitString(t *testing.T) {
 | 
			
		||||
	var a = assert.NewAssertion(t)
 | 
			
		||||
	a.IsTrue(utils.LimitString("", 4) == "")
 | 
			
		||||
	a.IsTrue(utils.LimitString("abcd", 0) == "")
 | 
			
		||||
	a.IsTrue(utils.LimitString("abcd", 5) == "abcd")
 | 
			
		||||
	a.IsTrue(utils.LimitString("abcd", 4) == "abcd")
 | 
			
		||||
	a.IsTrue(utils.LimitString("abcd", 3) == "abc")
 | 
			
		||||
	a.IsTrue(utils.LimitString("abcd", 1) == "a")
 | 
			
		||||
	a.IsTrue(utils.LimitString("中文测试", 1) == "")
 | 
			
		||||
	a.IsTrue(utils.LimitString("中文测试", 3) == "中")
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user