Skip to content

Commit

Permalink
fix: tiny-cli部分问题修改&优化 (#209)
Browse files Browse the repository at this point in the history
* fix: tiny-cli文档修改

* fix: cli部分bug修复

* fix: vue修改语言时重新获取localItems

* fix: 删除idea文件

* fix: tiny-pro init.ts修改
  • Loading branch information
Muyu-art authored Sep 14, 2024
1 parent 6418e2e commit 6a5ab11
Show file tree
Hide file tree
Showing 6 changed files with 243 additions and 168 deletions.
54 changes: 52 additions & 2 deletions docs/tiny-nest.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# TinyPro 后端部署指南

## 视频教程

[OpenTiny社区](https://space.bilibili.com/15284299)

## 相关术语

### 用户

登陆账号的人

### 角色

权限的集合体,为了方便的进行权限管理

### Guard

门禁/门卫,可以理解为一个中间件。请求会先经过Guard而后才会经过Controller。在代码中体现则是一个实现了`CanActivate`接口的类。

### 受保护的接口

如果一个接口需要登录/需要进行权限校验,那么我们称作这个接口是受保护的接口

### 公开接口

如果一个接口不需要登录/不会进行权限校验,那么我们称作这个接口是公开接口


## 环境准备

请确保您安装了`nodejs`, `npm`, `tiny-cli`
Expand Down Expand Up @@ -37,7 +64,7 @@ https://www.opentiny.design/tiny-cli/docs/toolkits/pro#database):
│ ├── db 数据库连接
│ ├── models 数据库结构
│ └── redis redis链接
├── locales.json 国际化数据库初始化我呢见
├── locales.json 国际化数据库初始化文件
├── src 源码
├── app.module.ts
├── auth 鉴权接口
Expand Down Expand Up @@ -88,6 +115,8 @@ PAGINATION_LIMIT = 10

## 快速上手

**为了安全起见`DATABASE_SYNCHRONIZE`默认为`false`, 如果默认为`true` `TypeOrm`可能会删除数据库下的所有数据。**

### Docker

```bash
Expand All @@ -98,8 +127,12 @@ PAGINATION_LIMIT = 10
docker compose up -d
```

**注意,请将后端文件`.env`中的`DATABASE_HOST`改为数据库的容器名,`REDIS_HOST`改为redis容器名。`DATABASE_PORT`改为docker数据库对外暴露的端口号,`REIDS_PORT`改为docker数据库对外暴露的端口号**

### 命令启动

**在运行前,请您确保`mysql`, `redis`均在运行中,且请您确保`.env`文件中`DATABASE_NAME`配置项指明的数据库存在。**

```bash
npm i
npm run start
Expand All @@ -113,7 +146,13 @@ npm run start

### 权限控制

如果一个接口没有被`Permission`修饰器进行修饰, 那么这个接口是允许所有已登录用户访问的,如果该接口被`Permission`修饰器进行修饰,那么该接口只允许拥有该权限的用户访问,其余用户则会返回`403`错误代码
如果一个接口没有被`Permission`修饰器进行修饰, 那么这个接口是允许所有已登录用户访问的,如果该接口被`Permission`修饰器进行修饰,那么该接口只允许拥有该权限的用户访问,其余用户则会返回`403`错误代码.

相关代码

- `nestJs/src/permission/permission.guard.ts`

默认存在超级权限`(*)`, 该权限可以在登陆后访问任何接口

## 新增接口

Expand Down Expand Up @@ -153,9 +192,20 @@ docker build -t tinypro:latest .
npm run build
```

## 遇到困难?

加官方小助手微信 opentiny-official,加入技术交流群

## 常见问题

### 提示 `Lock file exists, if you want init agin, please remove dist or dist/lock`

为了避免重复初始化,系统会在第一次初始化的时候在`dist`目录下新建`app/lock`文件,如果您需要再次初始化,那么请您删除`dist/app`或者直接删除`dist`文件夹

### docker 部署时数据库超时

`docker-compose.yaml`实际上配置了`depends_on`字段,但`mysql`镜像并没有提供对应的健康检查。如果服务挂掉,可以等待`mysql`启动成功后手动重启后端服务

### 打包速度慢

请阅读[SWC](https://docs.nestjs.com/recipes/swc)
Loading

0 comments on commit 6a5ab11

Please sign in to comment.