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(){ try { //按照高频单词的使用频率排序,列出所有单词 const sql="select * from Words where BookID=110 and (EnglishExplanation is null or EnglishExplanation='') order by ID;" let list = await commonModel.RunSql(null,sql); let count=list.length; const start=0; //count=1; // 添加延时函数,确保每分钟只发送9次请求(约每6.67秒一次请求) const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms)); const requestDelay = 1000; for(let i=start;i0){ console.log("```json"); console.log(result.indexOf("```json")); result=result.substring(result.indexOf("```json")+7); result=result.substring(0,result.lastIndexOf("```")); } else if (result.indexOf("```")>0){ console.log("```"); console.log(result.indexOf("```")); result=result.substring(result.indexOf("```")+3); result=result.substring(0,result.lastIndexOf("```")); } //console.log("result1:"+result); if (result.indexOf("Here is")>0 || result.indexOf("Here's")>0 || result.indexOf("Here 's")>0){ if (result.indexOf(" breakdown")>0 || result.indexOf(" explanation")>0) { result=result.substring(0,result.indexOf("Here")); } } result=result.replace("\"\":","\":"); result=result.replace("\"\" :","\" :"); result=result.replace(":\"\"",":\""); result=result.replace(": \"\"",": \""); result=result.replace(",\"\"",",\""); result=result.replace("\"\",","\","); result=result.replace("\"\":","\":"); result=result.replace("\"\" :","\" :"); result=result.replace(":\"\"",":\""); result=result.replace(": \"\"",": \""); result=result.replace(",\"\"",",\""); result=result.replace("\"\",","\","); result=stringUtils.Trim(result); try{ let result3=JSON.parse(result); //console.log("result2:"+result); let sql2="update Words set EnglishExplanation=? where ID="+item.ID+";"; await commonModel.RunSql(result,sql2); } catch(err2){ console.log("出错:"+word+ " error:"+err2); //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.error('Error executing script:', error); process.exit(1); } } // 处理Promise并添加错误捕获 runScript().catch(error => { console.error('Error in runScript:', error); }); ////批量处理加资料的数据 // async function runScript(){ // try { // const sql="select ID from MiaoguoLiteracy order by ID;" // let list = await commonModel.RunSql(null,sql); // for(let i=0;i0){ // console.log(i+" "+json.CHN.HanZi); // delete json.CHN.BiShunArr; // let obj={}; // obj.ID=list[i].ID; // obj.JSONString=JSON.stringify(json); // await commonModel.RunSql(obj,"update MiaoguoLiteracy set ? where ID="+list[i].ID+";" // } // //console.log(json); // //console.log(item.length); // } // console.log("完成" // } catch (error) { // console.error('Error executing script:', error); // } // }