修复一些小问题 v.1.9.2 (#108)

* 切换日志查看模块时立即刷新一次日志

* .env和config.yaml挪到config目录下,后续docker要加载配置文件,请挂载./config:/app/config目录,并在config目录中创建.env或config.yaml文件

* 修复b站和爱奇艺平台的优选不生效问题

* 更新小版本号
This commit is contained in:
huangxd- authored and GitHub committed 2025-12-09 23:38:05 +08:00
1 parent 56d95439c7
commit f1bb15ef20
9 files changed
+26 -19

No files matched your search

+12 -12
View File
@@ -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.
+1 -1
View File
@@ -13,7 +13,7 @@ export const Globals = {
accessedEnvVars: {},
// 静态常量
VERSION: '1.9.1',
VERSION: '1.9.2',
MAX_LOGS: 500, // 日志存储,最多保存 500 行
MAX_ANIMES: 100,
+2 -2
View File
@@ -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
View File
@@ -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 文件加载配置
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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}`
});
}
+7
View File
@@ -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 {
// 对于非受保护页面(如配置预览),正常切换