# smart-cloud **Repository Path**: zs-space/smart-cloud ## Basic Information - **Project Name**: smart-cloud - **Description**: 智慧城市行业应用解决方案框架,城市级应用(智慧停车,路内,路外,共享停车,智慧充电、智慧楼宇,智慧园区,智慧工地、智慧能源,智慧灯杆,等解决方案框架源码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2024-02-25 - **Last Updated**: 2024-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # smart-cloud > 特别说明:源码、JDK、MySQL、Redis、Nacos、Seata、Sentinel等存放路径禁止包含中文、空格、特殊字符等 ## 环境要求 > 特别说明:`JDK 1.8.25` 版本无法正常使用,请使用推荐版本 软件 | 推荐版本 | 说明 -----|-------- | ------------- JDK | 1.8.151 | JAVA环境依赖(需配置环境变量) Maven | 3.6.3 | 项目构建(需配置环境变量) Redis | 3.2.100(Windows)/6.0.x(Linux、Mac) | MySQL | 5.7.x | # JAVA环境 - JDK1.8 - Redis 3.2.1 - Apache Maven 3.x # 前端环境 - Node.js 12.18.2 - Yarn 1.22.0 # 数据库 - MySQL 5.7 - SQLServer 2012 - Oracle 11g ## 工具推荐 > 特别说明:`IDEA 2019.1`和`Maven 3.6.3`存在兼容性问题 ## maven 私服配置 ### SmartCloud官方仓库 server1 ```xml maven-releases smart-user HLrQ0MA%S1nE maven-snapshots smart-user HLrQ0MA%S1nE ``` mirror1 ```xml maven-snapshots * maven-snapshots https://repository.smartsoft.com/repository/maven-public/ ``` ### 内部搭建仓库 server2 ```xml maven-releases admin 123456 maven-snapshots admin 123456 ``` mirror2 ```xml maven-public * maven-public http://39.101.66.185:8899/repository/maven-public/ ``` IDEA 2020.1+ ## 服务说明 服务名称 | 默认端口 | 描述 -----|-------- | ------------- nacos | 30099 | 服务注册、发现和配置中心 sentinel-server | 30098 | 流量控制、熔断降级、系统负载保护 seata-server | 30095 | 分布式事务 boot-admin | 30097 | 管理和监控SpringBoot应用 skywalking | 30096 | 链路追踪监控 smart-gateway | 30000 | 网关 smart-oauth | 30001 | 认证服务 smart-system | 30002 | 系统运营服务 smart-visualdev | 30003 | 可视化开发(在线开发、代码生成、大屏设计、门户设计) smart-workflow | 30004 | 工作流 smart-file | 30005 | 文件服务(上传、下载、预览等) smart-tenant | 30006 | 租户服务 smart-datareport | 30007 | 报表服务 smart-extend | 30019 | 扩展(系统内置示例) smart-third | 30020 | 第三方应用(如微信公众号、微信企业等) smart-example | 30100 | 子系统开发模板 smart-parking-device | 30101 | 设备接入服务 smart-parking-trade | 30102 | 系统交易服务 ## 使用说明 ### 创建库并导入数据库脚本 > 在使用Navicat等工具时,`运行SQL脚本`执行`jnpf_init.sql`可能会报错(初始数据含有JSON数据),建议使用`新建查询`执行初始化脚本 - `smart-databae/MySQL/jnpf_init.sql`(项目主库) - `smart-databae/java微服务/jnpf_nacos.sql`(项目配置库) ### 开发环境配置 #### `Nacos`配置 - 打开`smart-registry/nacos/conf/application.properties` - 修改数据库配置(`第39-41行`) #### `Seata`配置 - 打开`smart-registry/seata/conf/file.conf`,修改数据源配置(`第27行开始`) - 打开数据库仓库的`smart-databae/java微服务/jnpf_seata_config.sql`修改`seata`配置SQL脚本,并在`jnpf_nacos`(项目配置库)中执行脚本 #### `Sentinel`配置 - 右击`smart-registry/sentinel-server/pom.xml` 选择`Add as Maven Project` - 打开`sentinel-server/src/main/resoures/application.properties`,修改配置`nacos`服务地址(`第29行`)(nacos为本地地址时无需修改) #### `Skywalking`配置 - 打开`skywalking/config/application.yml` ,修改下数据源配置(`第164-166行`) - 创建`skywalking`初始表 - 运行`skywalking/bin/oapServiceInit.bat`(windows环境) - 运行`skywalking/bin/oapServiceInit.sh`(Linux、Mac环境) - `IDEA`启动项中的`VM options`中添加`skywalking/agent/run skywalking-agent.txt`中的`-javaagent:`、`-Dskywalking.agent.service_name`即可,每个启动类都需要添加 ### 其他子系统配置 - 启动`nacos`,打开`配置管理`-`配置列表`- `dev`,修改`datasource.yaml`(Redis,数据库配置)和`resources.yaml`(静态资源配置) ### JVM配置(根据实际情况调整) 启动项 | 参考配置| 描述 -----|--------|-------- SmartExampleApplication | -Xmx100m -Xms100m -Xmn50m -Xss1024k | 子系统开发模板 SmartExtendApplication | -Xmx200m -Xms200m -Xmn80m -Xss1024k | 扩展服务 SmartFileAplication | -Xmx200m -Xms200m -Xmn100m -Xss1024k | 文件服务 SmartGatewayApplication | -Xmx400m -Xms400m -Xmn150m -Xss1024k | 网关 SmartOauthApplication | -Xmx500m -Xms500m -Xmn150m -Xss1024k | 授权中心 SmartSystemApplication | -Xmx500m -Xms500m -Xmn180m -Xss1024k | 系统 SmartThirdApplication | -Xmx200m -Xms200m -Xmn80m -Xss1024k | 第三方应用 SmartVisualdevApplication | -Xmx800m -Xms800m -Xmn300m -Xss1024k | 可视化开发 SmartWorkflowApplication | -Xmx800m -Xms800m -Xmn300m -Xss1024k | 工作流 SmartDataReportApplication | -Xmx800m -Xms800m -Xmn300m -Xss1024k | 报表 SmartTenantApplication | -Xmx200m -Xms200m -Xmn80m -Xss1024k | 多租户 #### 开发环境配置 在`Run/Debug Configurations`界面按上述表格配置 #### 测试生成环境配置 在启动命令加上配置`-Xmx500m -Xms500m -Xmn180m -Xss1024k`,如 ```bash nohup java -jar -Xmx500m -Xms500m -Xmn180m -Xss1024k smart-system-3.1.0-SNAPSHOT.jar > Log.log & 2>&1 & ``` ### 项目启动 > 建议按照如下顺序进行启动,注意监控注册中心,确保每个服务都启动成功 #### `nacos`服务(优先启动等级1) - 运行`smart-registry/nacos/bin/startup.cmd`(windows环境) - 运行`smart-registry/nacos/bin/startup.sh`(Linux、Mac环境) - 打开`http://localhost:30099/nacos/index.html`,默认账号密码为`nacos` #### `sentinel`服务(优先启动等级2) - 运行`smart-registry/sentinel-server/src/main/java/com/alibaba/csp/sentinel/dashboard/DashboardApplication.java`启动类 #### `seata`服务(优先启动等级2) - 运行`smart-registry/seata/bin/startup.bat`(windows环境) - 运行`smart-registry/seata/bin/startup.sh`(Linux、Mac环境) #### `skywalking`服务(非必需) - 运行`skywalking/bin/startup.bat`(windows环境) - 运行`skywalking/bin/startup.sh`(Linux、Mac环境) #### `boot-admin`管理和监控SpringBoot应用(非必需) - 运行`smart-registry/boot-admin/src/main/java/smart/SmartAdminApplication.java`启动类 #### 其他服务(不分先后顺序) - `smart-gateway`服务(网关):运行`/smart-gateway/src/main/java/smart/system/base/SmartGatewayApplication.java`启动类 - `smart-oauth`服务(授权中心):运行`smart-oauth/smart-oauth-server/src/main/java/smart/SmartOauthApplication.java`启动类 - `smart-file`服务(文件):运行`smart-file/smart-file-server/src/main/java/smart/SmartFileAplication.java`启动类 - `smart-system`服务(系统基础):运行`smart-system/smart-system-base/smart-system-base-server/src/main/java/smart/SmartSystemApplication.java`启动类 - `smart-visualdev`服务(可视化开发):运行`smart-visualdev/smart-visualdev-server/src/main/java/smart/SmartVisualdevApplication.java`启动类 - `smart-workflow`服务(工作流): 运行`smart-workflow/smart-workflow-server/src/main/java/smart/SmartWorkflowApplication.java`启动类 - `smart-datareport`服务(报表): 运行`smart-report/smart-datareport/report-console/src/main/java/com/bstek/ureport/console/SmartDataReportApplication.java`启动类 - `smart-tenant`服务(多租户): 运行`smart-tenant/smart-tenant-server/src/main/java/smart/SmartTenantApplication`启动类 - `smart-extend`服务(扩展): 运行`smart-extend/smart-extend-server/src/main/java/smart/SmartExtendApplication.java`启动类 - `smart-third`服务(第三方应用): 运行`smart-extend/smart-third-server/src/main/java/smart/SmartThirdApplication.java`启动类 ### 服务组件 - Nacos - 版本:`1.4.0` - 控制台URL: `http://localhost:30099/nacos/index.html` - 用户密码:`nacos`/`nacos` - Sentinel - 版本:`1.8.0` - 控制台URL: `http://localhost:30098` - 用户密码:`sentinel`/`sentinel` - Spring Boot Admin(可选) - 版本:`2.3.0` - 控制台URL: `http://localhost:30097` - 用户密码:`admin`/`admin` - Skywalking(可选) - 版本:`8.3.0` - 控制台URL: `http://localhost:30096` #### 全局接口 - 打开`http://localhost:30000/swagger-ui.html` #### maven lib mvn install:install-file -Dfile=D:\JNPF\jnpf_java\code-java\back-end\smart-java-cloud\lib\aliyun-sdk-oss-3.13.2.jar -DgroupId=com.aliyun.oss -DartifactId=aliyun-sdk-oss -Dversion=3.13.2 -Dpackaging=jar #### deploy to nexus mvn deploy:deploy-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 -Dpackaging=jar -Dfile=D:\repository\com\sqlserver\sqljdbc4\4.0\sqljdbc4-4.0.jar -Durl=http://39.101.66.185:8899/repository/maven-snapshots/ -DrepositoryId=maven-snapshots/ mvn deploy:deploy-file -DgroupId=com.smart -DartifactId=smart-visualdev-base -Dversion=3.1.0-SNAPSHOT -Dpackaging=jar -Dfile=D:\repository_jnpf\com\smart\smart-visualdev-base-api\3.1.0-SNAPSHOT\smart-visualdev-base-api-3.1.0-SNAPSHOT.jar -Durl=http://39.101.66.185:8899/repository/maven-snapshots/ -DrepositoryId=maven-snapshots