暂无考试记录,去「模拟考试」考一次吧
暂无做题记录,刷几道题后这里会显示各科目正确率
CREATE TABLE IF NOT EXISTS public.review_schedule ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, question_id BIGINT NOT NULL, stage INT DEFAULT 0, wrong_times INT DEFAULT 0, last_review_at TIMESTAMPTZ, next_review_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE(user_id, question_id) ); ALTER TABLE public.review_schedule DISABLE ROW LEVEL SECURITY; ALTER TABLE public.questions ADD COLUMN IF NOT EXISTS tags TEXT DEFAULT '';
在 Supabase → SQL Editor 粘贴执行即可。执行后刷新页面。
规则:答错的题和收藏的题自动进入复习计划,按记忆周期(1→2→4→7→15→30天)排期。复习时点「✅记得」推进周期、「❌忘了」重置。6轮全部记得=掌握牢固毕业。
CREATE TABLE IF NOT EXISTS public.exam_records ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, exam_name TEXT NOT NULL, subject TEXT, total_questions INT DEFAULT 0, correct_count INT DEFAULT 0, score INT DEFAULT 0, total_score INT DEFAULT 0, detail_json TEXT, duration_sec INT DEFAULT 0, created_at TIMESTAMPTZ DEFAULT NOW() ); ALTER TABLE public.exam_records DISABLE ROW LEVEL SECURITY;
在 Supabase → SQL Editor 粘贴执行即可。执行后刷新页面。
暂无考试记录
CREATE TABLE IF NOT EXISTS public.wrong_questions ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, question_id BIGINT NOT NULL, wrong_times INT DEFAULT 1, last_wrong_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE(user_id, question_id) ); ALTER TABLE public.wrong_questions DISABLE ROW LEVEL SECURITY;
在 Supabase → SQL Editor 粘贴执行即可。执行后刷新页面。
CREATE TABLE IF NOT EXISTS public.knowledge ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, title TEXT NOT NULL, content_html TEXT NOT NULL, created_at TIMESTAMPTZ DEFAULT NOW() ); ALTER TABLE public.knowledge DISABLE ROW LEVEL SECURITY;
在 Supabase → SQL Editor 粘贴执行即可。执行后刷新页面。
勾选要共享的科目,输入好友用户名,点击批量共享
已选 0 个科目
CREATE TABLE IF NOT EXISTS public.favorites ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, question_id BIGINT NOT NULL, created_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE(user_id, question_id) ); ALTER TABLE public.favorites DISABLE ROW LEVEL SECURITY; CREATE TABLE IF NOT EXISTS public.question_notes ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, question_id BIGINT NOT NULL, note TEXT DEFAULT '', updated_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE(user_id, question_id) ); ALTER TABLE public.question_notes DISABLE ROW LEVEL SECURITY; CREATE TABLE IF NOT EXISTS public.knowledge_notes ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, knowledge_id BIGINT NOT NULL, note TEXT DEFAULT '', updated_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE(user_id, knowledge_id) ); ALTER TABLE public.knowledge_notes DISABLE ROW LEVEL SECURITY; CREATE TABLE IF NOT EXISTS public.answer_log ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, question_id BIGINT NOT NULL, is_correct BOOLEAN NOT NULL, answered_at TIMESTAMPTZ DEFAULT NOW() ); ALTER TABLE public.answer_log DISABLE ROW LEVEL SECURITY; ALTER TABLE public.questions ADD COLUMN IF NOT EXISTS version TEXT DEFAULT ''; -- ===== V12 新增:复习计划 + 题目标签(必须执行)===== ALTER TABLE public.questions ADD COLUMN IF NOT EXISTS tags TEXT DEFAULT ''; CREATE TABLE IF NOT EXISTS public.review_schedule ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, question_id BIGINT NOT NULL, stage INT DEFAULT 0, wrong_times INT DEFAULT 0, last_review_at TIMESTAMPTZ, next_review_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE(user_id, question_id) ); ALTER TABLE public.review_schedule DISABLE ROW LEVEL SECURITY;
移动科目:把选中科目的全部题目批量改到目标科目(不会删除原题,用于题库整理);导出为TXT可直接再导入。
一键导出全部数据(题目、错题、收藏、题目笔记、知识点、知识点笔记、考试记录、做题记录)为JSON文件本地保存;恢复时选择备份文件回滚。
AI 在 Cloudflare 内置运行(通义千问模型),不需要申请任何第三方 API Key,密钥根本不存在,最安全。
部署步骤(只做一次):① 部署文件夹里放 _worker.js(我提供的文件)与 index.html 同级,整个文件夹拖拽上传到 Pages 项目;
② Pages 项目「设置 → Functions → 绑定 → 添加」→ 类型选 AI(Workers AI) → 名称填 AI → 保存后重新部署;
③ 管理员把 https://你的项目名.pages.dev/api/ai 填到下面并保存(示例:https://st6.pages.dev/api/ai)。
保存后自动同步到云端:所有账号(含手机等其他设备)登录即可用,普通账号无需填写、自动使用管理员配置。
免费额度:每日 10000 Neurons(约几百次刷题讲解)。可选变量 AI_MODEL:默认 @cf/qwen/qwen3-30b-a3b-fp8(中文强、最省额度)。
代理地址不包含密钥、可公开共享。仅管理员可修改:管理员保存后写入云端,全站所有账号在所有设备自动生效;普通账号只读。记住。
切换后自动记住偏好,下次打开保持。
点击切换预设标签;也可输入自定义标签(逗号分隔,#可不写)。保存后可用标签筛选刷题。