快速启动
初始化系统
申请对公共开发平台网站访问的SSO登录权限。 选择环境下:
- 1:如果本项目登录方式为SSO登录:请提前申请项目SSO信息,需要在盘古初始化系统时进行设置。
- 2:访问配置中心下初始化系统菜单,新增搭建系统的初始化信息。复制并保存系统英文编码(对应前端运行时脚手架配置信息:VITE_SYSTEM_NAME 【必填】系统英文编码,用于隔离系统数据)。
启动前端
环境准备
开始前,需要先确保你的本地安装了node环境,node版本要求为18版本。为了更好的开发体验,我们建议开发者使用pnpm管理依赖,前端脚手架中,也内置了pnpm-lock文件用于锁定依赖版本。
bash
# 修改npm私服地址(虚拟桌面使用)
npm config set registry http://nexus.hisense.com/repository/npm-public/
# 安装pnpm环境
npm install pnpm -g
# 修改pnpm私服地址(虚拟桌面使用)
pnpm config set http://nexus.hisense.com/repository/npm-public/
克隆项目
将盘古前端工程克隆并推送到业务项目git空间(如果无法正常克隆,有可能是没有该项目的权限,请联系Pangea团队解决)。
bash
# 克隆项目
git clone http://gitlab.hisense.com/Pangea/Pangea-Cloud/frontend/pangea-vue3-project/pangea-web-vue3.git
# 安装依赖
pnpm install
修改初始配置
脚手架工程根目录.env
用于设置系统环境变量,其中变量说明如下:
变量名称 | 说明 |
---|---|
VITE_SYSTEM_NAME | 【必填】系统英文编码,取自技术中台项目L编码,用于项目数据隔离 |
VITE_LOGIN_TYPE | 系统登录方式,可选sso或local,默认为sso |
VITE_PROJECT_CODE | 项目编码,用于获取模板、自定义组件等资产 |
VITE_PROJECT_ENV | 环境编码,用于获取模板、自定义组件等资产 |
VITE_WAS_SITEID | WAS用户运营分析统计 siteId |
VITE_PROJECT_NAME | 系统中文名称,展示在导航栏 |
启动项目
配置完成后,即可启动项目进行操作了,如果你还需要后端能力,可继续启动后端。
bash
npm run start
启动后端
后端脚手架工程
- 访问公共开发平台的微服务开发,根据脚手架按需下载后端脚手架源码工程进行项目开发。
环境准备
- JDK >= 1.8(根据脚手架配置)
- Oracle >= 11g
- Maven >= 3.0
- Redis >= 3.2
- Lombok 插件
克隆demo项目
从Gitlab将项目克隆到虚拟桌面的本地(如果无法正常克隆,有可能是没有该项目的权限,请联系Pangea团队解决pangea.sys@hisense.com)。
bash
git clone http://gitlab.hisense.com/Pangea3/pangea-backend.git
配置Maven私服
我们提供了两种方式来配置Maven私服,建议使用推荐方式。
推荐方式
在IntelliJ IDEA中指定工程根目录下的settings.xml
文件,如下图所示:
覆盖安装
使用本地安装的maven覆盖IDEA插件,并将以下内容添加至本地settings.xml
文件中的<profiles>
标签中
xml
<profile>
<id>hisense-nexus</id>
<repositories>
<!-- release库 -->
<repository>
<id>hisense-nexus</id>
<name>hisense-nexus</name>
<url>http://nexus.hisense.com/repository/maven-public/</url>
</repository>
<!-- snapshot库 -->
<repository>
<id>hisense-nexus-snapshot</id>
<name>hisense-nexus-snapshot</name>
<url>http://nexus.hisense.com/repository/maven-public-snapshot/</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>hisense-nexus</id>
<name>hisense-nexus</name>
<url>http://nexus.hisense.com/repository/maven-public/</url>
</pluginRepository>
</pluginRepositories>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
其他详细配置参考Nexus仓库使用指引及规范或者联系 Pangea 团队。
常见问题:依赖下载失败
使用「海信私服」后,有时依旧下载依赖失败,检查是否使用idea内嵌的Maven,这个内嵌的Maven通常比较新,但不一定稳定,而且往往也会和在命令行使用的Maven不是一个版本。请换成本地环境自带maven,maven版本>=3.0。
启动demo服务
此时可直接启动demo服务,看到如下截图,则表明后端服务启动成功。
注意
以上为快速启动本地服务。如果进行本地开发,需要继续参考下述文档,完成后续设置
更改服务名、端口号
进行本地开发启动后端服务前,需要更改脚手架bootstrap.yml
文件中的服务名,端口号
yaml
server:
port: ${PORT:8899}
# servlet.context-path 按需配置,如不配置,将按照 spring.application.name 注册和调用服务时
#servlet:
#context-path: /demo
spring:
application:
name: ${YML_NAME:pangea-demo}
profiles:
active: ${PROFILE:dev}
context-path
对应网关调用的映射地址,可按需自行更改,如保留,则需要在nacos的gateway-router中配置对应的映射地址(例:在postman中,context-path连接端口号
和接口地址
),如下图:system_name
对应前端请求中的headers中的systemName
参数,可忽略不填写
配置注册中心
脚手架的bootstrap.yml
文件如下:
yaml
cloud:
nacos:
server-addr: http://${NACOS_ADDR:nacos-server-pangea-pangeav3-stage.clouddev.hisense.com}
discovery:
server-addr: ${spring.cloud.nacos.server-addr}
namespace: ${NAME_SPACE:pangea}
config:
server-addr: ${spring.cloud.nacos.server-addr}
file-extension: yaml
namespace: ${NAME_SPACE:pangea}
动态变量NACOS_ADDR
对应注册中心地址,默认为nacos-server-pangea-pangeav3-stage.clouddev.hisense.com
,环境部署时,需在云平台中配置注册中心的地址。 注意:由于nacos升级新增GRPC端口,本地云内开发开发时,则需更配置偏移量和申请访问IP权限;
1:云内需要调整 偏移量 -Dnacos.server.grpc.port.offset=2389 (11237-8848) 2:10.19.59.232 动态变量NAMESPACE
对应注册中心的命名空间。环境部署时,则需要自行配置自己项目的命名空间。本地开发时,则无需更改;
配置 reids 缓存
脚手架默认启用application-dev.yml
文件中的公共redis。正式环境可参考application-prod.yml
中环境变量,设置对应变量值
如需启用本地redis缓存,则可以参照prod
的配置,将application-dev.yml
文件中的公共redis
配置信息更改为对应的本地缓存地址和端口
application-dev.yml:
yaml
redis:
password: testtest
sentinel:
master: mymaster
nodes: 1.1.1.1:26379,2.2.2.2:26379,3.3.3.3:26379
application-prod.yml:
yaml
redis:
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
password: ${REDIS_PASSWORD:demo}
修改数据库连接
项目开发时请提前自行申请数据库,并替换默认的数据库连接信息;默认数据库仅作demo演示使用,会定期清理数据。数据库申请请联系项目对应db工程师。
yaml
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: oracle.jdbc.OracleDriver
url: jdbc:oracle:thin:@${ORACLE_HOST:1.2.3.4}:1521:${ORACLE_PID:test}
username: ${ORACLE_NAME:username}
password: ${ORACLE_PASSWORD:password}
注意
application.yml和bootStrap.yml文件中的动态变量均可按照项目组实际情况,在云平台部署时自定配置。