Skip to content

[ospp]完善TinyPro Vue中后台系统

Kagol edited this page Sep 26, 2024 · 9 revisions

任务清单:https://github.com/orgs/opentiny/projects/14/views/1

本地启动和验证

git clone [email protected]:opentiny/tiny-cli.git
git checkout ospp-2024/001-vue-pro-enhancement

验证功能点:

  • 页签模式
  • 多级菜单
  • 多维度权限管理
  • 选择构建工具:vite/webpack/rspack/farm
  • 选择vue2还是vue3项目

发布 alpha 版本验证

配置环境变量:TINY_SCOPE=gaonengwww

vi ~/.bash_profile

export TINY_SCOPE=gaonengwww

echo $TINY_SCOPE
tiny init pro

正常应该提示:

[core-module]: 本地尚未安装 @gaonengwww/tiny-toolkit-pro ,正在执行自动安装...

不生效可以执行命令:rm -rf ~/.tiny

选择 Nest.js

image

安装 MySQL:

vi ~/.bash_profile
source ~/.bash_profile
# mysql
export PATH=${PATH}:/usr/local/mysql/bin
# 快速启动、结束MySQL服务, 可以使用alias命令
alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop'

nestJs 目录执行:

docker compose up -d

报以下错:

 => [internal] load build definition from dockerfile                                                                                                                                                                              0.2s
 => => transferring dockerfile: 32B                                                                                                                                                                                               0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                 0.1s
 => => transferring context: 34B                                                                                                                                                                                                  0.0s
 => ERROR [internal] load metadata for docker.io/library/node:alpine                                                                                                                                                             32.5s
 => ERROR [internal] load metadata for docker.io/library/node:lts                                                                                                                                                                63.1s
------
 > [internal] load metadata for docker.io/library/node:alpine:
------
------
 > [internal] load metadata for docker.io/library/node:lts:
------
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to authorize: rpc error: code = DeadlineExceeded desc = failed to fetch anonymous token: Get "https://auth.docker.io/token?scope=repository%3Alibrary%2Fnode%3Apull&service=registry.docker.io": dial tcp 159.65.107.38:443: i/o timeout

执行:

docker pull node:alpine
docker pull node:lts

后端启动成功!

$ docker compose up -d
[+] Running 3/3
 ⠿ Container nestjs-redis-1  Running                                                            0.0s
 ⠿ Container nestjs-mysql-1  Started                                                            0.4s
 ⠿ Container nestjs-back-1   Started                                                            0.8s

web 目录启动前端:

npm i
npm start

.env

DATABASE_HOST = 'mysql'
DATABASE_PORT = 3306
DATABASE_USERNAME = 'root'
DATABASE_PASSWORD = 'root'
DATABASE_NAME = 'ospp-nest'
DATABASE_SYNCHRONIZE = true
DATABASE_AUTOLOADENTITIES = true
AUTH_SECRET = 'secret'
REDIS_SECONDS = 7200
REDIS_HOST = 'redis'
REDIS_PORT = 6379
EXPIRES_IN = '2h'
PAGINATION_PAGE = 1
PAGINATION_LIMIT = 10

docker ps 三个容器的状态都是 Up,就说明成功了!

$ docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED              STATUS              PORTS                               NAMES
1f019e3a08ac   nestjs-back   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3000->3000/tcp              nestjs-back-1
84f52a16b5bc   redis         "docker-entrypoint.s…"   12 minutes ago       Up 12 minutes       0.0.0.0:6379->6379/tcp              nestjs-redis-1
1c62dbd069a8   mysql:8       "docker-entrypoint.s…"   12 minutes ago       Up 11 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp   nestjs-mysql-1

问题