Files
moeplayer/AGENTS.md
T
王阳 5609532c80 阶段2改名:ckplayer → MoePlayer
- 目录 ckplayer/ → moeplayer/,核心文件/皮肤/图片同步改名
- 全局 API:new MoePlayer(...),UMD 导出 global.MoePlayer
- CSS 类名 ckplayer-ckplayer-* 折叠为 moeplayer-*,JS 与 CSS 同步
- 语言包全局变量、cookie 名、getPath() 脚本名判断同步
- 移除右键菜单默认指向旧官网的 link
- 构建与 index.html 同步更新
2026-07-21 10:33:38 +08:00

3.5 KiB
Raw Blame History

AGENTS.md

项目简介

MoePlayer —— 一款中文友好的开源网页视频播放器(MIT 协议),fork 自已停止维护的 ckplayer X3。支持 mp4 / flv / m3u8 / ts 等格式,点播、直播、直播回放,PC 与移动端 H5。

目标定位:中文文档 + 主流浏览器/手机 H5 支持 + 官方 Moodle media 插件(media_moeplayer,独立仓库)。

注意:当前处于改造阶段 2(改名 + 模块化)。改名已完成:目录 moeplayer/、全局变量/API 为 MoePlayer(语言包全局变量 moeplayerLanguage);单文件拆分为 ES Module 待做。

目录结构

├── index.html            # 演示/测试页(含 API 调用示例)
├── package.json          # npm 工程化入口,依赖与构建脚本
├── scripts/build.js      # 构建脚本:压缩核心 + 从 node_modules 拷贝运行时库
├── moeplayer/            # 播放器本体,部署时整个上传到网站
│   ├── js/moeplayer.js   # 核心源码(UMD 模块,~7400 行,ES5
│   ├── js/moeplayer.min.js # 压缩版,【由 npm run build 自动生成,勿手改】
│   ├── css/moeplayer.css # 默认皮肤;另有 moeplayer.red.css、moeplayer.ixigua.css
│   ├── css/images/       # 皮肤图片资源
│   ├── language/         # 语言包:zh.cn.js(默认内嵌)、zh.hk.js、en.js
│   ├── hls.js/           # hls.min.js,【由构建从 npm 包拷贝,勿手改】
│   ├── flv.js/           # flv.min.js,同上(flv.js 已停维护,阶段4将移除)
│   └── mpegts.js/        # mpegts.js,同上
└── video/                # 演示用视频与封面

构建与依赖

  • 安装:npm install
  • 构建:npm run build —— 做两件事:
    1. terser 压缩 moeplayer/js/moeplayer.jsmoeplayer.min.js
    2. 从 node_modules 拷贝 hls.js / flv.js / mpegts.js 的产物及 LICENSE 到 moeplayer/ 对应目录
  • 改动 moeplayer.js 后必须执行 npm run build 重新生成 min 版
  • 升级依赖:改 package.json 版本号后 npm install && npm run build
  • 运行时机制:播放器用 getPath() 定位自身所在目录,按需动态 <script> 加载同级 hls.js/ 等目录里的文件,库挂全局变量(Hls/flvjs/mpegts)。这个目录结构约定不能破坏

测试方式

没有自动化测试。手动验证:在本目录起静态服务器(python3 -m http.server),打开 index.html,用页面上的播放/暂停/seek/全屏等按钮回归核心功能。(Playwright 浏览器自动化测试在后续阶段引入)

代码风格

  • 注释与文档使用中文(项目惯例)
  • 核心源码为单文件 ES5 风格(var、函数式),阶段 2/3 重构前保持一致,不要引入 ES6+ 语法
  • moeplayer/ 下由构建生成的文件(min.js、hls.js/flv.js/mpegts.js 目录内容)不要手动修改

Git 约定

  • 主仓库在私有 Giteagit.eryang.wang(待迁移,当前 origin 还是上游 gitee
  • 未经用户明确要求,不执行 git commit/push 等变更操作

改造路线图

  1. 工程化:npm + 构建脚本 + 依赖 npm 化(已完成)
  2. 改名 ckplayer → MoePlayer(已完成)+ 单文件拆分为 ES Module(待做)+ README 重写
  3. 核心与 UI 分层、皮肤改用 CSS 变量 + SVG 图标
  4. 协议插件化(hls/mpegts 按需加载,移除 flv.js)、移动端 H5 兼容专项
  5. Moodle media 插件(独立仓库 moodle-media_moeplayer
  6. 发布:Gitea 主仓库 + 中文文档站