| 
									
										
										
										
											2025-07-20 20:53:26 +08:00
										 |  |  |  | package validator | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | import ( | 
					
						
							|  |  |  |  | 	ut "github.com/go-playground/universal-translator" | 
					
						
							|  |  |  |  | 	"github.com/go-playground/validator/v10" | 
					
						
							|  |  |  |  | ) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // RegisterCustomTranslations 注册所有自定义翻译 | 
					
						
							|  |  |  |  | func RegisterCustomTranslations(validate *validator.Validate, trans ut.Translator) { | 
					
						
							|  |  |  |  | 	// 注册标准字段翻译 | 
					
						
							|  |  |  |  | 	registerStandardTranslations(validate, trans) | 
					
						
							|  |  |  |  | 	 | 
					
						
							|  |  |  |  | 	// 注册自定义字段翻译 | 
					
						
							|  |  |  |  | 	registerCustomFieldTranslations(validate, trans) | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // registerStandardTranslations 注册标准翻译 | 
					
						
							|  |  |  |  | func registerStandardTranslations(validate *validator.Validate, trans ut.Translator) { | 
					
						
							|  |  |  |  | 	// 必填字段翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("required", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("required", "{0}不能为空", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("required", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 字段相等翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("eqfield", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("eqfield", "{0}必须与{1}一致", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("eqfield", getFieldDisplayName(fe.Field()), getFieldDisplayName(fe.Param())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 最小长度翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("min", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("min", "{0}长度不能少于{1}位", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("min", getFieldDisplayName(fe.Field()), fe.Param()) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 最大长度翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("max", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("max", "{0}长度不能超过{1}位", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("max", getFieldDisplayName(fe.Field()), fe.Param()) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 固定长度翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("len", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("len", "{0}长度必须为{1}位", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("len", getFieldDisplayName(fe.Field()), fe.Param()) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 邮箱翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("email", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("email", "{0}必须是有效的邮箱地址", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("email", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 枚举值翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("oneof", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("oneof", "{0}必须是以下值之一: {1}", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("oneof", getFieldDisplayName(fe.Field()), fe.Param()) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 大于翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("gt", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("gt", "{0}必须大于{1}", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("gt", getFieldDisplayName(fe.Field()), fe.Param()) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // registerCustomFieldTranslations 注册自定义字段翻译 | 
					
						
							|  |  |  |  | func registerCustomFieldTranslations(validate *validator.Validate, trans ut.Translator) { | 
					
						
							|  |  |  |  | 	// 手机号翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("phone", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("phone", "{0}必须是有效的手机号", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("phone", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 用户名翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("username", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("username", "{0}格式不正确,只能包含字母、数字、下划线,且必须以字母开头,长度3-20位", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("username", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 强密码翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("strong_password", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("strong_password", "{0}强度不足,必须包含大小写字母和数字,且不少于8位", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("strong_password", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 统一社会信用代码翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("social_credit_code", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("social_credit_code", "{0}格式不正确,必须是18位统一社会信用代码", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("social_credit_code", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 身份证号翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("id_card", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("id_card", "{0}格式不正确,必须是18位身份证号", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("id_card", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 价格翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("price", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("price", "{0}必须是非负数", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("price", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 排序方向翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("sort_order", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("sort_order", "{0}必须是 asc 或 desc", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("sort_order", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 产品代码翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("product_code", trans, func(ut ut.Translator) error { | 
					
						
							| 
									
										
										
										
											2025-08-18 18:18:04 +08:00
										 |  |  |  | 		return ut.Add("product_code", "{0}格式不正确,只能包含字母、数字、下划线、连字符、中英文括号,长度3-50位", true) | 
					
						
							| 
									
										
										
										
											2025-07-20 20:53:26 +08:00
										 |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("product_code", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// UUID翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("uuid", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("uuid", "{0}必须是有效的UUID格式", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("uuid", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// URL翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("url", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("url", "{0}必须是有效的URL地址", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("url", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							| 
									
										
										
										
											2025-07-28 01:46:39 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 企业邮箱翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("enterprise_email", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("enterprise_email", "{0}必须是有效的企业邮箱地址", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("enterprise_email", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 企业地址翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("enterprise_address", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("enterprise_address", "{0}长度必须在2-200字符之间,且不能只包含空格", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("enterprise_address", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// IP地址翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("ip", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("ip", "{0}必须是有效的IPv4地址格式", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("ip", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 授权日期翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("auth_date", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("auth_date", "{0}格式不正确,必须是YYYYMMDD-YYYYMMDD格式,且日期范围必须包括今天", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("auth_date", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							| 
									
										
										
										
											2025-08-26 14:43:27 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 授权书URL翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("authorization_url", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("authorization_url", "{0}必须是有效的URL地址,且文件类型必须是PDF、JPG、JPEG、PNG或BMP格式", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("authorization_url", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 唯一标识翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("validUniqueID", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("validUniqueID", "{0}格式不正确,只能包含字母、数字、下划线和连字符,且长度不能超过32位", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("validUniqueID", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// 回调地址翻译 | 
					
						
							|  |  |  |  | 	validate.RegisterTranslation("validReturnURL", trans, func(ut ut.Translator) error { | 
					
						
							|  |  |  |  | 		return ut.Add("validReturnURL", "{0}必须是有效的URL地址,且长度不能超过500字符", true) | 
					
						
							|  |  |  |  | 	}, func(ut ut.Translator, fe validator.FieldError) string { | 
					
						
							|  |  |  |  | 		t, _ := ut.T("validReturnURL", getFieldDisplayName(fe.Field())) | 
					
						
							|  |  |  |  | 		return t | 
					
						
							|  |  |  |  | 	}) | 
					
						
							| 
									
										
										
										
											2025-07-20 20:53:26 +08:00
										 |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // getFieldDisplayName 获取字段显示名称(中文) | 
					
						
							|  |  |  |  | func getFieldDisplayName(field string) string { | 
					
						
							|  |  |  |  | 	fieldNames := map[string]string{ | 
					
						
							|  |  |  |  | 		"phone":                "手机号", | 
					
						
							|  |  |  |  | 		"password":             "密码", | 
					
						
							|  |  |  |  | 		"confirm_password":     "确认密码", | 
					
						
							|  |  |  |  | 		"old_password":         "原密码", | 
					
						
							|  |  |  |  | 		"new_password":         "新密码", | 
					
						
							|  |  |  |  | 		"confirm_new_password": "确认新密码", | 
					
						
							|  |  |  |  | 		"code":                 "验证码", | 
					
						
							|  |  |  |  | 		"username":             "用户名", | 
					
						
							|  |  |  |  | 		"email":                "邮箱", | 
					
						
							| 
									
										
										
										
											2025-07-28 01:46:39 +08:00
										 |  |  |  | 		"enterprise_email":     "企业邮箱", | 
					
						
							|  |  |  |  | 		"enterprise_address":   "企业地址", | 
					
						
							| 
									
										
										
										
											2025-08-26 14:43:27 +08:00
										 |  |  |  | 		"ip":                   "IP地址", | 
					
						
							|  |  |  |  | 		"auth_date":            "授权日期", | 
					
						
							|  |  |  |  | 		"unique_id":            "唯一标识", | 
					
						
							|  |  |  |  | 		"return_url":           "回调地址", | 
					
						
							| 
									
										
										
										
											2025-07-20 20:53:26 +08:00
										 |  |  |  | 		"display_name":         "显示名称", | 
					
						
							|  |  |  |  | 		"scene":                "使用场景", | 
					
						
							|  |  |  |  | 		"Password":             "密码", | 
					
						
							|  |  |  |  | 		"NewPassword":          "新密码", | 
					
						
							|  |  |  |  | 		"ConfirmPassword":      "确认密码", | 
					
						
							|  |  |  |  | 		"name":                 "名称", | 
					
						
							|  |  |  |  | 		"Name":                 "名称", | 
					
						
							|  |  |  |  | 		"description":          "描述", | 
					
						
							|  |  |  |  | 		"Description":          "描述", | 
					
						
							|  |  |  |  | 		"price":                "价格", | 
					
						
							|  |  |  |  | 		"Price":                "价格", | 
					
						
							|  |  |  |  | 		"category_id":          "分类ID", | 
					
						
							|  |  |  |  | 		"CategoryID":           "分类ID", | 
					
						
							|  |  |  |  | 		"product_id":           "产品ID", | 
					
						
							|  |  |  |  | 		"ProductID":            "产品ID", | 
					
						
							|  |  |  |  | 		"user_id":              "用户ID", | 
					
						
							|  |  |  |  | 		"UserID":               "用户ID", | 
					
						
							|  |  |  |  | 		"page":                 "页码", | 
					
						
							|  |  |  |  | 		"Page":                 "页码", | 
					
						
							|  |  |  |  | 		"page_size":            "每页数量", | 
					
						
							|  |  |  |  | 		"PageSize":             "每页数量", | 
					
						
							|  |  |  |  | 		"keyword":              "关键词", | 
					
						
							|  |  |  |  | 		"Keyword":              "关键词", | 
					
						
							|  |  |  |  | 		"sort_by":              "排序字段", | 
					
						
							|  |  |  |  | 		"SortBy":               "排序字段", | 
					
						
							|  |  |  |  | 		"sort_order":           "排序方向", | 
					
						
							|  |  |  |  | 		"SortOrder":            "排序方向", | 
					
						
							|  |  |  |  | 		"company_name":         "企业名称", | 
					
						
							|  |  |  |  | 		"CompanyName":          "企业名称", | 
					
						
							|  |  |  |  | 		"unified_social_code":  "统一社会信用代码", | 
					
						
							|  |  |  |  | 		"UnifiedSocialCode":    "统一社会信用代码", | 
					
						
							|  |  |  |  | 		"legal_person_name":    "法定代表人姓名", | 
					
						
							|  |  |  |  | 		"LegalPersonName":      "法定代表人姓名", | 
					
						
							|  |  |  |  | 		"legal_person_id":      "法定代表人身份证号", | 
					
						
							|  |  |  |  | 		"LegalPersonID":        "法定代表人身份证号", | 
					
						
							|  |  |  |  | 		"legal_person_phone":   "法定代表人手机号", | 
					
						
							|  |  |  |  | 		"LegalPersonPhone":     "法定代表人手机号", | 
					
						
							|  |  |  |  | 		"verification_code":    "验证码", | 
					
						
							|  |  |  |  | 		"VerificationCode":     "验证码", | 
					
						
							|  |  |  |  | 		"contract_url":         "合同URL", | 
					
						
							|  |  |  |  | 		"ContractURL":          "合同URL", | 
					
						
							| 
									
										
										
										
											2025-08-26 14:43:27 +08:00
										 |  |  |  | 		"authorization_url":    "授权书地址", | 
					
						
							|  |  |  |  | 		"AuthorizationURL":     "授权书地址", | 
					
						
							| 
									
										
										
										
											2025-07-20 20:53:26 +08:00
										 |  |  |  | 		"amount":               "金额", | 
					
						
							|  |  |  |  | 		"Amount":               "金额", | 
					
						
							|  |  |  |  | 		"balance":              "余额", | 
					
						
							|  |  |  |  | 		"Balance":              "余额", | 
					
						
							|  |  |  |  | 		"is_active":            "是否激活", | 
					
						
							|  |  |  |  | 		"IsActive":             "是否激活", | 
					
						
							|  |  |  |  | 		"is_enabled":           "是否启用", | 
					
						
							|  |  |  |  | 		"IsEnabled":            "是否启用", | 
					
						
							|  |  |  |  | 		"is_visible":           "是否可见", | 
					
						
							|  |  |  |  | 		"IsVisible":            "是否可见", | 
					
						
							|  |  |  |  | 		"is_package":           "是否组合包", | 
					
						
							|  |  |  |  | 		"IsPackage":            "是否组合包", | 
					
						
							|  |  |  |  | 		"Code":                 "编号", | 
					
						
							|  |  |  |  | 		"content":              "内容", | 
					
						
							|  |  |  |  | 		"Content":              "内容", | 
					
						
							|  |  |  |  | 		"sort":                 "排序", | 
					
						
							|  |  |  |  | 		"Sort":                 "排序", | 
					
						
							|  |  |  |  | 		"seo_title":            "SEO标题", | 
					
						
							|  |  |  |  | 		"SEOTitle":             "SEO标题", | 
					
						
							|  |  |  |  | 		"seo_description":      "SEO描述", | 
					
						
							|  |  |  |  | 		"SEODescription":       "SEO描述", | 
					
						
							|  |  |  |  | 		"seo_keywords":         "SEO关键词", | 
					
						
							|  |  |  |  | 		"SEOKeywords":          "SEO关键词", | 
					
						
							|  |  |  |  | 		"id":                   "ID", | 
					
						
							|  |  |  |  | 		"ID":                   "ID", | 
					
						
							|  |  |  |  | 		"ids":                  "ID列表", | 
					
						
							|  |  |  |  | 		"IDs":                  "ID列表", | 
					
						
							| 
									
										
										
										
											2025-07-28 01:46:39 +08:00
										 |  |  |  | 		"id_card":              "身份证号", | 
					
						
							|  |  |  |  | 		"IDCard":               "身份证号", | 
					
						
							| 
									
										
										
										
											2025-07-20 20:53:26 +08:00
										 |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	if displayName, exists := fieldNames[field]; exists { | 
					
						
							|  |  |  |  | 		return displayName | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 	return field | 
					
						
							|  |  |  |  | }  |