工作台榜单读取路径跟随数据源分层:RANKING_DIR 由钉死 D:/dshworkspace 改为运行时判定——MCN_RANKING_DIR env 优先 > .dsh 部署回退 dshworkspace > 开发机/用户环境桌面 MCNSkill项目\三方数据\红狐数据\抖音榜单(真实桌面解析兼容 OneDrive 重定向);27 个周榜 json 已迁移至桌面新目录,ranking 接口实测 450 条读取正常
This commit is contained in:
1 parent
210939b4a7
commit
5bd9dc0dd9
1 file changed
+21
-4
@@ -1,5 +1,5 @@
|
||||
// MCN工作台 - 数据访问层(只读复用 dsh 环境数据)
|
||||
// 数据源:工作台目录 mcn-plugin.db(dsh 库副本,node:sqlite 只读)+ D:\dshworkspace\抖音榜单\*.json
|
||||
// MCN工作台 - 数据访问层(只读复用业务数据目录)
|
||||
// 数据源:工作台目录 mcn-plugin.db(dsh 库副本,node:sqlite 只读)+ 三方数据目录 抖音榜单/*.json
|
||||
// 与 dsh 原库(~/.dsh/mcn-plugin.db)隔离:两边各访问各的,互不影响
|
||||
// 页面逻辑参照 dsh-plugin-mcn 重新开发,仅复用数据库 schema 与榜单文件格式
|
||||
'use strict';
|
||||
@@ -7,11 +7,28 @@
|
||||
const { DatabaseSync } = require('node:sqlite');
|
||||
const path = require('node:path');
|
||||
const fs = require('node:fs');
|
||||
const os = require('node:os');
|
||||
|
||||
// 工作台自有数据库副本(与 dsh 原库隔离)
|
||||
const DSH_DB = path.join(__dirname, 'mcn-plugin.db');
|
||||
// 周榜目录:默认 dsh 工作区;可用环境变量 MCN_RANKING_DIR 覆盖
|
||||
const RANKING_DIR = process.env.MCN_RANKING_DIR || 'D:\\dshworkspace\\抖音榜单';
|
||||
|
||||
// 榜单目录解析(09-03 定稿:跟随 mcn-data-insight 榜单落盘规范的数据源分层)
|
||||
// 优先级:① 环境变量 MCN_RANKING_DIR 显式覆盖 → ② dsh 部署(技能在 ~/.dsh 下)→ D:\dshworkspace\抖音榜单
|
||||
// → ③ 开发机/用户环境(①③):桌面 MCNSkill项目\三方数据\红狐数据\抖音榜单(运行时解析真实桌面,兼容 OneDrive 重定向)
|
||||
function resolveRankingDir() {
|
||||
if (process.env.MCN_RANKING_DIR) return process.env.MCN_RANKING_DIR;
|
||||
const isDshDeploy = __dirname.includes('.dsh');
|
||||
if (isDshDeploy) return 'D:\\dshworkspace\\抖音榜单';
|
||||
const home = os.homedir();
|
||||
const rel = path.join('MCNSkill项目', '三方数据', '红狐数据', '抖音榜单');
|
||||
const candidates = [
|
||||
path.join(home, 'Desktop', rel),
|
||||
path.join(home, 'OneDrive', 'Desktop', rel),
|
||||
path.join(home, 'OneDrive', '桌面', rel),
|
||||
];
|
||||
return candidates.find((p) => fs.existsSync(p)) || candidates[0];
|
||||
}
|
||||
const RANKING_DIR = resolveRankingDir();
|
||||
|
||||
let _db = null;
|
||||
let _dbTried = false;
|
||||
|
||||
Reference in new issue
Block a user