创建应用项目

准备条件

  • 安装 GDK 开发环境
参考:《安装GDK》
  • 安装运行 MongoDB 数据库
参考:《安装MongoDB》

建议为 MongoDB 配置复制集,以便获得数据库事务的支持!

开发环境单机也可以配置复制集,具体参考《安装MongoDB:配置复制集支持事务》

GDK创建应用项目

打开 GDK 控制台

执行 gdk-start 命令,进入 GDK 控制台。

Windows 下双击执行 GDK 安装目录下 bin/gdk-start.bat 脚本,进入 GDK 控制台。


****************************************************
 欢迎进入星河低代码 GDK 控制台! 
****************************************************

控制台提供了辅助的工具命令帮助开发者在本地建立开发环境、快速创建和发布应用。

> 访问文档【快速开始】可以了解如何快速创建第一个星河低代码应用(GAPP) 
        ->【快速开始】https://developers.linkgie.com/docs/galaxy/develop/1-quick-start.html

> 访问文档中心 https://developer.linkgie.com 可以详细了解星河低代码平台与开发框架的强大功能。

> 欢迎 登录/注册 星河低代码开发中心 https://lowcode.linkgie.com ,成为注册会员可以支持升级,申请应用许可,获取更多资源,解锁更多操作!

....................................................

常用命令:
    create-app  创建应用项目
    ls-app      列出工作目录下的应用项目
    ws          显示工作目录的完整路径
    mv-ws       移动工作目录到新的目录
    auth        绑定开发者账号,获得在本地发布私有化应用安装包的授权。

    按 tab 建可以显示更多的命令,通过 help <命令> 可以查看命令的详细参数和说明。

============================================================================================================
GDK 2.8.7.RELEASE —— 许可:试用版 { 机构[最大数量=1] - 账号[最大数量=5] }
============================================================================================================

galaxy(ssh)[root]:>


执行命令 create-app

在命令行提示符下,输入命令 create-app,开始创建应用项目,首先是选择应用模板。

创建项目-选择模板

本示例选择了单模块的简单应用模板。

只需按照向导提示进行输入,便可快速完成创建。

在命令行提示符下,按 tab 键,可显示所有可用命令。

创建项目-设置数据库
创建项目-成功

应用项目结构

默认有两种应用模板——单模块项目、多模块项目两种模板,采用不同的应用模板创建的应用项目的结构不同,具体请参考:《开发指南 > 应用配置 > 应用项目结构》

IDE加载应用项目

上一步创建的应用项目是标准的 Maven 结构和 NPM 结构(前端部分), 支持 VS Code、Eclipse、IDEA 等,打开你熟悉的 IDE ,加载新建的应用项目。

  • VS Code 加载项目

VS Code 加载项目

  • 本示例采用 VS Code 作为 IDE ,是因为:一方面, VS Code 可以同时支持前端、后端的开发,十分方便; 另一方面,基于星河低代码应用开发框架的统一模型驱动开发模式,开发者很容易实现全栈开发。

    从便捷性考虑,推荐做全栈的开发者使用 VSCode 。

  • 不同 IDE 对于 Maven 的支持程度有差异,可能需要一些额外配置,具体参考:

初始化机构账号

创建应用项目时,会预置一个配置文件模板 @conf/organization.conf,修改其中的配置项,可以在首次启动时,自动地预置机构、管理员和成员的账号。

  • 本示例的机构配置:
#######################################
# 机构注册配置;
#######################################
# 通过配置文件可以预置一个或多个机构;
# 前缀:galaxyplatform.security.organization.registry.orgs
# 注:实际能够创建的机构数量会受到 license 的限制;

# 注册一个机构:
# 命名规则:以 .orgs.<机构编码> 定义机构的各项属性,
#   如:.orgs.testcom.name=测试机构 ,注册一个编码为 “testcom” 的机构,名称为 “测试机构”
# 
# 分别以不同的名称设置多个,便可以注册多家机构,如: .orgs.testcom1.name=测试机构1

# 机构的名称;
galaxyplatform.security.organization.registry.orgs.testcom.name=测试机构
# 机构的描述;
galaxyplatform.security.organization.registry.orgs.testcom.description=测试机构
# 是否立即启用机构;
galaxyplatform.security.organization.registry.orgs.testcom.setup=true

