mirror of
https://github.com/bolucat/Archive.git
synced 2026-04-23 00:17:16 +08:00
6.2 KiB
6.2 KiB
环境变量配置说明
📋 概述
为了保护敏感信息(如各网盘的 App ID 和 App Secret),本项目使用环境变量文件来统一管理所有的敏感配置。项目支持 Node.js 环境变量和 Vite 前端环境变量两套配置。
🔧 配置步骤
1. 后端配置(Node.js)
cp .env.template .env
2. 前端配置(Vite)
cp .env.development.template .env.development
cp .env.production.template .env.production
3. 填入真实的配置信息
编辑对应的环境变量文件,将占位符替换为真实的密钥:
后端 (.env):
# 阿里云盘配置
ALIYUN_APP_ID=your_real_app_id
ALIYUN_APP_SECRET=your_real_app_secret
前端 (.env.development):
# 阿里云盘配置
VITE_ALIYUN_APP_ID=your_real_app_id
VITE_ALIYUN_APP_SECRET=your_real_app_secret
🔒 安全机制
自动清理
- 每次
git commit前,系统会自动将所有环境变量文件中的密钥值清空 - 支持多个环境文件:
.env,.env.development,.env.production - 只保留配置键名,确保不会意外提交敏感信息到 GitHub
文件保护
- 所有包含真实密钥的环境变量文件都在
.gitignore中 - 只有模板文件会被提交到版本控制
- 前端和后端配置分离管理
📝 在代码中使用配置
前端 Vue 组件中使用
import appConfig from './src/utils/appconfig';
// 获取阿里云盘配置
const { appId, appSecret } = appConfig.getAliyunConfig();
// 获取其他网盘配置
const baiduConfig = appConfig.getBaiduConfig();
const tmdbConfig = appConfig.getTmdbConfig();
// 检查配置完整性
if (!appConfig.validateConfig()) {
console.error('配置不完整,请检查环境变量文件');
}
后端 Node.js 中使用
const config = require('./src/utils/config');
// 获取阿里云盘配置
const aliyunConfig = config.getAliyunConfig();
// 直接获取环境变量
const aliyunAppId = config.get('ALIYUN_APP_ID');
🛠 维护和更新
添加新的配置项
- 在所有模板文件中添加新的配置键
- 在对应的实际环境文件中添加真实值
- 在配置管理器中添加对应的获取方法
- 确保清理脚本能识别新的配置项
手动清理敏感信息
node scripts/clean-env.js
环境变量配置说明
📋 概述
为了保护敏感信息(如各网盘的 App ID 和 App Secret),本项目使用统一的环境变量文件来管理所有的敏感配置。不区分开发和生产环境,简化配置管理。
🔧 配置步骤
1. 复制模板文件
cp .env.template .env
2. 填入真实的配置信息
编辑 .env 文件,将占位符替换为真实的密钥:
# 阿里云盘配置(后端用)
ALIYUN_APP_ID=your_real_app_id
ALIYUN_APP_SECRET=your_real_app_secret
# 阿里云盘配置(前端用)
VITE_ALIYUN_APP_ID=your_real_app_id
VITE_ALIYUN_APP_SECRET=your_real_app_secret
注意:前端可访问的环境变量必须以 VITE_ 开头。
🔒 安全机制
自动清理
- 每次
git commit前,系统会自动将.env文件中的所有密钥值清空 - 只保留配置键名,确保不会意外提交敏感信息到 GitHub
- 支持前端和后端的环境变量(VITE_ 前缀和普通前缀)
文件保护
.env文件已添加到.gitignore,不会被提交到版本控制.env.template作为模板文件,只包含键名,可以安全提交- 统一配置,简化管理
📝 在代码中使用配置
前端 Vue 组件中使用
import appConfig from './src/utils/appconfig';
// 获取阿里云盘配置
const { appId, appSecret } = appConfig.getAliyunConfig();
// 获取其他网盘配置
const baiduConfig = appConfig.getBaiduConfig();
const tmdbConfig = appConfig.getTmdbConfig();
// 检查配置完整性
if (!appConfig.validateConfig()) {
console.error('配置不完整,请检查环境变量文件');
}
后端 Node.js 中使用
const config = require('./src/utils/config');
// 获取阿里云盘配置
const aliyunConfig = config.getAliyunConfig();
// 直接获取环境变量
const aliyunAppId = config.get('ALIYUN_APP_ID');
🛠 维护和更新
添加新的配置项
- 在
.env.template中添加新的配置键(后端和前端版本) - 在
.env中添加相应的真实值 - 在配置管理器中添加对应的获取方法
手动清理敏感信息
node scripts/clean-env.js
🏗 项目结构
├── .env # 统一环境变量文件(开发+生产)
├── .env.template # 环境变量模板文件
├── src/utils/config.js # 后端配置管理器
├── src/utils/appconfig.ts # 前端配置管理器
└── scripts/clean-env.js # 环境变量清理脚本
⚠️ 重要提醒
- 环境变量前缀:前端可访问的变量必须以
VITE_开头 - 双重配置:对于需要前后端都访问的配置,需要配置两个版本(VITE_ 和普通)
- 备份重要:在本地保留包含真实密钥的
.env文件备份 - 统一管理:不区分开发和生产环境,使用同一套配置
- 定期检查:确保
.gitignore正确配置,避免意外提交敏感信息
📱 支持的网盘服务
当前配置支持以下服务(每个服务都有后端和前端两个版本):
- ✅ 阿里云盘 (ALIYUN_APP_ID / VITE_ALIYUN_APP_ID, ALIYUN_APP_SECRET / VITE_ALIYUN_APP_SECRET)
- ✅ 百度网盘 (BAIDU_, VITE_BAIDU_)
- ✅ 123网盘 (PAN123_, VITE_PAN123_)
- ✅ 115网盘 (PAN115_, VITE_PAN115_)
- ✅ 夸克网盘 (QUARK_, VITE_QUARK_)
- ✅ 天翼云盘 (TIANYI_, VITE_TIANYI_)
- ✅ TMDB API (TMDB_API_KEY / VITE_TMDB_API_KEY)
- ✅ 其他配置 (ARIA2_SECRET, DATABASE_URL, JWT_SECRET)
🎯 使用场景
| 运行方式 | 使用的环境文件 | 说明 |
|---|---|---|
pnpm dev |
.env |
开发调试 |
pnpm build |
.env |
构建网页版 |
pnpm build:electron |
.env |
打包桌面应用 |
简化优势:
- ✅ 只需要维护一个
.env文件 - ✅ 配置统一,减少出错
- ✅ 适合桌面应用的使用场景
- ✅ 自动清理机制保证安全