# Cube 快速启动版 ### 版本: 2.6.4 ### 版本特性 - [changelog.md](http://125.71.201.11:10086/project-1/doc-161/) ### 在线文档 - [魔方相关文档](http://125.71.201.11:10086) ## 单体 ### Java端项目启动 1. 下载项目 ```shell git clone http://125.71.201.11:9004/cube/cube-quick-start.git -b 2.6.4 ``` 2. 项目结构说明 ``` ├─cube-quick-start(父POM: 项目依赖、modules组织) │ ├─system-quick-start (系统管理模块: 系统管理、权限等功能) -- 单体启动项目 │ ├─VERSION.md 与前端版本对应关系 │ ├─{?} 业务模块 ``` 3. 初始化数据库 ```shell git clone http://125.71.201.11:9004/cube/cube-db.git -b 2.6.3 ``` - 建库建表: - cube-db/cube-mysql.sql - cube-db/cube-dm8.sql 4. 配置并启动项目 - system-quick-start/src/main/resources/application-dev.yml 中配置 **数据库** 和 **redis** - 业务API排除鉴权:**system-quick-start/src/main/resources/application-dev.yml** 中配置 **cube.sa-token.exclude-urls** - system-quick-start/src/main/java/com/tievd/cube/starter/CubeSystemStarter.java 启动项目 ### 前端项目启动 1. 下载项目 ```shell git clone http://125.71.201.11:9004/cube/cube-web.git -b 2.5.1 ``` 2. 执行命令 yarn install 3. 配置服务接口地址: src/config/index.js -> window._CONFIG['domianURL'] = 'http://127.0.0.1:8080/cube' 4. 运行yarn serve,访问 http://127.0.0.1:3000 5. 默认账号 admin 123456 ### 如何升级魔方 1. 在VERSION.md对应版本号 2. Java通过Maven私服分发,修改顶级pom中 **cube-dependencies** 的版本号 3. 前端通过NPM私服分发,修改package.json中的@tievd前缀下的包的版本号,web代码则是通过切换分支覆盖文件 ### 如何快速开发 1. 在cube-quick-start目录下新建业务的 module 2. 在新建的业务module中引入魔方框架提供的API库 ```xml com.tievd.cube.base system-local-api com.tievd.cube cube-system-service ``` 3. 将业务module作为依赖引入到 **system-quick-start** 4. 阅读[代码生成器文档](http://125.71.201.11:9004/cube/cube-codegen-engine) 5. 设计Java实体类(数据库/UI组件绑定/字段分组) -> 在线开发 -> 代码生成 -> 拷贝到项目中 6. 将vue代码拷贝到前端项目 src/views/modules 目录中 7. 将新增代码重新编译运行,在系统管理 -> 菜单管理 中添加业务菜单并绑定到前端组件路径 8. 通过系统管理 ->角色管理 -> 授权 给用户菜单权限 ### 开发技巧 1. 如何在代码中获取当前登录用户 ``` // 当前登陆用户的信息 LoginUser sysUser = SystemContextUtil.currentLoginUser(); ``` 2. 如何开启字典渲染 > 为了节省不必要的消耗,现在字典翻译需要在Controller的函数或类上注解才能渲染。 ``` // 单个函数渲染 @DictMethod // 整个类的函数都需要渲染 @DictApi ``` 3. API文档生成 > 现在默认使用SpringDoc作为默认的文档规范,标准为OpenAPI 3,底层使用到了swagger。 - [springdoc文档](https://springdoc.org/) - [knife4j文档](https://doc.xiaominfo.com/knife4j/documentation/) - [smart-doc文档](https://smart-doc-group.github.io/#/zh-cn/?id=smart-doc) ### cube-system可选组件 [cube-system-modules](http://125.71.201.11:9004/cube/cube-system-modules) ## 微服务 ### 微服务可选组件 - [微服务组件](http://125.71.201.11:9004/cube/cube-starter) ### 魔方基础服务切换到微服务 1. system-quick-start 添加依赖 ```xml com.tievd.cube.starter starter-cloud com.tievd.cube.base system-cloud-api ``` 2. 修改配置Nacos注册中心和配置中心 - 删除system-quick-start/src/main/resources下的application-{dev/prod}.yml配置文件,只保留application.yml,并加入以下配置 ```yaml server: port: 8090 spring: application: name: cube-system cube: version: @cube.version@ ``` - system-quick-start/src/main/resources/bootstrap.yml 取消注释,修改Nacos配置 3. 启动其他模块(网关,监控) - [微服务生态](http://125.71.201.11:9004/cube/cube-cloud-modules) ### 业务模块切换到微服务模式 > 和魔方基础服务一样,只需要新增一个启动类即可 1. 添加依赖 ```xml com.tievd.cube.starter starter-cloud ``` 2. 新增一个启动类 DemoApplication.java 并注解 @CubeCloudApp ```java @CubeCloudApp public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 3. 魔方提供 system-cloud-api 来调用一些底层API 4. 添加相同配置文件:配置Nacos注册中心和配置中心等 5. Demo代码示例 - [单体示例](http://125.71.201.11:9004/cube/cube-quick-start/src/branch/single-demo) - [微服务示例](http://125.71.201.11:9004/cube/cube-quick-start/src/branch/cloud-demo)