From 5bd9dc0dd9c9892c69621e042de5157ca09cc0a8 Mon Sep 17 00:00:00 2001 From: maogeigei Date: Thu, 3 Sep 2026 11:54:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E6=A6=9C=E5=8D=95?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E8=B7=AF=E5=BE=84=E8=B7=9F=E9=9A=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E5=88=86=E5=B1=82=EF=BC=9ARANKING=5FDIR=20?= =?UTF-8?q?=E7=94=B1=E9=92=89=E6=AD=BB=20D:/dshworkspace=20=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E8=BF=90=E8=A1=8C=E6=97=B6=E5=88=A4=E5=AE=9A=E2=80=94?= =?UTF-8?q?=E2=80=94MCN=5FRANKING=5FDIR=20env=20=E4=BC=98=E5=85=88=20>=20.?= =?UTF-8?q?dsh=20=E9=83=A8=E7=BD=B2=E5=9B=9E=E9=80=80=20dshworkspace=20>?= =?UTF-8?q?=20=E5=BC=80=E5=8F=91=E6=9C=BA/=E7=94=A8=E6=88=B7=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E6=A1=8C=E9=9D=A2=20MCNSkill=E9=A1=B9=E7=9B=AE\?= =?UTF-8?q?=E4=B8=89=E6=96=B9=E6=95=B0=E6=8D=AE\=E7=BA=A2=E7=8B=90?= =?UTF-8?q?=E6=95=B0=E6=8D=AE\=E6=8A=96=E9=9F=B3=E6=A6=9C=E5=8D=95?= =?UTF-8?q?=EF=BC=88=E7=9C=9F=E5=AE=9E=E6=A1=8C=E9=9D=A2=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=20OneDrive=20=E9=87=8D=E5=AE=9A=E5=90=91?= =?UTF-8?q?=EF=BC=89=EF=BC=9B27=20=E4=B8=AA=E5=91=A8=E6=A6=9C=20json=20?= =?UTF-8?q?=E5=B7=B2=E8=BF=81=E7=A7=BB=E8=87=B3=E6=A1=8C=E9=9D=A2=E6=96=B0?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=EF=BC=8Cranking=20=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9E=E6=B5=8B=20450=20=E6=9D=A1=E8=AF=BB=E5=8F=96=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V1.0/mcn-work-shop/dsh-data.js | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js b/project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js index 9f690dd..fb1aec1 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js @@ -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;