淳渔是一款快速搭建影视类网站的系统,它用户端基于nuxt3和 element-ui ,管理端基于 vue3 和 element-ui ,后端基于 node 的后端框架 nestjs ,数据库采用 mysql ,缓存采用 redis。
- Vue
- Element-ui
- TypeScript
- Nestjs
- TypeORM
- Mysql
- Redis
- 前端技术
- nuxt @3.6.5
- vue @3.2.45
- element-plus @2.2.21
- axios @0.24.0
- vuex @3.6.0
- vue-router @3.4.9
- sass-loader @10.1.1
- 后端技术
- nest @8.0
- mysql2 @2.3.3
- swagger-ui-express @4.2.0
- typeorm @0.2.41
- ioredis @4.28.2
如未安装mysql
数据库和redis
请先自行安装。可选mysql8,redis7。安装教程
如果没有安装nest-cli,先执行npm install -g @nestjs/cli
命令全局安装
本地开发启动服务可查看:相关视频
先修改Nest-server/src/config/config.production.ts
中的数据库连接配置信息后执行:
cd Nest-server
yarn
yarn build
在Nuxt-web目录中创建.env
文件并写入BASE_URL=服务端请求地址
cd Nuxt-web
yarn
yarn build
构建完成后,可通过pm2进行部署,未安装的可执行npm install -g pm2
安装
执行以下命令启动服务:
pm2 start pm2.config.cjs
执行以下命令会生成dist
目录,可通过nginx
指定到目录。
cd Vue3-admin
yarn
yarn build:prod
如果你有需求要打包成单文件或者pkg包,可进入Nest-server执行yarn ncc:pkg
, 因bull库不支持单文件执行,所以打包前需将引入了bull库的相关模块移除!
- 友情链接支持后台配置
- 用户影视评分
- 用户签到
- 用户签到获得金币
- 视频支持支付付费观看
- 支持图片、视频上传至阿里云oss
- 用户购买金币
- 视频发送弹幕
win安装Docker: https://zhuanlan.zhihu.com/p/441965046
docker安装redis:https://www.yinchunyu.com/other/redis.html
docker安装mysql:https://www.runoob.com/docker/docker-install-mysql.html
解决Navicat连接数据库提示`client does not support authentication:https://blog.csdn.net/lovedingd/article/details/106728292
第一步 修改pm2.config.cjs
或直接修改 Nest-server/src/config
目录对应配置文件
// 1、pm2.config.js
module.exports = {
apps : [
{
env: {
// ...
// 填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
REGION: '',
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
ACCESS_KEY_Id: '',
ACCESS_KEY_SECRET: '',
// 填写Bucket名称。
BUCKET: '',
// 是否支持上传自定义域名
CNAME: false,
// OSS访问域名
ENDPOINT: ''
}
}
]
};
第二步 进入后台系统管理-参数配置,将是否开启文件上传至阿里云参数键值修改为1
注意:管理端通过视频截取封面存在跨域问题,所以需要在阿里云配置允许跨域。