| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- import commonModel from '../model/commonModel.js';
- import fs from 'fs';
- import { stringUtils } from '../util/stringClass.js';
- import aiController from '../api/yjbdc/aiController.js';
- async function runScript(){
- let id,word;
- try {
-
- const sql="select * from Words where BookID=110 order by ID;"
- let list = await commonModel.RunSql(null,sql);
-
- const start=0;
- //const start=0;
- let count=list.length;
- //count=100;
- // 添加延时函数,确保每分钟只发送9次请求(约每6.67秒一次请求)
- // const delay = (ms ) => new Promise(resolve => setTimeout(resolve, ms));
- // const requestDelay = 300; // 7秒,确保每分钟最多9次请求
-
- for(let i=start;i<count;i++){
- let item=list[i];
- id=item.ID;
- //获得单词
- word=item.Word;
- let exampleSentence=item.ExampleSentence;
- if (exampleSentence){
- try{
- if (exampleSentence.indexOf("\"\"")>=0){
- exampleSentence=exampleSentence("\"\"Sentences\"\"","\"Sentences\"");
- exampleSentence=exampleSentence("\"\",","\",");
- exampleSentence=exampleSentence(",\"\"",",\"");
- exampleSentence=exampleSentence("\"\":","\":");
- exampleSentence=exampleSentence(":\"\"",":\"");
- let sql5="update Words set ExampleSentence='"+exampleSentence+"' where ID="+id+";";
- //console.log(exampleSentence);
- await commonModel.RunSql(null,sql5);
- }
- exampleSentence=JSON.parse(exampleSentence);
- //console.log(exampleSentence);
- let sql2="select * from MiaoguoLiteracy where Word='"+word+"';";
- let list2= await commonModel.RunSql(null,sql2);
- for(let j=0;j<list2.length;j++){
- let json=list2[j].JSONString;
-
- json=JSON.parse(json);
- //console.log(json);
- let b=false;
- if (json.ENG && json.ENG.ExamplesSentences){
-
- for(let k=0;k<json.ENG.ExamplesSentences.length;k++){
- debugger;
- let sentence1=json.ENG.ExamplesSentences[k][0];
- if (sentence1.indexOf("[线]")<0){
- //console.log("word:"+word);
- let words=stringUtils.getWordAllForms(word);
- for(let n=0;n<words.length;n++){
- if (sentence1.indexOf(words[n])>=0){
- sentence1=sentence1.replace(words[n],"[线]"+words[n]+"[/线]");
- break;
- }
- else{
- let word1=words[n].charAt(0).toUpperCase() + words[n].slice(1).toLowerCase();
- if (sentence1.indexOf(word1)>=0){
- sentence1=sentence1.replace(word1,"[线]"+word1+"[/线]");
- break;
- }
- }
- }
- //console.log("words:"+words.join(", "));
- //console.log("sentence1:"+sentence1);
- json.ENG.ExamplesSentences[k][0]=sentence1;
- b=true;
- }
- }
- }
- if (b){
- json.ENG.CEFR_Level=exampleSentence.CEFR_Level;
- json=JSON.stringify(json);
- let sql3="update MiaoguoLiteracy set JSONString=? where ID="+list2[j].ID+";";
- // //console.log(sql3);
- // //console.log(json);
- await commonModel.RunSql(json,sql3);
- }
-
- }
- }
- catch(e){
- // let sql2="update Words set ExampleSentence='' where ID="+id+";";
- // await commonModel.RunSql(item.ExampleSentence,sql2);
- console.log("出错:"+word);
- console.log("error:"+e);
- process.exit(1);
- }
- }
- console.log(i +"/"+ list.length+" "+word);
-
- // 在每次请求后添加延时,除非是最后一个请求
- // if (i < count - 1) {
- // console.log(`等待 ${requestDelay/1000} 秒后继续下一个请求...`);
- // await delay(requestDelay);
- // }
- }
-
- console.log("完成");
- process.exit(1);
- } catch (error) {
- console.log(id + " " +word);
- console.error('Error executing script:', error);
- throw new Error('终止程序');
- process.exit(1);
- }
- }
- runScript().catch(error => {
- console.error('Error in runScript:', error);
- });
|