云 IDE
应用支持云端开发和本地开发,云端开发环境称为云 IDE,本地开发环境称为本地 IDE。
打开 IDE
登录控制台,打开“我的开发-企业应用”,显示当前开发者的应用列表,在这里可以创建新的应用,也可以打开已有的应用
- 应用可以在云 IDE 中开发,也可以在本地 IDE 中开发,同一时间,只能打开一种 IDE
- 打开云 IDE:在更多中点击“打开云 IDE”,已打开的本地 IDE 不能再使用,系统会打开应用的云 IDE
- 打开本地 IDE:在更多中点击“打开本地 IDE”,已打开的云 IDE 不能再使用,系统会打开应用的本地 IDE
- 打开:按照上一次打开的方式打开,即上一次打开云 IDE,本次依旧打开云 IDE
IDE 地址
IDE 打开后,浏览器地址栏里面的地址可以复制出来,在另一个浏览器页签或浏览器中打开,可用于其他开发者协助解决问题
打开多个功能页面
IDE 不支持以多页签的方式,打开多个功能页面的设计时。如果需要可以使用打开多个浏览器页签或打开多个浏览器的方式。复制 IDE 地址到其他浏览器页签或浏览器中即可打开
如果在其中一个浏览器页签或者浏览器中修改了页面等内容,保存成功后,其他的浏览器页签或浏览器,按 F5 刷新浏览器页面,以避免代码相互覆盖
开发
一个应用由前端页面、后端数据、服务、流程组成。在 IDE 中开发页面、数据、服务和流程
页面
页面设计区用于开发页面,设计区分为4个部分
- 左上角:页面列表。用于打开页面,支持添加页面分组和页面
- 左下角:组件列表。显示可拖放到页面上的组件,包括页面组件、数据组件、服务组件、API 组件。可从市场添加组件、开启组件定制
- 中间:页面设计。显示打开的页面,通过拖放组件开发页面。支持切换到源码、JS 代码、CSS 代码页,编辑相关代码
- 右侧:组件属性配置。显示页面中组件的属性、事件、样式,配置组件完成页面开发
数据
数据设计区用于开发数据集,设计区分为2个部分
- 左侧:数据集列表。用于打开数据集,支持添加动态数据集、SQL 数据集、 服务数据集、静态数据集、统计数据集
- 右侧:数据集详情
- 结构:定义数据集的列及类型
- 表:定义数据集参数、数据表名、命名风格
- SQL:定义数据集参数、查询 SQL、更新表名
- 服务:定义数据集参数、查询服务、更新表名
- 数据:显示数据,支持编辑数据。也可以打开“高级-数据库管理”,使用 adminer 访问数据库表
- 高级:设置主从数据、树形数据
服务
服务设计区用于开发服务,设计区分为2个部分
- 左侧:服务请求列表、事件列表。支持添加服务和请求、添加事件组和事件、添加数据方法、服务编译,以及在服务上设置依赖
- 右侧:服务请求详情。定义服务请求名称、请求方法、请求参数、请求返回、启用事务、启用响应流模式
流程
流程设计区用于开发流程,设计区分为4个部分
- 顶部:工具栏
- 左侧:环节列表。显示可拖放到流程图上的环节,包括活动环节、条件分支、子流程
- 中间:流程图。根据需求设计流程图
- 右侧:流程和环节的属性。点击流程图的空白处,显示流程属性。点击流程图中的环节,显示该环节的属性
代码
在代码中,显示应用源码和日志,提供不通过设计界面,直接编辑文件的能力。提供新建文件夹、新建文件、复制粘贴、上传下载等能力。界面分为2个部分
- 左侧:目录和文件。包括两个根目录:日志 logs 和模型 model
- logs 目录:各个容器的日志
- model 目录:包括前端模型 UI2、后端模型 service、引用的其他应用的后端模型 service-应用名
- 右侧:文件内容。这里打开文件,系统不会从 Git 库拉取最新资源,也不会给文件上锁
代码备份
未防止代码丢失,系统提供两种备份机制
- 页面自动备份
页面在开发过程中,每5分钟备份一次,产生一个历史版本。打开某个页面,点“历史版本”,显示版本列表,选择一个时间的版本,右侧显示 w 文件内容,点击“替换为当前版本”,将当前 w 文件、js 文件和 css 文件内容替换为选择的版本的文件内容
- 代码自动备份
在开发过程中,每次点击保存,会产生一个资源版本。为防止占用资源过大,系统分散保留近期的7个资源版本。从高级中,打开“代码资源版本管理”窗口,里面列出当前版本和之前的7个版本,如下图所示。支持下载资源及恢复资源。
调试
预览
页面开发后,支持在 IDE 中预览调试。支持3种方式的预览
- 应用预览:
- 在页面中不访问组织、不使用流程时,可使用
- 使用 system 登录
- 预览界面左侧显示页面列表,右侧显示运行效果
- 调试运行:
- 在页面中不使用流程时,可使用
- 默认使用 system 登录,可通过“设置调试用户”改为组织内任意用户登录
- 调试界面左侧显示页面列表,右侧显示运行效果
- 从门户调试运行:
- 所有页面都可使用
- 可使用组织内任意用户登录
- 调试界面显示门户,从门户功能树中打开页面,显示运行效果,整个界面和发布后正式运行效果一样
特别说明:新增页面后
- 应用预览:刷新应用预览页面,页面列表显示新页面
- 调试运行:刷新调试运行页面,页面列表显示新页面
- 从门户调试运行:没有管理员角色的用户,需要退出登录重新登录,才能在功能树上看到新页面
设置调试用户
调试运行默认使用 system 登录,通过设置调试用户,可使用组织内任意用户登录
错误检查
针对模型错误不易排查的特点,系统在保存模型资源时,自动进行错误检查。如果检查出错误,会以红字显示“错误检查”,如下图所示。
- 点击错误检查,打开检查结果窗口,显示错误列表
- 双击错误列表中的错误,会打开文件,并定位到错误,根据提示修改即可
- 对于服务编译失败错误,不支持定位,可通过错误中提示的具体路径检查代码
查看日志
应用预览时,出错后端报错,可查看应用日志,参考《查看应用日志》和《查看应用历史日志》
联调服务配置
系统支持租户内跨应用调用数据和服务,默认调用的是生产环境的数据和服务。系统提供联调服务配置,设置后,调用的是开发环境的数据和服务,用法参考《跨应用联调服务》
配置
页面配置
页面配置为每个页面单独配置
- 图标及颜色:桌面端和移动端图标库不同需要单独配置,桌面端图标颜色指的是图标的前景色,移动端图标颜色指的是图标的背景色,图标用白色显示
- 是否菜单、是否隐藏:
- 页面是菜单,功能树上会显示,希望不显示,选中隐藏菜单
- 页面不是菜单,功能树上不会显示,使用 this.navigateTo 打开时不显示标题,因此只能作为对话框、抽屉、内嵌页面使用
- 只作为对话框、抽屉、内嵌页面使用的页面,建议放到含有 dialog 名称的目录下,系统特殊处理,不把这些页面作为菜单,省去挨个设置的麻烦
- 是否流程页面:是流程页面,才能打开流程设计
- 是否桌面端小部件:开发桌面端小部件使用,仅设置这里还不够,参考《首页小部件开发》
- 角色分配:参考《角色》中的页面功能角色
全局配置
IDE 提供以下全局配置
- 首页配置:配置应用独立访问的首页
- 全局配置:移动端页面配置和导航配置
- 角色权限设置:设置应用角色及权限,等同于“企业门户-系统管理-应用资源管理”功能
- 数据规则设置:设置逻辑删除策略、删除备份策略、字段值约束策略,等同于“企业门户-系统管理-数据规则设置”功能
- 组织授权设置:给组织分配角色,等同于“企业门户-系统管理-按组织授权”功能
- 共享数据配置:配置共享数据集,实现页面间共享数据
- 插件配置:移动端 Cordova 插件配置
- 定时任务设置:设置定时任务,等同于“企业门户-任务调度-任务调度管理”功能
- 事件派发设置:设置事件派发,等同于“企业门户-事件中心-配置事件触发”功能
- 样式库:编辑当前端公共样式文件,桌面端是 UI2/pcx/common.css,移动端是 UI2/mobile/common.css
- 素材库:上传图片文件,支持分组
- 字体文件上传:添加“向系统注册字体”组件后,上传字体文件,参考《增加字体》
- 主题变量:设置主题,参考《主题配置》中的定义新的主题
- 多语言配置:设置多语言,参考《国际化开发及配置》中的模型的多语言配置
- 运维插件:设置运维插件,等同于“控制台-应用服务管理-运维插件”功能
发布
发布应用到租户内或应用市场,参考《应用发布》
高级
高级里面包括数据库管理、重启制作台、导入导出源码、开启组件开发等功能
访问数据库
系统为每个开发者开发的每个应用,分配独立的数据库,访问其中的数据表有3种方式
- 在数据设计区,通过动态数据集的“数据”页签,查看和编辑数据
- 使用“数据库管理”,通过 adminer 数据库管理工具,访问数据库
- 从“数据库设置”中获取数据库连接信息,使用其他数据库管理工具,连接并访问数据库
使用“数据库管理”打开 adminer 数据库管理工具,选择数据库,一般情况选择 database,查看开发环境连接的数据库,如下图所示
打开“数据库设置”,列出开发环境使用的数据库列表,包括数据库连接信息。支持修改数据库连接信息,即不使用系统默认分配的数据库,改为使用其他数据库,如下图所示
租户内跨应用调用数据和服务
在当前应用中使用租户内其他应用的数据,参考《跨模块跨应用访问数据集》中的访问租户内其他应用的数据集
在当前应用中使用租户内其他应用的服务,设置方法同上
多模块多端设置
- 模块指的是后端服务模块,即 model/service 下的目录,其中 main 是应用中默认的服务模块
- 端指的是前端,即 model/UI2 下的目录,系统默认有移动端 mobile、桌面端 pcx、 经典桌面端 pc
- 一个模块对应一个数据库,连接多个数据库可以采用添加模块,即多模块的方式实现。也可以采用添加应用,在当前应用中使用“租户内跨应用调用数据和服务”的方式访问其他应用
- 一个端对应一个模块,多个端可以对应同一个模块。系统默认的3个端都对应 main 模块
- 页面属于端,数据和服务属于模块
- 系统只显示一个端的页面,以及端对应的模块的数据和服务
- 切换端后,页面、数据和服务就会显示这个端的页面、数据和服务
- 模块没有关联端,则没有数据和服务的设计界面
- 端的页面要在门户功能树中显示,端的命名必须符合规则,即桌面端必须以 -pcx 结尾,移动端必须以 -mobile 结尾。例如:xxx-pcx 、xxx-mobile
添加模块和添加端,参考《添加后端模块》。添加后可以切换到对应的端,进行页面、数据、服务的开发
应用升级
如果定制了从市场中添加的应用,当市场应用发布了新版本,可通过应用升级,获取市场应用中的最新代码。
代码升级原则
- 如果存在 model/patchFiles.json 文件,按照文件中的配置升级代码,参考《配置定制文件》
- 如果不存在 model/patchFiles.json 文件,对文件进行 md5 对比
- 已修改文件不升级
- 未修改文件升级到最新
建议升级前导出资源做备份,并确认成员都已经提交 Git,否则会被 Git 上的资源覆盖。
资源管理
- 导入模板:支持导入模板市场中模板的资源,也支持“从本地导入” zip 文件
- 覆盖模式导入:默认导入模式,会清空现有文件,再导入文件
- 追加模式导入:添加 model/.appendMode 文件,表示以追加的方式导入代码,不清空现有文件,直接导入文件
- zip 文件中的目录必须从 UI2、service 开始
- 导出源码:用于将当前应用的资源导出,导出为 zip 文件。这个 zip 文件可以通过“导入模板”导入到应用中,也可以在“控制台-模板管理-模板发布”中,发布为模板
- 上传至模板市场:用于将当前应用直接发布成模板。发布模板后,需要到“控制台-模板管理-模板管理”中进行审核,后续在“我的开发”下,创建企业应用时,可以从模板市场中选择该模板创建应用
- 快照管理:用于对当前应用进行备份和还原
- 代码资源版本管理:系统分散保留近期的7个资源版本,支持下载资源及恢复资源
其他
- 初始密码:IDE 里 system 用户的密码
- 历史日志:查看应用历史日志
- 系统环境变量:显示 IDE 里环境变量的值
- 开启组件开发:除系统提供的组件外,可以自定义组件,参考《组件开发》
- 开启切换页面自动保存:开启后,切换页面时自动保存;不开启,则点击“保存”按钮进行保存
- 开启浏览模式:默认打开资源,就会锁定资源,提交才能解锁。开启浏览模式后,以只读模式打开资源,此时不锁定资源。进入编辑模式后,才会锁定资源
- 开启系统组件模型检查:开启后模型检查包括系统组件,当系统组件有错误时,会在错误检查中提示
- 网关监控:用于查看 IDE 中的网关信息
- K8S 监控:打开 IDE 所在的 K8S 容器查看日志或进入终端
- Redis 查看:用于查看架构中引入的 Redis 的数据
- 应用锁管理:用于删除资源锁,,参考《应用锁管理》
- 清理 Git 历史:用于清理 Git 历史,参考《清理 Git 历史》
重启
重启制作台
不解绑 IDE 池,仅重启容器池,进行重新初始化。如下场景需要重启制作台
- IDE 里添加市场组件,提示重启,但取消自动重启,之后要进行重启操作时
- 架构里进行架构调整后没重启,不生效时需要进行重启操作
- 在 IDE 代码页签中,对配置文件进行设置环境变量后,需要进行重启制作台生效
- 团队协作,成员拉取 Git 资源获取不到的情况
重启云 IDE
解绑 IDE 池,重新绑定。在“我的开发-企业应用”中,选中要重启的应用,点击“更多-重启”,提示操作成功,表示已发布重启命令,请等待一会儿,再打开 IDE
重启本地 IDE
重启本地 IDE 无需解绑池,只需关闭连接,再重新连接云端即可