# clwy-api **Repository Path**: yintat/clwy-api ## Basic Information - **Project Name**: clwy-api - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-24 - **Last Updated**: 2025-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: Nodejs ## README # 切换镜像 nrm ls nrm use taobao ### 如果您已经有一个项目在 Git 仓库中,并且想要更新这个项目,您可以按照以下步骤进行: ### 1. 切换到项目目录 打开命令行或终端,切换到您的本地项目目录。 ``` cd path/to/your/project ``` ### 2. 添加远程仓库 添加一个名为“origin”的远程仓库,指向您要更新的 Git 仓库的地址。 ```git remote add origin https://gitee.com/yintat/clwy-api ``` ### 3. 拉取最新代码 拉取远程仓库的最新代码到本地。 ``` git pull origin master ``` ### 4. 提交本地修改 提交您在本地的修改到本地仓库。 ``` git add . git commit -m "Your commit message" ``` ### 5. 推送到远程仓库 推送本地仓库的修改到远程仓库。 ``` git push origin master ``` ### 6. 运行Docker ``` docker-compose up -d ``` ### http-errors文档 ``` https://www.npmjs.com/package/http-errors ``` ### 模型、迁移与种子 ``` https://clwy.cn/chapters/fullstack-node-migration ``` ### 修改配置文件 ``` 项目建好后,就要开发实际的功能模块了 命令 说明 sequelize db:create --charset utf8mb4 --collate utf8mb4_general_ci 创建数据库 sequelize model:generate --name Article --attributes title:string,content:text 创建模型 sequelize db:migrate 运行迁移文件 sequelize seed:generate --name article 创建名为article种子文件 sequelize db:seed --seed xxx-article 运行指定种子文件 sequelize db:seed:all 运行所有种子文件 ``` ### 创建数据库 ``` 先要去创建数据库了。也可以使用命令创建,但在部分 Windows 中无法成功创建,那就直接使用 Navicat 手动创建也一样。 然后根据需求,去创建模型。记住模型是单数,但是表名是复数。并指定所需字段和类型,同时还会自动生成相关的迁移文件。 打开迁移文件后,根据需求人工进行调整。改完后,运行迁移命令,就会自动的创建表了。 可以使用种子文件,来给表中添加测试数据,而不用通过 SQL 导入默认测试数据。 根据需求调整种子文件。然后运行一下种子,就会自动填充数据到表里了。 还有个命令,它会运行所有的种子文件。缺点是无论之前有没有运行过,都会全部重新运行一次。所以这个命令只适合数据库还什么数据都没有的情况下。 ``` ## 长乐未央 API 此项目为长乐未央公司开发的,专供学习`Node.js`的同学使用。项目使用了 Node.js + Express + MySQL + Sequelize ORM 开发。 项目课程地址:https://clwy.cn/courses/fullstack-node 让我们一起从零基础开始,学习接口开发。先从最基础的项目搭建、数据库的入门,再到完整的真实项目开发,一步步的和大家一起完成一个真实的项目。 ## 配置环境变量 将`.env.example`文件拷贝为`.env`文件,并修改配置。 \```txt PORT=3000 SECRET=你的秘钥 \``` 其中`PORT`配置为服务端口,`SECRET`配置为秘钥。 ## 生成秘钥 在命令行中运行 \```shell node \``` 进入交互模式后,运行 \```shell const crypto = require('crypto'); console.log(crypto.randomBytes(32).toString('hex')); \``` 复制得到的秘钥,并填写到`.env`文件中的`SECRET`配置。 > PS:可以使用 `ctrl + c` 退出交互模式。 ## 配置数据库 项目使用 Docker 容器运行 MySQL 数据库。安装好 Docker 后,可直接启动 MySQL。 \```shell docker-compose up -d \``` 如需使用自行安装的 MySQL,需要修改`config/config.js`文件中的数据库用户名与密码。 \```json { "development": { "username": "您的数据库用户名", "password": "您的数据库密码" } } \``` ## 安装与运行 \```shell # 安装项目依赖包 npm i # 创建数据库。如创建失败,可以手动建库。 npx sequelize-cli db:create --charset utf8mb4 --collate utf8mb4_general_ci # 运行迁移,自动建表。 npx sequelize-cli db:migrate # 运行种子,填充初始数据。 npx sequelize-cli db:seed:all # 启动服务 npm start \``` 访问地址:[http://localhost:8080](http://localhost:8080),详情请看接口文档。 ## 初始管理员账号 \```txt 账号:admin 密码: 123123 \``` ## 配置环境变量 将`.env.example`文件拷贝为`.env`文件,并修改配置。 \```txt NODE_ENV=development PORT=3000 SECRET=你的秘钥 MAILER_HOST=邮件服务器地址 MAILER_PORT=邮件服务器端口 MAILER_SECURE=465端口填写:true,否则填写:false MAILER_USER=你的邮箱地址 MAILER_PASS=你的邮箱授权码或密码 - `MAILER`开头的配置,为邮件服务器的配置。 \``` - `NODE_ENV`配置为开发环境,如部署在生产环境可改为`production`。 - `PORT`配置为服务端口 - `SECRET`配置为秘钥。 RABBITMQ_URL= - `RABBITMQ_URL`配置为消息队列服务器地址。 ### 阿里云对象储存OSS ``` https://oss.console.aliyun.com/bucket/oss-cn-guangzhou/clwy-yintat-oss/object Bucket: clwy-yintat-oss RAM AccessKey ID: clwy-yintat 用户登录名称: clwy-yintat@1634045477307170.onaliyun.com ``` ## 配置环境变量 将`.env.example`文件拷贝为`.env`文件,并修改配置。 \```txt NODE_ENV=development PORT=3000 SECRET=你的秘钥 ALIYUN_ACCESS_KEY_ID=阿里云的 AccessKey ID ALIYUN_ACCESS_KEY_SECRET=阿里云的 AccessKey Secret ALIYUN_BUCKET=阿里云 OSS 的 Bucket 名称 ALIYUN_REGION=阿里云 OSS Bucket 所在地域名称 \``` - `NODE_ENV`配置为开发环境,如部署在生产环境可改为`production`。 - `PORT`配置为服务端口 - `SECRET`配置为秘钥。 - `ALIYUN`开头的配置,均为阿里云的配置。请注册阿里云云账号,创建存储空间,并创建`Access Key`。 ### multer-aliyun-oss文档 ``` https://github.com/ay86/multer-aliyun-oss?tab=readme-ov-file#usage ```