Skip to content

pe01q/mooncf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

mooncf


Cloudflare 部署 Cloudflare Pages 的环境变量尽量设置为密钥而非文本

普通部署(localstorage) Fork 本仓库到你的 GitHub 账户。 登陆 Cloudflare,点击 计算(Workers)-> Workers 和 Pages,点击创建 选择 Pages,导入现有的 Git 存储库,选择 Fork 后的仓库 构建命令填写 pnpm install --frozen-lockfile && pnpm run pages:build,预设框架为无,构建输出目录为 .vercel/output/static 保持默认设置完成首次部署。进入设置,将兼容性标志设置为 nodejs_compat 首次部署完成后进入设置,新增 PASSWORD 密钥(变量和机密下),而后重试部署。 如需自定义 config.json,请直接修改 Fork 后仓库中该文件。 每次 Push 到 main 分支将自动触发重新构建。 D1 支持 完成普通部署并成功访问 点击 存储和数据库 -> D1 SQL 数据库,创建一个新的数据库,名称随意 进入刚创建的数据库,点击左上角的 Explore Data,将D1 初始化 中的内容粘贴到 Query 窗口后点击 Run All,等待运行完成 返回你的 pages 项目,进入 设置 -> 绑定,添加绑定 D1 数据库,选择你刚创建的数据库,变量名称填 DB 设置环境变量 NEXT_PUBLIC_STORAGE_TYPE,值为 d1;设置 USERNAME 和 PASSWORD 作为站长账号 重试部署

CREATE TABLE IF NOT EXISTS users ( username TEXT PRIMARY KEY, password TEXT NOT NULL, created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) );

CREATE TABLE IF NOT EXISTS play_records ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, key TEXT NOT NULL, title TEXT NOT NULL, source_name TEXT NOT NULL, cover TEXT NOT NULL, year TEXT NOT NULL, index_episode INTEGER NOT NULL, total_episodes INTEGER NOT NULL, play_time INTEGER NOT NULL, total_time INTEGER NOT NULL, save_time INTEGER NOT NULL, search_title TEXT, UNIQUE(username, key) );

CREATE TABLE IF NOT EXISTS favorites ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, key TEXT NOT NULL, title TEXT NOT NULL, source_name TEXT NOT NULL, cover TEXT NOT NULL, year TEXT NOT NULL, total_episodes INTEGER NOT NULL, save_time INTEGER NOT NULL, UNIQUE(username, key) );

CREATE TABLE IF NOT EXISTS search_history ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, keyword TEXT NOT NULL, created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')), UNIQUE(username, keyword) );

CREATE TABLE IF NOT EXISTS admin_config ( id INTEGER PRIMARY KEY DEFAULT 1, config TEXT NOT NULL, updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) );

CREATE TABLE IF NOT EXISTS skip_configs ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, source TEXT NOT NULL, id_video TEXT NOT NULL, enable INTEGER NOT NULL DEFAULT 0, intro_time INTEGER NOT NULL DEFAULT 0, outro_time INTEGER NOT NULL DEFAULT 0, UNIQUE(username, source, id_video) );

-- 基本索引 CREATE INDEX IF NOT EXISTS idx_play_records_username ON play_records(username); CREATE INDEX IF NOT EXISTS idx_favorites_username ON favorites(username); CREATE INDEX IF NOT EXISTS idx_search_history_username ON search_history(username);

-- 复合索引优化查询性能 -- 播放记录:用户名+键值的复合索引,用于快速查找特定记录 CREATE INDEX IF NOT EXISTS idx_play_records_username_key ON play_records(username, key); -- 播放记录:用户名+保存时间的复合索引,用于按时间排序的查询 CREATE INDEX IF NOT EXISTS idx_play_records_username_save_time ON play_records(username, save_time DESC);

-- 收藏:用户名+键值的复合索引,用于快速查找特定收藏 CREATE INDEX IF NOT EXISTS idx_favorites_username_key ON favorites(username, key); -- 收藏:用户名+保存时间的复合索引,用于按时间排序的查询 CREATE INDEX IF NOT EXISTS idx_favorites_username_save_time ON favorites(username, save_time DESC);

-- 搜索历史:用户名+关键词的复合索引,用于快速查找/删除特定搜索记录 CREATE INDEX IF NOT EXISTS idx_search_history_username_keyword ON search_history(username, keyword); -- 搜索历史:用户名+创建时间的复合索引,用于按时间排序的查询 CREATE INDEX IF NOT EXISTS idx_search_history_username_created_at ON search_history(username, created_at DESC);

-- 跳过片头片尾配置:用户名+源+视频ID的复合索引,用于快速查找特定配置 CREATE INDEX IF NOT EXISTS idx_skip_configs_username_source_id ON skip_configs(username, source, id_video);

-- 搜索历史清理查询的优化索引 CREATE INDEX IF NOT EXISTS idx_search_history_username_id_created_at ON search_history(username, id, created_at DESC);

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published