修复一些小问题 v.1.9.2 (#108)
* 切换日志查看模块时立即刷新一次日志 * .env和config.yaml挪到config目录下,后续docker要加载配置文件,请挂载./config:/app/config目录,并在config目录中创建.env或config.yaml文件 * 修复b站和爱奇艺平台的优选不生效问题 * 更新小版本号
This commit is contained in:
1 parent
56d95439c7
commit
f1bb15ef20
9 files changed
+26
-19
No files matched your search
@@ -102,8 +102,8 @@ LogVar 弹幕 API 服务器
|
||||
3. **配置应用**(可选):
|
||||
|
||||
本项目支持三种配置方式,优先级从高到低:
|
||||
1. **.env 文件**(最高优先级)- 复制 `.env.example` 为 `.env` 并修改
|
||||
2. **config.yaml 文件**(中等优先级)- 复制 `config.yaml.example` 为 `config.yaml` 并修改
|
||||
1. **.env 文件**(最高优先级)- 复制 `config/.env.example` 为 `config/.env` 并修改
|
||||
2. **config.yaml 文件**(中等优先级)- 复制 `config/config.yaml.example` 为 `config/config.yaml` 并修改
|
||||
3. **系统环境变量**(最低优先级)
|
||||
|
||||
如果某个系统无法编辑 `.env` 文件,可以使用 `config.yaml` 文件替代。
|
||||
@@ -114,7 +114,7 @@ LogVar 弹幕 API 服务器
|
||||
```
|
||||
服务器将在 `http://{ip}:9321` 运行,默认token是`87654321`。
|
||||
|
||||
**热更新支持**:修改 `.env` 或 `config.yaml` 文件后,应用会自动检测并重新加载配置(无需重启应用)。
|
||||
**热更新支持**:修改 `config/.env` 或 `config/config.yaml` 文件后,应用会自动检测并重新加载配置(无需重启应用)。
|
||||
|
||||
或者使用下面的命令
|
||||
```bash
|
||||
@@ -173,9 +173,9 @@ LogVar 弹幕 API 服务器
|
||||
- 使用`-e TOKEN=87654321`设置`TOKEN`环境变量。
|
||||
- 或使用 `--env-file .env` 加载 .env 文件中的所有环境变量:`docker run -d -p 9321:9321 --name danmu-api --env-file .env logvar/danmu-api:latest`
|
||||
|
||||
**热更新支持**:如需支持环境变量热更新(修改 `.env` 或 `config.yaml` 文件后无需重启容器),请使用 Volume 挂载:
|
||||
**热更新支持**:如需支持环境变量热更新(修改 `config/.env` 或 `config/config.yaml` 文件后无需重启容器),请使用 Volume 挂载:
|
||||
```bash
|
||||
docker run -d -p 9321:9321 --name danmu-api -v $(pwd)/.env:/app/.env -v $(pwd)/config.yaml:/app/config.yaml --env-file .env logvar/danmu-api:latest
|
||||
docker run -d -p 9321:9321 --name danmu-api -v $(pwd)/config:/app/config --env-file .env logvar/danmu-api:latest
|
||||
```
|
||||
|
||||
或使用 docker compose 部署(**推荐,支持环境变量热更新**):
|
||||
@@ -185,10 +185,9 @@ LogVar 弹幕 API 服务器
|
||||
image: logvar/danmu-api:latest
|
||||
ports:
|
||||
- "9321:9321"
|
||||
# 热更新支持:挂载 .env 和 config.yaml 文件,修改后容器会自动重新加载配置(无需重启容器)
|
||||
# 热更新支持:挂载 config/.env 和 config/config.yaml 文件,修改后容器会自动重新加载配置(无需重启容器)
|
||||
volumes:
|
||||
- ./.env:/app/.env
|
||||
- ./config.yaml:/app/config.yaml
|
||||
- ./config:/app/config # config目录下需要创建.env或config.yaml
|
||||
- ./.chche:/app/.cache # 配置.chche目录,会将缓存实时保存在本地文件
|
||||
restart: unless-stopped
|
||||
```
|
||||
@@ -444,9 +443,10 @@ danmu_api/
|
||||
│ └── workflows/
|
||||
│ ├── docker-image.yml # Docker镜像构建和推送工作流
|
||||
│ └── sync_fork.yml # Fork同步上游仓库工作流(vercel自动同步配置文件)
|
||||
├── .env.example # .env 配置文件示例
|
||||
├── config/
|
||||
│ ├── .env.example # .env 配置文件示例
|
||||
│ └── config.yaml.example # YAML 配置文件示例(无法编辑 .env 时使用)
|
||||
├── .gitignore
|
||||
├── config.yaml.example # YAML 配置文件示例(无法编辑 .env 时使用)
|
||||
├── Dockerfile
|
||||
├── edgeone.json # edgeone pages 配置文件
|
||||
├── LICENSE
|
||||
@@ -532,8 +532,8 @@ danmu_api/
|
||||
## 注意事项
|
||||
|
||||
### 热更新相关
|
||||
- **本地运行**:修改 `.env` 或 `config.yaml` 文件后,应用会自动检测并重新加载配置(无需重启应用)。
|
||||
- **Docker 部署**:需要使用 Volume 挂载 `.env` 和/或 `config.yaml` 文件才能支持热更新。推荐使用 docker compose 部署(见"Docker 一键启动"部分),配置 Volume 后修改配置文件容器会自动重新加载配置。
|
||||
- **本地运行**:修改 `config/.env` 或 `config/config.yaml` 文件后,应用会自动检测并重新加载配置(无需重启应用)。
|
||||
- **Docker 部署**:需要使用 Volume 挂载 `config/.env` 和/或 `config/config.yaml` 文件才能支持热更新。推荐使用 docker compose 部署(见"Docker 一键启动"部分),配置 Volume 后修改配置文件容器会自动重新加载配置。
|
||||
- **Vercel/Netlify/Cloudflare**:需要在平台的环境变量设置中修改,然后重新部署才能生效。
|
||||
- **配置优先级**:系统环境变量 > .env 文件 > config.yaml 文件
|
||||
|
||||
|
||||
File renamed without changes.
File renamed without changes.
@@ -13,7 +13,7 @@ export const Globals = {
|
||||
accessedEnvVars: {},
|
||||
|
||||
// 静态常量
|
||||
VERSION: '1.9.1',
|
||||
VERSION: '1.9.2',
|
||||
MAX_LOGS: 500, // 日志存储,最多保存 500 行
|
||||
MAX_ANIMES: 100,
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@ export class NodeHandler extends BaseHandler {
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
|
||||
const envPath = path.join(__dirname, '..', '..', '..', '.env');
|
||||
const yamlPath = path.join(__dirname, '..', '..', '..', 'config.yaml');
|
||||
const envPath = path.join(__dirname, '..', '..', '..', 'config', '.env');
|
||||
const yamlPath = path.join(__dirname, '..', '..', '..', 'config', 'config.yaml');
|
||||
|
||||
const envExists = fs.existsSync(envPath);
|
||||
const yamlExists = fs.existsSync(yamlPath);
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@ const dotenv = require('dotenv');
|
||||
const yaml = require('js-yaml');
|
||||
|
||||
// 配置文件路径在项目根目录(server.js 的上一级目录)
|
||||
const envPath = path.join(__dirname, '..', '.env');
|
||||
const yamlPath = path.join(__dirname, '..', 'config.yaml');
|
||||
const envPath = path.join(__dirname, '..', 'config', '.env');
|
||||
const yamlPath = path.join(__dirname, '..', 'config', 'config.yaml');
|
||||
|
||||
/**
|
||||
* 从 YAML 文件加载配置
|
||||
|
||||
@@ -413,7 +413,7 @@ export default class BilibiliSource extends BaseSource {
|
||||
const links = eps.map((ep, index) => ({
|
||||
name: `${index + 1}`,
|
||||
url: ep.link,
|
||||
title: `【bilibili】 ${ep.title}`
|
||||
title: `【bilibili1】 ${ep.title}`
|
||||
}));
|
||||
|
||||
const numericAnimeId = convertToAsciiSum(anime.mediaId);
|
||||
|
||||
@@ -650,7 +650,7 @@ export default class IqiyiSource extends BaseSource {
|
||||
links.push({
|
||||
"name": ep.order.toString(),
|
||||
"url": fullUrl,
|
||||
"title": `【iqiyi】 ${ep.title}`
|
||||
"title": `【qiyi】 ${ep.title}`
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -299,6 +299,13 @@ function switchSection(section) {
|
||||
event.target.classList.add('active');
|
||||
|
||||
addLog(\`切换到\${section === 'env' ? '环境变量' : section === 'preview' ? '配置预览' : section === 'logs' ? '日志查看' : section === 'push' ? '推送弹幕' : '接口调试'}模块\`, 'info');
|
||||
|
||||
// 如果切换到日志查看页面,则立即刷新日志
|
||||
if (section === 'logs') {
|
||||
if (typeof fetchRealLogs === 'function') {
|
||||
fetchRealLogs();
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 对于非受保护页面(如配置预览),正常切换
|
||||
|
||||
Reference in new issue
Block a user