Skip to content

jkhcc11/kdy-cms

 
 

Repository files navigation

项目简介

淳渔是一款快速搭建影视类网站的系统,它用户端基于nuxt3element-ui ,管理端基于 vue3element-ui ,后端基于 node 的后端框架 nestjs ,数据库采用 mysql ,缓存采用 redis。

在线体验

技术要求

技术选型

  1. 前端技术
  • 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
  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库的相关模块移除!

更新

待完成

  • 用户购买金币
  • 视频发送弹幕

相关链接

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

有任何疑问可添加微信

如何使用阿里云Oss上传文件

第一步 修改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

注意:管理端通过视频截取封面存在跨域问题,所以需要在阿里云配置允许跨域。

Releases

No releases published

Packages

 
 
 

Languages

  • PLpgSQL 49.5%
  • Vue 25.4%
  • TypeScript 18.5%
  • JavaScript 4.5%
  • HTML 1.2%
  • SCSS 0.8%
  • Other 0.1%