如何往「追剧计划」批量添加剧集

1333 字
7 分钟
如何往「追剧计划」批量添加剧集

本站的「追剧计划」页面位于 /bangumi/,是一个多卡片列表:顶部是分类标签栏(全部 / 电视剧 / 电影 / 动漫,带数量),下方是状态筛选行(全部 / 看过 / 在看 / 想看),主体是剧集卡片网格。

所有剧集数据来自文件 src/pages/bangumi.astro 顶部脚本里的 dramaList 数组。要「添加剧集」,本质就是往这个数组里追加对象。分类数量和状态数量的角标会自动计算,无需手动维护。

一、了解数据在哪里#

打开 src/pages/bangumi.astro,在 --- 脚本区找到 dramaList 数组(就在 interface DramaItem 定义之后):

const dramaList: DramaItem[] = [
{
id: "1",
title: "妻子的浪漫旅行 2026",
cover: "https://static.iyf.tv/upload/video/202604091112181251873.jpg",
year: 2026,
rating: 0,
status: "watching",
category: "tv",
tags: ["综艺", "真人秀"],
url: "https://www.iyf.tv/play/YbbTMTCTNL7",
},
// 继续添加更多剧集...
];

二、每个字段的含义#

每部剧是一个 DramaItem 对象,字段如下:

字段类型说明可选值
idstring唯一标识,不能重复任意字符串,如 "1""2"
titlestring剧名,显示在封面底部
coverstring封面图 URL建议用 iyf.tv 的 static.iyf.tv/... 地址
yearnumber年份,显示在卡片下方2026
ratingnumber评分 0–10设为 0 则不显示评分星
statusstring观看状态,决定左上角标签颜色和文案wish / watching / watched
categorystring所属分类,决定归入哪个分类标签tv / movie / anime
tagsstring[]类型标签数组,显示在卡片底部["纯爱", "校园"]
urlstring点击卡片跳转的链接iyf.tv 播放页或其他

状态 → 标签颜色 / 文案对照#

status左上角标签颜色
"wish"想看蓝色 bg-blue-500
"watching"在看黄色 bg-yellow-500
"watched"看过绿色 bg-green-500

分类 → 标签对照#

category分类标签
"tv"电视剧
"movie"电影
"anime"动漫

三、获取封面图地址#

打开 iyf.tv 找到目标剧,进入播放页:

  • 方法 A(DevTools)F12 → Elements 面板 → 找封面 <img>(类名常含 ng-star-inserted)→ 复制 src(形如 https://static.iyf.tv/upload/video/...jpg
  • 方法 B(og:抓页面 HTML 头部 <meta property="og:image"> 的值,即为标准封面地址

详细步骤见 《如何添加要追的剧》

四、添加单部剧集#

dramaList 数组里,在最后一个对象之后加一个逗号,然后追加新对象:

{
id: "2",
title: "示例动漫",
cover: "https://static.iyf.tv/upload/video/示例.jpg",
year: 2025,
rating: 8.3,
status: "wish", // 想看(蓝标)
category: "anime", // 动漫
tags: ["纯爱", "校园", "恋爱"],
url: "https://www.iyf.tv/play/示例ID",
},

保存后,分类标签和状态筛选的角标会自动重新统计——例如新增一部 category: "anime" 的剧,「动漫」标签数量 +1;status: "wish" 的剧会让「想看」筛选数量 +1。无需手动改任何计数代码。

五、批量添加多部剧集#

直接一次往数组里追加多个对象即可,例如:

const dramaList: DramaItem[] = [
{
id: "1",
title: "妻子的浪漫旅行 2026",
cover: "https://static.iyf.tv/upload/video/202604091112181251873.jpg",
year: 2026,
rating: 0,
status: "watching",
category: "tv",
tags: ["综艺", "真人秀"],
url: "https://www.iyf.tv/play/YbbTMTCTNL7",
},
{
id: "2",
title: "繁花",
cover: "https://static.iyf.tv/upload/video/flower.jpg",
year: 2024,
rating: 8.5,
status: "watched",
category: "tv",
tags: ["剧情", "年代"],
url: "https://www.iyf.tv/play/xxx2",
},
{
id: "3",
title: "你的名字。",
cover: "https://static.iyf.tv/upload/video/kiminona.jpg",
year: 2016,
rating: 9.0,
status: "watched",
category: "anime",
tags: ["治愈", "恋爱", "奇幻"],
url: "https://www.iyf.tv/play/xxx3",
},
{
id: "4",
title: "星际穿越",
cover: "https://static.iyf.tv/upload/video/interstellar.jpg",
year: 2014,
rating: 9.4,
status: "wish",
category: "movie",
tags: ["科幻", "剧情"],
url: "https://www.iyf.tv/play/xxx4",
},
];

提示:

  • id 保持唯一即可,不要求连续。
  • 不需要的剧直接删掉整个 { ... } 对象(连同后面的逗号),计数会自动减少。
  • 想隐藏某部剧但不删除,可临时把它的 status 改成不常用的状态,或注释掉该对象(注意 Ts 数组语法)。

六、本地预览#

改完后在项目根目录执行:

Terminal window
pnpm build && pnpm preview --port 4321

浏览器打开 http://localhost:4321/bangumi/(强制刷新 Cmd + Shift + R),确认:

  • 卡片封面、标题、年份、类型标签显示正常
  • 顶部分类标签数量与状态筛选数量已自动更新
  • 点击分类 / 状态按钮,卡片能正确过滤

若只想快速看草稿效果,可用 astro dev(默认 4321 端口,开发模式)热更新更方便。

七、发布上线(腾讯云宝塔 Linux 面板)#

本站是纯静态站点(pnpm build 的产物在 dist/ 目录),部署到宝塔只需上传 dist/ 到网站根目录。

准备#

  • 宝塔面板已创建站点(如 你的域名),记下根目录(通常 /www/wwwroot/你的域名/
  • 站点已绑定域名,Web 服务由宝塔自动处理

方式 A:手动上传#

  1. 本地构建:pnpm build
  2. 宝塔 → 文件 → 进入网站根目录
  3. 清空旧文件(保留 .user.ini 等宝塔配置),把本地 dist/ 全部内容上传进去
  4. 访问域名即生效

方式 B:宝塔 Git + WebHook 自动部署#

  1. 宝塔安装「宝塔 WebHook」插件
  2. 服务器 git clone 仓库,执行 pnpm install && pnpm build
  3. 配置 WebHook 脚本:git pull && pnpm install && pnpm build 并把 dist/ 复制到根目录
  4. 本地 git push 后宝塔自动拉取并重建上线

小结#

  1. 复制 iyf.tv 播放页链接 → 填进 url
  2. 抓取 static.iyf.tv 封面图 URL → 填进 cover
  3. src/pages/bangumi.astrodramaList 数组追加一个 DramaItem 对象
  4. 设置 statuswish/watching/watched)与 categorytv/movie/anime
  5. pnpm build && pnpm preview 本地验证,确认计数自动更新
  6. dist/ 上传宝塔根目录(手动 或 Git 自动部署)上线

分类与状态的角标数量由代码在构建时自动统计,你只管往数组里加对象,不用碰计数逻辑。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

如何往「追剧计划」批量添加剧集
https://szii.online/posts/how-to-add-dramas-bangumi/
作者
Evin
发布于
2026-07-13
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Evin
Hello, I'm Evin.
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
3
分类
2
标签
5
总字数
2,409
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Evin v0.0.1
文章许可
CC BY-NC-SA 4.0

文章目录