Mendix介绍

相关网址

Mendix官网首页

Mendix平台5分钟概述

Mendix低代码开发平台产品功能介绍

价格

使用低代码平台 - 危险的赌注–转载

注册安装

如何安装Mendix Studio Pro

Mendix下载地址

一、Entity实体与Object实例

Entities实体 抽象的容器

Object实例 具体的一个真的物体

一个entity包含很多的Object

Entity: 课程 Name 价格 课时

Object: 语文 语文 100 20

​ 数学 数学 110 30

​ 英语 英语 70 10

Entity: 人 性别 身高 体重

Object: 张三 男 175 160

​ 李四 男 180 150

二、MicroFlow 微流实现业务逻辑

​ --添加业务逻辑到App中,实现app对数据的自动处理

###1.Microflow 微流

​ 实现app自动化

​ 类似:if for case 子函数 function

​ Mendix: 建模、拖拽、图形化编程:实现自动化逻辑

2.何时使用微流

​ 1.Change default behavior 扩展、修改默认操作

​ create button 按钮+输入判定 (新建course且课程收费必须在100-200块)

​ 2.Business specific process 业务定制话流程/特别的计算公式:剩余预算=合同额-(实际费用+售前费用)

​ 3.System integration 系统集成:数据库,Tc,web-service,人工智能算法

1)Mendix官方开发的一些Widget其实也是微流:

​ 比如create button 其实也是个微流

​ Create button = 创建Object实例+展示一个界面show a age

​ 用来解决标准的业务逻辑

2)Microflow微流解决客户定制化的业务逻辑action

​ Create button = 创建object实例+展示一个界面show a page +价格的判定

三、实践-微流使用

需求1:在课程列表添加一个按钮,点击这个按钮就可以选中这门课,为这门课安排培训事件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需求2:通过培训的开始时间,以及这门课持续的时间,自动计算

​ 思路:结束时间=课程开始时间+课程持续时间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需求3.某次培训参加人数的总和

思路:当学员注册的时候,获取学员注册的课程,然后查找这个课程下所有注册学员的总数。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、数据的有效性与一致性检验

数据校验

根据真实的业务逻辑,用户在输入数据的时候,在Mendix中去验证一个数据是否符合业务要求。

Mendix数据的信息、值保存在哪?

  • Attribute特征中,属性值
  • Association中:关联关系的值,也就是箭头的指向

在Domain Model中验证Attribute特征数据的有效性

###1.利用Validation Rules(这个名词,只能针对Domain Model中的Attribute数据校验)

六种验证规则

​ Required 必填,Unique 唯一,Equals =某个值,Range 范围,Regular express 正则表达式,

邮箱:^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

Maximum length 最大长度

2.在Microflow中验证Associations关联关系数据的有效性

例如:周四的数学课这个TrainingEvent,必须把它和课程、老师、上课地点关联在一起。

但这个关联关系的指向不能再Domain model中用Validation Rule做判断

​ 这个时候我们就要利用微流中的Decision来做数据有效性 的判断

如何写Decision表达式:

也就是微流表达式

  • 调用一个Attribute值:$EntityName/AttributeName

    $TrainingEvent/StartDate != empty AND

  • 调用一个Association的指向(值):$EntityName/ModuleName.Association

    $TrainingEvent/MyFirstModule.TrainingEvent_Course != empty

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.数据的删除

在新建一个Association时,它就会要求我们设定删除方式

一共有三种删除方式:

举例:Registration和TrainingEvent

A. 当删除TrainingEvent时:

  1. 保留所有与它相关的注册信息

    1. 同时也删除所有与它相关的注册信息(Cascading Delete)
    2. 只有当TrainingEvent有关联任何注册信息,它才能被删除

选第三种方式!!!

B. 当删除Registration时:选第一种方式

Registration注册信息-----Trainee学习

1.删Registration时,Trainee不受影响,所以选第一种

2.删Trainee时,所有与他相关的注册都删了,选第二种方式

五、权限管理

一、Mendix权限管理概要

Mendix的权限管理在个地方实现

  • Project Security:设置app总体安全级别和配置总体权限
  • Module Security:设置具体的每个页面page,微流microflow,实体entity甚至特征attribute的读写权限

只需要通过点击配置实现!

三种安全级别

二、两种角色:User Roles与Module Roles

在这里插入图片描述

我们要将Module Roles和User Roles链接在一起!

1)是将Module Roles赋值给User Roles

2)然后再将User Roles和我们终端用户的账号绑定

三、权限配置的基本步骤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

四、其他配置

在这里插入图片描述
在这里插入图片描述

六、其他

如何调用接口数据

能不能执行多线程

创建Rest服务

如何使用Mendix创建REST 服务–转载

解决方案库

演示

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