自定义数据结构
模型设计

一、概述
模型设计是用于定义和管理系统中各类自定义数据结构的功能模块。通过模型,可以封装实体、枚举、分页参数等业务数据结构,作为方法输入输出参数、变量、表达式结果等进行灵活使用。
SnapDevelop低代码项目中支持两类自定义结构:
- 模型:类似于实体的类,支持嵌套
- 枚举:定义有限值的列表,用于状态值、类型标识等场景
在定义实体后,会自动生成相关模型。这些模型可用于方法参数、变量定义等,但实体自动生成的字段不允许删除。
二、创建方式
右击项目,通过自定义数据结构进入模型设计页面。

或通过顶部菜单栏进入。

三、使用说明
3.1 模型类型
| 类型 | 描述 |
|---|---|
| 自定义模型 | 用户手动创建的数据结构,用于传参、返回值、变量等 |
| 实体派生模型 | 系统根据实体自动生成的模型 |
| 内置模型 | 系统预定义,开箱即用的模型,如登录、分页、操作结果等 |
3.2 模型结构说明

模型结构类似于C#中的类,支持以下配置项:
| 配置项 | 说明 |
|---|---|
| 名称 | 模型唯一标识 |
| 显示名称 | 界面展示名称 |
| 描述 | 用于说明模型的用途 |
| 字段定义 | 每个模型可以定义多个字段,字段支持(字段名、类型、校验、默认值、描述、计算列等) |
校验:用于string类型的字段,支持长度校验、必填校验、和正则表达式校验。支持手写正则表达式,用户可选择使用内置正则表达式(如下图)。

模型配置校验后,在创建页面或表单时,校验不通过时会提示用户。
3.3 枚举定义

| 配置项 | 说明 |
|---|---|
| 枚举名称 | 唯一标识 |
| 显示名称 | 枚举显示名称 |
| 描述 | 用于说明枚举的用途 |
| 位标志枚举 | 允许使用运算符(|,&,^,~)组合多个枚举值 |
3.4 系统内置模型

系统提供内置模型,自动可用。
| 模型名称 | 说明 |
|---|---|
| ChangePasswordModel | 修改密码模型 |
| ChangeUserInfoModel | 修改用户信息模型 |
| ExternalLoginResult | 外部登录结果 |
| FileInfoModel | 文件信息模型 |
| FileResourceModel | 文件资源模型 |
| LoginModel | 用户登录请求结构,包含用户名、密码等 |
| LoginResult | 登录结果响应结构,包含Token、Token类型、Token过期时间等 |
| OperationResult | 通用操作结果结构(是否成功、消息等) |
| PageParameter | 分页参数(页码、页大小) |
| PageResult | 分页返回结构(总数、列表数据等) |
| PermissionModel | 权限模型 |
| RegisterModel | 注册请求结构 |
| RoleModel | 角色模型 |
| RolePermissionModel | 角色权限模型 |
| UserInfoModel | 用户信息模型 |