📚 追爽文背单词
NEW新版上线:发音功能+词性释义+复习模式+Excel导出
📚 追爽文背单词
NEW新版上线:发音功能+词性释义+复习模式+Excel导出
🌸
🌺
🌻

追爽文,顺便把单词背了

沉浸式英语进化 · 根本停不下来
别背单词了,追故事去。
在情节里自然习得地道表达,像追更一样上瘾。
【四级故事】
✅ 可进入
📚 10000 词 🎯 四级高频核心
把四级词汇藏进故事里,读着读着就记住了
【六级故事】
✅ 可进入
📚 9500 词 🎯 六级高频核心
霸总剧情中轻松掌握六级词汇,越追越上头
【考研故事】
✅ 可进入
📚 8000 词 🎯 考研核心考点
剧情推进中积累考研词汇,不背也能记住
【雅思故事】
✅ 可进入
📚 9400 词 🎯 雅思高频表达
爽文剧情里自然习得雅思词汇,备考不再痛苦
🔑 登录
登录后管理你的兑换码和设备
📱 设备绑定
+ 录入兑换码
请输入你购买的兑换码
🔑 登录
登录后管理你的兑换码和设备
📱 设备绑定
+ 录入兑换码
请输入你购买的兑换码
var UM_QS=['你的出生城市是?','你的小学名称是?','你最喜欢的一本书是?','你的母亲姓名是?','你的父亲姓名是?']; function umLoad(k){try{return JSON.parse(localStorage.getItem(k)||'[]')}catch(e){return[]}} function umSave(k,v){localStorage.setItem(k,JSON.stringify(v))} function umGetUser(){return JSON.parse(localStorage.getItem('um_cur_user')||'null')} function umSetUser(u){localStorage.setItem('um_cur_user',JSON.stringify(u))} (function(){ if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',initUM)}else{initUM()} function initUM(){ var users=umLoad('um_users'),found=false; for(var i=0;i'+''+''; else a.innerHTML=''; } function umLogout(){umSetUser(null);renderNavUser();umToast('已退出')} function showUmPage(p){ document.getElementById('umOverlay').classList.add('active'); document.querySelectorAll('.um-page').forEach(function(e){e.style.display='none'}); var el=document.getElementById('umPage'+p.charAt(0).toUpperCase()+p.slice(1)); if(el)el.style.display='block'; if(p==='register')renderRegSecQ(); if(p==='forgot'){document.getElementById('forgotPhone').value='';document.getElementById('forgotArea').style.display='none';document.getElementById('umBtnVerify').style.display='';document.getElementById('umBtnReset').style.display='none'} if(p==='dashboard'){renderDashStats();renderDashCodes()} } function hideUm(){document.getElementById('umOverlay').classList.remove('active')} function umDoLogin(){ var ph=document.getElementById('umLoginPhone').value.trim(),pw=document.getElementById('umLoginPwd').value; if(!/^1[3-9]\d{9}$/.test(ph))return umToast('请输入正确的手机号');if(!pw)return umToast('请输入密码'); var us=umLoad('um_users'),ur=null;for(var i=0;i'}c.innerHTML=h} function umDoRegister(){ var ph=document.getElementById('umRegPhone').value.trim(),pw=document.getElementById('umRegPwd').value,pw2=document.getElementById('umRegPwd2').value; if(!/^1[3-9]\d{9}$/.test(ph))return umToast('请输入正确的手机号'); var us=umLoad('um_users');for(var i=0;i
问题'+(i+1)+':'+u.security[i].q+'
✓ 答对其中1题即可重置
';c.innerHTML=h; document.getElementById('forgotArea').style.display='';document.getElementById('umBtnVerify').style.display='none';document.getElementById('umBtnReset').style.display=''; } function umResetPwd(){if(!_fu)return;var ok=false;for(var i=0;i<_fu.security.length;i++){var ae=document.getElementById('umForgotA'+i);if(ae){var av=ae.value.trim();if(av&&av===_fu.security[i].a){ok=true;break}}}if(!ok)return umToast('安全问题回答错误');var pw=document.getElementById('umForgotNewPwd').value,pw2=document.getElementById('umForgotNewPwd2').value;if(pw.length<6)return umToast('密码至少6位');if(pw!==pw2)return umToast('两次密码不一致');var us=umLoad('um_users');for(var i=0;i0)ac++}var el=document.getElementById('dashStats');if(el)el.innerHTML='
'+my.length+'
兑换码
'+ac+'
已绑定系统
'+td+'
设备绑定
'+(5*my.length-td)+'
剩余额度
';} function renderDashCodes(){var cd=umLoad('um_codes'),my=[],dv=umLoad('m_devices'),usr=umGetUser();for(var i=0;i
🔑

暂无兑换码

';return}var sl={cet4:'CET-4',cet6:'CET-6',kaoyan:'考研',ielts:'IELTS'},h='';for(var i=0;i
'+c.code+'
'+(sl[c.system]||c.system)+'
📱 绑定 '+ds.length+'/5 设备📅 '+c.createdAt+'
');}el.innerHTML=h;} function showDevModal(cid){var cd=umLoad('m_codes'),co=null;for(var i=0;i
📱
'+d.deviceId+'
IP:'+d.ip+' · '+d.boundAt+'
');}list.innerHTML=h;}document.getElementById('devOverlay').classList.add('active');} function hideDevModal(){document.getElementById('devOverlay').classList.remove('active')} function unBindDev(did){if(!confirm('确定解绑该设备?'))return;var ds=umLoad('m_devices'),nd=[];for(var i=0;i