# 机构授权;
# orgs.testcom.authorities 给编码为“testcom”的机构授权;
#
galaxyplatform.security.organization.registry.orgs.testcom.authorities=FEATURE://CONSOLE/MENU/ORG-MANAGEMENT/ORG-SETTINGS,\
                                                                        FEATURE://CONSOLE/MENU/ORG-MANAGEMENT/ORG-MEMBER-REGISTER,\
                                                                        FEATURE://CONSOLE/MENU/ORG-MANAGEMENT/ORG-MEMBER-AUTHORIZE,\
                                                                        FEATURE://APPLICATION/MENU/HOME

# 注册机构管理员;
# 命名规则:orgs.<机构编码>.admin 给编码为“testcom”的机构设置管理账号的注册信息;
#
galaxyplatform.security.organization.registry.orgs.testcom.admin.username=admin
galaxyplatform.security.organization.registry.orgs.testcom.admin.password=abc@123
galaxyplatform.security.organization.registry.orgs.testcom.admin.name=默认机构管理员
galaxyplatform.security.organization.registry.orgs.testcom.admin.secureEmail=test@test.com

# 指定成员账号的默认角色;
# 后续还可以在控制台中进行设置;
# galaxyplatform.security.organization.registry.orgs.testcom.memberRoles=DEFAULT-MEMBER

# 注册成员账号;
# orgs.testcom.members.member1.name   为机构“testcom”注册一个编码为 member1 的成员账号,名称为 “成员1”
#
galaxyplatform.security.organization.registry.orgs.testcom.members.member1.name=成员1
galaxyplatform.security.organization.registry.orgs.testcom.members.member1.password=abc@123
galaxyplatform.security.organization.registry.orgs.testcom.members.member1.secureEmail=member1@test.com

# 授权成员权限;
galaxyplatform.security.organization.registry.orgs.testcom.members.member1.authorities=FEATURE://APPLICATION/MENU/HOME

# 授予机构成员 member1 角色 TEST-MEMBER;
# galaxyplatform.security.organization.registry.orgs.testcom.members.member1.roles=TEST-MEMBER

# 定义角色,以及角色的权限;
# galaxyplatform.security.rbac.authorities.DEFAULT-MEMBER=FEATURE://APPLICATION/MENU/HOME
# galaxyplatform.security.rbac.authorities.TEST-MEMBER=FEATURE://APPLICATION/MENU/HOME

编译项目

GAPP 应用项目是标准的 Maven 项目,在命令行下进入项目根目录,执行命令 mvn clean package 编译应用项目。

% cd $your_gapp_root

% mvn clean package

  • 星河低代码 GDK 将整个项目的编译,包括前后端代码的编译,都集成到 mvn clean package 一个命令。
  • 首次编译时,由于部分依赖包需要从远程的 Maven 或 NPM 仓库下载依赖到本地缓存,因而编译过程的耗时会稍长一些。
  • 编译成功

编译成功

运行项目

在 IDE 中,GAPP 应用项目会在源代码目录 auto-src 下自动生成一个包含了 main 方法的入口类(Booter),这个过程是由应用项目配置的 Maven 插件自动执行的。

启用运行项目的方式是执行入口类的 main 方法。

ROOT                                        # 应用项目根目录
  |                                         
  |__ auto-src                              # 进行了编译后才自动生成的源代码目录
       |__ defaultPackagePath               # 项目默认包名的目录路径;
             |__ Sample001Booter.java       # 应用项目的启动类,默认以 <项目编码> + “Booter” 命名;
  
IDEA 用户注意
  • 由于 IDEA 默认情况下,对 Maven 的某些支持选项不开放,以及对 Maven 插件的某些生命周期的行为不执行,所以需要手工做一些额外配置,才能自动生成此入口类,以及成功运行应用。具体请参考《 GAPP 开发配置 - IDEA 》

  • VS Code、Eclipse 用户不需要额外配置。

  • 应用项目启动成功

应用项目启动成功

启动成功后,根据输出的启动端口,便可以在浏览器中查看运行的效果,包括登录页、普通成员的功能页面、机构管理员的机构控制台、根账号的平台控制台。

  • 首页: https://localhost:8080/ (未登录时会自动跳转至“登录页”)
  • 登录页:https://localhost:8080/login.html
  • 机构成员: member1
  • 机构管理员:admin
  • 平台根账号:root
  • 检查配置文件 organization.conf 获取设置的机构管理员和成员的初始密码。
  • 检查配置文件 server.conf 获取设置的根账号(root)初始密码。

应用登录页面

视频教程

视频号教程

教程:微信视频号

B站教程

《开发入门 - 创建应用项目》open in new window

最近更新:
发布者: huanghaiquan
扫码咨询