package resx import "git.fsdpf.net/go/req" // ResFieldOption 是 NewResField 的选项函数类型。 type ResFieldOption func(*ResField) // FieldWithUuid 设置字段的 uuid,不设置默认是 codeResource+code。 func FieldWithUuid(v string) ResFieldOption { return func(f *ResField) { f.uuid = v } } // FieldWithName 设置字段的显示名称,不设置默认等于 code。 func FieldWithName(v string) ResFieldOption { return func(f *ResField) { f.name = v } } // FieldWithDataType 设置字段的数据类型。 func FieldWithDataType(v req.ResDataType) ResFieldOption { return func(f *ResField) { f.dataType = v } } // FieldWithLength 设置字段的长度/精度配置(含义因 DataType 而异,见 ToBlueprint)。 func FieldWithLength(v string) ResFieldOption { return func(f *ResField) { f.length = v } } // FieldWithComment 设置字段的数据库列注释。 func FieldWithComment(v string) ResFieldOption { return func(f *ResField) { f.comment = v } } // FieldWithDefault 设置字段的默认值原始配置("sql:xxx" 前缀表示 SQL 表达式,见 GetRawDefault)。 func FieldWithDefault(v string) ResFieldOption { return func(f *ResField) { f.defaultValue = v } } // FieldWithVirtual 设置字段是否是虚拟列(VirtualAs)。 func FieldWithVirtual(v bool) ResFieldOption { return func(f *ResField) { f.virtual = v } } // FieldWithVirtualExpr 设置虚拟列的表达式(仅在 FieldWithVirtual(true) 时有意义)。 func FieldWithVirtualExpr(v string) ResFieldOption { return func(f *ResField) { f.virtualExpr = v } } // FieldWithRoles 设置"能读写该字段真实值"的角色列表,见 req.ResField.GetRoles 注释。 func FieldWithRoles(roles ...string) ResFieldOption { return func(f *ResField) { f.roles = roles } }