From 370ad3d048c1c933201104e1ec2b71e801ef0c88 Mon Sep 17 00:00:00 2001 From: hefengxian Date: Mon, 11 Nov 2024 14:06:59 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20hefengxi?= =?UTF-8?q?an/my-ielts@b22c94e491c1674243007df51a9d7219eb7cddda=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/{100sentences-fc34d592.js => 100sentences-033435c7.js} | 2 +- assets/{179practice-6a51973a.js => 179practice-858da273.js} | 2 +- assets/{_...all_-4e256456.js => _...all_-a83c60b8.js} | 2 +- assets/{corpus-62d7c7e3.js => corpus-71d90d04.js} | 2 +- assets/{index-33f7b5f9.js => index-1a691bfa.js} | 2 +- assets/{index-fece7602.js => index-735a3418.js} | 2 +- assets/{index-6eaf05e5.js => index-aeed7cd4.js} | 2 +- assets/{index-9701e0bb.js => index-cc13417e.js} | 2 +- assets/{index-659f3462.js => index-e6338e3c.js} | 2 +- assets/{index-e72a7062.js => index-e9928cb8.js} | 2 +- assets/{index-f82977a5.js => index-edf99d25.js} | 2 +- assets/{index-040fd746.js => index-ffd7c001.js} | 2 +- assets/{keyword-99fba1eb.js => keyword-44194cd8.js} | 2 +- assets/{listening-40e828f4.js => listening-13fcad9f.js} | 2 +- assets/{practice-26bca7e0.js => practice-ee1788e1.js} | 2 +- index.html | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) rename assets/{100sentences-fc34d592.js => 100sentences-033435c7.js} (95%) rename assets/{179practice-6a51973a.js => 179practice-858da273.js} (98%) rename assets/{_...all_-4e256456.js => _...all_-a83c60b8.js} (95%) rename assets/{corpus-62d7c7e3.js => corpus-71d90d04.js} (98%) rename assets/{index-33f7b5f9.js => index-1a691bfa.js} (98%) rename assets/{index-fece7602.js => index-735a3418.js} (96%) rename assets/{index-6eaf05e5.js => index-aeed7cd4.js} (99%) rename assets/{index-9701e0bb.js => index-cc13417e.js} (98%) rename assets/{index-659f3462.js => index-e6338e3c.js} (95%) rename assets/{index-e72a7062.js => index-e9928cb8.js} (98%) rename assets/{index-f82977a5.js => index-edf99d25.js} (82%) rename assets/{index-040fd746.js => index-ffd7c001.js} (99%) rename assets/{keyword-99fba1eb.js => keyword-44194cd8.js} (98%) rename assets/{listening-40e828f4.js => listening-13fcad9f.js} (94%) rename assets/{practice-26bca7e0.js => practice-ee1788e1.js} (97%) diff --git a/assets/100sentences-fc34d592.js b/assets/100sentences-033435c7.js similarity index 95% rename from assets/100sentences-fc34d592.js rename to assets/100sentences-033435c7.js index 4bb86c2..92ddc93 100644 --- a/assets/100sentences-fc34d592.js +++ b/assets/100sentences-033435c7.js @@ -1,4 +1,4 @@ -const e=[{no:null,title:"简单的主谓宾结构"},{no:1,sentence:"经常做运动会提高人的自信",translationFromBook:"Regular exercise can increase one's self-confidence",chatgpt:"Frequently exercising can increase one's confidence",remark:""},{no:2,sentence:"教学质量对学生成绩有很大的影响",translationFromBook:"The quality of teaching can make huge difference to students' academic performance",chatgpt:"Academic achievement is heavily dependent on the quality of teaching",remark:""},{no:3,sentence:"家长和老师应该努力去减少小孩子看电视的时间",translationFromBook:"Parents and teachers should make an effort to limit children’s screen time",chatgpt:"Parents and teachers should make efforts to reduce the screen time of children",remark:""},{no:4,sentence:"经济的下滑(economic slowdown)导致失业率的上升",translationFromBook:"The economic slowdown has led to a climbing unemployment rate.",chatgpt:"The economic slowdown has led to an increase in the unemployment rate",remark:"increase 本身有名词词性"},{no:5,sentence:"经济的发展需要年轻的劳动者",translationFromBook:"A country's economic development relies on a supply of young workers",chatgpt:"Economic development requires young laborers",remark:"labors 和 laborers 的区别:前者侧重劳动的行为或者劳动力的总称,后者专指从事劳动的人"},{no:6,sentence:"工作量大的人没有时间去休息",translationFromBook:"People with a heavy workload do not have adequate time to rest",chatgpt:"People with heavy workloads often don't have time to rest",remark:"adequate adj. 足够的,合格的。反义词 inadequate"},{no:7,sentence:"在中国很多学生都要上晚自习",translationFromBook:"A large number of students in China have to do self-study at night",chatgpt:"Many students in China have to attend evening self-study sessions",remark:"self-study 自习"},{no:8,sentence:"文化遗产(heritage sites)因为城市发展而受到威胁",translationFromBook:"The development of cities has posed a threat to heritage sites",chatgpt:"Cultural heritage sites are threatened by urban development",remark:"pose a threat 构成威胁"},{no:9,sentence:"我们不能忽视面对面的交流",translationFromBook:"We should not ignore face-to-face communication",chatgpt:"We cannot ignore face-to-face communication",remark:"communication 作为交流、沟通的时候是不可数的"},{no:10,sentence:"有些公共服务很难做到收支平衡",translationFromBook:"Some public services have problems in breaking even",chatgpt:"Some public services are challenging to achieve a balance between revenue and expenses/Some public services find it challenging to break even",remark:"break even 收支平衡"},{no:11,sentence:"我们需要考虑社会和经济环境",translationFromBook:"We have to consider the social and economic context",chatgpt:"We need to consider the social and economic environment",remark:""},{no:12,sentence:"密度种植对生物多样性造成了威胁",translationFromBook:"Intensive farming can pose a threat to bio-diversity",chatgpt:"Intensive cultivation poses a threat to biodiversity",remark:""},{no:13,sentence:"平等接受教育可以帮助解决学生学习成绩不好的问题",translationFromBook:"Equal access to education can help tackle educational underachievement",chatgpt:"Equal access to education can help tackle the issue of students' academic underachievement",remark:"注意这里的 help 后面的 to 是可以省略的,类似的:make/let/hear/feel/watch 等。underachievement n. 低成就;学习成绩不良"},{no:14,sentence:"接触不同的文化可以促进创新",translationFromBook:"Exposure to different cultures can encourage creativity",chatgpt:"Exposure to different cultures can promote innovation",remark:"注意 culture 这个词多数情况下是不可数的,表示不同地方、特定文化的时候才可数"},{no:15,sentence:"政府应该重视社会福利(welfare services),尤其是医疗服务",translationFromBook:"The government should give priority to welfare services especially healthcare",chatgpt:"The government should prioritize welfare services, especially healthcare",remark:""},{no:16,sentence:"教育或许决定了人的工作前景",translationFromBook:"Education may hold the key to one's job prospects",chatgpt:"Education might shape one's career prospects",remark:"hold the key 掌控,支配。prospects 成功的机会;前景,前途"},{no:17,sentence:"使用化石燃料会对环境造成破坏",translationFromBook:"The use of fossil fuels can cause damage to the environment",chatgpt:"Using fossil fuels can cause environmental damage",remark:"fuel 的可数和不可数的问题,表示一般的燃料的概念时不可数,不同种类时可数,例如这里 fossil fuels 表示的可能是煤、天然气、石油等..."},{no:18,sentence:"建造住宅楼有助于解决城市的拥挤问题",translationFromBook:"Building apartment blocks helps (to) solve overcrowding in cities",chatgpt:"Constructing residential buildings helps (to) alleviate urban congestion",remark:"alleviate v. 减轻;缓和;缓解"},{no:19,sentence:"贫穷的人可以通过努力工作来提高其社会地位",translationFromBook:"People from disadvantaged backgrounds can improve their social status by working hard.",chatgpt:"The impoverished can improve their social status through/via hard work",remark:""},{no:20,sentence:"因为全球化,人们需要和来自全球不同背景的人一起工作",translationFromBook:"Because of globalization, people need to work with those from diverse backgrounds",chatgpt:"Due to globalization, people need to work with individuals from diverse backgrounds around the world",remark:"ChatGPT 给的另一个表达:Due to globalization, those from diverse backgrounds around the world need to work together"},{no:21,sentence:" 我们需要采取措施去解决一些棘手的问题",translationFromBook:"We need to take action to solve some thorny problems",chatgpt:"We need to take measures to address some challenging issues",remark:"thorny adj. 棘手的,麻烦的;多刺的,带刺的。thorn n. 刺,荆棘"},{no:22,sentence:"媒体通过夸大受害者的伤痛去吸引观众",translationFromBook:"The media attracts public attention by sensationalizing victims' suffering",chatgpt:"The media attracts viewers by exaggerating the pain of victims",remark:""},{no:null,title:"主语 + 及物动词 + 宾语 + 宾语补足语"},{no:23,sentence:"基因工程能让人们培养新品种农作物",translationFromBook:"Genetic engineering allows people to nurture crop varieties",chatgpt:"Genetic engineering allows people to cultivate new varieties of crops",remark:"nurture v./n. 培养,促进,怀、抱有/教育,培育"},{no:24,sentence:"公司应该给有子女的女员工提供产假和其他帮助",translationFromBook:"Companies should provide working mothers with maternity leave and other forms of support",chatgpt:"The company should provide maternity leave and other assistance for female employees with children",remark:"maternity leave 产假"},{no:25,sentence:"不健康的生活方式让人们处于生病的危险制之中",translationFromBook:"An unhealthy lifestyle may put people at risk of illness",chatgpt:"The unhealthy lifestyle puts people at risk of illness",remark:""},{no:26,sentence:"奖学金可以鼓励更多的学生去学习研究生课程",translationFromBook:"Government grants could encourage more students to take postgraduate courses",chatgpt:"Scholarships can encourage more students to pursue graduate-level/postgraduate studies",remark:""},{no:27,sentence:"社区改造为罪犯提供了获得职业技能的机会",translationFromBook:"Community service provides offenders with opportunities to acquire transferable skills",chatgpt:"The community redevelopment provides opportunities for criminals to acquire vocational skills",remark:""},{no:28,sentence:"法律应该将醉驾定为刑事犯罪",translationFromBook:"Legislation should make drink driving a criminal offense/offence",chatgpt:"Laws should classify drunk driving as a criminal offense/offence",remark:"Legislation/Laws 的区别,Legislation 一般只整个法律体系,Law 一般指具体的法律。drink/drunk driving 都是合理的表达前者在英国常用后者在美国。criminal offense 刑事犯罪,civil offense/wrong 民事犯罪"},{no:29,sentence:"乡村地区给人们提供远离现代生活的压力和噪声的机会",translationFromBook:"Rural areas provide people with opportunities to escape pressure and noises of modern life",chatgpt:"Rural areas provide people with opportunities to escape pressure and noise of modern life —— 和书的答案只是复数用的词是 pressure",remark:"pressure 和 noise 都是可数又不可数,ChatGPT 表示都可以用"},{no:30,sentence:"人口老龄化促使国家提高法定退休年龄(statutory retirement age)",translationFromBook:"The ageing population has prompted countries to raise statutory retirement age",chatgpt:"The aging population is prompting the country to raise statutory retirement age",remark:"ageing 和 aging 这两种拼写都可以"},{no:null,title:"主语 + 及物动词 + 间接宾语 + 直接宾语"},{no:31,sentence:" 政府应该给一些城市提供资金去保护历史建筑(historic buildings)",translationFromBook:"Governments should offer some cities funds to preserve historic buildings",chatgpt:"The government should provide funds to some cities to preserve historic buildings",remark:""},{no:null,title:"被动语态"},{no:32,sentence:"学校应该允许老师强制捣蛋的小孩离开教室",translationFromBook:"Teachers should be permitted to use force to remove the disruptive children from the classroom",chatgpt:"The troublesome children should be allowed to remove from the classroom by the teachers",remark:""},{no:33,sentence:"农村的失业问题在某种程度上可以通过城乡转移(rural-to-urban shift)来解决",translationFromBook:"Unemployment in rural areas can be addressed partially by the rural-to-urban shift",chatgpt:"The issue of unemployment in rural areas can be addressed to some extent through rural-to-urban shift",remark:"in/of rural areas 这里的区别 in 强调位置 of 强调属性、特点。address/solve 前者强调对问题处理的过程比一定解决问题,后者强调处理问题的方案彻底解决问题。to some extent/partially/partly 可以一定程度互换"},{no:34,sentence:"高层建筑有时候被认为是影响市容的东西(eyesore)",translationFromBook:"High-rise buildings are sometimes regarded as eyesores of the city",chatgpt:"High-rise buildings are sometimes considered as eyesores that impact the cityscape",remark:"eyesore n. (公共场所的)不顺眼的东西,难看的东西。consider/regard as 前者强调主观、个人的看法,后者强调正式、客观的看法"},{no:35,sentence:"太空科技的投资应该获得政府的支持",translationFromBook:"The investment in space technology should be supported by the government",chatgpt:"Space technology investments should be supported by the government",remark:"对于可数名词要么是复数要么加冠词。investment in 表示对某领域的投资属于习惯用法所以尽量用这个介词"},{no:36,sentence:"历史文物因为其历史重要性而被保存",translationFromBook:"Historic relics should be preserved for their historic significance",chatgpt:"Historical artifacts are preserved due to their historical significance",remark:"历史文物:historic relics/artifacts。历史重要性:historic significance。historic 强调历史重要性,historical 表示历史有关的"},{no:37,sentence:"学校活动的设置要让孩子体会到成就感,提升他们的幸福感",translationFromBook:"Sports or other school activities can be designed to give children a sense of accomplishment and to promote their well-being",chatgpt:"A sense of achievement and an enhanced sense of happiness should be experienced by children through the arrangement of school activities",remark:"school activities/design/give/a sense of accomplishment/promote/well-bing"},{no:38,sentence:"一些员工被鼓励去打破陈规",translationFromBook:"Some employees are encouraged to break the mould",chatgpt:"Some employees are encouraged to break conventions",remark:"mould/mold 霉菌、模子、性格的意思;break the mould/mold 打破常规"},{no:39,sentence:"因为堵车,上下班的时间变得更长了",translationFromBook:"Commuting time has been prolonged because of traffic congestion",chatgpt:"Due to traffic congestion, the commuting time has been extended",remark:"commute v./n. 上下班往返,通勤;变换,改变(支付方式);减刑/通勤。commuting time 通勤时间。prolong v. 延长,拖延。have/has been done 现在完成时的被动"},{no:40,sentence:"电脑技能可以运用到学习和工作中",translationFromBook:"Computer skills can be applied in their studies as well as their working lives",chatgpt:"Computer skills can be applied to learning and work",remark:"computer skills 电脑技能。apply 运用,介词用 in。as well (as) = in addition (to) 除什么之外,也,和"},{no:41,sentence:"大部分的环境破坏都可以归咎于人类的活动",translationFromBook:"Most of environmental degradation is attributed to human activities.",chatgpt:"Most environmental damage can be attributed to human activities.",remark:"degradation n. 玷污,损害,危害;落魄,降低身份,丢脸。environmental degradation 环境恶化。attribute sth. to sb./sth. 动词短语:把...归因于;认为...由...生产;认为...是...所为"},{no:42,sentence:"许多孩子每天接触暴力内容",translationFromBook:"Many children are exposed to violent content every day",chatgpt:"第一次给的和书上的一模一样,强行换一句之后:Many children are exposed to violent content on a daily basis",remark:"expose sb. to sth. 使...遭受(有害或不愉快的遭受);使...暴露于(险境)。另外要注意 everyday adj. 日常的,普通的和 every day 不一样"},{no:43,sentence:"家庭环境被认为是小孩成长最重要的影响因素",translationFromBook:"The family environment is widely thought/believed to be the most import influence on children's development",chatgpt:"The family environment is considered the most crucial influencing factor in child's upbringing",remark:"upbringing n. 抚养,养育;教育,教养"},{no:44,sentence:"随着越来越多的年轻人参加志愿者工作,社区的凝聚力(cohesion)会加强",translationFromBook:"With an increasing number of young people participating in volunteer work, community cohesion will be enhanced",chatgpt:"As more and more young people engage in volunteer work, the cohesion of the community will be strengthened",remark:"这里书上的例子前面半句算是个介词短语作状语,ChatGPT 给的前面是个状语从句,是个完整的句子"},{no:45,sentence:"移民有时候被认为是对社会团结的一个威胁",translationFromBook:"Immigrants are sometimes recognized as a threat to social cohesion",chatgpt:"Immigration is sometimes considered as a thread to social cohesion",remark:"社会团结:social cohesion"},{no:null,title:"主语 + 不及物动词"},{no:46,sentence:"没有受过高等教育的年轻人只能找到低技术含量的工作",translationFromBook:"Young people without tertiary education qualifications normally end up working in low-skilled jobs",chatgpt:"Young people without higher education are limited to jobs with low skill requirements",remark:`tertiary adj. 第三的,第三级的;高等教育的,第三产业的 ~ education 高等教育,~ industry 第三产业。 +const e=[{no:null,title:"简单的主谓宾结构"},{no:1,sentence:"经常做运动会提高人的自信",translationFromBook:"Regular exercise can increase one's self-confidence",chatgpt:"Frequently exercising can increase one's confidence",remark:""},{no:2,sentence:"教学质量对学生成绩有很大的影响",translationFromBook:"The quality of teaching can make huge difference to students' academic performance",chatgpt:"Academic achievement is heavily dependent on the quality of teaching",remark:""},{no:3,sentence:"家长和老师应该努力去减少小孩子看电视的时间",translationFromBook:"Parents and teachers should make an effort to limit children’s screen time",chatgpt:"Parents and teachers should make efforts to reduce the screen time of children",remark:""},{no:4,sentence:"经济的下滑(economic slowdown)导致失业率的上升",translationFromBook:"The economic slowdown has led to a climbing unemployment rate.",chatgpt:"The economic slowdown has led to an increase in the unemployment rate",remark:"increase 本身有名词词性"},{no:5,sentence:"经济的发展需要年轻的劳动者",translationFromBook:"A country's economic development relies on a supply of young workers",chatgpt:"Economic development requires young laborers",remark:"labors 和 laborers 的区别:前者侧重劳动的行为或者劳动力的总称,后者专指从事劳动的人"},{no:6,sentence:"工作量大的人没有时间去休息",translationFromBook:"People with a heavy workload do not have adequate time to rest",chatgpt:"People with heavy workloads often don't have time to rest",remark:"adequate adj. 足够的,合格的。反义词 inadequate"},{no:7,sentence:"在中国很多学生都要上晚自习",translationFromBook:"A large number of students in China have to do self-study at night",chatgpt:"Many students in China have to attend evening self-study sessions",remark:"self-study 自习"},{no:8,sentence:"文化遗产(heritage sites)因为城市发展而受到威胁",translationFromBook:"The development of cities has posed a threat to heritage sites",chatgpt:"Cultural heritage sites are threatened by urban development",remark:"pose a threat 构成威胁"},{no:9,sentence:"我们不能忽视面对面的交流",translationFromBook:"We should not ignore face-to-face communication",chatgpt:"We cannot ignore face-to-face communication",remark:"communication 作为交流、沟通的时候是不可数的"},{no:10,sentence:"有些公共服务很难做到收支平衡",translationFromBook:"Some public services have problems in breaking even",chatgpt:"Some public services are challenging to achieve a balance between revenue and expenses/Some public services find it challenging to break even",remark:"break even 收支平衡"},{no:11,sentence:"我们需要考虑社会和经济环境",translationFromBook:"We have to consider the social and economic context",chatgpt:"We need to consider the social and economic environment",remark:""},{no:12,sentence:"密度种植对生物多样性造成了威胁",translationFromBook:"Intensive farming can pose a threat to bio-diversity",chatgpt:"Intensive cultivation poses a threat to biodiversity",remark:""},{no:13,sentence:"平等接受教育可以帮助解决学生学习成绩不好的问题",translationFromBook:"Equal access to education can help tackle educational underachievement",chatgpt:"Equal access to education can help tackle the issue of students' academic underachievement",remark:"注意这里的 help 后面的 to 是可以省略的,类似的:make/let/hear/feel/watch 等。underachievement n. 低成就;学习成绩不良"},{no:14,sentence:"接触不同的文化可以促进创新",translationFromBook:"Exposure to different cultures can encourage creativity",chatgpt:"Exposure to different cultures can promote innovation",remark:"注意 culture 这个词多数情况下是不可数的,表示不同地方、特定文化的时候才可数"},{no:15,sentence:"政府应该重视社会福利(welfare services),尤其是医疗服务",translationFromBook:"The government should give priority to welfare services especially healthcare",chatgpt:"The government should prioritize welfare services, especially healthcare",remark:""},{no:16,sentence:"教育或许决定了人的工作前景",translationFromBook:"Education may hold the key to one's job prospects",chatgpt:"Education might shape one's career prospects",remark:"hold the key 掌控,支配。prospects 成功的机会;前景,前途"},{no:17,sentence:"使用化石燃料会对环境造成破坏",translationFromBook:"The use of fossil fuels can cause damage to the environment",chatgpt:"Using fossil fuels can cause environmental damage",remark:"fuel 的可数和不可数的问题,表示一般的燃料的概念时不可数,不同种类时可数,例如这里 fossil fuels 表示的可能是煤、天然气、石油等..."},{no:18,sentence:"建造住宅楼有助于解决城市的拥挤问题",translationFromBook:"Building apartment blocks helps (to) solve overcrowding in cities",chatgpt:"Constructing residential buildings helps (to) alleviate urban congestion",remark:"alleviate v. 减轻;缓和;缓解"},{no:19,sentence:"贫穷的人可以通过努力工作来提高其社会地位",translationFromBook:"People from disadvantaged backgrounds can improve their social status by working hard.",chatgpt:"The impoverished can improve their social status through/via hard work",remark:""},{no:20,sentence:"因为全球化,人们需要和来自全球不同背景的人一起工作",translationFromBook:"Because of globalization, people need to work with those from diverse backgrounds",chatgpt:"Due to globalization, people need to work with individuals from diverse backgrounds around the world",remark:"ChatGPT 给的另一个表达:Due to globalization, those from diverse backgrounds around the world need to work together"},{no:21,sentence:" 我们需要采取措施去解决一些棘手的问题",translationFromBook:"We need to take action to solve some thorny problems",chatgpt:"We need to take measures to address some challenging issues",remark:"thorny adj. 棘手的,麻烦的;多刺的,带刺的。thorn n. 刺,荆棘"},{no:22,sentence:"媒体通过夸大受害者的伤痛去吸引观众",translationFromBook:"The media attracts public attention by sensationalizing victims' suffering",chatgpt:"The media attracts viewers by exaggerating the pain of victims",remark:""},{no:null,title:"主语 + 及物动词 + 宾语 + 宾语补足语"},{no:23,sentence:"基因工程能让人们培养新品种农作物",translationFromBook:"Genetic engineering allows people to nurture crop varieties",chatgpt:"Genetic engineering allows people to cultivate new varieties of crops",remark:"nurture v./n. 培养,促进,怀、抱有/教育,培育"},{no:24,sentence:"公司应该给有子女的女员工提供产假和其他帮助",translationFromBook:"Companies should provide working mothers with maternity leave and other forms of support",chatgpt:"The company should provide maternity leave and other assistance for female employees with children",remark:"maternity leave 产假"},{no:25,sentence:"不健康的生活方式让人们处于生病的危险制之中",translationFromBook:"An unhealthy lifestyle may put people at risk of illness",chatgpt:"The unhealthy lifestyle puts people at risk of illness",remark:""},{no:26,sentence:"奖学金可以鼓励更多的学生去学习研究生课程",translationFromBook:"Government grants could encourage more students to take postgraduate courses",chatgpt:"Scholarships can encourage more students to pursue graduate-level/postgraduate studies",remark:""},{no:27,sentence:"社区改造为罪犯提供了获得职业技能的机会",translationFromBook:"Community service provides offenders with opportunities to acquire transferable skills",chatgpt:"The community redevelopment provides opportunities for criminals to acquire vocational skills",remark:""},{no:28,sentence:"法律应该将醉驾定为刑事犯罪",translationFromBook:"Legislation should make drink driving a criminal offense/offence",chatgpt:"Laws should classify drunk driving as a criminal offense/offence",remark:"Legislation/Laws 的区别,Legislation 一般只整个法律体系,Law 一般指具体的法律。drink/drunk driving 都是合理的表达前者在英国常用后者在美国。criminal offense 刑事犯罪,civil offense/wrong 民事犯罪"},{no:29,sentence:"乡村地区给人们提供远离现代生活的压力和噪声的机会",translationFromBook:"Rural areas provide people with opportunities to escape pressure and noises of modern life",chatgpt:"Rural areas provide people with opportunities to escape pressure and noise of modern life —— 和书的答案只是复数用的词是 pressure",remark:"pressure 和 noise 都是可数又不可数,ChatGPT 表示都可以用"},{no:30,sentence:"人口老龄化促使国家提高法定退休年龄(statutory retirement age)",translationFromBook:"The ageing population has prompted countries to raise statutory retirement age",chatgpt:"The aging population is prompting the country to raise statutory retirement age",remark:"ageing 和 aging 这两种拼写都可以"},{no:null,title:"主语 + 及物动词 + 间接宾语 + 直接宾语"},{no:31,sentence:" 政府应该给一些城市提供资金去保护历史建筑(historic buildings)",translationFromBook:"Governments should offer some cities funds to preserve historic buildings",chatgpt:"The government should provide funds to some cities to preserve historic buildings",remark:""},{no:null,title:"被动语态"},{no:32,sentence:"学校应该允许老师强制捣蛋的小孩离开教室",translationFromBook:"Teachers should be permitted to use force to remove the disruptive children from the classroom",chatgpt:"The troublesome children should be allowed to remove from the classroom by the teachers",remark:""},{no:33,sentence:"农村的失业问题在某种程度上可以通过城乡转移(rural-to-urban shift)来解决",translationFromBook:"Unemployment in rural areas can be addressed partially by the rural-to-urban shift",chatgpt:"The issue of unemployment in rural areas can be addressed to some extent through rural-to-urban shift",remark:"in/of rural areas 这里的区别 in 强调位置 of 强调属性、特点。address/solve 前者强调对问题处理的过程比一定解决问题,后者强调处理问题的方案彻底解决问题。to some extent/partially/partly 可以一定程度互换"},{no:34,sentence:"高层建筑有时候被认为是影响市容的东西(eyesore)",translationFromBook:"High-rise buildings are sometimes regarded as eyesores of the city",chatgpt:"High-rise buildings are sometimes considered as eyesores that impact the cityscape",remark:"eyesore n. (公共场所的)不顺眼的东西,难看的东西。consider/regard as 前者强调主观、个人的看法,后者强调正式、客观的看法"},{no:35,sentence:"太空科技的投资应该获得政府的支持",translationFromBook:"The investment in space technology should be supported by the government",chatgpt:"Space technology investments should be supported by the government",remark:"对于可数名词要么是复数要么加冠词。investment in 表示对某领域的投资属于习惯用法所以尽量用这个介词"},{no:36,sentence:"历史文物因为其历史重要性而被保存",translationFromBook:"Historic relics should be preserved for their historic significance",chatgpt:"Historical artifacts are preserved due to their historical significance",remark:"历史文物:historic relics/artifacts。历史重要性:historic significance。historic 强调历史重要性,historical 表示历史有关的"},{no:37,sentence:"学校活动的设置要让孩子体会到成就感,提升他们的幸福感",translationFromBook:"Sports or other school activities can be designed to give children a sense of accomplishment and to promote their well-being",chatgpt:"A sense of achievement and an enhanced sense of happiness should be experienced by children through the arrangement of school activities",remark:"school activities/design/give/a sense of accomplishment/promote/well-bing"},{no:38,sentence:"一些员工被鼓励去打破陈规",translationFromBook:"Some employees are encouraged to break the mould",chatgpt:"Some employees are encouraged to break conventions",remark:"mould/mold 霉菌、模子、性格的意思;break the mould/mold 打破常规"},{no:39,sentence:"因为堵车,上下班的时间变得更长了",translationFromBook:"Commuting time has been prolonged because of traffic congestion",chatgpt:"Due to traffic congestion, the commuting time has been extended",remark:"commute v./n. 上下班往返,通勤;变换,改变(支付方式);减刑/通勤。commuting time 通勤时间。prolong v. 延长,拖延。have/has been done 现在完成时的被动"},{no:40,sentence:"电脑技能可以运用到学习和工作中",translationFromBook:"Computer skills can be applied in their studies as well as their working lives",chatgpt:"Computer skills can be applied to learning and work",remark:"computer skills 电脑技能。apply 运用,介词用 in。as well (as) = in addition (to) 除什么之外,也,和"},{no:41,sentence:"大部分的环境破坏都可以归咎于人类的活动",translationFromBook:"Most of environmental degradation is attributed to human activities.",chatgpt:"Most environmental damage can be attributed to human activities.",remark:"degradation n. 玷污,损害,危害;落魄,降低身份,丢脸。environmental degradation 环境恶化。attribute sth. to sb./sth. 动词短语:把...归因于;认为...由...生产;认为...是...所为"},{no:42,sentence:"许多孩子每天接触暴力内容",translationFromBook:"Many children are exposed to violent content every day",chatgpt:"第一次给的和书上的一模一样,强行换一句之后:Many children are exposed to violent content on a daily basis",remark:"expose sb. to sth. 使...遭受(有害或不愉快的遭受);使...暴露于(险境)。另外要注意 everyday adj. 日常的,普通的和 every day 不一样"},{no:43,sentence:"家庭环境被认为是小孩成长最重要的影响因素",translationFromBook:"The family environment is widely thought/believed to be the most important influence on children's development",chatgpt:"The family environment is considered the most crucial influencing factor in child's upbringing",remark:"upbringing n. 抚养,养育;教育,教养"},{no:44,sentence:"随着越来越多的年轻人参加志愿者工作,社区的凝聚力(cohesion)会加强",translationFromBook:"With an increasing number of young people participating in volunteer work, community cohesion will be enhanced",chatgpt:"As more and more young people engage in volunteer work, the cohesion of the community will be strengthened",remark:"这里书上的例子前面半句算是个介词短语作状语,ChatGPT 给的前面是个状语从句,是个完整的句子"},{no:45,sentence:"移民有时候被认为是对社会团结的一个威胁",translationFromBook:"Immigrants are sometimes recognized as a threat to social cohesion",chatgpt:"Immigration is sometimes considered as a thread to social cohesion",remark:"社会团结:social cohesion"},{no:null,title:"主语 + 不及物动词"},{no:46,sentence:"没有受过高等教育的年轻人只能找到低技术含量的工作",translationFromBook:"Young people without tertiary education qualifications normally end up working in low-skilled jobs",chatgpt:"Young people without higher education are limited to jobs with low skill requirements",remark:`tertiary adj. 第三的,第三级的;高等教育的,第三产业的 ~ education 高等教育,~ industry 第三产业。 在英语中,通常使用 "to" 介词来连接不及物动词。这是因为 "to" 表示方向、目标、目的等概念,而不及物动词通常需要一个目标或方向。`},{no:47,sentence:"一些人不支持转基因食品",translationFromBook:"Some people disapprove of genetically modified food",chatgpt:"Some people do not support genetically modified (GM) foods -> 这个句子不是不及物动词结构",remark:"转基因:GM=genetically modified。do not 和 don't 一般前者更适合书面更正式,意思是一样的"},{no:48,sentence:"旅游景点竭力满足游客的需要和品味",translationFromBook:"Tourist spots endeavor to cater for tourists' needs and tastes",chatgpt:"Tourist attractions strive to meet the needs and tastes of visitors",remark:`主语+不及物动词+to do不定式 景点:tourist spots/attractions`},{no:49,sentence:"在竞争激烈的社会,有工作的成年人往往关注职业发展",translationFromBook:"In a highly competitive society, working adults usually focus on career advancement",chatgpt:"In a competitive society, working adults often focus on career development",remark:"advancement n. 发展,提高,改善"},{no:50,sentence:"审美观是因为文化而异的",translationFromBook:"Perception of beauty differs from culture to culture",chatgpt:"Aesthetic perspectives vary with cultural differences",remark:`perception n. 认识,观念,看法;感知,感觉;感知能力,认识能力,洞察力 from culture to culture diff --git a/assets/179practice-6a51973a.js b/assets/179practice-858da273.js similarity index 98% rename from assets/179practice-6a51973a.js rename to assets/179practice-858da273.js index e309d81..c1d5798 100644 --- a/assets/179practice-6a51973a.js +++ b/assets/179practice-858da273.js @@ -1 +1 @@ -import{e as v,c as a,a as t,u as g,F as w,r as V,b as W,o as l,t as d,i as m,q as b,x as C,l as h}from"./index-33f7b5f9.js";import{w as c}from"./listening179-089c7171.js";const K={class:"mt-6 items-center justify-between lg:flex"},S=W('

听力 179 考点词练习

',1),$={class:"items-center sm:flex"},B={class:"flex items-center"},E={class:"relative mt-4 overflow-x-auto"},U={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},j=t("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[t("tr",null,[t("th",{class:"w-0 px-6 py-3"}," # "),t("th",{class:"w-0 px-6 py-3"}," 词性 "),t("th",{class:"w-20 px-6 py-3"}," 音频 "),t("th",{class:"px-6 py-3"}," 考点词/同义替换 "),t("th",{class:"px-6 py-3"}," 结果 ")])],-1),D={class:"px-6 py-4"},L={class:"px-6 py-4 italic"},N={class:"px-6 py-4"},F=["onClick"],T=["onKeydown"],q=["id","onUpdate:modelValue"],I={class:"px-4"},M=["onUpdate:modelValue","onKeydown"],R={class:"px-6 py-4"},z={key:0,class:"i-carbon-checkmark block text-green-700"},A={key:1},O={__name:"179practice",setup(G){const x=v(c.map(o=>({...o,form:{word:"",replaceStr:""},result:{checked:!1,errorWords:[]}})));function _(o,r){o.key==="`"&&(o.preventDefault(),n(r))}function n(o){const r=document.createElement("audio");r.src=`/179_audios/${o}.mp3`,r.play()}function f(o){var y;const r=o+1;if(r>=c.length)return;const e=x[o],i=e.form.word.trim().toLowerCase(),s=e.form.replaceStr.split(/[,,]/).map(p=>p.trim().toLowerCase().replace(/\s+/g," ")),u=[];i!==e.word&&u.push(e.word),u.push(...e.replace.filter(p=>!s.includes(p))),e.result.checked=!0,e.result.errorWords=u;const k=c[r];n(k.word),(y=document.getElementById(`input_${r+1}`))==null||y.focus()}return(o,r)=>(l(),a("div",null,[t("div",K,[S,t("div",$,[t("div",B,[t("button",{type:"button",class:"rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:r[0]||(r[0]=()=>{n(g(c)[0].word)})}," 开始 ")])])]),t("div",E,[t("table",U,[j,t("tbody",null,[(l(!0),a(w,null,V(g(x),(e,i)=>(l(),a("tr",{key:e.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[t("td",D,d(e.index),1),t("td",L,d(e.type),1),t("td",N,[t("button",{class:"i-carbon-volume-up-filled",onClick:s=>n(e.word)},null,8,F)]),t("td",{class:"flex flex-row items-center justify-start px-6 py-4",onKeydown:s=>_(s,e.word)},[m(t("input",{id:`input_${e.index}`,"onUpdate:modelValue":s=>e.form.word=s,p:"x-2 y-1",w:"150px",bg:"transparent",border:"~ rounded gray-200 dark:gray-700",outline:"none active:none",spellcheck:"false",type:"text",placeholder:"请输入..."},null,8,q),[[b,e.form.word]]),t("div",I,d(e.meaning),1),m(t("input",{"onUpdate:modelValue":s=>e.form.replaceStr=s,p:"x-2 y-1",w:"300px",bg:"transparent",border:"~ rounded gray-200 dark:gray-700",outline:"none active:none",type:"text",spellcheck:"false",placeholder:"请输入...",onKeydown:C(s=>f(i),["enter"])},null,40,M),[[b,e.form.replaceStr]])],40,T),t("td",R,[e.result.checked&&e.result.errorWords.length<1?(l(),a("i",z)):h("",!0),e.result.checked&&e.result.errorWords.length>0?(l(),a("p",A,d(e.result.errorWords.join(", ")),1)):h("",!0)])]))),128))])])])]))}};export{O as default}; +import{e as v,c as a,a as t,u as g,F as w,r as V,b as W,o as l,t as d,i as m,q as b,x as C,l as h}from"./index-1a691bfa.js";import{w as c}from"./listening179-089c7171.js";const K={class:"mt-6 items-center justify-between lg:flex"},S=W('

听力 179 考点词练习

',1),$={class:"items-center sm:flex"},B={class:"flex items-center"},E={class:"relative mt-4 overflow-x-auto"},U={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},j=t("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[t("tr",null,[t("th",{class:"w-0 px-6 py-3"}," # "),t("th",{class:"w-0 px-6 py-3"}," 词性 "),t("th",{class:"w-20 px-6 py-3"}," 音频 "),t("th",{class:"px-6 py-3"}," 考点词/同义替换 "),t("th",{class:"px-6 py-3"}," 结果 ")])],-1),D={class:"px-6 py-4"},L={class:"px-6 py-4 italic"},N={class:"px-6 py-4"},F=["onClick"],T=["onKeydown"],q=["id","onUpdate:modelValue"],I={class:"px-4"},M=["onUpdate:modelValue","onKeydown"],R={class:"px-6 py-4"},z={key:0,class:"i-carbon-checkmark block text-green-700"},A={key:1},O={__name:"179practice",setup(G){const x=v(c.map(o=>({...o,form:{word:"",replaceStr:""},result:{checked:!1,errorWords:[]}})));function _(o,r){o.key==="`"&&(o.preventDefault(),n(r))}function n(o){const r=document.createElement("audio");r.src=`/179_audios/${o}.mp3`,r.play()}function f(o){var y;const r=o+1;if(r>=c.length)return;const e=x[o],i=e.form.word.trim().toLowerCase(),s=e.form.replaceStr.split(/[,,]/).map(p=>p.trim().toLowerCase().replace(/\s+/g," ")),u=[];i!==e.word&&u.push(e.word),u.push(...e.replace.filter(p=>!s.includes(p))),e.result.checked=!0,e.result.errorWords=u;const k=c[r];n(k.word),(y=document.getElementById(`input_${r+1}`))==null||y.focus()}return(o,r)=>(l(),a("div",null,[t("div",K,[S,t("div",$,[t("div",B,[t("button",{type:"button",class:"rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:r[0]||(r[0]=()=>{n(g(c)[0].word)})}," 开始 ")])])]),t("div",E,[t("table",U,[j,t("tbody",null,[(l(!0),a(w,null,V(g(x),(e,i)=>(l(),a("tr",{key:e.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[t("td",D,d(e.index),1),t("td",L,d(e.type),1),t("td",N,[t("button",{class:"i-carbon-volume-up-filled",onClick:s=>n(e.word)},null,8,F)]),t("td",{class:"flex flex-row items-center justify-start px-6 py-4",onKeydown:s=>_(s,e.word)},[m(t("input",{id:`input_${e.index}`,"onUpdate:modelValue":s=>e.form.word=s,p:"x-2 y-1",w:"150px",bg:"transparent",border:"~ rounded gray-200 dark:gray-700",outline:"none active:none",spellcheck:"false",type:"text",placeholder:"请输入..."},null,8,q),[[b,e.form.word]]),t("div",I,d(e.meaning),1),m(t("input",{"onUpdate:modelValue":s=>e.form.replaceStr=s,p:"x-2 y-1",w:"300px",bg:"transparent",border:"~ rounded gray-200 dark:gray-700",outline:"none active:none",type:"text",spellcheck:"false",placeholder:"请输入...",onKeydown:C(s=>f(i),["enter"])},null,40,M),[[b,e.form.replaceStr]])],40,T),t("td",R,[e.result.checked&&e.result.errorWords.length<1?(l(),a("i",z)):h("",!0),e.result.checked&&e.result.errorWords.length>0?(l(),a("p",A,d(e.result.errorWords.join(", ")),1)):h("",!0)])]))),128))])])])]))}};export{O as default}; diff --git a/assets/_...all_-4e256456.js b/assets/_...all_-a83c60b8.js similarity index 95% rename from assets/_...all_-4e256456.js rename to assets/_...all_-a83c60b8.js index 6d32f1e..6287622 100644 --- a/assets/_...all_-4e256456.js +++ b/assets/_...all_-a83c60b8.js @@ -1 +1 @@ -import{_ as e,c as t,o as r,b as a}from"./index-33f7b5f9.js";const s=""+new URL("../404.svg",import.meta.url).href,l={},o={class:"mx-auto h-screen flex flex-col items-center justify-center px-6 dark:bg-gray-900 xl:px-0"},i=a('
astronaut image

Page not found

Oops! Looks like you followed a bad link. If you think this is a problem with us, please tell us.

Go back home
',2),c=[i];function n(m,d){return r(),t("div",o,c)}const g=e(l,[["render",n]]);export{g as default}; +import{_ as e,c as t,o as r,b as a}from"./index-1a691bfa.js";const s=""+new URL("../404.svg",import.meta.url).href,l={},o={class:"mx-auto h-screen flex flex-col items-center justify-center px-6 dark:bg-gray-900 xl:px-0"},i=a('
astronaut image

Page not found

Oops! Looks like you followed a bad link. If you think this is a problem with us, please tell us.

Go back home
',2),c=[i];function n(m,d){return r(),t("div",o,c)}const g=e(l,[["render",n]]);export{g as default}; diff --git a/assets/corpus-62d7c7e3.js b/assets/corpus-71d90d04.js similarity index 98% rename from assets/corpus-62d7c7e3.js rename to assets/corpus-71d90d04.js index 4487da6..6675e96 100644 --- a/assets/corpus-62d7c7e3.js +++ b/assets/corpus-71d90d04.js @@ -1 +1 @@ -import{d as h,f,c as a,a as t,i as g,v as k,u as o,j as y,F as d,r as p,q as v,t as r,l as w,o as l}from"./index-33f7b5f9.js";import _ from"./spelling_convention-b2b585a9.js";const C={class:"mt-6 items-center justify-between lg:flex"},j=t("div",{class:"mb-4 lg:mb-0"},[t("h3",{class:"mb-2 text-xl font-bold text-gray-900 dark:text-white"}," 听力真题语料库 "),t("span",{class:"text-base font-normal text-gray-500 dark:text-gray-400"},"包括各种词性、特殊训练")],-1),B={class:"items-center sm:flex"},V={class:"flex items-center"},$=["value"],D={class:"relative ml-2 flex-1"},E=t("div",{class:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3"},[t("svg",{class:"h-4 w-4 text-gray-500 dark:text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},[t("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"})])],-1),S={class:"mt-6"},F={class:"mb-4 mt-6 items-center justify-between lg:flex"},M={class:"mb-4 lg:mb-0"},N={class:"mb-2 font-bold text-gray-900 dark:text-white"},U={class:"text-base font-normal text-gray-500 dark:text-gray-400"},q={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},A={class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},L=t("th",{class:"w-0 px-6 py-3"}," # ",-1),R=t("th",{class:"w-0"},null,-1),T={class:"px-6 py-4"},Z={class:"px-6 py-4"},z=["onClick"],G={class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},H=["title","href"],I={class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},J={class:"whitespace-nowrap px-6 py-4"},W={__name:"corpus",setup(K){function x(i){const s=document.createElement("audio");s.src=`179_audios/${i}.mp3`,s.play()}const u=h(""),n=h("Charpter2 拼写规范"),b=["Charpter2 拼写规范","Charpter3 特别名词","Charpter4 形容词副词"],c=f(()=>{const{rows:i}=_[n.value];return i.forEach(s=>{typeof s[0]=="string"&&(s[0]=s[0].split(", "))}),_[n.value]});return(i,s)=>(l(),a(d,null,[t("div",C,[j,t("div",B,[t("div",V,[g(t("select",{"onUpdate:modelValue":s[0]||(s[0]=e=>y(n)?n.value=e:null),class:"block w-full flex-1 border border-gray-300 rounded-lg bg-gray-50 p-2.5 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400"},[(l(),a(d,null,p(b,e=>t("option",{key:e,value:e},r(e),9,$)),64))],512),[[k,o(n)]]),t("div",D,[E,g(t("input",{"onUpdate:modelValue":s[1]||(s[1]=e=>y(u)?u.value=e:null),type:"search",class:"block w-full border border-gray-300 rounded-lg bg-gray-50 p-2.5 pl-10 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400",placeholder:"Search"},null,512),[[v,o(u)]])])])])]),t("div",S,[o(n)==="Charpter2 拼写规范"?(l(),a(d,{key:0},[t("div",F,[t("div",M,[t("h3",N,r(o(c).title),1),t("span",U,r(o(c).desc),1)])]),t("table",q,[t("thead",A,[t("tr",null,[L,R,(l(!0),a(d,null,p(o(c).columns,e=>(l(),a("th",{key:e,class:"w-0 px-6 py-3"},r(e),1))),128))])]),t("tbody",null,[(l(!0),a(d,null,p(o(c).rows,(e,m)=>(l(),a("tr",{key:e[0],class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[t("td",T,r(m),1),t("td",Z,[t("a",{href:"javascript:;",class:"i-carbon-volume-up-filled block",onClick:O=>x(e[0])},null,8,z)]),t("th",G,[t("a",{class:"hover:underline",title:`在剑桥词典中查询 ${e[0][0]}`,href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${e[0][0]}`,target:"_blank"},r(e[0].join(", ")),9,H)]),t("td",I,r(e[1]),1),t("td",J,r(e[2]),1)]))),128))])])],64)):w("",!0)])],64))}};export{W as default}; +import{d as h,f,c as a,a as t,i as g,v as k,u as o,j as y,F as d,r as p,q as v,t as r,l as w,o as l}from"./index-1a691bfa.js";import _ from"./spelling_convention-b2b585a9.js";const C={class:"mt-6 items-center justify-between lg:flex"},j=t("div",{class:"mb-4 lg:mb-0"},[t("h3",{class:"mb-2 text-xl font-bold text-gray-900 dark:text-white"}," 听力真题语料库 "),t("span",{class:"text-base font-normal text-gray-500 dark:text-gray-400"},"包括各种词性、特殊训练")],-1),B={class:"items-center sm:flex"},V={class:"flex items-center"},$=["value"],D={class:"relative ml-2 flex-1"},E=t("div",{class:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3"},[t("svg",{class:"h-4 w-4 text-gray-500 dark:text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},[t("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"})])],-1),S={class:"mt-6"},F={class:"mb-4 mt-6 items-center justify-between lg:flex"},M={class:"mb-4 lg:mb-0"},N={class:"mb-2 font-bold text-gray-900 dark:text-white"},U={class:"text-base font-normal text-gray-500 dark:text-gray-400"},q={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},A={class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},L=t("th",{class:"w-0 px-6 py-3"}," # ",-1),R=t("th",{class:"w-0"},null,-1),T={class:"px-6 py-4"},Z={class:"px-6 py-4"},z=["onClick"],G={class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},H=["title","href"],I={class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},J={class:"whitespace-nowrap px-6 py-4"},W={__name:"corpus",setup(K){function x(i){const s=document.createElement("audio");s.src=`179_audios/${i}.mp3`,s.play()}const u=h(""),n=h("Charpter2 拼写规范"),b=["Charpter2 拼写规范","Charpter3 特别名词","Charpter4 形容词副词"],c=f(()=>{const{rows:i}=_[n.value];return i.forEach(s=>{typeof s[0]=="string"&&(s[0]=s[0].split(", "))}),_[n.value]});return(i,s)=>(l(),a(d,null,[t("div",C,[j,t("div",B,[t("div",V,[g(t("select",{"onUpdate:modelValue":s[0]||(s[0]=e=>y(n)?n.value=e:null),class:"block w-full flex-1 border border-gray-300 rounded-lg bg-gray-50 p-2.5 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400"},[(l(),a(d,null,p(b,e=>t("option",{key:e,value:e},r(e),9,$)),64))],512),[[k,o(n)]]),t("div",D,[E,g(t("input",{"onUpdate:modelValue":s[1]||(s[1]=e=>y(u)?u.value=e:null),type:"search",class:"block w-full border border-gray-300 rounded-lg bg-gray-50 p-2.5 pl-10 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400",placeholder:"Search"},null,512),[[v,o(u)]])])])])]),t("div",S,[o(n)==="Charpter2 拼写规范"?(l(),a(d,{key:0},[t("div",F,[t("div",M,[t("h3",N,r(o(c).title),1),t("span",U,r(o(c).desc),1)])]),t("table",q,[t("thead",A,[t("tr",null,[L,R,(l(!0),a(d,null,p(o(c).columns,e=>(l(),a("th",{key:e,class:"w-0 px-6 py-3"},r(e),1))),128))])]),t("tbody",null,[(l(!0),a(d,null,p(o(c).rows,(e,m)=>(l(),a("tr",{key:e[0],class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[t("td",T,r(m),1),t("td",Z,[t("a",{href:"javascript:;",class:"i-carbon-volume-up-filled block",onClick:O=>x(e[0])},null,8,z)]),t("th",G,[t("a",{class:"hover:underline",title:`在剑桥词典中查询 ${e[0][0]}`,href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${e[0][0]}`,target:"_blank"},r(e[0].join(", ")),9,H)]),t("td",I,r(e[1]),1),t("td",J,r(e[2]),1)]))),128))])])],64)):w("",!0)])],64))}};export{W as default}; diff --git a/assets/index-33f7b5f9.js b/assets/index-1a691bfa.js similarity index 98% rename from assets/index-33f7b5f9.js rename to assets/index-1a691bfa.js index efe49f7..d7bc34b 100644 --- a/assets/index-33f7b5f9.js +++ b/assets/index-1a691bfa.js @@ -2,4 +2,4 @@ * vue-router v4.2.4 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const bt=typeof window<"u";function qc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const J=Object.assign;function Zn(e,t){const n={};for(const r in t){const s=t[r];n[r]=ke(s)?s.map(e):e(s)}return n}const zt=()=>{},ke=Array.isArray,Jc=/\/$/,Qc=e=>e.replace(Jc,"");function Gn(e,t,n="/"){let r,s={},o="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return l=0&&(c=-1),c>-1&&(r=t.slice(0,c),o=t.slice(c+1,l>-1?l:t.length),s=e(o)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Gc(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:i}}function Yc(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ps(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Xc(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&Tt(t.matched[r],n.matched[s])&&Yo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Tt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Yo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Zc(e[n],t[n]))return!1;return!0}function Zc(e,t){return ke(e)?Rs(e,t):ke(t)?Rs(t,e):e===t}function Rs(e,t){return ke(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Gc(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var nn;(function(e){e.pop="pop",e.push="push"})(nn||(nn={}));var Wt;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Wt||(Wt={}));function eu(e){if(!e)if(bt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Qc(e)}const tu=/^[^#]+#/;function nu(e,t){return e.replace(tu,"#")+t}function ru(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Wn=()=>({left:window.pageXOffset,top:window.pageYOffset});function su(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=ru(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Cs(e,t){return(history.state?history.state.position-t:-1)+e}const hr=new Map;function ou(e,t){hr.set(e,t)}function iu(e){const t=hr.get(e);return hr.delete(e),t}let lu=()=>location.protocol+"//"+location.host;function Xo(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let l=s.includes(e.slice(o))?e.slice(o).length:1,c=s.slice(l);return c[0]!=="/"&&(c="/"+c),Ps(c,"")}return Ps(n,e)+r+s}function cu(e,t,n,r){let s=[],o=[],i=null;const l=({state:g})=>{const v=Xo(e,location),P=n.value,C=t.value;let L=0;if(g){if(n.value=v,t.value=g,i&&i===P){i=null;return}L=C?g.position-C.position:0}else r(v);s.forEach(k=>{k(n.value,P,{delta:L,type:nn.pop,direction:L?L>0?Wt.forward:Wt.back:Wt.unknown})})};function c(){i=n.value}function a(g){s.push(g);const v=()=>{const P=s.indexOf(g);P>-1&&s.splice(P,1)};return o.push(v),v}function f(){const{history:g}=window;g.state&&g.replaceState(J({},g.state,{scroll:Wn()}),"")}function p(){for(const g of o)g();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:c,listen:a,destroy:p}}function As(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Wn():null}}function uu(e){const{history:t,location:n}=window,r={value:Xo(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,a,f){const p=e.indexOf("#"),g=p>-1?(n.host&&document.querySelector("base")?e:e.slice(p))+c:lu()+e+c;try{t[f?"replaceState":"pushState"](a,"",g),s.value=a}catch(v){console.error(v),n[f?"replace":"assign"](g)}}function i(c,a){const f=J({},t.state,As(s.value.back,c,s.value.forward,!0),a,{position:s.value.position});o(c,f,!0),r.value=c}function l(c,a){const f=J({},s.value,t.state,{forward:c,scroll:Wn()});o(f.current,f,!0);const p=J({},As(r.value,c,null),{position:f.position+1},a);o(c,p,!1),r.value=c}return{location:r,state:s,push:l,replace:i}}function au(e){e=eu(e);const t=uu(e),n=cu(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=J({location:"",base:e,go:r,createHref:nu.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function fu(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),au(e)}function du(e){return typeof e=="string"||e&&typeof e=="object"}function Zo(e){return typeof e=="string"||typeof e=="symbol"}const Ye={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Go=Symbol("");var Ss;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ss||(Ss={}));function kt(e,t){return J(new Error,{type:e,[Go]:!0},t)}function He(e,t){return e instanceof Error&&Go in e&&(t==null||!!(e.type&t))}const Ts="[^/]+?",pu={sensitive:!1,strict:!1,start:!0,end:!0},hu=/[.+*?^${}()[\]/\\]/g;function gu(e,t){const n=J({},pu,t),r=[];let s=n.start?"^":"";const o=[];for(const a of e){const f=a.length?[]:[90];n.strict&&!a.length&&(s+="/");for(let p=0;pt.length?t.length===1&&t[0]===40+40?1:-1:0}function _u(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const yu={type:0,value:""},vu=/[a-zA-Z0-9_]/;function bu(e){if(!e)return[[]];if(e==="/")return[[yu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${a}": ${v}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,c,a="",f="";function p(){a&&(n===0?o.push({type:0,value:a}):n===1||n===2||n===3?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=c}for(;l{i(M)}:zt}function i(f){if(Zo(f)){const p=r.get(f);p&&(r.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function c(f){let p=0;for(;p=0&&(f.record.path!==n[p].record.path||!ei(f,n[p]));)p++;n.splice(p,0,f),f.record.name&&!Ms(f)&&r.set(f.record.name,f)}function a(f,p){let g,v={},P,C;if("name"in f&&f.name){if(g=r.get(f.name),!g)throw kt(1,{location:f});C=g.record.name,v=J(Is(p.params,g.keys.filter(M=>!M.optional).map(M=>M.name)),f.params&&Is(f.params,g.keys.map(M=>M.name))),P=g.stringify(v)}else if("path"in f)P=f.path,g=n.find(M=>M.re.test(P)),g&&(v=g.parse(P),C=g.record.name);else{if(g=p.name?r.get(p.name):n.find(M=>M.re.test(p.path)),!g)throw kt(1,{location:f,currentLocation:p});C=g.record.name,v=J({},p.params,f.params),P=g.stringify(v)}const L=[];let k=g;for(;k;)L.unshift(k.record),k=k.parent;return{name:C,path:P,params:v,matched:L,meta:Pu(L)}}return e.forEach(f=>o(f)),{addRoute:o,resolve:a,removeRoute:i,getRoutes:l,getRecordMatcher:s}}function Is(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Eu(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Ou(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Ou(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ms(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Pu(e){return e.reduce((t,n)=>J(t,n.meta),{})}function $s(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function ei(e,t){return t.children.some(n=>n===e||ei(e,n))}const ti=/#/g,Ru=/&/g,Cu=/\//g,Au=/=/g,Su=/\?/g,ni=/\+/g,Tu=/%5B/g,ku=/%5D/g,ri=/%5E/g,Iu=/%60/g,si=/%7B/g,Mu=/%7C/g,oi=/%7D/g,$u=/%20/g;function Hr(e){return encodeURI(""+e).replace(Mu,"|").replace(Tu,"[").replace(ku,"]")}function ju(e){return Hr(e).replace(si,"{").replace(oi,"}").replace(ri,"^")}function gr(e){return Hr(e).replace(ni,"%2B").replace($u,"+").replace(ti,"%23").replace(Ru,"%26").replace(Iu,"`").replace(si,"{").replace(oi,"}").replace(ri,"^")}function Fu(e){return gr(e).replace(Au,"%3D")}function Lu(e){return Hr(e).replace(ti,"%23").replace(Su,"%3F")}function Nu(e){return e==null?"":Lu(e).replace(Cu,"%2F")}function kn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Du(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&gr(o)):[r&&gr(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Hu(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ke(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Bu=Symbol(""),Fs=Symbol(""),Br=Symbol(""),ii=Symbol(""),mr=Symbol("");function Ht(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ze(e,t,n,r,s){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((i,l)=>{const c=p=>{p===!1?l(kt(4,{from:n,to:t})):p instanceof Error?l(p):du(p)?l(kt(2,{from:t,to:p})):(o&&r.enterCallbacks[s]===o&&typeof p=="function"&&o.push(p),i())},a=e.call(r&&r.instances[s],t,n,c);let f=Promise.resolve(a);e.length<3&&(f=f.then(c)),f.catch(p=>l(p))})}function er(e,t,n,r){const s=[];for(const o of e)for(const i in o.components){let l=o.components[i];if(!(t!=="beforeRouteEnter"&&!o.instances[i]))if(Vu(l)){const a=(l.__vccOpts||l)[t];a&&s.push(Ze(a,n,r,o,i))}else{let c=l();s.push(()=>c.then(a=>{if(!a)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${o.path}"`));const f=qc(a)?a.default:a;o.components[i]=f;const g=(f.__vccOpts||f)[t];return g&&Ze(g,n,r,o,i)()}))}}return s}function Vu(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ls(e){const t=Ke(Br),n=Ke(ii),r=ge(()=>t.resolve(_e(e.to))),s=ge(()=>{const{matched:c}=r.value,{length:a}=c,f=c[a-1],p=n.matched;if(!f||!p.length)return-1;const g=p.findIndex(Tt.bind(null,f));if(g>-1)return g;const v=Ns(c[a-2]);return a>1&&Ns(f)===v&&p[p.length-1].path!==v?p.findIndex(Tt.bind(null,c[a-2])):g}),o=ge(()=>s.value>-1&&zu(n.params,r.value.params)),i=ge(()=>s.value>-1&&s.value===n.matched.length-1&&Yo(n.params,r.value.params));function l(c={}){return Uu(c)?t[_e(e.replace)?"replace":"push"](_e(e.to)).catch(zt):Promise.resolve()}return{route:r,href:ge(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}const Ku=Bn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ls,setup(e,{slots:t}){const n=jt(Ls(e)),{options:r}=Ke(Br),s=ge(()=>({[Ds(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ds(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Jo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),li=Ku;function Uu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function zu(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!ke(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function Ns(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ds=(e,t,n)=>e??t??n,Wu=Bn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ke(mr),s=ge(()=>e.route||r.value),o=Ke(Fs,0),i=ge(()=>{let a=_e(o);const{matched:f}=s.value;let p;for(;(p=f[a])&&!p.components;)a++;return a}),l=ge(()=>s.value.matched[i.value]);bn(Fs,ge(()=>i.value+1)),bn(Bu,l),bn(mr,s);const c=ze();return ft(()=>[c.value,l.value,e.name],([a,f,p],[g,v,P])=>{f&&(f.instances[p]=a,v&&v!==f&&a&&a===g&&(f.leaveGuards.size||(f.leaveGuards=v.leaveGuards),f.updateGuards.size||(f.updateGuards=v.updateGuards))),a&&f&&(!v||!Tt(f,v)||!g)&&(f.enterCallbacks[p]||[]).forEach(C=>C(a))},{flush:"post"}),()=>{const a=s.value,f=e.name,p=l.value,g=p&&p.components[f];if(!g)return Hs(n.default,{Component:g,route:a});const v=p.props[f],P=v?v===!0?a.params:typeof v=="function"?v(a):v:null,L=Jo(g,J({},P,t,{onVnodeUnmounted:k=>{k.component.isUnmounted&&(p.instances[f]=null)},ref:c}));return Hs(n.default,{Component:L,route:a})||L}}});function Hs(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qu=Wu;function Ju(e){const t=xu(e.routes,e),n=e.parseQuery||Du,r=e.stringifyQuery||js,s=e.history,o=Ht(),i=Ht(),l=Ht(),c=vo(Ye);let a=Ye;bt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Zn.bind(null,_=>""+_),p=Zn.bind(null,Nu),g=Zn.bind(null,kn);function v(_,A){let O,I;return Zo(_)?(O=t.getRecordMatcher(_),I=A):I=_,t.addRoute(I,O)}function P(_){const A=t.getRecordMatcher(_);A&&t.removeRoute(A)}function C(){return t.getRoutes().map(_=>_.record)}function L(_){return!!t.getRecordMatcher(_)}function k(_,A){if(A=J({},A||c.value),typeof _=="string"){const h=Gn(n,_,A.path),m=t.resolve({path:h.path},A),y=s.createHref(h.fullPath);return J(h,m,{params:g(m.params),hash:kn(h.hash),redirectedFrom:void 0,href:y})}let O;if("path"in _)O=J({},_,{path:Gn(n,_.path,A.path).path});else{const h=J({},_.params);for(const m in h)h[m]==null&&delete h[m];O=J({},_,{params:p(h)}),A.params=p(A.params)}const I=t.resolve(O,A),q=_.hash||"";I.params=f(g(I.params));const u=Yc(r,J({},_,{hash:ju(q),path:I.path})),d=s.createHref(u);return J({fullPath:u,hash:q,query:r===js?Hu(_.query):_.query||{}},I,{redirectedFrom:void 0,href:d})}function M(_){return typeof _=="string"?Gn(n,_,c.value.path):J({},_)}function B(_,A){if(a!==_)return kt(8,{from:A,to:_})}function S(_){return oe(_)}function ee(_){return S(J(M(_),{replace:!0}))}function re(_){const A=_.matched[_.matched.length-1];if(A&&A.redirect){const{redirect:O}=A;let I=typeof O=="function"?O(_):O;return typeof I=="string"&&(I=I.includes("?")||I.includes("#")?I=M(I):{path:I},I.params={}),J({query:_.query,hash:_.hash,params:"path"in I?{}:_.params},I)}}function oe(_,A){const O=a=k(_),I=c.value,q=_.state,u=_.force,d=_.replace===!0,h=re(O);if(h)return oe(J(M(h),{state:typeof h=="object"?J({},q,h.state):q,force:u,replace:d}),A||O);const m=O;m.redirectedFrom=A;let y;return!u&&Xc(r,I,O)&&(y=kt(16,{to:m,from:I}),Me(I,I,!0,!1)),(y?Promise.resolve(y):ne(m,I)).catch(b=>He(b)?He(b,2)?b:Je(b):W(b,m,I)).then(b=>{if(b){if(He(b,2))return oe(J({replace:d},M(b.to),{state:typeof b.to=="object"?J({},q,b.to.state):q,force:u}),A||m)}else b=rt(m,I,!0,d,q);return qe(m,I,b),b})}function H(_,A){const O=B(_,A);return O?Promise.reject(O):Promise.resolve()}function te(_){const A=_t.values().next().value;return A&&typeof A.runWithContext=="function"?A.runWithContext(_):_()}function ne(_,A){let O;const[I,q,u]=Qu(_,A);O=er(I.reverse(),"beforeRouteLeave",_,A);for(const h of I)h.leaveGuards.forEach(m=>{O.push(Ze(m,_,A))});const d=H.bind(null,_,A);return O.push(d),pe(O).then(()=>{O=[];for(const h of o.list())O.push(Ze(h,_,A));return O.push(d),pe(O)}).then(()=>{O=er(q,"beforeRouteUpdate",_,A);for(const h of q)h.updateGuards.forEach(m=>{O.push(Ze(m,_,A))});return O.push(d),pe(O)}).then(()=>{O=[];for(const h of u)if(h.beforeEnter)if(ke(h.beforeEnter))for(const m of h.beforeEnter)O.push(Ze(m,_,A));else O.push(Ze(h.beforeEnter,_,A));return O.push(d),pe(O)}).then(()=>(_.matched.forEach(h=>h.enterCallbacks={}),O=er(u,"beforeRouteEnter",_,A),O.push(d),pe(O))).then(()=>{O=[];for(const h of i.list())O.push(Ze(h,_,A));return O.push(d),pe(O)}).catch(h=>He(h,8)?h:Promise.reject(h))}function qe(_,A,O){l.list().forEach(I=>te(()=>I(_,A,O)))}function rt(_,A,O,I,q){const u=B(_,A);if(u)return u;const d=A===Ye,h=bt?history.state:{};O&&(I||d?s.replace(_.fullPath,J({scroll:d&&h&&h.scroll},q)):s.push(_.fullPath,q)),c.value=_,Me(_,A,O,d),Je()}let Ie;function Ft(){Ie||(Ie=s.listen((_,A,O)=>{if(!cn.listening)return;const I=k(_),q=re(I);if(q){oe(J(q,{replace:!0}),I).catch(zt);return}a=I;const u=c.value;bt&&ou(Cs(u.fullPath,O.delta),Wn()),ne(I,u).catch(d=>He(d,12)?d:He(d,2)?(oe(d.to,I).then(h=>{He(h,20)&&!O.delta&&O.type===nn.pop&&s.go(-1,!1)}).catch(zt),Promise.reject()):(O.delta&&s.go(-O.delta,!1),W(d,I,u))).then(d=>{d=d||rt(I,u,!1),d&&(O.delta&&!He(d,8)?s.go(-O.delta,!1):O.type===nn.pop&&He(d,20)&&s.go(-1,!1)),qe(I,u,d)}).catch(zt)}))}let gt=Ht(),ue=Ht(),Y;function W(_,A,O){Je(_);const I=ue.list();return I.length?I.forEach(q=>q(_,A,O)):console.error(_),Promise.reject(_)}function De(){return Y&&c.value!==Ye?Promise.resolve():new Promise((_,A)=>{gt.add([_,A])})}function Je(_){return Y||(Y=!_,Ft(),gt.list().forEach(([A,O])=>_?O(_):A()),gt.reset()),_}function Me(_,A,O,I){const{scrollBehavior:q}=e;if(!bt||!q)return Promise.resolve();const u=!O&&iu(Cs(_.fullPath,0))||(I||!O)&&history.state&&history.state.scroll||null;return Dn().then(()=>q(_,A,u)).then(d=>d&&su(d)).catch(d=>W(d,_,A))}const ye=_=>s.go(_);let mt;const _t=new Set,cn={currentRoute:c,listening:!0,addRoute:v,removeRoute:P,hasRoute:L,getRoutes:C,resolve:k,options:e,push:S,replace:ee,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:ue.add,isReady:De,install(_){const A=this;_.component("RouterLink",li),_.component("RouterView",qu),_.config.globalProperties.$router=A,Object.defineProperty(_.config.globalProperties,"$route",{enumerable:!0,get:()=>_e(c)}),bt&&!mt&&c.value===Ye&&(mt=!0,S(s.location).catch(q=>{}));const O={};for(const q in Ye)Object.defineProperty(O,q,{get:()=>c.value[q],enumerable:!0});_.provide(Br,A),_.provide(ii,mo(O)),_.provide(mr,c);const I=_.unmount;_t.add(_),_.unmount=function(){_t.delete(_),_t.size<1&&(a=Ye,Ie&&Ie(),Ie=null,c.value=Ye,mt=!1,Y=!1),I()}}};function pe(_){return _.reduce((A,O)=>A.then(()=>te(O)),Promise.resolve())}return cn}function Qu(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iTt(a,l))?r.push(l):n.push(l));const c=e.matched[i];c&&(t.matched.find(a=>Tt(a,c))||s.push(c))}return[n,r,s]}const Yu="modulepreload",Xu=function(e,t){return new URL(e,t).href},Bs={},de=function(t,n,r){if(!n||n.length===0)return t();const s=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Xu(o,r),o in Bs)return;Bs[o]=!0;const i=o.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(!!r)for(let f=s.length-1;f>=0;f--){const p=s[f];if(p.href===o&&(!i||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const a=document.createElement("link");if(a.rel=i?"stylesheet":Yu,i||(a.as="script",a.crossOrigin=""),a.href=o,document.head.appendChild(a),i)return new Promise((f,p)=>{a.addEventListener("load",f),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},Zu={class:"px-4 pt-6 2xl:px-0"},Gu={class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},ea={class:"mx-auto max-w-screen-xl px-4 py-8 lg:px-6 sm:py-16"},ta=ac('

Salvation lies within IELTS

我的 IELTS 备考中心

Hello, This is Frank. 这里包含我备考准备的一切,从词汇、语法开始...

',2),na={class:"md:grid lg:grid-cols-3 md:grid-cols-2 md:gap-12 space-y-8 md:space-y-0"},ra={class:"mb-4 h-10 w-10 flex items-center justify-center rounded-full bg-primary-100 lg:h-12 lg:w-12 dark:bg-primary-900"},sa={class:"mb-2 text-xl font-bold dark:text-white"},oa={class:"text-gray-500 dark:text-gray-400"},ia=Bn({name:"IndexPage",__name:"index",setup(e){const t=jt([{label:"词汇",icon:"i-carbon-chart-histogram",link:"/vocabulary",desc:"包含雅思词汇真经内容,按场景分组"},{label:"语法",icon:"i-carbon-load-balancer-vpc ",link:"/grammar",desc:"新东方雅思语法课程,针对雅思考试设计,思维导图"},{label:"听力",icon:"i-carbon-headphones",link:"/listening",desc:"听力基本概念,179 考点词同义替换和雅思王语料库"},{label:"口语",icon:"i-carbon-microphone",link:"/speaking",desc:"TODO 或许加入逻辑链相关内容"},{label:"阅读",icon:"i-carbon-white-paper",link:"/reading",desc:"538 考点词同义替换"},{label:"写作",icon:"i-carbon-edit",link:"/writing",desc:"100 句翻译练习、大小作文"}]);return(n,r)=>(Ce(),Ve("div",Zu,[K("section",Gu,[K("div",ea,[ta,K("div",na,[(Ce(!0),Ve(Ee,null,ir(_e(t),s=>(Ce(),Ko(_e(li),{key:s.label,to:s.link,class:"block"},{default:An(()=>[K("div",ra,[K("i",{class:ut(["block h-5 w-5 text-primary-600 lg:h-6 lg:w-6 dark:text-primary-300",s.icon])},null,2)]),K("h3",sa,Qt(s.label),1),K("p",oa,Qt(s.desc),1)]),_:2},1032,["to"]))),128))])])])]))}}),la=()=>de(()=>import("./index-659f3462.js"),["./index-659f3462.js","./100sentences-fc34d592.js"],import.meta.url),ca=()=>de(()=>import("./100sentences-fc34d592.js"),[],import.meta.url),ua=()=>de(()=>import("./vocabulary-d1ee5e7e.js"),[],import.meta.url),aa=()=>de(()=>import("./index-040fd746.js"),["./index-040fd746.js","./vocabulary-d1ee5e7e.js"],import.meta.url),fa=()=>de(()=>import("./index-f82977a5.js"),[],import.meta.url),da=()=>de(()=>import("./reading538words-9b6f88e9.js"),[],import.meta.url),pa=()=>de(()=>import("./index-e72a7062.js"),["./index-e72a7062.js","./reading538words-9b6f88e9.js"],import.meta.url),ha=()=>de(()=>import("./practice-26bca7e0.js"),["./practice-26bca7e0.js","./listening179-b180f9fb.js"],import.meta.url),ga=()=>de(()=>import("./index-fece7602.js"),["./index-fece7602.js","./listening179-b180f9fb.js"],import.meta.url),ma=()=>de(()=>import("./index-6eaf05e5.js"),["./index-6eaf05e5.js","./index-a11e4009.css"],import.meta.url),_a=()=>de(()=>import("./listening-40e828f4.js"),[],import.meta.url),ya=()=>de(()=>import("./spelling_convention-b2b585a9.js"),[],import.meta.url),va=()=>de(()=>import("./keyword-99fba1eb.js"),["./keyword-99fba1eb.js","./listening179-089c7171.js"],import.meta.url),ba=()=>de(()=>import("./index-9701e0bb.js"),["./index-9701e0bb.js","./index-a11e4009.css"],import.meta.url),wa=()=>de(()=>import("./corpus-62d7c7e3.js"),["./corpus-62d7c7e3.js","./spelling_convention-b2b585a9.js"],import.meta.url),xa=()=>de(()=>import("./179practice-6a51973a.js"),["./179practice-6a51973a.js","./listening179-089c7171.js"],import.meta.url),Ea=()=>de(()=>import("./_...all_-4e256456.js"),[],import.meta.url),Oa=[{name:"writing",path:"/writing",component:la,props:!0},{name:"writing-100sentences",path:"/writing/100sentences",component:ca,props:!0},{name:"vocabulary-vocabulary",path:"/vocabulary/vocabulary",component:ua,props:!0},{name:"vocabulary",path:"/vocabulary",component:aa,props:!0},{name:"speaking",path:"/speaking",component:fa,props:!0},{name:"reading-reading538words",path:"/reading/reading538words",component:da,props:!0},{name:"reading",path:"/reading",component:pa,props:!0},{name:"ielts-practice",path:"/ielts/practice",component:ha,props:!0},{name:"ielts",path:"/ielts",component:ga,props:!0},{name:"grammar",path:"/grammar",component:ma,props:!0},{path:"/listening",component:_a,children:[{name:"listening-spelling_convention",path:"spelling_convention",component:ya,props:!0},{name:"listening-keyword",path:"keyword",component:va,props:!0},{name:"listening",path:"",component:ba,props:!0},{name:"listening-corpus",path:"corpus",component:wa,props:!0},{name:"listening-179practice",path:"179practice",component:xa,props:!0}],props:!0},{name:"index",path:"/",component:ia,props:!0},{name:"all",path:"/:all(.*)*",component:Ea,props:!0}],Pa={class:"px-4 py-6 md:flex md:items-center md:justify-between dark:bg-gray-800 2xl:px-0 md:py-10"},Ra={class:"mb-4 flex-1 text-center text-sm text-gray-500 md:mb-0"},Ca=K("a",{href:"/",class:"hover:underline",target:"_blank"},"Frank",-1),Aa={__name:"TheFooter",setup(e){const t=new Date().getFullYear();return(n,r)=>(Ce(),Ve("footer",Pa,[K("p",Ra,[Ct(" © "+Qt(_e(t))+" ",1),Ca,Ct(". All rights reserved. ")])]))}};function ci(e){return so()?(Ii(e),!0):!1}function rn(e){return typeof e=="function"?e():_e(e)}const Sa=typeof window<"u",ui=()=>{};function Ta(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ai=e=>e();function ka(e=ai){const t=ze(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Ln(t),pause:n,resume:r,eventFilter:s}}function fi(...e){if(e.length!==1)return dl(...e);const t=e[0];return typeof t=="function"?Ln(ul(()=>({get:t,set:ui}))):ze(t)}function Ia(e,t=!0){zo()?jr(e):t?e():Dn(e)}function Ma(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,s=ie(e),o=ze(e);function i(l){if(arguments.length)return o.value=l,o.value;{const c=rn(n);return o.value=o.value===c?rn(r):c,o.value}}return s?i:[o,i]}var Vs=Object.getOwnPropertySymbols,$a=Object.prototype.hasOwnProperty,ja=Object.prototype.propertyIsEnumerable,Fa=(e,t)=>{var n={};for(var r in e)$a.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Vs)for(var r of Vs(e))t.indexOf(r)<0&&ja.call(e,r)&&(n[r]=e[r]);return n};function La(e,t,n={}){const r=n,{eventFilter:s=ai}=r,o=Fa(r,["eventFilter"]);return ft(e,Ta(s,t),o)}var Na=Object.defineProperty,Da=Object.defineProperties,Ha=Object.getOwnPropertyDescriptors,In=Object.getOwnPropertySymbols,di=Object.prototype.hasOwnProperty,pi=Object.prototype.propertyIsEnumerable,Ks=(e,t,n)=>t in e?Na(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ba=(e,t)=>{for(var n in t||(t={}))di.call(t,n)&&Ks(e,n,t[n]);if(In)for(var n of In(t))pi.call(t,n)&&Ks(e,n,t[n]);return e},Va=(e,t)=>Da(e,Ha(t)),Ka=(e,t)=>{var n={};for(var r in e)di.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&In)for(var r of In(e))t.indexOf(r)<0&&pi.call(e,r)&&(n[r]=e[r]);return n};function Ua(e,t,n={}){const r=n,{eventFilter:s}=r,o=Ka(r,["eventFilter"]),{eventFilter:i,pause:l,resume:c,isActive:a}=ka(s);return{stop:La(e,t,Va(Ba({},o),{eventFilter:i})),pause:l,resume:c,isActive:a}}function hi(e){var t;const n=rn(e);return(t=n==null?void 0:n.$el)!=null?t:n}const sn=Sa?window:void 0;function Us(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=sn):[t,n,r,s]=e,!t)return ui;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,p,g,v)=>(f.addEventListener(p,g,v),()=>f.removeEventListener(p,g,v)),c=ft(()=>[hi(t),rn(s)],([f,p])=>{i(),f&&o.push(...n.flatMap(g=>r.map(v=>l(f,g,v,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return ci(a),a}function za(){const e=ze(!1);return zo()&&jr(()=>{e.value=!0}),e}function Wa(e){const t=za();return ge(()=>(t.value,!!e()))}function qa(e,t={}){const{window:n=sn}=t,r=Wa(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=ze(!1),i=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",l):s.removeListener(l))},l=()=>{r.value&&(i(),s=n.matchMedia(fi(e).value),o.value=!!(s!=null&&s.matches),s&&("addEventListener"in s?s.addEventListener("change",l):s.addListener(l)))};return Al(l),ci(()=>i()),o}const gn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},mn="__vueuse_ssr_handlers__",Ja=Qa();function Qa(){return mn in gn||(gn[mn]=gn[mn]||{}),gn[mn]}function gi(e,t){return Ja[e]||t}function Ya(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}var Xa=Object.defineProperty,zs=Object.getOwnPropertySymbols,Za=Object.prototype.hasOwnProperty,Ga=Object.prototype.propertyIsEnumerable,Ws=(e,t,n)=>t in e?Xa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qs=(e,t)=>{for(var n in t||(t={}))Za.call(t,n)&&Ws(e,n,t[n]);if(zs)for(var n of zs(t))Ga.call(t,n)&&Ws(e,n,t[n]);return e};const ef={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Js="vueuse-storage";function tf(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:p=sn,eventFilter:g,onError:v=H=>{console.error(H)}}=r,P=(f?vo:ze)(t);if(!n)try{n=gi("getDefaultStorage",()=>{var H;return(H=sn)==null?void 0:H.localStorage})()}catch(H){v(H)}if(!n)return P;const C=rn(t),L=Ya(C),k=(s=r.serializer)!=null?s:ef[L],{pause:M,resume:B}=Ua(P,()=>S(P.value),{flush:o,deep:i,eventFilter:g});return p&&l&&(Us(p,"storage",oe),Us(p,Js,re)),oe(),P;function S(H){try{if(H==null)n.removeItem(e);else{const te=k.write(H),ne=n.getItem(e);ne!==te&&(n.setItem(e,te),p&&p.dispatchEvent(new CustomEvent(Js,{detail:{key:e,oldValue:ne,newValue:te,storageArea:n}})))}}catch(te){v(te)}}function ee(H){const te=H?H.newValue:n.getItem(e);if(te==null)return c&&C!==null&&n.setItem(e,k.write(C)),C;if(!H&&a){const ne=k.read(te);return typeof a=="function"?a(ne,C):L==="object"&&!Array.isArray(ne)?qs(qs({},C),ne):ne}else return typeof te!="string"?te:k.read(te)}function re(H){oe(H.detail)}function oe(H){if(!(H&&H.storageArea!==n)){if(H&&H.key==null){P.value=C;return}if(!(H&&H.key!==e)){M();try{P.value=ee(H)}catch(te){v(te)}finally{H?Dn(B):B()}}}}}function nf(e){return qa("(prefers-color-scheme: dark)",e)}var rf=Object.defineProperty,Qs=Object.getOwnPropertySymbols,sf=Object.prototype.hasOwnProperty,of=Object.prototype.propertyIsEnumerable,Ys=(e,t,n)=>t in e?rf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lf=(e,t)=>{for(var n in t||(t={}))sf.call(t,n)&&Ys(e,n,t[n]);if(Qs)for(var n of Qs(t))of.call(t,n)&&Ys(e,n,t[n]);return e};function cf(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=sn,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,p=lf({auto:"",light:"light",dark:"dark"},e.modes||{}),g=nf({window:s}),v=ge(()=>g.value?"dark":"light"),P=c||(i==null?fi(r):tf(i,r,o,{window:s,listenToStorageChanges:l})),C=ge(()=>P.value==="auto"?v.value:P.value),L=gi("updateHTMLAttrs",(S,ee,re)=>{const oe=typeof S=="string"?s==null?void 0:s.document.querySelector(S):hi(S);if(!oe)return;let H;if(f){H=s.document.createElement("style");const te="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";H.appendChild(document.createTextNode(te)),s.document.head.appendChild(H)}if(ee==="class"){const te=re.split(/\s/g);Object.values(p).flatMap(ne=>(ne||"").split(/\s/g)).filter(Boolean).forEach(ne=>{te.includes(ne)?oe.classList.add(ne):oe.classList.remove(ne)})}else oe.setAttribute(ee,re);f&&(s.getComputedStyle(H).opacity,document.head.removeChild(H))});function k(S){var ee;L(t,n,(ee=p[S])!=null?ee:S)}function M(S){e.onChanged?e.onChanged(S,k):k(S)}ft(C,M,{flush:"post",immediate:!0}),Ia(()=>M(C.value));const B=ge({get(){return a?P.value:C.value},set(S){P.value=S}});try{return Object.assign(B,{store:P,system:v,state:C})}catch{return B}}var uf=Object.defineProperty,af=Object.defineProperties,ff=Object.getOwnPropertyDescriptors,Xs=Object.getOwnPropertySymbols,df=Object.prototype.hasOwnProperty,pf=Object.prototype.propertyIsEnumerable,Zs=(e,t,n)=>t in e?uf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hf=(e,t)=>{for(var n in t||(t={}))df.call(t,n)&&Zs(e,n,t[n]);if(Xs)for(var n of Xs(t))pf.call(t,n)&&Zs(e,n,t[n]);return e},gf=(e,t)=>af(e,ff(t));function mf(e={}){const{valueDark:t="dark",valueLight:n=""}=e,r=cf(gf(hf({},e),{onChanged:(o,i)=>{var l;e.onChanged?(l=e.onChanged)==null||l.call(e,o==="dark",i,o):i(o)},modes:{dark:t,light:n}}));return ge({get(){return r.value==="dark"},set(o){const i=o?"dark":"light";r.system.value===i?r.value="auto":r.value=i}})}const _f=mf(),yf=Ma(_f),vf={class:"fixed z-30 w-full border-b border-gray-200 bg-white px-4 py-3 dark:border-gray-700 dark:bg-gray-800"},bf={class:"mx-auto max-w-screen-2xl flex items-center justify-between"},wf={class:"flex items-center justify-start"},xf=K("a",{href:"/",class:"mr-14 flex"},[K("span",{class:"hidden self-center whitespace-nowrap text-2xl font-semibold sm:flex dark:text-white"},[Ct("My "),K("span",{class:"ml-1 text-red-600"}," IELTS™")])],-1),Ef={class:"hidden w-full items-center justify-between lg:order-1 lg:w-auto lg:flex"},Of={class:"mt-4 flex flex-col items-center justify-items-center text-center align-middle text-sm font-medium lg:mt-0 lg:flex-row space-x-6 xl:space-x-8"},Pf={class:"flex items-center justify-between lg:order-2"},Rf=K("a",{href:"https://github.com/hefengxian/my-ielts",target:"_blank",class:"rounded-lg p-2 text-gray-500 hover:bg-gray-100 dark:text-gray-400 hover:text-gray-900 focus:ring-4 focus:ring-gray-300 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-600"},[K("div",{"i-simple-icons-github":""})],-1),Cf=K("div",{"i-carbon-sun":"","dark:i-carbon-moon":""},null,-1),Af=[Cf],Sf=K("span",{class:"sr-only"},"Open menu",-1),Tf=K("svg",{class:"h-6 w-6","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[K("path",{"fill-rule":"evenodd",d:"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z","clip-rule":"evenodd"})],-1),kf=[Sf,Tf],If={class:"bg-white dark:bg-gray-900"},Mf={style:{display:"none"},class:"mt-0 w-full flex-col pt-16 text-sm font-medium lg:hidden"},$f=Bn({__name:"TheHeader",setup(e){const t=jt([{label:"首页",icon:"i-carbon-home",link:"/"},{label:"词汇",icon:"i-carbon-chart-histogram",link:"/vocabulary"},{label:"语法",icon:"i-carbon-load-balancer-vpc ",link:"/grammar"},{label:"听力",icon:"i-carbon-headphones",link:"/listening"},{label:"口语",icon:"i-carbon-microphone",link:"/speaking"},{label:"阅读",icon:"i-carbon-white-paper",link:"/reading"},{label:"写作",icon:"i-carbon-edit",link:"/writing"}]),n=ze(!1);return(r,s)=>{const o=Mo("router-link");return Ce(),Ve("header",null,[K("nav",vf,[K("div",bf,[K("div",wf,[xf,K("div",Ef,[K("ul",Of,[(Ce(!0),Ve(Ee,null,ir(_e(t),i=>(Ce(),Ve("li",{key:i.label},[le(o,{class:ut(r.$route.path===i.link?"block flex flex-row items-center rounded text-primary-700 dark:text-primary-500":"block flex flex-row items-center text-gray-700 dark:text-gray-400 hover:text-primary-700 dark:hover:text-white"),to:i.link},{default:An(()=>[K("i",{class:ut(["mr-1 inline-block",i.icon])},null,2),Ct(" "+Qt(i.label),1)]),_:2},1032,["class","to"])]))),128))])])]),K("div",Pf,[Rf,K("button",{class:"ml-2 rounded-lg p-2 text-gray-500 hover:bg-gray-100 dark:text-gray-400 hover:text-gray-900 focus:ring-4 focus:ring-gray-300 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-600",onClick:s[0]||(s[0]=i=>("toggleDark"in r?r.toggleDark:_e(yf))())},Af),K("button",{type:"button",class:"items-center rounded-lg p-2 text-gray-500 md:ml-2 lg:hidden hover:bg-gray-100 dark:text-gray-400 hover:text-gray-900 focus:ring-4 focus:ring-gray-300 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-600",onClick:s[1]||(s[1]=i=>n.value=!_e(n))},kf)])])]),K("nav",If,[Tl(K("ul",Mf,[(Ce(!0),Ve(Ee,null,ir(_e(t),i=>(Ce(),Ve("li",{key:i.label,class:"block border-b dark:border-gray-700"},[le(o,{class:"block px-4 py-3 text-gray-900 lg:px-0 lg:py-0 dark:text-white lg:hover:underline",to:i.link,onClick:s[2]||(s[2]=l=>n.value=!1)},{default:An(()=>[K("i",{class:ut(["mr-1 inline-block",i.icon])},null,2),Ct(" "+Qt(i.label),1)]),_:2},1032,["to"])]))),128))],512),[[Vc,_e(n)]])])])}}}),jf=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Ff={},Lf={class:"flex flex-1 overflow-hidden bg-gray-50 py-16 leading-8 dark:bg-gray-900"},Nf={class:"relative mx-auto h-full w-full max-w-screen-2xl overflow-y-auto bg-gray-50 dark:bg-gray-900 dark:text-white"};function Df(e,t){const n=$f,r=Mo("RouterView"),s=Aa;return Ce(),Ve(Ee,null,[le(n),K("div",Lf,[K("div",Nf,[le(r)])]),le(s)],64)}const Hf=jf(Ff,[["render",Df]]);const mi=zc(Hf),Bf=Ju({history:fu("./"),routes:Oa});mi.use(Bf);mi.mount("#app");export{An as A,Ee as F,jf as _,K as a,ac as b,Ve as c,ze as d,jt as e,ge as f,jr as g,Fl as h,Tl as i,ie as j,Uf as k,Vf as l,Ct as m,Vc as n,Ce as o,ut as p,Kf as q,ir as r,Bn as s,Qt as t,_e as u,zf as v,ft as w,Wf as x,Mo as y,le as z}; + */const bt=typeof window<"u";function qc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const J=Object.assign;function Zn(e,t){const n={};for(const r in t){const s=t[r];n[r]=ke(s)?s.map(e):e(s)}return n}const zt=()=>{},ke=Array.isArray,Jc=/\/$/,Qc=e=>e.replace(Jc,"");function Gn(e,t,n="/"){let r,s={},o="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return l=0&&(c=-1),c>-1&&(r=t.slice(0,c),o=t.slice(c+1,l>-1?l:t.length),s=e(o)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Gc(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:i}}function Yc(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ps(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Xc(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&Tt(t.matched[r],n.matched[s])&&Yo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Tt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Yo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Zc(e[n],t[n]))return!1;return!0}function Zc(e,t){return ke(e)?Rs(e,t):ke(t)?Rs(t,e):e===t}function Rs(e,t){return ke(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Gc(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var nn;(function(e){e.pop="pop",e.push="push"})(nn||(nn={}));var Wt;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Wt||(Wt={}));function eu(e){if(!e)if(bt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Qc(e)}const tu=/^[^#]+#/;function nu(e,t){return e.replace(tu,"#")+t}function ru(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Wn=()=>({left:window.pageXOffset,top:window.pageYOffset});function su(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=ru(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Cs(e,t){return(history.state?history.state.position-t:-1)+e}const hr=new Map;function ou(e,t){hr.set(e,t)}function iu(e){const t=hr.get(e);return hr.delete(e),t}let lu=()=>location.protocol+"//"+location.host;function Xo(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let l=s.includes(e.slice(o))?e.slice(o).length:1,c=s.slice(l);return c[0]!=="/"&&(c="/"+c),Ps(c,"")}return Ps(n,e)+r+s}function cu(e,t,n,r){let s=[],o=[],i=null;const l=({state:g})=>{const v=Xo(e,location),P=n.value,C=t.value;let L=0;if(g){if(n.value=v,t.value=g,i&&i===P){i=null;return}L=C?g.position-C.position:0}else r(v);s.forEach(k=>{k(n.value,P,{delta:L,type:nn.pop,direction:L?L>0?Wt.forward:Wt.back:Wt.unknown})})};function c(){i=n.value}function a(g){s.push(g);const v=()=>{const P=s.indexOf(g);P>-1&&s.splice(P,1)};return o.push(v),v}function f(){const{history:g}=window;g.state&&g.replaceState(J({},g.state,{scroll:Wn()}),"")}function p(){for(const g of o)g();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:c,listen:a,destroy:p}}function As(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Wn():null}}function uu(e){const{history:t,location:n}=window,r={value:Xo(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,a,f){const p=e.indexOf("#"),g=p>-1?(n.host&&document.querySelector("base")?e:e.slice(p))+c:lu()+e+c;try{t[f?"replaceState":"pushState"](a,"",g),s.value=a}catch(v){console.error(v),n[f?"replace":"assign"](g)}}function i(c,a){const f=J({},t.state,As(s.value.back,c,s.value.forward,!0),a,{position:s.value.position});o(c,f,!0),r.value=c}function l(c,a){const f=J({},s.value,t.state,{forward:c,scroll:Wn()});o(f.current,f,!0);const p=J({},As(r.value,c,null),{position:f.position+1},a);o(c,p,!1),r.value=c}return{location:r,state:s,push:l,replace:i}}function au(e){e=eu(e);const t=uu(e),n=cu(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=J({location:"",base:e,go:r,createHref:nu.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function fu(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),au(e)}function du(e){return typeof e=="string"||e&&typeof e=="object"}function Zo(e){return typeof e=="string"||typeof e=="symbol"}const Ye={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Go=Symbol("");var Ss;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ss||(Ss={}));function kt(e,t){return J(new Error,{type:e,[Go]:!0},t)}function He(e,t){return e instanceof Error&&Go in e&&(t==null||!!(e.type&t))}const Ts="[^/]+?",pu={sensitive:!1,strict:!1,start:!0,end:!0},hu=/[.+*?^${}()[\]/\\]/g;function gu(e,t){const n=J({},pu,t),r=[];let s=n.start?"^":"";const o=[];for(const a of e){const f=a.length?[]:[90];n.strict&&!a.length&&(s+="/");for(let p=0;pt.length?t.length===1&&t[0]===40+40?1:-1:0}function _u(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const yu={type:0,value:""},vu=/[a-zA-Z0-9_]/;function bu(e){if(!e)return[[]];if(e==="/")return[[yu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${a}": ${v}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,c,a="",f="";function p(){a&&(n===0?o.push({type:0,value:a}):n===1||n===2||n===3?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function g(){a+=c}for(;l{i(M)}:zt}function i(f){if(Zo(f)){const p=r.get(f);p&&(r.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function c(f){let p=0;for(;p=0&&(f.record.path!==n[p].record.path||!ei(f,n[p]));)p++;n.splice(p,0,f),f.record.name&&!Ms(f)&&r.set(f.record.name,f)}function a(f,p){let g,v={},P,C;if("name"in f&&f.name){if(g=r.get(f.name),!g)throw kt(1,{location:f});C=g.record.name,v=J(Is(p.params,g.keys.filter(M=>!M.optional).map(M=>M.name)),f.params&&Is(f.params,g.keys.map(M=>M.name))),P=g.stringify(v)}else if("path"in f)P=f.path,g=n.find(M=>M.re.test(P)),g&&(v=g.parse(P),C=g.record.name);else{if(g=p.name?r.get(p.name):n.find(M=>M.re.test(p.path)),!g)throw kt(1,{location:f,currentLocation:p});C=g.record.name,v=J({},p.params,f.params),P=g.stringify(v)}const L=[];let k=g;for(;k;)L.unshift(k.record),k=k.parent;return{name:C,path:P,params:v,matched:L,meta:Pu(L)}}return e.forEach(f=>o(f)),{addRoute:o,resolve:a,removeRoute:i,getRoutes:l,getRecordMatcher:s}}function Is(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Eu(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Ou(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Ou(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ms(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Pu(e){return e.reduce((t,n)=>J(t,n.meta),{})}function $s(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function ei(e,t){return t.children.some(n=>n===e||ei(e,n))}const ti=/#/g,Ru=/&/g,Cu=/\//g,Au=/=/g,Su=/\?/g,ni=/\+/g,Tu=/%5B/g,ku=/%5D/g,ri=/%5E/g,Iu=/%60/g,si=/%7B/g,Mu=/%7C/g,oi=/%7D/g,$u=/%20/g;function Hr(e){return encodeURI(""+e).replace(Mu,"|").replace(Tu,"[").replace(ku,"]")}function ju(e){return Hr(e).replace(si,"{").replace(oi,"}").replace(ri,"^")}function gr(e){return Hr(e).replace(ni,"%2B").replace($u,"+").replace(ti,"%23").replace(Ru,"%26").replace(Iu,"`").replace(si,"{").replace(oi,"}").replace(ri,"^")}function Fu(e){return gr(e).replace(Au,"%3D")}function Lu(e){return Hr(e).replace(ti,"%23").replace(Su,"%3F")}function Nu(e){return e==null?"":Lu(e).replace(Cu,"%2F")}function kn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Du(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&gr(o)):[r&&gr(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Hu(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ke(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Bu=Symbol(""),Fs=Symbol(""),Br=Symbol(""),ii=Symbol(""),mr=Symbol("");function Ht(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ze(e,t,n,r,s){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((i,l)=>{const c=p=>{p===!1?l(kt(4,{from:n,to:t})):p instanceof Error?l(p):du(p)?l(kt(2,{from:t,to:p})):(o&&r.enterCallbacks[s]===o&&typeof p=="function"&&o.push(p),i())},a=e.call(r&&r.instances[s],t,n,c);let f=Promise.resolve(a);e.length<3&&(f=f.then(c)),f.catch(p=>l(p))})}function er(e,t,n,r){const s=[];for(const o of e)for(const i in o.components){let l=o.components[i];if(!(t!=="beforeRouteEnter"&&!o.instances[i]))if(Vu(l)){const a=(l.__vccOpts||l)[t];a&&s.push(Ze(a,n,r,o,i))}else{let c=l();s.push(()=>c.then(a=>{if(!a)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${o.path}"`));const f=qc(a)?a.default:a;o.components[i]=f;const g=(f.__vccOpts||f)[t];return g&&Ze(g,n,r,o,i)()}))}}return s}function Vu(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ls(e){const t=Ke(Br),n=Ke(ii),r=ge(()=>t.resolve(_e(e.to))),s=ge(()=>{const{matched:c}=r.value,{length:a}=c,f=c[a-1],p=n.matched;if(!f||!p.length)return-1;const g=p.findIndex(Tt.bind(null,f));if(g>-1)return g;const v=Ns(c[a-2]);return a>1&&Ns(f)===v&&p[p.length-1].path!==v?p.findIndex(Tt.bind(null,c[a-2])):g}),o=ge(()=>s.value>-1&&zu(n.params,r.value.params)),i=ge(()=>s.value>-1&&s.value===n.matched.length-1&&Yo(n.params,r.value.params));function l(c={}){return Uu(c)?t[_e(e.replace)?"replace":"push"](_e(e.to)).catch(zt):Promise.resolve()}return{route:r,href:ge(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}const Ku=Bn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ls,setup(e,{slots:t}){const n=jt(Ls(e)),{options:r}=Ke(Br),s=ge(()=>({[Ds(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ds(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Jo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),li=Ku;function Uu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function zu(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!ke(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function Ns(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ds=(e,t,n)=>e??t??n,Wu=Bn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ke(mr),s=ge(()=>e.route||r.value),o=Ke(Fs,0),i=ge(()=>{let a=_e(o);const{matched:f}=s.value;let p;for(;(p=f[a])&&!p.components;)a++;return a}),l=ge(()=>s.value.matched[i.value]);bn(Fs,ge(()=>i.value+1)),bn(Bu,l),bn(mr,s);const c=ze();return ft(()=>[c.value,l.value,e.name],([a,f,p],[g,v,P])=>{f&&(f.instances[p]=a,v&&v!==f&&a&&a===g&&(f.leaveGuards.size||(f.leaveGuards=v.leaveGuards),f.updateGuards.size||(f.updateGuards=v.updateGuards))),a&&f&&(!v||!Tt(f,v)||!g)&&(f.enterCallbacks[p]||[]).forEach(C=>C(a))},{flush:"post"}),()=>{const a=s.value,f=e.name,p=l.value,g=p&&p.components[f];if(!g)return Hs(n.default,{Component:g,route:a});const v=p.props[f],P=v?v===!0?a.params:typeof v=="function"?v(a):v:null,L=Jo(g,J({},P,t,{onVnodeUnmounted:k=>{k.component.isUnmounted&&(p.instances[f]=null)},ref:c}));return Hs(n.default,{Component:L,route:a})||L}}});function Hs(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qu=Wu;function Ju(e){const t=xu(e.routes,e),n=e.parseQuery||Du,r=e.stringifyQuery||js,s=e.history,o=Ht(),i=Ht(),l=Ht(),c=vo(Ye);let a=Ye;bt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Zn.bind(null,_=>""+_),p=Zn.bind(null,Nu),g=Zn.bind(null,kn);function v(_,A){let O,I;return Zo(_)?(O=t.getRecordMatcher(_),I=A):I=_,t.addRoute(I,O)}function P(_){const A=t.getRecordMatcher(_);A&&t.removeRoute(A)}function C(){return t.getRoutes().map(_=>_.record)}function L(_){return!!t.getRecordMatcher(_)}function k(_,A){if(A=J({},A||c.value),typeof _=="string"){const h=Gn(n,_,A.path),m=t.resolve({path:h.path},A),y=s.createHref(h.fullPath);return J(h,m,{params:g(m.params),hash:kn(h.hash),redirectedFrom:void 0,href:y})}let O;if("path"in _)O=J({},_,{path:Gn(n,_.path,A.path).path});else{const h=J({},_.params);for(const m in h)h[m]==null&&delete h[m];O=J({},_,{params:p(h)}),A.params=p(A.params)}const I=t.resolve(O,A),q=_.hash||"";I.params=f(g(I.params));const u=Yc(r,J({},_,{hash:ju(q),path:I.path})),d=s.createHref(u);return J({fullPath:u,hash:q,query:r===js?Hu(_.query):_.query||{}},I,{redirectedFrom:void 0,href:d})}function M(_){return typeof _=="string"?Gn(n,_,c.value.path):J({},_)}function B(_,A){if(a!==_)return kt(8,{from:A,to:_})}function S(_){return oe(_)}function ee(_){return S(J(M(_),{replace:!0}))}function re(_){const A=_.matched[_.matched.length-1];if(A&&A.redirect){const{redirect:O}=A;let I=typeof O=="function"?O(_):O;return typeof I=="string"&&(I=I.includes("?")||I.includes("#")?I=M(I):{path:I},I.params={}),J({query:_.query,hash:_.hash,params:"path"in I?{}:_.params},I)}}function oe(_,A){const O=a=k(_),I=c.value,q=_.state,u=_.force,d=_.replace===!0,h=re(O);if(h)return oe(J(M(h),{state:typeof h=="object"?J({},q,h.state):q,force:u,replace:d}),A||O);const m=O;m.redirectedFrom=A;let y;return!u&&Xc(r,I,O)&&(y=kt(16,{to:m,from:I}),Me(I,I,!0,!1)),(y?Promise.resolve(y):ne(m,I)).catch(b=>He(b)?He(b,2)?b:Je(b):W(b,m,I)).then(b=>{if(b){if(He(b,2))return oe(J({replace:d},M(b.to),{state:typeof b.to=="object"?J({},q,b.to.state):q,force:u}),A||m)}else b=rt(m,I,!0,d,q);return qe(m,I,b),b})}function H(_,A){const O=B(_,A);return O?Promise.reject(O):Promise.resolve()}function te(_){const A=_t.values().next().value;return A&&typeof A.runWithContext=="function"?A.runWithContext(_):_()}function ne(_,A){let O;const[I,q,u]=Qu(_,A);O=er(I.reverse(),"beforeRouteLeave",_,A);for(const h of I)h.leaveGuards.forEach(m=>{O.push(Ze(m,_,A))});const d=H.bind(null,_,A);return O.push(d),pe(O).then(()=>{O=[];for(const h of o.list())O.push(Ze(h,_,A));return O.push(d),pe(O)}).then(()=>{O=er(q,"beforeRouteUpdate",_,A);for(const h of q)h.updateGuards.forEach(m=>{O.push(Ze(m,_,A))});return O.push(d),pe(O)}).then(()=>{O=[];for(const h of u)if(h.beforeEnter)if(ke(h.beforeEnter))for(const m of h.beforeEnter)O.push(Ze(m,_,A));else O.push(Ze(h.beforeEnter,_,A));return O.push(d),pe(O)}).then(()=>(_.matched.forEach(h=>h.enterCallbacks={}),O=er(u,"beforeRouteEnter",_,A),O.push(d),pe(O))).then(()=>{O=[];for(const h of i.list())O.push(Ze(h,_,A));return O.push(d),pe(O)}).catch(h=>He(h,8)?h:Promise.reject(h))}function qe(_,A,O){l.list().forEach(I=>te(()=>I(_,A,O)))}function rt(_,A,O,I,q){const u=B(_,A);if(u)return u;const d=A===Ye,h=bt?history.state:{};O&&(I||d?s.replace(_.fullPath,J({scroll:d&&h&&h.scroll},q)):s.push(_.fullPath,q)),c.value=_,Me(_,A,O,d),Je()}let Ie;function Ft(){Ie||(Ie=s.listen((_,A,O)=>{if(!cn.listening)return;const I=k(_),q=re(I);if(q){oe(J(q,{replace:!0}),I).catch(zt);return}a=I;const u=c.value;bt&&ou(Cs(u.fullPath,O.delta),Wn()),ne(I,u).catch(d=>He(d,12)?d:He(d,2)?(oe(d.to,I).then(h=>{He(h,20)&&!O.delta&&O.type===nn.pop&&s.go(-1,!1)}).catch(zt),Promise.reject()):(O.delta&&s.go(-O.delta,!1),W(d,I,u))).then(d=>{d=d||rt(I,u,!1),d&&(O.delta&&!He(d,8)?s.go(-O.delta,!1):O.type===nn.pop&&He(d,20)&&s.go(-1,!1)),qe(I,u,d)}).catch(zt)}))}let gt=Ht(),ue=Ht(),Y;function W(_,A,O){Je(_);const I=ue.list();return I.length?I.forEach(q=>q(_,A,O)):console.error(_),Promise.reject(_)}function De(){return Y&&c.value!==Ye?Promise.resolve():new Promise((_,A)=>{gt.add([_,A])})}function Je(_){return Y||(Y=!_,Ft(),gt.list().forEach(([A,O])=>_?O(_):A()),gt.reset()),_}function Me(_,A,O,I){const{scrollBehavior:q}=e;if(!bt||!q)return Promise.resolve();const u=!O&&iu(Cs(_.fullPath,0))||(I||!O)&&history.state&&history.state.scroll||null;return Dn().then(()=>q(_,A,u)).then(d=>d&&su(d)).catch(d=>W(d,_,A))}const ye=_=>s.go(_);let mt;const _t=new Set,cn={currentRoute:c,listening:!0,addRoute:v,removeRoute:P,hasRoute:L,getRoutes:C,resolve:k,options:e,push:S,replace:ee,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:ue.add,isReady:De,install(_){const A=this;_.component("RouterLink",li),_.component("RouterView",qu),_.config.globalProperties.$router=A,Object.defineProperty(_.config.globalProperties,"$route",{enumerable:!0,get:()=>_e(c)}),bt&&!mt&&c.value===Ye&&(mt=!0,S(s.location).catch(q=>{}));const O={};for(const q in Ye)Object.defineProperty(O,q,{get:()=>c.value[q],enumerable:!0});_.provide(Br,A),_.provide(ii,mo(O)),_.provide(mr,c);const I=_.unmount;_t.add(_),_.unmount=function(){_t.delete(_),_t.size<1&&(a=Ye,Ie&&Ie(),Ie=null,c.value=Ye,mt=!1,Y=!1),I()}}};function pe(_){return _.reduce((A,O)=>A.then(()=>te(O)),Promise.resolve())}return cn}function Qu(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iTt(a,l))?r.push(l):n.push(l));const c=e.matched[i];c&&(t.matched.find(a=>Tt(a,c))||s.push(c))}return[n,r,s]}const Yu="modulepreload",Xu=function(e,t){return new URL(e,t).href},Bs={},de=function(t,n,r){if(!n||n.length===0)return t();const s=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Xu(o,r),o in Bs)return;Bs[o]=!0;const i=o.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(!!r)for(let f=s.length-1;f>=0;f--){const p=s[f];if(p.href===o&&(!i||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const a=document.createElement("link");if(a.rel=i?"stylesheet":Yu,i||(a.as="script",a.crossOrigin=""),a.href=o,document.head.appendChild(a),i)return new Promise((f,p)=>{a.addEventListener("load",f),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},Zu={class:"px-4 pt-6 2xl:px-0"},Gu={class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},ea={class:"mx-auto max-w-screen-xl px-4 py-8 lg:px-6 sm:py-16"},ta=ac('

Salvation lies within IELTS

我的 IELTS 备考中心

Hello, This is Frank. 这里包含我备考准备的一切,从词汇、语法开始...

',2),na={class:"md:grid lg:grid-cols-3 md:grid-cols-2 md:gap-12 space-y-8 md:space-y-0"},ra={class:"mb-4 h-10 w-10 flex items-center justify-center rounded-full bg-primary-100 lg:h-12 lg:w-12 dark:bg-primary-900"},sa={class:"mb-2 text-xl font-bold dark:text-white"},oa={class:"text-gray-500 dark:text-gray-400"},ia=Bn({name:"IndexPage",__name:"index",setup(e){const t=jt([{label:"词汇",icon:"i-carbon-chart-histogram",link:"/vocabulary",desc:"包含雅思词汇真经内容,按场景分组"},{label:"语法",icon:"i-carbon-load-balancer-vpc ",link:"/grammar",desc:"新东方雅思语法课程,针对雅思考试设计,思维导图"},{label:"听力",icon:"i-carbon-headphones",link:"/listening",desc:"听力基本概念,179 考点词同义替换和雅思王语料库"},{label:"口语",icon:"i-carbon-microphone",link:"/speaking",desc:"TODO 或许加入逻辑链相关内容"},{label:"阅读",icon:"i-carbon-white-paper",link:"/reading",desc:"538 考点词同义替换"},{label:"写作",icon:"i-carbon-edit",link:"/writing",desc:"100 句翻译练习、大小作文"}]);return(n,r)=>(Ce(),Ve("div",Zu,[K("section",Gu,[K("div",ea,[ta,K("div",na,[(Ce(!0),Ve(Ee,null,ir(_e(t),s=>(Ce(),Ko(_e(li),{key:s.label,to:s.link,class:"block"},{default:An(()=>[K("div",ra,[K("i",{class:ut(["block h-5 w-5 text-primary-600 lg:h-6 lg:w-6 dark:text-primary-300",s.icon])},null,2)]),K("h3",sa,Qt(s.label),1),K("p",oa,Qt(s.desc),1)]),_:2},1032,["to"]))),128))])])])]))}}),la=()=>de(()=>import("./index-e6338e3c.js"),["./index-e6338e3c.js","./100sentences-033435c7.js"],import.meta.url),ca=()=>de(()=>import("./100sentences-033435c7.js"),[],import.meta.url),ua=()=>de(()=>import("./vocabulary-d1ee5e7e.js"),[],import.meta.url),aa=()=>de(()=>import("./index-ffd7c001.js"),["./index-ffd7c001.js","./vocabulary-d1ee5e7e.js"],import.meta.url),fa=()=>de(()=>import("./index-edf99d25.js"),[],import.meta.url),da=()=>de(()=>import("./reading538words-9b6f88e9.js"),[],import.meta.url),pa=()=>de(()=>import("./index-e9928cb8.js"),["./index-e9928cb8.js","./reading538words-9b6f88e9.js"],import.meta.url),ha=()=>de(()=>import("./practice-ee1788e1.js"),["./practice-ee1788e1.js","./listening179-b180f9fb.js"],import.meta.url),ga=()=>de(()=>import("./index-735a3418.js"),["./index-735a3418.js","./listening179-b180f9fb.js"],import.meta.url),ma=()=>de(()=>import("./index-aeed7cd4.js"),["./index-aeed7cd4.js","./index-a11e4009.css"],import.meta.url),_a=()=>de(()=>import("./listening-13fcad9f.js"),[],import.meta.url),ya=()=>de(()=>import("./spelling_convention-b2b585a9.js"),[],import.meta.url),va=()=>de(()=>import("./keyword-44194cd8.js"),["./keyword-44194cd8.js","./listening179-089c7171.js"],import.meta.url),ba=()=>de(()=>import("./index-cc13417e.js"),["./index-cc13417e.js","./index-a11e4009.css"],import.meta.url),wa=()=>de(()=>import("./corpus-71d90d04.js"),["./corpus-71d90d04.js","./spelling_convention-b2b585a9.js"],import.meta.url),xa=()=>de(()=>import("./179practice-858da273.js"),["./179practice-858da273.js","./listening179-089c7171.js"],import.meta.url),Ea=()=>de(()=>import("./_...all_-a83c60b8.js"),[],import.meta.url),Oa=[{name:"writing",path:"/writing",component:la,props:!0},{name:"writing-100sentences",path:"/writing/100sentences",component:ca,props:!0},{name:"vocabulary-vocabulary",path:"/vocabulary/vocabulary",component:ua,props:!0},{name:"vocabulary",path:"/vocabulary",component:aa,props:!0},{name:"speaking",path:"/speaking",component:fa,props:!0},{name:"reading-reading538words",path:"/reading/reading538words",component:da,props:!0},{name:"reading",path:"/reading",component:pa,props:!0},{name:"ielts-practice",path:"/ielts/practice",component:ha,props:!0},{name:"ielts",path:"/ielts",component:ga,props:!0},{name:"grammar",path:"/grammar",component:ma,props:!0},{path:"/listening",component:_a,children:[{name:"listening-spelling_convention",path:"spelling_convention",component:ya,props:!0},{name:"listening-keyword",path:"keyword",component:va,props:!0},{name:"listening",path:"",component:ba,props:!0},{name:"listening-corpus",path:"corpus",component:wa,props:!0},{name:"listening-179practice",path:"179practice",component:xa,props:!0}],props:!0},{name:"index",path:"/",component:ia,props:!0},{name:"all",path:"/:all(.*)*",component:Ea,props:!0}],Pa={class:"px-4 py-6 md:flex md:items-center md:justify-between dark:bg-gray-800 2xl:px-0 md:py-10"},Ra={class:"mb-4 flex-1 text-center text-sm text-gray-500 md:mb-0"},Ca=K("a",{href:"/",class:"hover:underline",target:"_blank"},"Frank",-1),Aa={__name:"TheFooter",setup(e){const t=new Date().getFullYear();return(n,r)=>(Ce(),Ve("footer",Pa,[K("p",Ra,[Ct(" © "+Qt(_e(t))+" ",1),Ca,Ct(". All rights reserved. ")])]))}};function ci(e){return so()?(Ii(e),!0):!1}function rn(e){return typeof e=="function"?e():_e(e)}const Sa=typeof window<"u",ui=()=>{};function Ta(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ai=e=>e();function ka(e=ai){const t=ze(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Ln(t),pause:n,resume:r,eventFilter:s}}function fi(...e){if(e.length!==1)return dl(...e);const t=e[0];return typeof t=="function"?Ln(ul(()=>({get:t,set:ui}))):ze(t)}function Ia(e,t=!0){zo()?jr(e):t?e():Dn(e)}function Ma(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,s=ie(e),o=ze(e);function i(l){if(arguments.length)return o.value=l,o.value;{const c=rn(n);return o.value=o.value===c?rn(r):c,o.value}}return s?i:[o,i]}var Vs=Object.getOwnPropertySymbols,$a=Object.prototype.hasOwnProperty,ja=Object.prototype.propertyIsEnumerable,Fa=(e,t)=>{var n={};for(var r in e)$a.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Vs)for(var r of Vs(e))t.indexOf(r)<0&&ja.call(e,r)&&(n[r]=e[r]);return n};function La(e,t,n={}){const r=n,{eventFilter:s=ai}=r,o=Fa(r,["eventFilter"]);return ft(e,Ta(s,t),o)}var Na=Object.defineProperty,Da=Object.defineProperties,Ha=Object.getOwnPropertyDescriptors,In=Object.getOwnPropertySymbols,di=Object.prototype.hasOwnProperty,pi=Object.prototype.propertyIsEnumerable,Ks=(e,t,n)=>t in e?Na(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ba=(e,t)=>{for(var n in t||(t={}))di.call(t,n)&&Ks(e,n,t[n]);if(In)for(var n of In(t))pi.call(t,n)&&Ks(e,n,t[n]);return e},Va=(e,t)=>Da(e,Ha(t)),Ka=(e,t)=>{var n={};for(var r in e)di.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&In)for(var r of In(e))t.indexOf(r)<0&&pi.call(e,r)&&(n[r]=e[r]);return n};function Ua(e,t,n={}){const r=n,{eventFilter:s}=r,o=Ka(r,["eventFilter"]),{eventFilter:i,pause:l,resume:c,isActive:a}=ka(s);return{stop:La(e,t,Va(Ba({},o),{eventFilter:i})),pause:l,resume:c,isActive:a}}function hi(e){var t;const n=rn(e);return(t=n==null?void 0:n.$el)!=null?t:n}const sn=Sa?window:void 0;function Us(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=sn):[t,n,r,s]=e,!t)return ui;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,p,g,v)=>(f.addEventListener(p,g,v),()=>f.removeEventListener(p,g,v)),c=ft(()=>[hi(t),rn(s)],([f,p])=>{i(),f&&o.push(...n.flatMap(g=>r.map(v=>l(f,g,v,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return ci(a),a}function za(){const e=ze(!1);return zo()&&jr(()=>{e.value=!0}),e}function Wa(e){const t=za();return ge(()=>(t.value,!!e()))}function qa(e,t={}){const{window:n=sn}=t,r=Wa(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=ze(!1),i=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",l):s.removeListener(l))},l=()=>{r.value&&(i(),s=n.matchMedia(fi(e).value),o.value=!!(s!=null&&s.matches),s&&("addEventListener"in s?s.addEventListener("change",l):s.addListener(l)))};return Al(l),ci(()=>i()),o}const gn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},mn="__vueuse_ssr_handlers__",Ja=Qa();function Qa(){return mn in gn||(gn[mn]=gn[mn]||{}),gn[mn]}function gi(e,t){return Ja[e]||t}function Ya(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}var Xa=Object.defineProperty,zs=Object.getOwnPropertySymbols,Za=Object.prototype.hasOwnProperty,Ga=Object.prototype.propertyIsEnumerable,Ws=(e,t,n)=>t in e?Xa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qs=(e,t)=>{for(var n in t||(t={}))Za.call(t,n)&&Ws(e,n,t[n]);if(zs)for(var n of zs(t))Ga.call(t,n)&&Ws(e,n,t[n]);return e};const ef={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Js="vueuse-storage";function tf(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:p=sn,eventFilter:g,onError:v=H=>{console.error(H)}}=r,P=(f?vo:ze)(t);if(!n)try{n=gi("getDefaultStorage",()=>{var H;return(H=sn)==null?void 0:H.localStorage})()}catch(H){v(H)}if(!n)return P;const C=rn(t),L=Ya(C),k=(s=r.serializer)!=null?s:ef[L],{pause:M,resume:B}=Ua(P,()=>S(P.value),{flush:o,deep:i,eventFilter:g});return p&&l&&(Us(p,"storage",oe),Us(p,Js,re)),oe(),P;function S(H){try{if(H==null)n.removeItem(e);else{const te=k.write(H),ne=n.getItem(e);ne!==te&&(n.setItem(e,te),p&&p.dispatchEvent(new CustomEvent(Js,{detail:{key:e,oldValue:ne,newValue:te,storageArea:n}})))}}catch(te){v(te)}}function ee(H){const te=H?H.newValue:n.getItem(e);if(te==null)return c&&C!==null&&n.setItem(e,k.write(C)),C;if(!H&&a){const ne=k.read(te);return typeof a=="function"?a(ne,C):L==="object"&&!Array.isArray(ne)?qs(qs({},C),ne):ne}else return typeof te!="string"?te:k.read(te)}function re(H){oe(H.detail)}function oe(H){if(!(H&&H.storageArea!==n)){if(H&&H.key==null){P.value=C;return}if(!(H&&H.key!==e)){M();try{P.value=ee(H)}catch(te){v(te)}finally{H?Dn(B):B()}}}}}function nf(e){return qa("(prefers-color-scheme: dark)",e)}var rf=Object.defineProperty,Qs=Object.getOwnPropertySymbols,sf=Object.prototype.hasOwnProperty,of=Object.prototype.propertyIsEnumerable,Ys=(e,t,n)=>t in e?rf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lf=(e,t)=>{for(var n in t||(t={}))sf.call(t,n)&&Ys(e,n,t[n]);if(Qs)for(var n of Qs(t))of.call(t,n)&&Ys(e,n,t[n]);return e};function cf(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=sn,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,p=lf({auto:"",light:"light",dark:"dark"},e.modes||{}),g=nf({window:s}),v=ge(()=>g.value?"dark":"light"),P=c||(i==null?fi(r):tf(i,r,o,{window:s,listenToStorageChanges:l})),C=ge(()=>P.value==="auto"?v.value:P.value),L=gi("updateHTMLAttrs",(S,ee,re)=>{const oe=typeof S=="string"?s==null?void 0:s.document.querySelector(S):hi(S);if(!oe)return;let H;if(f){H=s.document.createElement("style");const te="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";H.appendChild(document.createTextNode(te)),s.document.head.appendChild(H)}if(ee==="class"){const te=re.split(/\s/g);Object.values(p).flatMap(ne=>(ne||"").split(/\s/g)).filter(Boolean).forEach(ne=>{te.includes(ne)?oe.classList.add(ne):oe.classList.remove(ne)})}else oe.setAttribute(ee,re);f&&(s.getComputedStyle(H).opacity,document.head.removeChild(H))});function k(S){var ee;L(t,n,(ee=p[S])!=null?ee:S)}function M(S){e.onChanged?e.onChanged(S,k):k(S)}ft(C,M,{flush:"post",immediate:!0}),Ia(()=>M(C.value));const B=ge({get(){return a?P.value:C.value},set(S){P.value=S}});try{return Object.assign(B,{store:P,system:v,state:C})}catch{return B}}var uf=Object.defineProperty,af=Object.defineProperties,ff=Object.getOwnPropertyDescriptors,Xs=Object.getOwnPropertySymbols,df=Object.prototype.hasOwnProperty,pf=Object.prototype.propertyIsEnumerable,Zs=(e,t,n)=>t in e?uf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hf=(e,t)=>{for(var n in t||(t={}))df.call(t,n)&&Zs(e,n,t[n]);if(Xs)for(var n of Xs(t))pf.call(t,n)&&Zs(e,n,t[n]);return e},gf=(e,t)=>af(e,ff(t));function mf(e={}){const{valueDark:t="dark",valueLight:n=""}=e,r=cf(gf(hf({},e),{onChanged:(o,i)=>{var l;e.onChanged?(l=e.onChanged)==null||l.call(e,o==="dark",i,o):i(o)},modes:{dark:t,light:n}}));return ge({get(){return r.value==="dark"},set(o){const i=o?"dark":"light";r.system.value===i?r.value="auto":r.value=i}})}const _f=mf(),yf=Ma(_f),vf={class:"fixed z-30 w-full border-b border-gray-200 bg-white px-4 py-3 dark:border-gray-700 dark:bg-gray-800"},bf={class:"mx-auto max-w-screen-2xl flex items-center justify-between"},wf={class:"flex items-center justify-start"},xf=K("a",{href:"/",class:"mr-14 flex"},[K("span",{class:"hidden self-center whitespace-nowrap text-2xl font-semibold sm:flex dark:text-white"},[Ct("My "),K("span",{class:"ml-1 text-red-600"}," IELTS™")])],-1),Ef={class:"hidden w-full items-center justify-between lg:order-1 lg:w-auto lg:flex"},Of={class:"mt-4 flex flex-col items-center justify-items-center text-center align-middle text-sm font-medium lg:mt-0 lg:flex-row space-x-6 xl:space-x-8"},Pf={class:"flex items-center justify-between lg:order-2"},Rf=K("a",{href:"https://github.com/hefengxian/my-ielts",target:"_blank",class:"rounded-lg p-2 text-gray-500 hover:bg-gray-100 dark:text-gray-400 hover:text-gray-900 focus:ring-4 focus:ring-gray-300 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-600"},[K("div",{"i-simple-icons-github":""})],-1),Cf=K("div",{"i-carbon-sun":"","dark:i-carbon-moon":""},null,-1),Af=[Cf],Sf=K("span",{class:"sr-only"},"Open menu",-1),Tf=K("svg",{class:"h-6 w-6","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[K("path",{"fill-rule":"evenodd",d:"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z","clip-rule":"evenodd"})],-1),kf=[Sf,Tf],If={class:"bg-white dark:bg-gray-900"},Mf={style:{display:"none"},class:"mt-0 w-full flex-col pt-16 text-sm font-medium lg:hidden"},$f=Bn({__name:"TheHeader",setup(e){const t=jt([{label:"首页",icon:"i-carbon-home",link:"/"},{label:"词汇",icon:"i-carbon-chart-histogram",link:"/vocabulary"},{label:"语法",icon:"i-carbon-load-balancer-vpc ",link:"/grammar"},{label:"听力",icon:"i-carbon-headphones",link:"/listening"},{label:"口语",icon:"i-carbon-microphone",link:"/speaking"},{label:"阅读",icon:"i-carbon-white-paper",link:"/reading"},{label:"写作",icon:"i-carbon-edit",link:"/writing"}]),n=ze(!1);return(r,s)=>{const o=Mo("router-link");return Ce(),Ve("header",null,[K("nav",vf,[K("div",bf,[K("div",wf,[xf,K("div",Ef,[K("ul",Of,[(Ce(!0),Ve(Ee,null,ir(_e(t),i=>(Ce(),Ve("li",{key:i.label},[le(o,{class:ut(r.$route.path===i.link?"block flex flex-row items-center rounded text-primary-700 dark:text-primary-500":"block flex flex-row items-center text-gray-700 dark:text-gray-400 hover:text-primary-700 dark:hover:text-white"),to:i.link},{default:An(()=>[K("i",{class:ut(["mr-1 inline-block",i.icon])},null,2),Ct(" "+Qt(i.label),1)]),_:2},1032,["class","to"])]))),128))])])]),K("div",Pf,[Rf,K("button",{class:"ml-2 rounded-lg p-2 text-gray-500 hover:bg-gray-100 dark:text-gray-400 hover:text-gray-900 focus:ring-4 focus:ring-gray-300 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-600",onClick:s[0]||(s[0]=i=>("toggleDark"in r?r.toggleDark:_e(yf))())},Af),K("button",{type:"button",class:"items-center rounded-lg p-2 text-gray-500 md:ml-2 lg:hidden hover:bg-gray-100 dark:text-gray-400 hover:text-gray-900 focus:ring-4 focus:ring-gray-300 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-600",onClick:s[1]||(s[1]=i=>n.value=!_e(n))},kf)])])]),K("nav",If,[Tl(K("ul",Mf,[(Ce(!0),Ve(Ee,null,ir(_e(t),i=>(Ce(),Ve("li",{key:i.label,class:"block border-b dark:border-gray-700"},[le(o,{class:"block px-4 py-3 text-gray-900 lg:px-0 lg:py-0 dark:text-white lg:hover:underline",to:i.link,onClick:s[2]||(s[2]=l=>n.value=!1)},{default:An(()=>[K("i",{class:ut(["mr-1 inline-block",i.icon])},null,2),Ct(" "+Qt(i.label),1)]),_:2},1032,["to"])]))),128))],512),[[Vc,_e(n)]])])])}}}),jf=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Ff={},Lf={class:"flex flex-1 overflow-hidden bg-gray-50 py-16 leading-8 dark:bg-gray-900"},Nf={class:"relative mx-auto h-full w-full max-w-screen-2xl overflow-y-auto bg-gray-50 dark:bg-gray-900 dark:text-white"};function Df(e,t){const n=$f,r=Mo("RouterView"),s=Aa;return Ce(),Ve(Ee,null,[le(n),K("div",Lf,[K("div",Nf,[le(r)])]),le(s)],64)}const Hf=jf(Ff,[["render",Df]]);const mi=zc(Hf),Bf=Ju({history:fu("./"),routes:Oa});mi.use(Bf);mi.mount("#app");export{An as A,Ee as F,jf as _,K as a,ac as b,Ve as c,ze as d,jt as e,ge as f,jr as g,Fl as h,Tl as i,ie as j,Uf as k,Vf as l,Ct as m,Vc as n,Ce as o,ut as p,Kf as q,ir as r,Bn as s,Qt as t,_e as u,zf as v,ft as w,Wf as x,Mo as y,le as z}; diff --git a/assets/index-fece7602.js b/assets/index-735a3418.js similarity index 96% rename from assets/index-fece7602.js rename to assets/index-735a3418.js index b0042d1..f8ecfed 100644 --- a/assets/index-fece7602.js +++ b/assets/index-735a3418.js @@ -1 +1 @@ -import{w as p}from"./listening179-b180f9fb.js";import{s as d,e as _,y as h,c as o,a as t,z as x,A as y,F as u,r as m,u as g,o as c,m as f,t as s}from"./index-33f7b5f9.js";const k={class:"relative overflow-x-auto"},b={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},w=t("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[t("tr",null,[t("th",{class:"w-0 px-6 py-3"}," # "),t("th",{class:"w-0 px-6 py-3"}),t("th",{scope:"col",class:"w-0 px-6 py-3"}," 考点词 "),t("th",{scope:"col",class:"w-0 px-6 py-3"}," 词性 "),t("th",{scope:"col",class:"w-80 px-6 py-3"}," 词义 "),t("th",{scope:"col",class:"px-6 py-3"}," 同义替换 ")])],-1),v={class:"px-6 py-4"},C={class:"px-6 py-4"},B=["onClick"],N={scope:"row",class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},V=["href"],$={class:"px-6 py-4 italic"},j={class:"px-6 py-4"},E={class:"px-6 py-4"},L=d({__name:"index",setup(F){const l=_(p);function n(r){const a=document.createElement("audio");a.src=`179_audios/${r}.mp3`,a.play()}return(r,a)=>{const i=h("router-link");return c(),o("div",null,[t("div",k,[t("div",null,[x(i,{to:"/ielts/practice"},{default:y(()=>[f(" 练习 ")]),_:1})]),t("table",b,[w,t("tbody",null,[(c(!0),o(u,null,m(g(l),e=>(c(),o("tr",{key:e.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[t("td",v,s(e.index),1),t("td",C,[t("a",{href:"javascript:;",class:"i-carbon-volume-up-filled block",onClick:z=>n(e.word)},null,8,B)]),t("th",N,[t("a",{href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${e.word}`,target:"_blank"},s(e.word),9,V)]),t("td",$,s(e.type),1),t("td",j,s(e.meaning),1),t("td",E,s(e.replace.join(", ")),1)]))),128))])])])])}}});export{L as default}; +import{w as p}from"./listening179-b180f9fb.js";import{s as d,e as _,y as h,c as o,a as t,z as x,A as y,F as u,r as m,u as g,o as c,m as f,t as s}from"./index-1a691bfa.js";const k={class:"relative overflow-x-auto"},b={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},w=t("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[t("tr",null,[t("th",{class:"w-0 px-6 py-3"}," # "),t("th",{class:"w-0 px-6 py-3"}),t("th",{scope:"col",class:"w-0 px-6 py-3"}," 考点词 "),t("th",{scope:"col",class:"w-0 px-6 py-3"}," 词性 "),t("th",{scope:"col",class:"w-80 px-6 py-3"}," 词义 "),t("th",{scope:"col",class:"px-6 py-3"}," 同义替换 ")])],-1),v={class:"px-6 py-4"},C={class:"px-6 py-4"},B=["onClick"],N={scope:"row",class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},V=["href"],$={class:"px-6 py-4 italic"},j={class:"px-6 py-4"},E={class:"px-6 py-4"},L=d({__name:"index",setup(F){const l=_(p);function n(r){const a=document.createElement("audio");a.src=`179_audios/${r}.mp3`,a.play()}return(r,a)=>{const i=h("router-link");return c(),o("div",null,[t("div",k,[t("div",null,[x(i,{to:"/ielts/practice"},{default:y(()=>[f(" 练习 ")]),_:1})]),t("table",b,[w,t("tbody",null,[(c(!0),o(u,null,m(g(l),e=>(c(),o("tr",{key:e.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[t("td",v,s(e.index),1),t("td",C,[t("a",{href:"javascript:;",class:"i-carbon-volume-up-filled block",onClick:z=>n(e.word)},null,8,B)]),t("th",N,[t("a",{href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${e.word}`,target:"_blank"},s(e.word),9,V)]),t("td",$,s(e.type),1),t("td",j,s(e.meaning),1),t("td",E,s(e.replace.join(", ")),1)]))),128))])])])])}}});export{L as default}; diff --git a/assets/index-6eaf05e5.js b/assets/index-aeed7cd4.js similarity index 99% rename from assets/index-6eaf05e5.js rename to assets/index-aeed7cd4.js index b5bf576..750f99a 100644 --- a/assets/index-6eaf05e5.js +++ b/assets/index-aeed7cd4.js @@ -1 +1 @@ -import{_ as n,c as e,a as t,m as d,o as i,b as a}from"./index-33f7b5f9.js";const o={},r={class:"px-4 pt-6 2xl:px-0"},h={class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},l=t("h3",{class:"mb-4 text-xl font-semibold dark:text-white"}," 概述 ",-1),p=t("div",{class:"mb-4"}," 我尝试过很多语法教程最终都没有学下去,只有这个版本取出了最需要的部分;学完这个就会分析长难句了! ",-1),_=t("h3",{class:"mb-4 text-xl font-semibold dark:text-white"}," 视频 ",-1),g=t("iframe",{style:{width:"100%","aspect-ratio":"16 / 9"},class:"mb-4",src:"https://www.youtube.com/embed/bxvyZwACfNk?si=_dXajzpGFCYZ1gOa",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""},null,-1),k=t("h3",{class:"mb-4 text-xl font-semibold dark:text-white"}," 讲义 ",-1),y=t("div",{class:"mb-4"},[d(" 视频配套讲义: "),t("a",{class:"truncate text-sm font-normal text-primary-700 dark:text-primary-500 hover:underline",href:"grammar/雅思基础语法配套课程讲义.pdf",download:"雅思基础语法配套课程讲义.pdf"},"雅思基础语法配套课程讲义.pdf")],-1),s=t("h3",{class:"mb-4 text-xl font-semibold dark:text-white"}," 思维导图 ",-1),x={class:"mb-4"},f=t("p",null,"听完课跟着老师画的,使用的百度脑图",-1),M={class:"stroke-none",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",width:"100%",style:{visibility:"visible"},viewBox:"0 0 1552 5255"},c=a('雅思语法如何表达一件事1简单句的构成主语+谓语动词主谓主谓宾主谓双宾主谓宾补主系表简单句的核心变化谓语动词的变化(是一个整体)时态重点 8 种一般时态过去did现在dodoes将来will beam/is/are going to do过去将来would bewas/were going to do进行时态过去进行was/were doing现在进行am/is/are doing完成时态过去完成had done现在完成have/has done完成进行时(很少考察)情态情态动词+动词原形语态主动被动构成be + done被动与时态结合过去was/were done现在am/is/are done将来will be done过去将来would be done过去进行was/were being done现在进行am/is/are being done过去完成had been done现在完成have/has been done情态情态动词 + be + done简单句的扩展形容词、副词用法形容词:修饰名词副词:修饰动词/句子/形容词/副词(名词之外的所有)3 种比较级最高级比较级同级比较介词短语介词(prep.)+ 名词/代词/doing = 介词短语表示地点表示时间其他用法简单句提升非谓语动词分类doingdoneto do用途作句子的核心相当于名词,作主/宾/表,只能用:doingto do作句子的扩展修饰名词/句子,作定语/状语如何表达多件事2并列句构成多个简单句+并列连词常用并列连词顺接...and..both...and...not only ...but also...转折...but......yet...选择...or...either...or...neither...nor...因果...for......so...省略前后相同的部分可以省略主从复合句名词性从句(4 类)写法基本相同连接词that/how/wh-位置不同宾从及物动词后介词后表从系动词后(最常用 be)主从句首句尾(句首用形式主语It)同位从抽象名词后定语从句概述关系词先行词写法关系词选择看先行词事/物=which/that人=who/whom/that人/物的=whose时间=when地点=where原因=why分类限定定语从句非限定定语从句——确定的补充介词提前状语从句含义一个句子作状语,表达描述性的信息写法从属连词+陈述句位置主句前主句后主句中(作插入语)位置由从属连词决定时间whenwhileasbeforeaftersinceuntil地点where原因becausesinceas结果so...that...such...that...so that...目的so that...in order that...方式as比较thanas让步althoughthougheven thougheven if条件ifunlessonceas long as如何解决特殊句式和长难句3特殊结构分裂成分同位语插入语特点成对的标点:括号/破折号/逗号平行特点成分之间:词性相同、结构一致并列连词特殊句式虚拟(非真实)if 条件句从句往前推,主句 4+1,将来同现在假设过去if 从句:had done主句 4+1would+donecould+doneshould+donemight+done假设现在if 从句:did (were)主句 4+1would+donecould+doneshould+donemight+done假设将来同现在宾语从句表示命令/要求:should + do倒装全部倒装句型:there be表示:有、客观存在there be + n. + 介词短语部分倒装否定词句首only句首虚拟条件句省略 if强调构成It is...that...变化It is/was... that/who...不能强调形容词、动词与主语从句的区别:去掉 it is...that 剩下的句子是否组成一个完整的句子综合应用断开标点连接词数谓语动词简化去修饰,找核心介词短语形容词副词',2),w=[c];function m(b,u){return i(),e("div",r,[t("div",h,[l,p,_,g,k,y,s,t("div",x,[f,(i(),e("svg",M,w))])])])}const z=n(o,[["render",m]]);export{z as default}; +import{_ as n,c as e,a as t,m as d,o as i,b as a}from"./index-1a691bfa.js";const o={},r={class:"px-4 pt-6 2xl:px-0"},h={class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},l=t("h3",{class:"mb-4 text-xl font-semibold dark:text-white"}," 概述 ",-1),p=t("div",{class:"mb-4"}," 我尝试过很多语法教程最终都没有学下去,只有这个版本取出了最需要的部分;学完这个就会分析长难句了! ",-1),_=t("h3",{class:"mb-4 text-xl font-semibold dark:text-white"}," 视频 ",-1),g=t("iframe",{style:{width:"100%","aspect-ratio":"16 / 9"},class:"mb-4",src:"https://www.youtube.com/embed/bxvyZwACfNk?si=_dXajzpGFCYZ1gOa",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""},null,-1),k=t("h3",{class:"mb-4 text-xl font-semibold dark:text-white"}," 讲义 ",-1),y=t("div",{class:"mb-4"},[d(" 视频配套讲义: "),t("a",{class:"truncate text-sm font-normal text-primary-700 dark:text-primary-500 hover:underline",href:"grammar/雅思基础语法配套课程讲义.pdf",download:"雅思基础语法配套课程讲义.pdf"},"雅思基础语法配套课程讲义.pdf")],-1),s=t("h3",{class:"mb-4 text-xl font-semibold dark:text-white"}," 思维导图 ",-1),x={class:"mb-4"},f=t("p",null,"听完课跟着老师画的,使用的百度脑图",-1),M={class:"stroke-none",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",width:"100%",style:{visibility:"visible"},viewBox:"0 0 1552 5255"},c=a('雅思语法如何表达一件事1简单句的构成主语+谓语动词主谓主谓宾主谓双宾主谓宾补主系表简单句的核心变化谓语动词的变化(是一个整体)时态重点 8 种一般时态过去did现在dodoes将来will beam/is/are going to do过去将来would bewas/were going to do进行时态过去进行was/were doing现在进行am/is/are doing完成时态过去完成had done现在完成have/has done完成进行时(很少考察)情态情态动词+动词原形语态主动被动构成be + done被动与时态结合过去was/were done现在am/is/are done将来will be done过去将来would be done过去进行was/were being done现在进行am/is/are being done过去完成had been done现在完成have/has been done情态情态动词 + be + done简单句的扩展形容词、副词用法形容词:修饰名词副词:修饰动词/句子/形容词/副词(名词之外的所有)3 种比较级最高级比较级同级比较介词短语介词(prep.)+ 名词/代词/doing = 介词短语表示地点表示时间其他用法简单句提升非谓语动词分类doingdoneto do用途作句子的核心相当于名词,作主/宾/表,只能用:doingto do作句子的扩展修饰名词/句子,作定语/状语如何表达多件事2并列句构成多个简单句+并列连词常用并列连词顺接...and..both...and...not only ...but also...转折...but......yet...选择...or...either...or...neither...nor...因果...for......so...省略前后相同的部分可以省略主从复合句名词性从句(4 类)写法基本相同连接词that/how/wh-位置不同宾从及物动词后介词后表从系动词后(最常用 be)主从句首句尾(句首用形式主语It)同位从抽象名词后定语从句概述关系词先行词写法关系词选择看先行词事/物=which/that人=who/whom/that人/物的=whose时间=when地点=where原因=why分类限定定语从句非限定定语从句——确定的补充介词提前状语从句含义一个句子作状语,表达描述性的信息写法从属连词+陈述句位置主句前主句后主句中(作插入语)位置由从属连词决定时间whenwhileasbeforeaftersinceuntil地点where原因becausesinceas结果so...that...such...that...so that...目的so that...in order that...方式as比较thanas让步althoughthougheven thougheven if条件ifunlessonceas long as如何解决特殊句式和长难句3特殊结构分裂成分同位语插入语特点成对的标点:括号/破折号/逗号平行特点成分之间:词性相同、结构一致并列连词特殊句式虚拟(非真实)if 条件句从句往前推,主句 4+1,将来同现在假设过去if 从句:had done主句 4+1would+donecould+doneshould+donemight+done假设现在if 从句:did (were)主句 4+1would+donecould+doneshould+donemight+done假设将来同现在宾语从句表示命令/要求:should + do倒装全部倒装句型:there be表示:有、客观存在there be + n. + 介词短语部分倒装否定词句首only句首虚拟条件句省略 if强调构成It is...that...变化It is/was... that/who...不能强调形容词、动词与主语从句的区别:去掉 it is...that 剩下的句子是否组成一个完整的句子综合应用断开标点连接词数谓语动词简化去修饰,找核心介词短语形容词副词',2),w=[c];function m(b,u){return i(),e("div",r,[t("div",h,[l,p,_,g,k,y,s,t("div",x,[f,(i(),e("svg",M,w))])])])}const z=n(o,[["render",m]]);export{z as default}; diff --git a/assets/index-9701e0bb.js b/assets/index-cc13417e.js similarity index 98% rename from assets/index-9701e0bb.js rename to assets/index-cc13417e.js index dbe0178..6e61260 100644 --- a/assets/index-9701e0bb.js +++ b/assets/index-cc13417e.js @@ -1 +1 @@ -import{c as t,a as l,F as a,r as o,b as n,o as e,t as c}from"./index-33f7b5f9.js";const r={class:"px-4 pt-6 text-gray-500 2xl:px-0 dark:text-gray-400"},d=l("h3",{class:"mb-4 text-xl font-semibold text-black dark:text-white"}," 概述 ",-1),h={class:"mb-4"},m=l("p",null,"了解雅思听力,以及考试中的一些基本原则、技巧",-1),u=l("br",null,null,-1),x=l("p",null,"评分表",-1),b={class:"w-full text-center text-sm text-gray-500 dark:text-gray-400"},k={class:"border bg-white dark:border-gray-700 dark:bg-gray-800"},_={class:"border bg-white dark:border-gray-700 dark:bg-gray-800"},f=n('
  • 时限 30min
  • 结尾 10min 额外时间(这里说的应该是笔试,机考可能不一样)
  • 40 个题(错 10 个以内都可以得 7+)
  • 4 个小节,每个 10 题,难度递增
  • 答案是顺序的
  • 3 种题型
    • gap-fill 填空
    • multiple choice 选择题(不是多选题,是多个选项选一个)
    • matching 匹配
  • 多种口音
  • 只能听一次!!!
',2),y=n('

Section 1

  • 2 人对话
  • 日常简单交流
    • e.g. making a booking
  • 一个说话的给出基本信息
  • 简单的填空题:补全丢失的信息
  • 信息一般为
    • names
    • addresses
    • dates
    • times
    • numbers
  • 第一节很简单,必须拿高分 9-10 个正确,这样可以让你在后面难的部分有更多犯错空间

关键技巧:

  • Use the breaks to read ahead 利用中间中断的时间提前读后面的题
  • Before each section starts 每个小节开始前的停顿
  • In the middle of each section (Except in section 4) 每个小节中间的停顿,第四节中间没有停顿
  • At the end of each section 每个小节结束的时候
  • Don't check back, read ahead 不要向后看!不要向后看!不要向后看!错过了就错过了

Section 2

  • Use all of the break time at the end of section 1 第一节结束后立马读第二节的题目
  • 只有一个说话的
  • 一个简单的非学术类话题的陈述:
    • Tourism
    • A park
    • Local facilities
  • 题型:填空、选择、匹配
  • 中间会停顿(一般让你先看前 5 个问题,中间停顿让你再看后 5 个问题)
  • Still quite easy, aim for a high score 难度低,依然需要争取拿高分

Section 3

  • Use breaks to read and underline 利用空隙读题和划关键词
  • 2-3 个人的对话
  • 对话会和教育、培训有关,例如:老师和 2 个学生
  • Gap-fill, multiple choice (difficult) 题型:填空、选择(难度高)
  • Underline keywords in questions and choices 在题目和选项中划关键词
  • Listen for keywords or synonyms 听关键词或者对应的同义词
  • 高难度小节,目标应该是 6-7 个答对

Section 4

  • 使用第三节的空隙读题
  • 划关键词
  • 本节中间没有停顿,题目、关键词要尽量读、划
  • 只有一个人在那说
  • 内容学术相关
  • 题型:填空、选择
  • 听关键词或者对应的同义词
  • Difficult: faster speech, more content, extra information 很难:说的很快、内容多、很多额外信息。比如:30s 的语音中可能没有给任何答案

总结

Do some real practice tests 模拟考试练习

  1. Read ahead (only check back at the end) 向前读题,只在整个听力结束的时候才回头检查
  2. Underline keywords 划关键词,读题的时候要划关键词
  3. Listen for keywords or synonyms 注意听关键词或者其对应的同义词
  4. Be careful with spelling 注意拼写,听出来写不对也是没分的
  5. Don’t get stuck on a difficult question - move forward 不要被难的题卡住,直接过
  6. Concentrate! 集中注意力,整个 30 分钟要全神贯注
',13),B={__name:"index",setup(p){const s=[["39-40","9.0"],["37-38","8.5"],["35-36","8.0"],["33-34","7.5"],["30-32","7.0"],["27-29","6.5"],["23-26","6.0"],["20-22","5.5"],["16-19","5.0"],["13-15","4.5"],["10-12","4.0"],["6-9","3.5"],["4-5","3.0"],["3","2.5"],["2","2.0"],["1","1.0"],["absent","0.0"]];return(g,w)=>(e(),t("div",r,[d,l("div",h,[m,u,x,l("table",b,[l("tbody",null,[l("tr",k,[(e(),t(a,null,o(s,i=>l("td",{key:i[0],class:"border px-6 py-4"},c(i[0]),1)),64))]),l("tr",_,[(e(),t(a,null,o(s,i=>l("td",{key:i[0],class:"border px-6 py-4"},c(i[1]),1)),64))])])]),f]),y]))}};export{B as default}; +import{c as t,a as l,F as a,r as o,b as n,o as e,t as c}from"./index-1a691bfa.js";const r={class:"px-4 pt-6 text-gray-500 2xl:px-0 dark:text-gray-400"},d=l("h3",{class:"mb-4 text-xl font-semibold text-black dark:text-white"}," 概述 ",-1),h={class:"mb-4"},m=l("p",null,"了解雅思听力,以及考试中的一些基本原则、技巧",-1),u=l("br",null,null,-1),x=l("p",null,"评分表",-1),b={class:"w-full text-center text-sm text-gray-500 dark:text-gray-400"},k={class:"border bg-white dark:border-gray-700 dark:bg-gray-800"},_={class:"border bg-white dark:border-gray-700 dark:bg-gray-800"},f=n('
  • 时限 30min
  • 结尾 10min 额外时间(这里说的应该是笔试,机考可能不一样)
  • 40 个题(错 10 个以内都可以得 7+)
  • 4 个小节,每个 10 题,难度递增
  • 答案是顺序的
  • 3 种题型
    • gap-fill 填空
    • multiple choice 选择题(不是多选题,是多个选项选一个)
    • matching 匹配
  • 多种口音
  • 只能听一次!!!
',2),y=n('

Section 1

  • 2 人对话
  • 日常简单交流
    • e.g. making a booking
  • 一个说话的给出基本信息
  • 简单的填空题:补全丢失的信息
  • 信息一般为
    • names
    • addresses
    • dates
    • times
    • numbers
  • 第一节很简单,必须拿高分 9-10 个正确,这样可以让你在后面难的部分有更多犯错空间

关键技巧:

  • Use the breaks to read ahead 利用中间中断的时间提前读后面的题
  • Before each section starts 每个小节开始前的停顿
  • In the middle of each section (Except in section 4) 每个小节中间的停顿,第四节中间没有停顿
  • At the end of each section 每个小节结束的时候
  • Don't check back, read ahead 不要向后看!不要向后看!不要向后看!错过了就错过了

Section 2

  • Use all of the break time at the end of section 1 第一节结束后立马读第二节的题目
  • 只有一个说话的
  • 一个简单的非学术类话题的陈述:
    • Tourism
    • A park
    • Local facilities
  • 题型:填空、选择、匹配
  • 中间会停顿(一般让你先看前 5 个问题,中间停顿让你再看后 5 个问题)
  • Still quite easy, aim for a high score 难度低,依然需要争取拿高分

Section 3

  • Use breaks to read and underline 利用空隙读题和划关键词
  • 2-3 个人的对话
  • 对话会和教育、培训有关,例如:老师和 2 个学生
  • Gap-fill, multiple choice (difficult) 题型:填空、选择(难度高)
  • Underline keywords in questions and choices 在题目和选项中划关键词
  • Listen for keywords or synonyms 听关键词或者对应的同义词
  • 高难度小节,目标应该是 6-7 个答对

Section 4

  • 使用第三节的空隙读题
  • 划关键词
  • 本节中间没有停顿,题目、关键词要尽量读、划
  • 只有一个人在那说
  • 内容学术相关
  • 题型:填空、选择
  • 听关键词或者对应的同义词
  • Difficult: faster speech, more content, extra information 很难:说的很快、内容多、很多额外信息。比如:30s 的语音中可能没有给任何答案

总结

Do some real practice tests 模拟考试练习

  1. Read ahead (only check back at the end) 向前读题,只在整个听力结束的时候才回头检查
  2. Underline keywords 划关键词,读题的时候要划关键词
  3. Listen for keywords or synonyms 注意听关键词或者其对应的同义词
  4. Be careful with spelling 注意拼写,听出来写不对也是没分的
  5. Don’t get stuck on a difficult question - move forward 不要被难的题卡住,直接过
  6. Concentrate! 集中注意力,整个 30 分钟要全神贯注
',13),B={__name:"index",setup(p){const s=[["39-40","9.0"],["37-38","8.5"],["35-36","8.0"],["33-34","7.5"],["30-32","7.0"],["27-29","6.5"],["23-26","6.0"],["20-22","5.5"],["16-19","5.0"],["13-15","4.5"],["10-12","4.0"],["6-9","3.5"],["4-5","3.0"],["3","2.5"],["2","2.0"],["1","1.0"],["absent","0.0"]];return(g,w)=>(e(),t("div",r,[d,l("div",h,[m,u,x,l("table",b,[l("tbody",null,[l("tr",k,[(e(),t(a,null,o(s,i=>l("td",{key:i[0],class:"border px-6 py-4"},c(i[0]),1)),64))]),l("tr",_,[(e(),t(a,null,o(s,i=>l("td",{key:i[0],class:"border px-6 py-4"},c(i[1]),1)),64))])])]),f]),y]))}};export{B as default}; diff --git a/assets/index-659f3462.js b/assets/index-e6338e3c.js similarity index 95% rename from assets/index-659f3462.js rename to assets/index-e6338e3c.js index 867f071..61704fc 100644 --- a/assets/index-659f3462.js +++ b/assets/index-e6338e3c.js @@ -1 +1 @@ -import l from"./100sentences-fc34d592.js";import{c as t,a as e,F as a,r as d,u as i,b as n,o,t as s}from"./index-33f7b5f9.js";const c={class:"px-4 pt-6 2xl:px-0"},g={class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},b=n('

100 句翻译练习

能够写出 error-free 的句子
',2),h={class:"mt-6 flex flex-col"},u={class:"overflow-x-auto rounded-lg"},_={class:"inline-block min-w-full align-middle"},f={class:"overflow-hidden shadow sm:rounded-lg"},y={class:"min-w-full divide-y divide-gray-200 dark:divide-gray-600"},x={class:"bg-white dark:bg-gray-800 border-b-1"},p={key:0,class:"border-t-1 border-x-1"},k={colspan:"5",class:"p-4 font-bold text-xl"},w={class:"border-t-1"},v={class:"p-4 border-x-1",rowspan:"2"},m={class:"p-4 border-r-1",rowspan:"2"},B={class:"p-4 border-b-1 flex items-center"},F=e("div",{class:"mr-4",title:"来自书上标准答案"},[e("i",{class:"i-carbon-book block"})],-1),P={class:"p-4 border-x-1 w-30% whitespace-pre-line",rowspan:"2"},I={class:"p-4 flex items-center"},N=e("div",{class:"mr-4",title:"来自 ChatGPT"},[e("i",{class:"i-simple-icons-openai block"})],-1),D={__name:"index",setup(S){return(V,W)=>(o(),t("div",c,[e("div",g,[b,e("div",h,[e("div",u,[e("div",_,[e("div",f,[e("table",y,[e("tbody",x,[(o(!0),t(a,null,d(i(l),r=>(o(),t(a,{key:r.no},[r.no==null?(o(),t("tr",p,[e("td",k,s(r.title),1)])):(o(),t(a,{key:1},[e("tr",w,[e("td",v,s(r.no),1),e("td",m,s(r.sentence),1),e("td",B,[F,e("div",null,s(r.translationFromBook),1)]),e("td",P,s(r.remark),1)]),e("tr",null,[e("td",I,[N,e("div",null,s(r.chatgpt),1)])])],64))],64))),128))])])])])])])])]))}};export{D as default}; +import l from"./100sentences-033435c7.js";import{c as t,a as e,F as a,r as d,u as i,b as n,o,t as s}from"./index-1a691bfa.js";const c={class:"px-4 pt-6 2xl:px-0"},g={class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},b=n('

100 句翻译练习

能够写出 error-free 的句子
',2),h={class:"mt-6 flex flex-col"},u={class:"overflow-x-auto rounded-lg"},_={class:"inline-block min-w-full align-middle"},f={class:"overflow-hidden shadow sm:rounded-lg"},y={class:"min-w-full divide-y divide-gray-200 dark:divide-gray-600"},x={class:"bg-white dark:bg-gray-800 border-b-1"},p={key:0,class:"border-t-1 border-x-1"},k={colspan:"5",class:"p-4 font-bold text-xl"},w={class:"border-t-1"},v={class:"p-4 border-x-1",rowspan:"2"},m={class:"p-4 border-r-1",rowspan:"2"},B={class:"p-4 border-b-1 flex items-center"},F=e("div",{class:"mr-4",title:"来自书上标准答案"},[e("i",{class:"i-carbon-book block"})],-1),P={class:"p-4 border-x-1 w-30% whitespace-pre-line",rowspan:"2"},I={class:"p-4 flex items-center"},N=e("div",{class:"mr-4",title:"来自 ChatGPT"},[e("i",{class:"i-simple-icons-openai block"})],-1),D={__name:"index",setup(S){return(V,W)=>(o(),t("div",c,[e("div",g,[b,e("div",h,[e("div",u,[e("div",_,[e("div",f,[e("table",y,[e("tbody",x,[(o(!0),t(a,null,d(i(l),r=>(o(),t(a,{key:r.no},[r.no==null?(o(),t("tr",p,[e("td",k,s(r.title),1)])):(o(),t(a,{key:1},[e("tr",w,[e("td",v,s(r.no),1),e("td",m,s(r.sentence),1),e("td",B,[F,e("div",null,s(r.translationFromBook),1)]),e("td",P,s(r.remark),1)]),e("tr",null,[e("td",I,[N,e("div",null,s(r.chatgpt),1)])])],64))],64))),128))])])])])])])])]))}};export{D as default}; diff --git a/assets/index-e72a7062.js b/assets/index-e9928cb8.js similarity index 98% rename from assets/index-e72a7062.js rename to assets/index-e9928cb8.js index 6abb057..f42c52b 100644 --- a/assets/index-e72a7062.js +++ b/assets/index-e9928cb8.js @@ -1 +1 @@ -import{e as g,d as b,c as r,a as e,F as i,r as c,u as p,o,t as s,i as x,q as y,j as _,m as u}from"./index-33f7b5f9.js";import m from"./reading538words-9b6f88e9.js";const f={class:"px-4 pt-6 2xl:px-0"},k={class:"border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},v={class:"mt-6 items-center justify-between lg:flex"},w={class:"mb-4 lg:mb-0"},j={class:"mb-2 text-xl font-bold text-gray-900 dark:text-white"},T={class:"text-base font-normal text-gray-500 dark:text-gray-400"},L={class:"items-center sm:flex"},M={class:"flex items-center"},$={class:"relative ml-2 flex-1"},B=e("div",{class:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3"},[e("svg",{class:"h-4 w-4 text-gray-500 dark:text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},[e("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"})])],-1),C={class:"mt-6"},H={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},V=e("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[e("tr",null,[e("th",{class:"w-0 px-6 py-3"}," 排名 "),e("th",{class:"w-0 px-6 py-3"}),e("th",{scope:"col",class:"w-0 px-6 py-3"}," 考点词 "),e("th",{scope:"col",class:"w-0 px-6 py-3"}," 词性 "),e("th",{scope:"col",class:"w-80 px-6 py-3"}," 词义 "),e("th",{scope:"col",class:"px-6 py-3"}," 同义替换 ")])],-1),D={class:"px-6 py-4"},F={class:"px-6 py-4"},N=["onClick"],S={scope:"row",class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},q=["title","href"],A=["innerHTML"],E=["innerHTML"],R={class:"px-6 py-4"},U=e("br",null,null,-1),J={__name:"index",setup(Z){const h=g(m),n=b("");return(d,l)=>(o(),r("div",f,[e("div",k,[(o(!0),r(i,null,c(p(h),a=>(o(),r(i,{key:a.title},[e("div",v,[e("div",w,[e("h3",j,s(a.title),1),e("span",T,s(a.define),1)]),e("div",L,[e("div",M,[e("button",{type:"button",class:"rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:l[0]||(l[0]=t=>d.$router.push("listening/179practice"))}," 练习 "),e("div",$,[B,x(e("input",{"onUpdate:modelValue":l[1]||(l[1]=t=>_(n)?n.value=t:null),type:"search",class:"block w-full border border-gray-300 rounded-lg bg-gray-50 p-2.5 pl-10 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400",placeholder:"Search"},null,512),[[y,p(n)]])])])])]),e("div",C,[e("table",H,[V,e("tbody",null,[(o(!0),r(i,null,c(a.words,t=>(o(),r("tr",{key:t.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[e("td",D,s(t[0]),1),e("td",F,[e("a",{href:"javascript:;",class:"i-carbon-volume-up-filled block",onClick:z=>d.play(t[1])},null,8,N)]),e("th",S,[e("a",{class:"hover:underline",title:`在剑桥词典中查询 ${t[1]}`,href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${t[1]}`,target:"_blank"},s(t[1]),9,q)]),e("td",{class:"px-6 py-4 italic",innerHTML:t[2].join("
")},null,8,A),e("td",{class:"px-6 py-4",innerHTML:t[3].join("
")},null,8,E),e("td",R,[u(s(t[4].join(", "))+" ",1),U,u(" "+s(t[5].length>0?t[5]:""),1)])]))),128))])])])],64))),128))])]))}};export{J as default}; +import{e as g,d as b,c as r,a as e,F as i,r as c,u as p,o,t as s,i as x,q as y,j as _,m as u}from"./index-1a691bfa.js";import m from"./reading538words-9b6f88e9.js";const f={class:"px-4 pt-6 2xl:px-0"},k={class:"border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},v={class:"mt-6 items-center justify-between lg:flex"},w={class:"mb-4 lg:mb-0"},j={class:"mb-2 text-xl font-bold text-gray-900 dark:text-white"},T={class:"text-base font-normal text-gray-500 dark:text-gray-400"},L={class:"items-center sm:flex"},M={class:"flex items-center"},$={class:"relative ml-2 flex-1"},B=e("div",{class:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3"},[e("svg",{class:"h-4 w-4 text-gray-500 dark:text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},[e("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"})])],-1),C={class:"mt-6"},H={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},V=e("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[e("tr",null,[e("th",{class:"w-0 px-6 py-3"}," 排名 "),e("th",{class:"w-0 px-6 py-3"}),e("th",{scope:"col",class:"w-0 px-6 py-3"}," 考点词 "),e("th",{scope:"col",class:"w-0 px-6 py-3"}," 词性 "),e("th",{scope:"col",class:"w-80 px-6 py-3"}," 词义 "),e("th",{scope:"col",class:"px-6 py-3"}," 同义替换 ")])],-1),D={class:"px-6 py-4"},F={class:"px-6 py-4"},N=["onClick"],S={scope:"row",class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},q=["title","href"],A=["innerHTML"],E=["innerHTML"],R={class:"px-6 py-4"},U=e("br",null,null,-1),J={__name:"index",setup(Z){const h=g(m),n=b("");return(d,l)=>(o(),r("div",f,[e("div",k,[(o(!0),r(i,null,c(p(h),a=>(o(),r(i,{key:a.title},[e("div",v,[e("div",w,[e("h3",j,s(a.title),1),e("span",T,s(a.define),1)]),e("div",L,[e("div",M,[e("button",{type:"button",class:"rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:l[0]||(l[0]=t=>d.$router.push("listening/179practice"))}," 练习 "),e("div",$,[B,x(e("input",{"onUpdate:modelValue":l[1]||(l[1]=t=>_(n)?n.value=t:null),type:"search",class:"block w-full border border-gray-300 rounded-lg bg-gray-50 p-2.5 pl-10 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400",placeholder:"Search"},null,512),[[y,p(n)]])])])])]),e("div",C,[e("table",H,[V,e("tbody",null,[(o(!0),r(i,null,c(a.words,t=>(o(),r("tr",{key:t.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[e("td",D,s(t[0]),1),e("td",F,[e("a",{href:"javascript:;",class:"i-carbon-volume-up-filled block",onClick:z=>d.play(t[1])},null,8,N)]),e("th",S,[e("a",{class:"hover:underline",title:`在剑桥词典中查询 ${t[1]}`,href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${t[1]}`,target:"_blank"},s(t[1]),9,q)]),e("td",{class:"px-6 py-4 italic",innerHTML:t[2].join("
")},null,8,A),e("td",{class:"px-6 py-4",innerHTML:t[3].join("
")},null,8,E),e("td",R,[u(s(t[4].join(", "))+" ",1),U,u(" "+s(t[5].length>0?t[5]:""),1)])]))),128))])])])],64))),128))])]))}};export{J as default}; diff --git a/assets/index-f82977a5.js b/assets/index-edf99d25.js similarity index 82% rename from assets/index-f82977a5.js rename to assets/index-edf99d25.js index 52af219..4d4ee9b 100644 --- a/assets/index-f82977a5.js +++ b/assets/index-edf99d25.js @@ -1 +1 @@ -import{_ as r,c as s,o,a as e}from"./index-33f7b5f9.js";const a={},t={class:"px-4 pt-6 2xl:px-0"},c=e("div",{class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},[e("ul",null,[e("li",null,"逻辑链 TODO")])],-1),d=[c];function n(_,l){return o(),s("div",t,d)}const p=r(a,[["render",n]]);export{p as default}; +import{_ as r,c as s,o,a as e}from"./index-1a691bfa.js";const a={},t={class:"px-4 pt-6 2xl:px-0"},c=e("div",{class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},[e("ul",null,[e("li",null,"逻辑链 TODO")])],-1),d=[c];function n(_,l){return o(),s("div",t,d)}const p=r(a,[["render",n]]);export{p as default}; diff --git a/assets/index-040fd746.js b/assets/index-ffd7c001.js similarity index 99% rename from assets/index-040fd746.js rename to assets/index-ffd7c001.js index 0c82f21..f881440 100644 --- a/assets/index-040fd746.js +++ b/assets/index-ffd7c001.js @@ -1,3 +1,3 @@ -import{d as g,e as K,f as O,w as P,g as W,h as z,c as d,a as e,i as x,v as H,u as o,j as m,F as y,r as $,k as E,l as b,t as f,m as Y,o as i,n as q,p as C}from"./index-33f7b5f9.js";import S from"./vocabulary-d1ee5e7e.js";const J={class:"px-4 pt-6 2xl:px-0"},Q={class:"border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},X={class:"items-center justify-between lg:flex"},Z=e("div",{class:"mb-4 lg:mb-0"},[e("h3",{class:"mb-2 text-xl font-bold text-gray-900 dark:text-white"}," 雅思词汇真经 "),e("span",{class:"text-base font-normal text-gray-500 dark:text-gray-400"},"涵盖雅思必备核心词,逻辑词群记忆法")],-1),G={class:"items-center sm:flex"},ee={class:"flex items-center"},te=["value"],re={class:"ml-2 inline-flex cursor-pointer items-center"},oe=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:border after:border-gray-300 dark:border-gray-600 after:rounded-full after:bg-white dark:bg-gray-700 peer-checked:bg-blue-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"},null,-1),se=e("span",{class:"ms-3 text-sm font-medium text-gray-900 dark:text-gray-300"},"练习模式",-1),le={key:0,class:"ml-2 inline-flex cursor-pointer items-center"},ae=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:border after:border-gray-300 dark:border-gray-600 after:rounded-full after:bg-white dark:bg-gray-700 peer-checked:bg-blue-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"},null,-1),ne=e("span",{class:"ms-3 text-sm font-medium text-gray-900 dark:text-gray-300"},"释义",-1),de={key:1,class:"ml-2 inline-flex cursor-pointer items-center"},ie=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:border after:border-gray-300 dark:border-gray-600 after:rounded-full after:bg-white dark:bg-gray-700 peer-checked:bg-blue-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"},null,-1),ce=e("span",{class:"ms-3 text-sm font-medium text-gray-900 dark:text-gray-300"},"原词",-1),ue={key:2,class:"ml-2 inline-flex cursor-pointer items-center"},fe=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:border after:border-gray-300 dark:border-gray-600 after:rounded-full after:bg-white dark:bg-gray-700 peer-checked:bg-blue-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"},null,-1),ge=e("span",{class:"ms-3 text-sm font-medium text-gray-900 dark:text-gray-300"},"自动播放",-1),pe={class:"mt-6 flex flex-col"},be={class:"overflow-x-auto rounded-lg"},he={class:"inline-block min-w-full align-middle"},xe={class:"overflow-hidden shadow sm:rounded-lg"},ye={class:"min-w-full divide-y divide-gray-200 dark:divide-gray-600"},ke=e("thead",{class:"bg-gray-50 dark:bg-gray-700"},[e("tr",null,[e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," # "),e("th",{class:"p-4 text-xs font-medium tracking-wider text-gray-500 dark:text-white"},[e("br")]),e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," 词 "),e("th",{class:"w-0 text-left text-xs font-medium text-gray-500 dark:text-white"}," 词性 "),e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," 词义 "),e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," 例句 "),e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," 拓展 ")])],-1),me={class:"bg-white dark:bg-gray-800"},_e={class:"bg-hex-f3f3f3"},we={colspan:"7",class:"px-4 py-6 text-sm font-normal text-gray-900 dark:bg-gray-500 dark:text-white"},ve={class:"flex flex-row"},$e={class:"flex flex-1 items-center"},Ee={class:"text-lg"},Ce={class:"justify-items-end"},Se={controls:"",class:"chapter"},Te=["src"],Ve=["id"],Fe={class:"p-4"},Ae=["onClick"],Ie=["onClick"],Be=["id","onFocusout","onFocusin"],Ne={class:"group relative whitespace-nowrap p-4"},je={key:0},Le=["title","href"],Me=["onClick"],Ue=e("i",{class:"i-ph-copy block cursor-pointer px-4"},null,-1),Re=[Ue],De={style:{"font-style":"italic","font-family":"times"}},Ke={class:"p-4"},Oe={class:"p-4"},Pe={class:"p-4"},We={class:"flex items-center justify-between pt-3 sm:pt-6"},ze={key:0},He={key:0,class:"flex-shrink-0"},A="vocabulary_chapter",Qe={__name:"index",setup(Ye){const n=g(!1),_=g(!0),w=g(!0),k=g(!1),T=g(!1),v=g(!1),V=g("");g("");const I=Object.keys(S),c=g(localStorage.getItem(A)||I[0]),B=g(!1),p=K(S);O(()=>{const r=structuredClone(S),t=c.value;return t!==""?{[t]:r[t]}:{}}),P(c,(r,t)=>{localStorage.setItem(A,r)});function N(){let r=0,t=0,s=0;if(n.value){const a=p[c.value];for(const l of a.words)for(const u of l)u.spellValue?u.spellError?r++:s++:t++}return`${t} 个未完成,${s} 个正确,${r} 个错误`}W(()=>{B.value=!0;const r=document.getElementsByTagName("audio");for(const t of r)t.onplay=()=>{for(const s of r)s.blur(),t!==s&&s.pause()}}),z(()=>{for(const r of document.getElementsByTagName("audio"))r.load()}),document.addEventListener("keydown",r=>{if(["ArrowLeft","ArrowRight"," "].includes(r.key)){r.preventDefault();const t=document.getElementsByTagName("audio"),s={ArrowLeft:-5,ArrowRight:5};for(const a of t){if(a.blur(),s[r.key]){const l=s[r.key];a.currentTime=a.currentTime+l}r.key===" "&&(a.paused?a.play():a.pause())}}});let h=null;function F(r){h&&(h.pause(),h.currentTime=0),h=document.createElement("audio"),h.src=r,h.play()}function j(r){const t=`${r.word} ${r.pos} ${r.meaning}`;navigator.clipboard.writeText(t)}function L(r){var a;r.stopPropagation();const{key:t,target:s}=r;t==="Enter"&&((a=document.getElementById((Number(s.id)+1).toString()))==null||a.focus())}function M(r,t){w.value&&F(t)}function U(r,t){const{target:s}=r,a=s.value.toLowerCase().trim();a.length<1?(t.spellValue="",t.spellError=!1):(t.spellValue=a,t.spellError=!t.word.map(l=>l.toLowerCase().trim()).includes(a)),V.value=N()}function R(r){const t={error:"ml-4 bg-red-50 border border-red-500 text-red-900 placeholder-red-700 text-sm rounded-lg focus:ring-red-500 dark:bg-gray-700 focus:border-red-500 inline-block p-2.5 dark:text-red-500 dark:placeholder-red-500 dark:border-red-500",normal:"ml-4 inline-block border border-gray-300 rounded-lg bg-gray-50 p-2.5 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400",success:"ml-4 bg-green-50 border border-green-500 text-green-900 dark:text-green-400 placeholder-green-700 dark:placeholder-green-500 text-sm rounded-lg focus:ring-green-500 focus:border-green-500 inline-block p-2.5 dark:bg-gray-700 dark:border-green-500"};if(T.value){if(r.spellError)return t.error;if(r.spellValue.length>0&&!r.spellError)return t.success}return t.normal}function D(){const r=p[c.value].words,t=[];for(const s of r)for(const a of s)a.spellError&&t.push(`${a.word} ${a.pos} ${a.meaning}`);navigator.clipboard.writeText(t.join(` +import{d as g,e as K,f as O,w as P,g as W,h as z,c as d,a as e,i as x,v as H,u as o,j as m,F as y,r as $,k as E,l as b,t as f,m as Y,o as i,n as q,p as C}from"./index-1a691bfa.js";import S from"./vocabulary-d1ee5e7e.js";const J={class:"px-4 pt-6 2xl:px-0"},Q={class:"border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},X={class:"items-center justify-between lg:flex"},Z=e("div",{class:"mb-4 lg:mb-0"},[e("h3",{class:"mb-2 text-xl font-bold text-gray-900 dark:text-white"}," 雅思词汇真经 "),e("span",{class:"text-base font-normal text-gray-500 dark:text-gray-400"},"涵盖雅思必备核心词,逻辑词群记忆法")],-1),G={class:"items-center sm:flex"},ee={class:"flex items-center"},te=["value"],re={class:"ml-2 inline-flex cursor-pointer items-center"},oe=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:border after:border-gray-300 dark:border-gray-600 after:rounded-full after:bg-white dark:bg-gray-700 peer-checked:bg-blue-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"},null,-1),se=e("span",{class:"ms-3 text-sm font-medium text-gray-900 dark:text-gray-300"},"练习模式",-1),le={key:0,class:"ml-2 inline-flex cursor-pointer items-center"},ae=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:border after:border-gray-300 dark:border-gray-600 after:rounded-full after:bg-white dark:bg-gray-700 peer-checked:bg-blue-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"},null,-1),ne=e("span",{class:"ms-3 text-sm font-medium text-gray-900 dark:text-gray-300"},"释义",-1),de={key:1,class:"ml-2 inline-flex cursor-pointer items-center"},ie=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:border after:border-gray-300 dark:border-gray-600 after:rounded-full after:bg-white dark:bg-gray-700 peer-checked:bg-blue-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"},null,-1),ce=e("span",{class:"ms-3 text-sm font-medium text-gray-900 dark:text-gray-300"},"原词",-1),ue={key:2,class:"ml-2 inline-flex cursor-pointer items-center"},fe=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:border after:border-gray-300 dark:border-gray-600 after:rounded-full after:bg-white dark:bg-gray-700 peer-checked:bg-blue-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 after:transition-all after:content-[''] peer-checked:after:translate-x-full peer-checked:after:border-white dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"},null,-1),ge=e("span",{class:"ms-3 text-sm font-medium text-gray-900 dark:text-gray-300"},"自动播放",-1),pe={class:"mt-6 flex flex-col"},be={class:"overflow-x-auto rounded-lg"},he={class:"inline-block min-w-full align-middle"},xe={class:"overflow-hidden shadow sm:rounded-lg"},ye={class:"min-w-full divide-y divide-gray-200 dark:divide-gray-600"},ke=e("thead",{class:"bg-gray-50 dark:bg-gray-700"},[e("tr",null,[e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," # "),e("th",{class:"p-4 text-xs font-medium tracking-wider text-gray-500 dark:text-white"},[e("br")]),e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," 词 "),e("th",{class:"w-0 text-left text-xs font-medium text-gray-500 dark:text-white"}," 词性 "),e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," 词义 "),e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," 例句 "),e("th",{class:"p-4 text-left text-xs font-medium tracking-wider text-gray-500 dark:text-white"}," 拓展 ")])],-1),me={class:"bg-white dark:bg-gray-800"},_e={class:"bg-hex-f3f3f3"},we={colspan:"7",class:"px-4 py-6 text-sm font-normal text-gray-900 dark:bg-gray-500 dark:text-white"},ve={class:"flex flex-row"},$e={class:"flex flex-1 items-center"},Ee={class:"text-lg"},Ce={class:"justify-items-end"},Se={controls:"",class:"chapter"},Te=["src"],Ve=["id"],Fe={class:"p-4"},Ae=["onClick"],Ie=["onClick"],Be=["id","onFocusout","onFocusin"],Ne={class:"group relative whitespace-nowrap p-4"},je={key:0},Le=["title","href"],Me=["onClick"],Ue=e("i",{class:"i-ph-copy block cursor-pointer px-4"},null,-1),Re=[Ue],De={style:{"font-style":"italic","font-family":"times"}},Ke={class:"p-4"},Oe={class:"p-4"},Pe={class:"p-4"},We={class:"flex items-center justify-between pt-3 sm:pt-6"},ze={key:0},He={key:0,class:"flex-shrink-0"},A="vocabulary_chapter",Qe={__name:"index",setup(Ye){const n=g(!1),_=g(!0),w=g(!0),k=g(!1),T=g(!1),v=g(!1),V=g("");g("");const I=Object.keys(S),c=g(localStorage.getItem(A)||I[0]),B=g(!1),p=K(S);O(()=>{const r=structuredClone(S),t=c.value;return t!==""?{[t]:r[t]}:{}}),P(c,(r,t)=>{localStorage.setItem(A,r)});function N(){let r=0,t=0,s=0;if(n.value){const a=p[c.value];for(const l of a.words)for(const u of l)u.spellValue?u.spellError?r++:s++:t++}return`${t} 个未完成,${s} 个正确,${r} 个错误`}W(()=>{B.value=!0;const r=document.getElementsByTagName("audio");for(const t of r)t.onplay=()=>{for(const s of r)s.blur(),t!==s&&s.pause()}}),z(()=>{for(const r of document.getElementsByTagName("audio"))r.load()}),document.addEventListener("keydown",r=>{if(["ArrowLeft","ArrowRight"," "].includes(r.key)){r.preventDefault();const t=document.getElementsByTagName("audio"),s={ArrowLeft:-5,ArrowRight:5};for(const a of t){if(a.blur(),s[r.key]){const l=s[r.key];a.currentTime=a.currentTime+l}r.key===" "&&(a.paused?a.play():a.pause())}}});let h=null;function F(r){h&&(h.pause(),h.currentTime=0),h=document.createElement("audio"),h.src=r,h.play()}function j(r){const t=`${r.word} ${r.pos} ${r.meaning}`;navigator.clipboard.writeText(t)}function L(r){var a;r.stopPropagation();const{key:t,target:s}=r;t==="Enter"&&((a=document.getElementById((Number(s.id)+1).toString()))==null||a.focus())}function M(r,t){w.value&&F(t)}function U(r,t){const{target:s}=r,a=s.value.toLowerCase().trim();a.length<1?(t.spellValue="",t.spellError=!1):(t.spellValue=a,t.spellError=!t.word.map(l=>l.toLowerCase().trim()).includes(a)),V.value=N()}function R(r){const t={error:"ml-4 bg-red-50 border border-red-500 text-red-900 placeholder-red-700 text-sm rounded-lg focus:ring-red-500 dark:bg-gray-700 focus:border-red-500 inline-block p-2.5 dark:text-red-500 dark:placeholder-red-500 dark:border-red-500",normal:"ml-4 inline-block border border-gray-300 rounded-lg bg-gray-50 p-2.5 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400",success:"ml-4 bg-green-50 border border-green-500 text-green-900 dark:text-green-400 placeholder-green-700 dark:placeholder-green-500 text-sm rounded-lg focus:ring-green-500 focus:border-green-500 inline-block p-2.5 dark:bg-gray-700 dark:border-green-500"};if(T.value){if(r.spellError)return t.error;if(r.spellValue.length>0&&!r.spellError)return t.success}return t.normal}function D(){const r=p[c.value].words,t=[];for(const s of r)for(const a of s)a.spellError&&t.push(`${a.word} ${a.pos} ${a.meaning}`);navigator.clipboard.writeText(t.join(` `))}return(r,t)=>(i(),d("div",J,[e("div",Q,[e("div",X,[Z,e("div",G,[e("div",ee,[x(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>m(c)?c.value=s:null),class:"block w-full flex-1 border border-gray-300 rounded-lg bg-gray-50 p-2.5 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400"},[(i(!0),d(y,null,$(o(p),(s,a)=>(i(),d("option",{key:a,value:a},f(a),9,te))),128))],512),[[H,o(c)]]),e("label",re,[x(e("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>m(n)?n.value=s:null),type:"checkbox",class:"peer sr-only"},null,512),[[E,o(n)]]),oe,se]),o(n)?(i(),d("label",le,[x(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>m(_)?_.value=s:null),type:"checkbox",class:"peer sr-only"},null,512),[[E,o(_)]]),ae,ne])):b("",!0),o(n)?(i(),d("label",de,[x(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>m(v)?v.value=s:null),type:"checkbox",class:"peer sr-only"},null,512),[[E,o(v)]]),ie,ce])):b("",!0),o(n)?(i(),d("label",ue,[x(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>m(w)?w.value=s:null),type:"checkbox",class:"peer sr-only"},null,512),[[E,o(w)]]),fe,ge])):b("",!0)])])]),e("div",pe,[e("div",be,[e("div",he,[e("div",xe,[e("table",ye,[ke,e("tbody",me,[e("tr",_e,[e("td",we,[e("div",ve,[e("div",$e,[e("span",Ee,f(o(c)),1),Y(" ( "+f(o(p)[o(c)].groupCount)+" 组 "+f(o(p)[o(c)].wordCount)+" 个词 ) ",1)]),e("div",Ce,[e("audio",Se,[e("source",{src:`vocabulary/audio/${o(p)[o(c)].audio}`,type:"audio/mpeg"},null,8,Te)])])])])]),(i(!0),d(y,null,$(o(p)[o(c)].words,(s,a)=>(i(),d(y,{key:s.label},[(i(!0),d(y,null,$(s,l=>x((i(),d("tr",{id:`tr_${l.id}`,key:l.id,class:C([{"bg-gray-50 dark:bg-gray-700":l.id%2===0,[`group-color-${a%15}`]:!0},"text-sm text-gray-900 dark:text-white"])},[e("td",Fe,f(l.id),1),e("td",null,[e("i",{class:"i-ph-speaker-simple-high-bold inline-block cursor-pointer",onClick:u=>F(`vocabulary/audio/${o(c)}/${l.word[0]}.mp3`)},null,8,Ae),o(n)?(i(),d(y,{key:0},[e("i",{class:C(`${l.showSource?"i-ph-eye-slash-bold":"i-ph-eye-bold"} inline-block cursor-pointer ml-4`),title:"显示原词",onClick:u=>l.showSource=!l.showSource},null,10,Ie),e("input",{id:l.id,autocomplete:"off",class:C(R(l)),type:"text",onFocusout:u=>U(u,l),onFocusin:u=>M(u,`vocabulary/audio/${o(c)}/${l.word[0]}.mp3`),onKeydown:L},null,42,Be)],64)):b("",!0)]),e("td",Ne,[!o(n)||l.showSource||o(n)&&o(k)&&l.spellError||o(v)?(i(),d("div",je,[(i(!0),d(y,null,$(l.word,u=>(i(),d("p",{key:u},[e("a",{class:"hover:underline",title:`在剑桥词典中查询 ${u}`,target:"_blank",href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${u}`},f(u),9,Le)]))),128)),e("div",{class:"absolute right-0 top-0 hidden h-100% items-center group-hover:flex",onClick:u=>j(l)},Re,8,Me)])):b("",!0)]),e("td",De,f(l.pos),1),e("td",Ke,f(o(_)?l.meaning:""),1),e("td",Oe,f(o(n)?"":l.example),1),e("td",Pe,f(o(n)?"":l.extra),1)],10,Ve)),[[q,o(n)&&(o(k)?l.spellError:!0)||!o(n)]])),128))],64))),128))])])])])])]),e("div",We,[e("div",null,[o(n)?(i(),d("p",ze,f(o(V)),1)):b("",!0)]),o(n)?(i(),d("div",He,[e("button",{type:"button",class:"rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:t[5]||(t[5]=s=>T.value=!0)}," 完成练习 "),e("button",{type:"button",class:"ml-2 rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:t[6]||(t[6]=s=>k.value=!o(k))},f(o(k)?"展示所有":"仅展示错词"),1),e("button",{type:"button",class:"ml-2 rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:D}," 拷贝错词 ")])):b("",!0)])])]))}};export{Qe as default}; diff --git a/assets/keyword-99fba1eb.js b/assets/keyword-44194cd8.js similarity index 98% rename from assets/keyword-99fba1eb.js rename to assets/keyword-44194cd8.js index 8806926..4975072 100644 --- a/assets/keyword-99fba1eb.js +++ b/assets/keyword-44194cd8.js @@ -1 +1 @@ -import{e as u,d as g,c as l,a as e,i as h,q as x,u as c,j as y,F as d,r as b,o as n,t as r}from"./index-33f7b5f9.js";import{w as _}from"./listening179-089c7171.js";const m={class:"mt-6 items-center justify-between lg:flex"},f=e("div",{class:"mb-4 lg:mb-0"},[e("h3",{class:"mb-2 text-xl font-bold text-gray-900 dark:text-white"}," 听力 179 考点词 "),e("span",{class:"text-base font-normal text-gray-500 dark:text-gray-400"},"考点词以及对应的同义替换")],-1),k={class:"items-center sm:flex"},w={class:"flex items-center"},v={class:"relative ml-2 flex-1"},$=e("div",{class:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3"},[e("svg",{class:"h-4 w-4 text-gray-500 dark:text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},[e("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"})])],-1),j={class:"mt-6"},B={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},C=e("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[e("tr",null,[e("th",{class:"w-0 px-6 py-3"}," # "),e("th",{class:"w-0 px-6 py-3"}),e("th",{scope:"col",class:"w-0 px-6 py-3"}," 考点词 "),e("th",{scope:"col",class:"w-0 px-6 py-3"}," 词性 "),e("th",{scope:"col",class:"w-80 px-6 py-3"}," 词义 "),e("th",{scope:"col",class:"px-6 py-3"}," 同义替换 ")])],-1),D={class:"px-6 py-4"},E={class:"px-6 py-4"},F=["onClick"],S={scope:"row",class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},V=["title","href"],q={class:"px-6 py-4 italic"},A={class:"px-6 py-4"},L={class:"px-6 py-4"},U={__name:"keyword",setup(M){const i=u(_);function p(a){const s=document.createElement("audio");s.src=`179_audios/${a}.mp3`,s.play()}const o=g("");return(a,s)=>(n(),l(d,null,[e("div",m,[f,e("div",k,[e("div",w,[e("button",{type:"button",class:"rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:s[0]||(s[0]=t=>a.$router.push("179practice"))}," 练习 "),e("div",v,[$,h(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>y(o)?o.value=t:null),type:"search",class:"block w-full border border-gray-300 rounded-lg bg-gray-50 p-2.5 pl-10 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400",placeholder:"Search"},null,512),[[x,c(o)]])])])])]),e("div",j,[e("table",B,[C,e("tbody",null,[(n(!0),l(d,null,b(c(i),t=>(n(),l("tr",{key:t.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[e("td",D,r(t.index),1),e("td",E,[e("a",{href:"javascript:;",class:"i-carbon-volume-up-filled block",onClick:N=>p(t.word)},null,8,F)]),e("th",S,[e("a",{class:"hover:underline",title:`在剑桥词典中查询 ${t.word}`,href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${t.word}`,target:"_blank"},r(t.word),9,V)]),e("td",q,r(t.type),1),e("td",A,r(t.meaning),1),e("td",L,r(t.replace.join(", ")),1)]))),128))])])])],64))}};export{U as default}; +import{e as u,d as g,c as l,a as e,i as h,q as x,u as c,j as y,F as d,r as b,o as n,t as r}from"./index-1a691bfa.js";import{w as _}from"./listening179-089c7171.js";const m={class:"mt-6 items-center justify-between lg:flex"},f=e("div",{class:"mb-4 lg:mb-0"},[e("h3",{class:"mb-2 text-xl font-bold text-gray-900 dark:text-white"}," 听力 179 考点词 "),e("span",{class:"text-base font-normal text-gray-500 dark:text-gray-400"},"考点词以及对应的同义替换")],-1),k={class:"items-center sm:flex"},w={class:"flex items-center"},v={class:"relative ml-2 flex-1"},$=e("div",{class:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3"},[e("svg",{class:"h-4 w-4 text-gray-500 dark:text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},[e("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"})])],-1),j={class:"mt-6"},B={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},C=e("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[e("tr",null,[e("th",{class:"w-0 px-6 py-3"}," # "),e("th",{class:"w-0 px-6 py-3"}),e("th",{scope:"col",class:"w-0 px-6 py-3"}," 考点词 "),e("th",{scope:"col",class:"w-0 px-6 py-3"}," 词性 "),e("th",{scope:"col",class:"w-80 px-6 py-3"}," 词义 "),e("th",{scope:"col",class:"px-6 py-3"}," 同义替换 ")])],-1),D={class:"px-6 py-4"},E={class:"px-6 py-4"},F=["onClick"],S={scope:"row",class:"whitespace-nowrap px-6 py-4 font-medium text-gray-900 dark:text-white"},V=["title","href"],q={class:"px-6 py-4 italic"},A={class:"px-6 py-4"},L={class:"px-6 py-4"},U={__name:"keyword",setup(M){const i=u(_);function p(a){const s=document.createElement("audio");s.src=`179_audios/${a}.mp3`,s.play()}const o=g("");return(a,s)=>(n(),l(d,null,[e("div",m,[f,e("div",k,[e("div",w,[e("button",{type:"button",class:"rounded-lg bg-blue-700 px-5 py-2.5 text-sm font-medium text-white dark:bg-blue-600 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 dark:hover:bg-blue-700 dark:focus:ring-blue-800",onClick:s[0]||(s[0]=t=>a.$router.push("179practice"))}," 练习 "),e("div",v,[$,h(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>y(o)?o.value=t:null),type:"search",class:"block w-full border border-gray-300 rounded-lg bg-gray-50 p-2.5 pl-10 text-sm text-gray-900 dark:border-gray-600 focus:border-blue-500 dark:bg-gray-700 dark:text-white focus:ring-blue-500 dark:focus:border-blue-500 dark:focus:ring-blue-500 dark:placeholder-gray-400",placeholder:"Search"},null,512),[[x,c(o)]])])])])]),e("div",j,[e("table",B,[C,e("tbody",null,[(n(!0),l(d,null,b(c(i),t=>(n(),l("tr",{key:t.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[e("td",D,r(t.index),1),e("td",E,[e("a",{href:"javascript:;",class:"i-carbon-volume-up-filled block",onClick:N=>p(t.word)},null,8,F)]),e("th",S,[e("a",{class:"hover:underline",title:`在剑桥词典中查询 ${t.word}`,href:`https://dictionary.cambridge.org/dictionary/english-chinese-simplified/${t.word}`,target:"_blank"},r(t.word),9,V)]),e("td",q,r(t.type),1),e("td",A,r(t.meaning),1),e("td",L,r(t.replace.join(", ")),1)]))),128))])])])],64))}};export{U as default}; diff --git a/assets/listening-40e828f4.js b/assets/listening-13fcad9f.js similarity index 94% rename from assets/listening-40e828f4.js rename to assets/listening-13fcad9f.js index b672563..3cd2899 100644 --- a/assets/listening-40e828f4.js +++ b/assets/listening-13fcad9f.js @@ -1 +1 @@ -import{_ as d,y as o,c as n,a as e,z as t,A as s,o as i,m as a}from"./index-33f7b5f9.js";const c={},g={class:"px-4 pt-6 2xl:px-0"},_={class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},u={class:"rounded-lg text-center text-sm font-medium text-gray-500 shadow sm:flex divide-x divide-gray-200 dark:text-gray-400 dark:divide-gray-700"},x={class:"w-full"},k={class:"w-full"},y={class:"w-full"};function f(p,w){const r=o("router-link"),l=o("router-view");return i(),n("div",g,[e("div",_,[e("ul",u,[e("li",x,[t(r,{to:"/listening",class:"inline-block w-full rounded-l-lg bg-gray-100 p-4 text-gray-900 dark:bg-gray-700 dark:text-white"},{default:s(()=>[a(" IELTS 听力基本概念 ")]),_:1})]),e("li",k,[t(r,{to:"/listening/keyword",class:"inline-block w-full bg-gray-100 p-4 text-gray-900 dark:bg-gray-700 dark:text-white"},{default:s(()=>[a(" 听力 179 考点词 ")]),_:1})]),e("li",y,[t(r,{to:"/listening/corpus",class:"inline-block w-full rounded-r-lg bg-gray-100 p-4 text-gray-900 dark:bg-gray-700 dark:text-white"},{default:s(()=>[a(" 雅思听力王语料库 ")]),_:1})])]),t(l)])])}const m=d(c,[["render",f]]);export{m as default}; +import{_ as d,y as o,c as n,a as e,z as t,A as s,o as i,m as a}from"./index-1a691bfa.js";const c={},g={class:"px-4 pt-6 2xl:px-0"},_={class:"mb-4 border border-gray-200 rounded-lg bg-white p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 sm:p-6"},u={class:"rounded-lg text-center text-sm font-medium text-gray-500 shadow sm:flex divide-x divide-gray-200 dark:text-gray-400 dark:divide-gray-700"},x={class:"w-full"},k={class:"w-full"},y={class:"w-full"};function f(p,w){const r=o("router-link"),l=o("router-view");return i(),n("div",g,[e("div",_,[e("ul",u,[e("li",x,[t(r,{to:"/listening",class:"inline-block w-full rounded-l-lg bg-gray-100 p-4 text-gray-900 dark:bg-gray-700 dark:text-white"},{default:s(()=>[a(" IELTS 听力基本概念 ")]),_:1})]),e("li",k,[t(r,{to:"/listening/keyword",class:"inline-block w-full bg-gray-100 p-4 text-gray-900 dark:bg-gray-700 dark:text-white"},{default:s(()=>[a(" 听力 179 考点词 ")]),_:1})]),e("li",y,[t(r,{to:"/listening/corpus",class:"inline-block w-full rounded-r-lg bg-gray-100 p-4 text-gray-900 dark:bg-gray-700 dark:text-white"},{default:s(()=>[a(" 雅思听力王语料库 ")]),_:1})])]),t(l)])])}const m=d(c,[["render",f]]);export{m as default}; diff --git a/assets/practice-26bca7e0.js b/assets/practice-ee1788e1.js similarity index 97% rename from assets/practice-26bca7e0.js rename to assets/practice-ee1788e1.js index a74d9a1..664ef57 100644 --- a/assets/practice-26bca7e0.js +++ b/assets/practice-ee1788e1.js @@ -1 +1 @@ -import{s as w,e as v,c as n,a as t,u as _,F as C,r as W,o as a,t as c,i as h,q as x,x as K,l as f}from"./index-33f7b5f9.js";import{w as d}from"./listening179-b180f9fb.js";const V={class:"relative overflow-x-auto"},S={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},$=t("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[t("tr",null,[t("th",{class:"w-0 px-6 py-3"}," # "),t("th",{class:"w-0 px-6 py-3"}," 词性 "),t("th",{class:"w-20 px-6 py-3"}," 音频 "),t("th",{class:"px-6 py-3"}," 考点词/同义替换 "),t("th",{class:"px-6 py-3"}," 结果 ")])],-1),B={class:"px-6 py-4"},U={class:"px-6 py-4 italic"},D={class:"px-6 py-4"},E=["onClick"],L=["onKeydown"],j=["id","onUpdate:modelValue"],F={class:"px-4"},N=["onUpdate:modelValue","onKeydown"],q={class:"px-6 py-4"},I={key:0,class:"i-carbon-checkmark block text-green-700"},M={key:1},A=w({__name:"practice",setup(R){const y=v(d.map(o=>({...o,form:{word:"",replaceStr:""},result:{checked:!1,errorWords:[]}})));function g(o,r){o.key==="`"&&(o.preventDefault(),l(r))}function l(o){const r=document.createElement("audio");r.src=`/179_audios/${o}.mp3`,r.play()}function k(o){var m;const r=o+1;if(r>=d.length)return;const e=y[o],i=e.form.word.trim().toLowerCase(),s=e.form.replaceStr.split(/[,,]/).map(u=>u.trim().toLowerCase().replace(/\s+/g," ")),p=[];i!==e.word&&p.push(e.word),p.push(...e.replace.filter(u=>!s.includes(u))),e.result.checked=!0,e.result.errorWords=p;const b=d[r];l(b.word),(m=document.getElementById(`input_${r+1}`))==null||m.focus()}return(o,r)=>(a(),n("div",null,[t("div",V,[t("div",null,[t("button",{onClick:r[0]||(r[0]=()=>{l(_(d)[0].word)})}," 开始 ")]),t("table",S,[$,t("tbody",null,[(a(!0),n(C,null,W(_(y),(e,i)=>(a(),n("tr",{key:e.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[t("td",B,c(e.index),1),t("td",U,c(e.type),1),t("td",D,[t("button",{class:"i-carbon-volume-up-filled",onClick:s=>l(e.word)},null,8,E)]),t("td",{class:"flex flex-row items-center justify-start px-6 py-4",onKeydown:s=>g(s,e.word)},[h(t("input",{id:`input_${e.index}`,"onUpdate:modelValue":s=>e.form.word=s,p:"x-2 y-1",w:"150px",bg:"transparent",border:"~ rounded gray-200 dark:gray-700",outline:"none active:none",spellcheck:"false",type:"text",placeholder:"请输入..."},null,8,j),[[x,e.form.word]]),t("div",F,c(e.meaning),1),h(t("input",{"onUpdate:modelValue":s=>e.form.replaceStr=s,p:"x-2 y-1",w:"300px",bg:"transparent",border:"~ rounded gray-200 dark:gray-700",outline:"none active:none",type:"text",spellcheck:"false",placeholder:"请输入...",onKeydown:K(s=>k(i),["enter"])},null,40,N),[[x,e.form.replaceStr]])],40,L),t("td",q,[e.result.checked&&e.result.errorWords.length<1?(a(),n("i",I)):f("",!0),e.result.checked&&e.result.errorWords.length>0?(a(),n("p",M,c(e.result.errorWords.join(", ")),1)):f("",!0)])]))),128))])])])]))}});export{A as default}; +import{s as w,e as v,c as n,a as t,u as _,F as C,r as W,o as a,t as c,i as h,q as x,x as K,l as f}from"./index-1a691bfa.js";import{w as d}from"./listening179-b180f9fb.js";const V={class:"relative overflow-x-auto"},S={class:"w-full text-left text-sm text-gray-500 dark:text-gray-400"},$=t("thead",{class:"bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-700 dark:text-gray-400"},[t("tr",null,[t("th",{class:"w-0 px-6 py-3"}," # "),t("th",{class:"w-0 px-6 py-3"}," 词性 "),t("th",{class:"w-20 px-6 py-3"}," 音频 "),t("th",{class:"px-6 py-3"}," 考点词/同义替换 "),t("th",{class:"px-6 py-3"}," 结果 ")])],-1),B={class:"px-6 py-4"},U={class:"px-6 py-4 italic"},D={class:"px-6 py-4"},E=["onClick"],L=["onKeydown"],j=["id","onUpdate:modelValue"],F={class:"px-4"},N=["onUpdate:modelValue","onKeydown"],q={class:"px-6 py-4"},I={key:0,class:"i-carbon-checkmark block text-green-700"},M={key:1},A=w({__name:"practice",setup(R){const y=v(d.map(o=>({...o,form:{word:"",replaceStr:""},result:{checked:!1,errorWords:[]}})));function g(o,r){o.key==="`"&&(o.preventDefault(),l(r))}function l(o){const r=document.createElement("audio");r.src=`/179_audios/${o}.mp3`,r.play()}function k(o){var m;const r=o+1;if(r>=d.length)return;const e=y[o],i=e.form.word.trim().toLowerCase(),s=e.form.replaceStr.split(/[,,]/).map(u=>u.trim().toLowerCase().replace(/\s+/g," ")),p=[];i!==e.word&&p.push(e.word),p.push(...e.replace.filter(u=>!s.includes(u))),e.result.checked=!0,e.result.errorWords=p;const b=d[r];l(b.word),(m=document.getElementById(`input_${r+1}`))==null||m.focus()}return(o,r)=>(a(),n("div",null,[t("div",V,[t("div",null,[t("button",{onClick:r[0]||(r[0]=()=>{l(_(d)[0].word)})}," 开始 ")]),t("table",S,[$,t("tbody",null,[(a(!0),n(C,null,W(_(y),(e,i)=>(a(),n("tr",{key:e.index,class:"border-b bg-white dark:border-gray-700 dark:bg-gray-800"},[t("td",B,c(e.index),1),t("td",U,c(e.type),1),t("td",D,[t("button",{class:"i-carbon-volume-up-filled",onClick:s=>l(e.word)},null,8,E)]),t("td",{class:"flex flex-row items-center justify-start px-6 py-4",onKeydown:s=>g(s,e.word)},[h(t("input",{id:`input_${e.index}`,"onUpdate:modelValue":s=>e.form.word=s,p:"x-2 y-1",w:"150px",bg:"transparent",border:"~ rounded gray-200 dark:gray-700",outline:"none active:none",spellcheck:"false",type:"text",placeholder:"请输入..."},null,8,j),[[x,e.form.word]]),t("div",F,c(e.meaning),1),h(t("input",{"onUpdate:modelValue":s=>e.form.replaceStr=s,p:"x-2 y-1",w:"300px",bg:"transparent",border:"~ rounded gray-200 dark:gray-700",outline:"none active:none",type:"text",spellcheck:"false",placeholder:"请输入...",onKeydown:K(s=>k(i),["enter"])},null,40,N),[[x,e.form.replaceStr]])],40,L),t("td",q,[e.result.checked&&e.result.errorWords.length<1?(a(),n("i",I)):f("",!0),e.result.checked&&e.result.errorWords.length>0?(a(),n("p",M,c(e.result.errorWords.join(", ")),1)):f("",!0)])]))),128))])])])]))}});export{A as default}; diff --git a/index.html b/index.html index 254c537..a5c926a 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ My IELTS - +