快速启动
启动前端
环境准备
开始前,需要先确保你的本地安装了node环境,为了更好的开发体验,我们建议开发者使用yarn环境,不推荐使用cnpm
或者npm
代替yarn
,不保证完全可用。点击下载node.js
bash
# 修改npm私服地址(虚拟桌面使用)
npm config set registry http://nexus.hisense.com/repository/npm-public/
# 安装yarn环境
npm install yarn -g
# 修改yarn私服地址(虚拟桌面使用)
yarn config set http://nexus.hisense.com/repository/npm-public/
克隆项目
从Gitlab将项目克隆到本地(如果无法正常克隆,有可能是没有该项目的权限,请联系Pangea团队解决 pangea.sys@hisense.com )。
bash
# 克隆项目
git clone http://gitlab.hisense.com/Pangea/Pangea-Cloud/frontend/Pangea-Frontend.git
# 安装依赖
yarn install
修改初始配置
修改登录方式——脚手架的默认登录方式为
SSO
,因此需要在/src/store/index.js
将登录方式设置为local
才能正常进入项目js// /src/store/index.js const loginType = 'local' // 第98行
修改系统名——在
/src/common/constant.js
将pangea
更换为自己的系统名(正式环境的系统名称需要与SLM系统中保持一致)js// /src/common/constant.js export const system = process.env.VUE_APP_SYSTEM || "pangea"; window.system = process.env.VUE_APP_SYSTEM || "pangea";
启动项目
配置完成后,即可启动项目进行操作了,如果你还需要后端能力,可继续启动后端。
bash
npm run start
其他配置
- 需要连系统自己的网关时,修改
根目录
下vue.config.js
里请求后端的地址 - 需要使用报表服务时,修改
/src/common/constant.js
里的reportApi
变量为自己后端的报表服务地址
启动后端
环境准备
- JDK >= 1.8(推荐1.8版本)
- Oracle >= 11g
- Maven >= 3.0
- Redis >= 3.2
- Lombok 插件
克隆项目
从Gitlab将项目克隆到虚拟桌面的本地(如果无法正常克隆,有可能是没有该项目的权限,请联系Pangea团队解决pangea.sys@hisense.com)。
bash
git clone http://gitlab.hisense.com/Pangea/Pangea-Cloud/backend/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:pangea-nacos-pangea-stage.devapps.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
对应注册中心地址,默认为pangea-nacos-pangea-stage.devapps.hisense.com
,环境部署时,需在云平台中配置注册中心的地址。本地开发时,则无需更改;
动态变量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文件中的动态变量均可按照项目组实际情况,在云平台部署时自定配置。