高中英语助手 - 当然不止高中英语

资源
QiaTia
11月前
1

这个软件其实是我高中上课时候偷闲, 业余时间学习了一些Android开发得一个电子书类得APP, 后来高三学习比较紧, 后期就没做维护升级了. 曾经一直打算在大学时候升级的, 但是总有找不完的借口让人更懒惰, 现在出来工作才发现, 不会英语真的很难受, 所以想起了这个软件. 但是现在让我去重新学习Android开发也不太容易, 所以现在就打算把他重构成微信小程序.再加入 more 能力.

数据准备

大体思路

首先 对文本进行拆分储存, 第一步对回车进行拆分, 先把单词拆成一行一行的数组


let dcs = dc.split("\n")

然后分析单词的结构,---------------- 好吧太乱了弄得我头大


//这样的

"ignore [iɡ'nɔ:] vt. 不理睬;忽视" 

//有这样的

"∆survey [sə:'vei, 'sə:vei] n. 调查;测验"

// 还有

"walk the dog  遛狗"

中间的音标也是一个问题, 不全是字母但是也不全不是字母, 头大. 想了一下 , 就做简单点, 把单词提出来, 以后使用TTS朗读比较好一点, 然后数据全放数据库也可以方便后期做字典查询.


// 那就这样了 把单词提取出来, 有"["结束

dcReg = /[A-z]+(?=\[)/i

// 争对那种没有音标的,也就好做了 ,就把字母,或者里面一些数据提取出来, 反正不要汉字

dcReg = /[A-z\/\- (…)]+/

拆分出来, 发现章节是连在一起的, 那就来一个for循环, 申请两个变量, 当检测到当条数据中包含 'unit'时,把unit变量自增一下, 储存到对象中

OK, 到这里也就差不多了, 就剩下把数据发送到数据库了, 简单就好, 我选择了for + post把数据逐条发送给php储存起来


for(item in dcs){

	$.get('php-url',item,(res)=>{console.log(res)})

}



后端懒得说啥了, 就看下代码把, 本人比较菜, 代码也写的比较丑, 请少骂几句


if(isset($_REQUEST['add'])){

	$stmt = $conn->prepare("INSERT INTO `dc_list` (`i`, `b`, `u`, `dc`, `t`) VALUES (? ,? ,? ,? ,?);");

	$i= $_REQUEST['dc_i'];

	$b= $_REQUEST['dc_b'];

	$u= $_REQUEST['dc_u'];

	$dc= $_REQUEST['dc_dc'];

	$t= $_REQUEST['add'];

  try{

  	$stmt->bind_param('issss', $i, $b, $u, $dc, $t);

  	$stmt->execute();

   }catch (PDOException $e) {

		die('失败,请重试 '.$time ."\n" .$e->getMessage());

	}

	echo 'I`m OK!'.$time;

	$stmt->close();

	$conn->close();

}

语音朗读

光记住单词却不会发音不会朗读是不行的, 所以必须要用TTS(Text To Speech)将文本信息读出来. 由于是微信小程序, 没有Android系统自己的TTS API, 所以我就只能使用在线的服务咯, 虽然会有限制, 但是总比哑巴好. 上百度搜了一下, 好吧第一项就是百度的, 进去瞅瞅文档, 选择PHP  嗯 ... 傻瓜式配置了都. 那就你咯, 无限制使用, 只是会有单次转换长度限制, 这个没问题, 前端拆分多次请求就没事

  • 高中英语助手是一款高中英语学习软件,针对的是人教版的高中英语用户从必修一到选修十一共55个单元的词汇表,阅读文章都在这里都可以找到,并且每个单词都有标注音标让您记单词事半功倍,阅读带有翻译,还有一些高考习题,每单元的重点短语,阅读的深度解析,随时随地学习、记忆特色