创建应用平台
(1)创建macula-samples平台
使用脚手架构创建macula-samples应用平台,如下所示:
mvn archetype:generate \
-DgroupId=dev.macula.samples \ # 你的应用的GroupID
-DartifactId=macula-samples \ # 你的应用的ArtifactId
-Dversion=1.0.0-SNAPSHOT \ # 你的应用的版本号
-DarchetypeArtifactId=macula-boot-archetype \
-DarchetypeGroupId=dev.macula.boot \
-DarchetypeVersion=5.0.6 \
-Dgitignore=.gitignore -DinteractiveMode=false
或者使用git clone拉取sample相关代码
## samples代码
git clone https://github.com/macula-projects/macula-samples.git
说明:应用平台的项目结构、应用分层以及项目分包,框架规约中已经说明,不再赘述。
(2)应用平台接入Macula平台
macula-samples应用平台要复用Macula平台的认证服务、系统服务等能力,需要接入Macula平台,成为其中的一个租户。接入涉及的步骤如下:
Macula平台管理员登录MaculaCloudAdmin管理后台,创建租户(macula-samples应用平台)以及对应的租户管理员
macula-samples租户管理员登录MaculaCloudAdmin管理后台,创建当前租户下的应用、菜单、角色,获取ak和sk(macula-samples-admin-bff应用对应的ak/sk)
macula-samples租户管理员登录MaculaCloudAdmin管理后台,创建接入Macula平台认证服务所需的client客户端,获取client_id和client_secret
(3)运行macula-samples平台
(平台本地运行需要修改的配置,都需要明确标注说明,如数据库、缓存、注册中心、配置中心、消息队列等【文字+截图】)
- 修改macula-samples-admin-bff的配置文件,配置macula cloud的网关地址和ak/sk
macula:
cloud:
endpoint: http://127.0.0.1:9000 # macula cloud网关地址
app-key: ${spring.application.name}
secret-key: 待修改
修改macula-samples-admin登录配置文件,配置client_id/client_secret
macula-samples-admin/src/views/common/login/components/passwordForm.vue
var data = {
username: this.form.user,
password: this.form.password,
grant_type: 'password',
client_id: '待修改',
client_secret: '待修改',
scope: 'message.read message.write userinfo'
}
- 修改macula-samples-admin项目菜单的隐藏逻辑,macula-samples-admin/src/layout/index.vue
//处理隐藏
if (!item.meta.visible || item.meta.type == "BUTTON") {
return false
}
改为:
//处理隐藏
if (item.meta.hidden || item.meta.type == "BUTTON") {
return false
}
- 修改macula-samples-admin项目认证中心地址,.env.{环境变量}
VITE_APP_IAM_URL=http://localhost:9010
改为:
VITE_APP_IAM_URL=iam认证服务的真实地址(默认使用macula-cloud-iam项目的启动则为http://localhost:9010)
- 修改macula-samples-gateway项目共享redis和introspection接口地址:
spring:
redis: # 网关自己的redis配置
database: 0
host: 127.0.0.1
port: 6379
system: # macula-cloud的system模块的redis配置
database: 0
host: 127.0.0.1
port: 6379
security:
oauth2:
resourceserver:
opaquetoken:
client-id: ***** ##(iam认证服务的客户端id,可看sys_oauth2_client表的client_id字段)
client-secret: ***** ##(iam认证服务的客户端密码,可看sys_oauth2_client表的client_secret字段)
introspection-uri: ## iam认证服务的token认证角色真实地址(默认使用macula-cloud-iam项目的启动则为http://localhost:9010/oauth2/introspect)
初始化数据库表
找到macula-samples-service1/docs/macula-samples-service1.sql,创建数据库,导入SQL创建示例表
分别启动macula-samples-admin、macula-samples-gateway、macula-samples-admin-bff、macula-samples-service1,成功运行效果参考以下集成测试章节。