Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
LinuxSuRen
zendata
提交
a6de72f3
Z
zendata
项目概览
LinuxSuRen
/
zendata
与 Fork 源项目一致
Fork自
易企天创 / zendata
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zendata
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a6de72f3
编写于
5月 08, 2020
作者:
aaronchen2k2k
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
convert refer to nested fields
上级
be73531a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
5 deletion
+34
-5
src/gen/generator.go
src/gen/generator.go
+26
-0
xdoc/custom.yaml
xdoc/custom.yaml
+3
-3
xdoc/data.yaml
xdoc/data.yaml
+5
-2
未找到文件。
src/gen/generator.go
浏览文件 @
a6de72f3
package
gen
import
(
"fmt"
"github.com/easysoft/zendata/src/model"
constant
"github.com/easysoft/zendata/src/utils/const"
stringUtils
"github.com/easysoft/zendata/src/utils/string"
"regexp"
"strconv"
"strings"
)
...
...
@@ -45,6 +47,8 @@ func GenerateForDefinition(total int, fieldsToExport string, out string, table s
}
func
GenerateForField
(
field
*
model
.
Field
,
total
int
)
[]
string
{
convertFieldReferToNestedIfNeeded
(
field
)
values
:=
make
([]
string
,
0
)
if
field
.
Type
==
"custom"
{
...
...
@@ -179,4 +183,26 @@ func GetFieldValStr(field model.Field, val interface{}) string {
}
return
str
}
func
convertFieldReferToNestedIfNeeded
(
field
*
model
.
Field
)
{
regx
:=
regexp
.
MustCompile
(
`\$\{([a-zA-z0-9_]+)\}`
)
arr
:=
regx
.
FindAllStringSubmatch
(
field
.
Range
,
-
1
)
fmt
.
Println
(
arr
)
if
len
(
arr
)
>
0
{
for
_
,
a
:=
range
arr
{
name
:=
a
[
1
]
child
:=
model
.
Field
{}
if
constant
.
LoadedFields
[
name
]
.
Name
!=
""
{
child
=
constant
.
LoadedFields
[
name
]
}
else
{
child
.
Name
=
a
[
1
]
child
.
Type
=
"custom"
}
field
.
Fields
=
append
(
field
.
Fields
,
child
)
}
}
}
\ No newline at end of file
xdoc/custom.yaml
浏览文件 @
a6de72f3
...
...
@@ -4,8 +4,8 @@ author: zentao
version
:
1.0
fields
:
-
name
:
custom_field
note
:
自定义
-
name
:
numb
note
:
数字
type
:
list
range
:
1-99:R
format
:
"
%05d"
\ No newline at end of file
format
:
"
%03d"
\ No newline at end of file
xdoc/data.yaml
浏览文件 @
a6de72f3
...
...
@@ -56,7 +56,7 @@ fields:
-
name
:
domain
note
:
域名,全局定义
type
:
custom
-
name
:
custom_field
-
name
:
numb
note
:
从文件读定义
type
:
custom
range
:
custom.yaml
...
...
@@ -64,12 +64,15 @@ fields:
-
name
:
field4
note
:
引用。
type
:
list
range
:
${user_name}
${numb}@${domain}.com
range
:
${user_name}
_${numb}@${domain}
-
name
:
user_name
note
:
用户名
fields
:
-
name
:
first_name
type
:
custom
-
name
:
separator
type
:
list
range
:
"
_"
-
name
:
last_name
type
:
custom
-
name
:
numb
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录