|
1 | | -# tiny-toolkit-pro |
| 1 | +# TinyPro |
2 | 2 |
|
3 | | -## 说明 |
| 3 | +TinyCLI 是一个跨平台的前端工程化 CLI 工具,为开发者提供一系列开发套件及工程插件,覆盖前端开发的整个链路,保证团队开发过程的一致性和可复制性。 |
4 | 4 |
|
5 | | -tiny-toolkit-pro 套件,开箱即用的全栈开发基础平台 |
| 5 | +TinyPro 是 TinyCLI 的一个套件,是一个开箱即用、前后端分离的后台管理模板。 |
6 | 6 |
|
7 | | -## 准备工作 |
8 | | -### 数据库准备工作 |
9 | | -如果要对接服务端,请提前安装配置本地数据库服务或者云数据库服务,确保连接正常可用,可使用本地数据库或云数据库。 |
| 7 | +特性: |
| 8 | +- 支持 NestJS 后端 |
| 9 | +- 支持通过可视化方式配置菜单 |
| 10 | +- 细粒度权限管理:角色、用户、菜单、组件权限 |
| 11 | +- 支持多种构建工具:Webpack / Vite / Rspack / Farm |
| 12 | +- 多级菜单 |
| 13 | +- 页签模式 |
| 14 | +- Mock 数据 |
| 15 | +- 主题定制 |
| 16 | +- 国际化 |
10 | 17 |
|
11 | | -**本地数据库:** 本地数据库安装MySQL |
12 | | -- 查看本机操作系统,选择合适的安装包版本[下载MySQL](https://dev.mysql.com/downloads/) |
13 | | -- 安装完成MySQL软件 |
14 | | -- 进行初始化配置,设置端口、用户、登录密码等,测试连接正常 |
| 18 | +官网:[https://opentiny.design/vue-pro](https://opentiny.design/vue-pro) |
15 | 19 |
|
16 | | -**云数据库:** 云数据库推荐使用[华为云数据库RDS](https://support.huaweicloud.com/productdesc-rds/zh-cn_topic_dashboard.html) |
17 | | -- 注册华为帐号并开通华为云 |
18 | | -- 选择合适的计费模式购买并配置数据库实例 |
19 | | -- 选择合适的连接模式进行连接 |
20 | | -具体开通过程请参考:[RDS for MySQL快速入门](https://support.huaweicloud.com/qs-rds/rds_02_0008.html),也可使用TinyCLI云服务插件以命令行的方式开通创建,具体请参考:[TinyCLI 云服务插件](https://opentiny.design/vue-pro/docs/advanced/plugin) |
| 20 | +## 一行命令初始化一个后台管理模板 |
21 | 21 |
|
22 | | -### Egg.js准备工作 |
23 | | -Egg.js 是一个Node.js服务端框架,开发环境准备好Node、Git等即可,[参考指南](https://www.eggjs.org/zh-CN/intro/quickstart) |
| 22 | +请确保您安装了`Node.js`、`NPM`、`TinyCLI`。 |
24 | 23 |
|
25 | | -### Spring Cloud准备工作 |
26 | | -如选择对接Spring Cloud,需要提前安装好JDK、IDE、Maven、配置好环境变量等 |
27 | | -#### Java环境安装 |
28 | | -1. [下载JDK](https://www.oracle.com/java/technologies/downloads/) |
29 | | -2. [配置环境变量](https://www.runoob.com/java/java-environment-setup.html) |
30 | | -#### IDE安装 |
31 | | -建议安装使用 [IntelliJ IDEA](https://www.jetbrains.com/idea/),内置Maven,[下载链接](https://www.jetbrains.com/zh-cn/idea/download/) |
| 24 | +```bash |
| 25 | +tiny init pro |
| 26 | +``` |
32 | 27 |
|
33 | | -#### Maven安装 |
34 | | -tiny-toolkit-pro 套件中的 Spring Cloud 采用 Maven 构建项目和依赖管理 |
35 | | -1. [下载链接](https://maven.apache.org/download.cgi) |
36 | | -2. [环境配置](https://www.runoob.com/maven/maven-setup.html) |
| 28 | +选择 Vue 技术栈,初始化完成后,项目结构应该为: |
37 | 29 |
|
38 | | -#### 微服务引擎 |
39 | | -有两种方式可供选择: |
40 | | - |
41 | | - * 通过下载安装本地简化版 CSE 搭建本地开发环境,下载链接:[CSE 2.0](https://support.huaweicloud.com/devg-cse/cse_devg_0036.html),下载完成,一键启动cse.exe |
42 | | - |
43 | | - * 使用[华为云微服务引擎(CSE)](https://support.huaweicloud.com/qs-cse/cse_qs_0002.html) |
| 30 | +``` |
| 31 | +tiny-pro |
| 32 | + nestJs # 后端服务 |
| 33 | + web # 前端服务 |
| 34 | +``` |
44 | 35 |
|
45 | | -#### |
| 36 | +## 后端启动 |
46 | 37 |
|
47 | | -## 用法 |
| 38 | +后端服务支持 `Docker 启动` 与 `命令启动` 两种方式。 |
48 | 39 |
|
49 | | -### 初始化 |
| 40 | +### Docker 启动 |
50 | 41 |
|
51 | | -``` |
52 | | -tiny init pro |
53 | | -``` |
54 | | -### 配置项目名称、描述 |
| 42 | +请确保您安装了 `Docker`。 |
55 | 43 |
|
56 | | -``` |
57 | | - ? 请输入项目名称: (tiny-pro) |
58 | | - ? 请输入项目描述: (基于TinyPro套件创建的中后台系统) |
59 | | -``` |
60 | | -### 选择前端技术栈 |
61 | | -目前支持`Vue` `Angular`两种前端技术栈。 |
62 | | -``` |
63 | | - ? 请选择您希望使用的技术栈: (Use arrow keys) |
64 | | - > vue |
65 | | - angular |
66 | | -``` |
67 | | -### 选择服务端技术栈(可选配置) |
68 | | -**目前仅 `Vue`工程支持对接服务端,剩余功能正在开发中。** |
69 | | -如果选择不对接服务端,全部接口将采用mock数据。 |
70 | | -``` |
71 | | - ? 请选择您希望使用的服务端技术栈: (Use arrow keys) |
72 | | - > Egg.js |
73 | | - Spring Cloud |
74 | | - 暂不配置 |
75 | | -``` |
76 | | -### 选择数据库(可选配置) |
77 | | -``` |
78 | | - ? 请选择数据库类型: (Use arrow keys) |
79 | | - > mySQL |
80 | | - 暂不配置 |
81 | | -``` |
| 44 | +在 `tiny-pro/nestJs` 下执行以下命令,启动后端服务: |
82 | 45 |
|
83 | | -### 配置数据库信息 |
84 | | - **初始化过程中会自动创建数据库和表,建议输入新的数据库名称以免造成数据库覆盖风险!** |
85 | | -``` |
86 | | - ? 请输入数据库地址: (localhost) |
87 | | - ? 请输入数据库端口: (3306) |
88 | | - ? 请输入数据库名称: |
89 | | - ? 请输入登录用户名: (root) |
90 | | - ? 请输入密码: [input is hidden] |
| 46 | +```bash |
| 47 | +docker compose up -d |
91 | 48 | ``` |
92 | | -- 此处配置也可在项目创建完成后在`server/config/config.default.ts`中进行配置修改。 |
93 | | -- pro套件会在初始化时自动创建数据库和表,如因配置等问题导致数据库初始化失败,有以下两种方式可帮助重新初始化数据库: |
94 | | - - 确认好正确配置后重新运行 `tiny init pro` 覆盖安装。 |
95 | | - - 进入 `server/app/databases` 目录下手动执行相关sql。 |
96 | | -- 数据库表中会自动插入一条用户信息(账号: [email protected] 密码:admin),可直接用于登录。 |
97 | | -- 如server服务启动失败,请确保数据库服务的地址、名称、账号、密码等与`server/config/config.default.ts` 中配置一致。 |
98 | | -- `server/app.ts` 中会同步ORM模型到数据库帮助新建表但只建议在开发环境下使用。 |
99 | 49 |
|
100 | | -### 开启本地服务器 |
| 50 | +### 命令启动 |
101 | 51 |
|
102 | | -前端 |
103 | | -``` |
104 | | -cd web && npm run start |
105 | | -``` |
106 | | -后端 |
107 | | -* EggJS |
108 | | -``` |
109 | | -cd server && npm run dev |
| 52 | +请确保您安装了 `MySQL`、`Redis`。 |
| 53 | + |
| 54 | +在启动项目前请您做好如下检查: |
| 55 | + |
| 56 | +- MySQL 服务可以正常访问 |
| 57 | +- Redis 服务可以正常访问 |
| 58 | +- MySQL 中存在 `.env` 文件中 `DATABASE_NAME` 字段定义的数据库,且该数据库为空 |
| 59 | +- `.env` 文件中 `DATABASE_SYNCHRONIZE` 为 `true` |
| 60 | + |
| 61 | +完成上述检查后,您可以在 `tiny-pro/nestJs` 下执行以下命令,启动后端服务: |
| 62 | + |
| 63 | +```bash |
| 64 | +npm i && npm start |
110 | 65 | ``` |
111 | | -* Spring Cloud |
112 | | - * 直接使用IDEA一键启动所有服务(推荐) |
113 | | - * 使用 ```mvn``` 命令 |
114 | | - ``` |
115 | | - // 进入对应目录下 |
116 | | - mvn spring-boot:run |
117 | | - ``` |
118 | | - * 使用 ```java -jar ``` 命令 |
119 | | - ``` |
120 | | - // 使用IDEA或者mvn进行打包 |
121 | | - mvn clean package |
122 | | -
|
123 | | - // 进入对应 target 目录下 |
124 | | - java -jar packagename.jar |
125 | | - ``` |
126 | | - |
127 | | -### 构建部署 |
128 | | -前端:Vue项目采用Vite工具构建,请参考[Vite 部署指南](https://cn.vitejs.dev/guide/static-deploy.html)、[Vite 生产环境指南](https://cn.vitejs.dev/guide/build.html) |
129 | | -后端: |
130 | | -* EggJS项目请参考[Egg构建部署指南](https://www.eggjs.org/zh-CN/core/deployment) |
131 | | -* Spring Cloud请参考[CSE部署微服务应用](https://support.huaweicloud.com/intl/zh-cn/devg-cse/cse_devg_0016.html) |
| 66 | + |
| 67 | +## 前端启动 |
| 68 | + |
| 69 | +在 `tiny-pro/web` 下依次执行以下命令: |
| 70 | + |
| 71 | +- 安装依赖:`npm i` |
| 72 | +- 启动 Mock 服务:`npm run mock` |
| 73 | +- 启动前端项目:`npm start` |
| 74 | + |
| 75 | +更详细的文档请参考 TinyPro 官网:[https://opentiny.design/vue-pro](https://opentiny.design/vue-pro) |
132 | 76 |
|
133 | 77 | ## 维护者 |
134 | 78 |
|
135 | | -添加官方小助手微信:opentiny-official,加入我们的技术交流群 |
| 79 | +添加官方小助手微信:opentiny-official,加入我们的技术交流群。 |
0 commit comments