errors
Failed to load YAML frontmatter: (<unknown>): mapping values are not allowed in this context at line 2 column 6

2.7.1. 视图种子数据

​ 包含菜单和业务模型视图,菜单即系统前端左侧展现的菜单信息;视图即每个模型的呈现方式,主要包括上下布局、Tab页、分页、按钮、检索栏等信息,平台能够以json的方式进行配置,从而达到无需前端人员也可以做出常规的页面。

2.7.1.1. 配置约束

​ 视图种子数据文件必须配置在与app.info同级的views文件夹下:

img

并且文件名字需要在app.info中进行配置:

img

2.7.1.2. 菜单

菜单以柱状结构的json构建而成,其中sequence为排序号,@ref是指会以指定的key的id存储在数据库中(id为自动生成),model为模型名称,view默认为“grid,search,form”,其中grid为查询列表、search为查询条件栏、form为查看和编辑表单。 sdk_menus.json内容明细如下:

{
   "menus": {
      "sdk_root_menu": {
         "name": "sdk_root_menu",
         "display_name": "newsdk",
         "active": true,
         "sequence": 10
      },
      "sdk_user_menu": {
         "name": "sdk_test_user",
         "display_name": "测试用户",
         "model": "TestUser",
         "view": "grid,search,form",
         "sequence": 1,
         "active": true,
         "parent_ids": {
            "@ref": "sdk_root_menu"
         }
      },
      "sdk_role_menu": {
         "name": "sdk_test_role",
         "display_name": "测试角色",
         "model": "TestRole",
         "view": "grid,search,form",
         "sequence": 2,
         "active": true,
         "parent_ids": {
            "@ref": "sdk_root_menu"
         }
      },
      "sdk_org_menu": {
         "name": "sdk_test_org",
         "display_name": "测试组织",
         "model": "TestOrg",
         "view": "grid,search,form",
         "sequence": 3,
         "active": true,
         "parent_ids": {
            "@ref": "sdk_root_menu"
         }
      }
   }
}

2.7.1.3. 视图文件

组织、用户、角色的视图为常规视图,不需要手工编写,如果需要做自定义条件,可参考菜单种子数据,如组织机构视图,在views包下新增sdk_org_view.json文件,并在app.info中注册该文件,组织机构默认视图文件为:

{
  "views": {
    "TestOrg_grid": {
      "mode": "primary",
      "name": "TestOrg表格",
      "model": "TestOrg",
      "type": "grid",
      "body": {
        "buttons": [
          "@defaults"
        ],
        "columns": [
          "name",
          "parent"
        ],
        "tbar": [
          "@defaults"
        ],
        "type": "grid"
      }
    },
    "TestOrg_form": {
      "mode": "primary",
      "name": "TestOrg表单",
      "model": "TestOrg",
      "type": "form",
      "body": {
        "buttons": [
          "@defaults"
        ],
        "tabs": [
          {
            "header": "用户",
            "rowspan": 3,
            "body": {
              "type": "grid,form",
              "field": "userList",
              "columns": [
                "name"
              ]
            }
          }
        ],
        "columns": [
          "name",
          "parent"
        ],
        "tbar": [
          {
            "name":"添加",
            "action":"addEr",
            "icon":"add"
          },
          {"name":"删除",
            "action":"deleteEr"
          }
        ],
        "type": "grid"
      }
    },
    "TestOrg_search": {
      "mode": "primary",
      "name": "TestOrg搜索",
      "model": "TestOrg",
      "type": "search",
      "body": {
        "columns": [
          "name"
        ],
        "type": "search"
      }
    }
  }
}

2.7.2. 业务种子数据

如果需要app启动后自动加载一些初始化数据、或测试数据,可以通过增加业务种子数据达成目的。本例中,我们需要应用启动后自动增加一条名为"sie"的用户:

2.7.2.1. 配置约束

业务种子数据文件必须配置在与app.info同级的data文件夹下:

img

并将文件名称在app.info中注册:

img

2.7.2.2. 业务种子数据文件

test_user.json中,通过model指定模型名称,通过properties指定新增数据的属性值,详细内容如下:

{
   "data": {
      "rbac_role_admin": {
         "model": "TestUser",
         "properties": {
            "name": "sie"
         }
      }
   }
}