var vm; var browser="Chrome"; $(document).ready(function () { var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; browser=myBrowser(); var currentField = ""; var currentCursorPos = "",currentLatexCursorPos=-1; var selectInformation=[]; var SymbolArray="+-×÷=<>≤≥*/·≈≠±∓“”()[]{}《》「」%‰°℃⁰¹²³⁴⁵⁶⁷⁸⁹ⁱʲᵏˡᵐⁿ⁺⁻⁼⁽⁾₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑᵢₒᵤ﹫⓪①②③④⑤⑥⑦⑧⑨⑩ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ½⅓⅔¼¾⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞⅑⅒∵∴|‖≌∽∠⊥○☐△▽▷◁☆♤♧♡♢●■▲▼▶︎◀︎★⊙√ㄨ←↑→↓⇄⇅↖↗↘↙⇐⇑⇒⇓⇔āáǎàōóǒòēéěèīíǐìūúǔùǖǘǚǜüê$¥〒¢£ΓΔΘΞΠΣΥΦΨΧΩαβγδεζηθικλμνξπρστυφχψω∈∪∩⊆⊂⊇⊃∞"; var SymbolMain=serverurl11; var arrCardType=["Urgent","Common","Empty"]; var arrOrderType=["ac.MiaoguoCardID desc","ac.UpdateTime desc,ac.CreateTime desc","ac.MiaoguoCardID asc","ac.LearnNumber desc,ac.MiaoguoCardID desc","ac.LearnNumber,ac.MiaoguoCardID","ac.LastTime desc","ac.LimitTime asc","ac.LimitTime desc"]; var tempCardType=0;//临时题卡类型参数 vm = new Vue({ el: '#app1', data: { ListMain: [], ListAlready: [], MenuSelect:"All", ToolSelect:"Add", UrgentCount:0,//紧急题卡总数 OrderType:0, Count: 0, CurrentID: 0, CreateTime:"", UpdateTime:"", SearchInput:"", SearchInformationInput:"", Field:[], Tags:[], HasField2:false, HasField3:false, InfomationResult:{}, ListInformation: [], NickName:serverurl1, AvatarUrl:serverurl18, SymbolMain:SymbolMain, SymbolArray:SymbolArray, SymbolShowAll:0, IsRecycleBin:0,//是否是回收站 IsCollect:0,//是否是收藏夹 CommonTags:serverurl9.split(" "), ShowButton:serverurl15, FolderList:[],//卡单列表 FolderID:0, FolderName:"",//卡单名称 IsShowCardInfo:0, ShowLimitTimeType:"无间隔", UserFamily:[], SelectCardCount:0,//选择的题卡数 IsPrintNewWord:0,//是打印写字表 HanziBookList:[],//语文书列表 BookUnitList:[],//书中单元列表 BookTypeList:[],//书中类型列表(写字、识字、词语) ExcelCards:[],//Excel卡片列表 LatexMenu:[ {Name:"小学数学",Selected:1}, {Name:"初中数学",Selected:0}, {Name:"高中数学",Selected:0}, {Name:"初中物理",Selected:0}, {Name:"高中物理",Selected:0}, {Name:"初中化学",Selected:0}, {Name:"高中化学",Selected:0}, ],//公式菜单 LatexList:[],//公式列表 LatexSelected:["数学","小学"],//公式选择的类别 LatexBtnList:[ {Name:"分数",Content:"\\frac{1}{2}"}, {Name:"平方根",Content:"\\sqrt{2}"}, {Name:"换行",Content:"\\\\"}, {Name:"空格",Content:"\\,"}, {Name:"等距空格",Content:"\\quad"}, {Name:"∵",Content:"∵"}, {Name:"∴",Content:"∴"}, {Name:"∠",Content:"∠"}, {Name:"∥",Content:"∥"}, {Name:"⟂",Content:"⟂"}, {Name:"▵",Content:"▵"}, {Name:"▱",Content:"▱"}, {Name:"⊙",Content:"⊙"}, {Name:"∼",Content:"∼"}, {Name:"≅",Content:"≅"}, {Name:"×",Content:"×"}, {Name:"÷",Content:"÷"}, {Name:"·",Content:"\\cdot"}, {Name:"±",Content:"±"}, {Name:"≠",Content:"≠"}, {Name:"≥",Content:"≥"}, {Name:"≤",Content:"≤"}, {Name:"π",Content:"π"}, {Name:"°",Content:"°"}, {Name:"⇒",Content:"⇒"}, {Name:"⇔",Content:"⇔"}, {Name:"+∞",Content:"+∞"}, {Name:"²",Content:"²"}, {Name:"³",Content:"³"}, {Name:"N次方",Content:"x^{n}"}, {Name:"N次方根",Content:"\\sqrt[n]{a}"}, {Name:"x₁",Content:"x₁"}, {Name:"x₂",Content:"x₂"}, {Name:"下标n",Content:"x_{n}"}, {Name:"α",Content:"α"}, {Name:"β",Content:"β"}, {Name:"γ",Content:"γ"}, {Name:"θ",Content:"θ"}, {Name:"圆弧AB",Content:"\\widehat{AB}"}, {Name:"向量a",Content:"\\overrightarrow{a}"}, {Name:"组合C",Content:"C_{n}^{m}"}, {Name:"求和",Content:"\\sum_{i=1}^{n}a_{i}"}, ], txtLatexName:"",//可编辑的公式名称 txtLatexContent:"",//可编辑的公式内容 txtLatexFontSize:"48",//可编辑的公式字号 }, methods: { getList: function (event) { $("#imgMain").css("display","block"); var param={}; if (event.currentTarget && event.currentTarget.dataset.title=="newFirst"){ param.PageID=0; $.post('/apiData/'+serverurl8,param, function (data) { $("#imgMain").css("display","none"); vm.Count = data.result.Count; vm.UrgentCount=data.result.UrgentCount; data.result.List[0].Title1 = data.result.List[0].Content[1].Content.substr(0, 19); data.result.List[0].Title2 = data.result.List[0].Content[2].Content.substr(0, 19); vm.ListMain.unshift(data.result.List[0]); formatList(data.result.List); }); } else{ vm.IsRecycleBin=0; if (event.currentTarget && event.currentTarget.dataset.page=="nextPage"){ param.PageID=vm.ListMain[vm.ListMain.length-1].MiaoguoCardID; $(".btnMore").text("请稍候..."); $(".btnMore").attr("disabled",true); } var title = event.currentTarget.dataset.title; param.Key=""; if (event.currentTarget.dataset.type=="search") { param.Key = vm.SearchInput; title=vm.MenuSelect; } else{ vm.SearchInput = ""; vm.MenuSelect=title; } vm.FolderName=""; vm.FolderID=0; if (title=="All") { vm.getAdd(); $("#selectCardType").find("option").eq(0).prop("selected",true); } else if (title=="Common") { vm.getAdd(); param.CardType=0; $("#selectCardType").find("option").eq(0).prop("selected",true); } else if (title=="Empty") { vm.getAdd(); param.CardType=-1; $("#selectCardType").find("option").eq(-1).prop("selected",true); } else if (title=="Urgent") { vm.getAdd(); param.CardType=1; $("#selectCardType").find("option").eq(1).prop("selected",true); } else if (title=="Collect") { vm.getAdd(); param.IsCollect=1; $("#IsCollect").prop("checked", true); $("#selectCardType").find("option").eq(0).prop("selected",true); } else if (title.indexOf("Folder")>=0) { param.FolderID = title.substr(6); for (var i = 0; i < vm.FolderList.length; i++) { if (param.FolderID == vm.FolderList[i].ID) { vm.getAdd(); vm.FolderName = vm.FolderList[i].Name; vm.FolderID = param.FolderID; $("#selectFolder").val(param.FolderID); $("#selectCardType").find("option").eq(0).prop("selected", true); $("#IsCollect").prop("checked", false); if (event.currentTarget.dataset.title2 == "all") { $("#filterCardType").find("option").eq(0).prop("selected", true); } else if ($("#filterCardType").get(0) && $("#filterCardType").get(0).selectedIndex) { var filterCardType = $("#filterCardType").get(0).selectedIndex; if (filterCardType == 1) param.CardType = 0; else if (filterCardType == 2) param.CardType = 1; else if (filterCardType == 3) param.CardType = -1; } break; } } } vm.setMenuColor(title); var selectOrderType = 0; if ($("#OrderType").get(0)) selectOrderType = $("#OrderType").get(0).selectedIndex; param.OrderType=arrOrderType[selectOrderType]; vm.OrderType=selectOrderType; $.post('/apiData/'+serverurl16,param, function (data) { $("#imgMain").css("display","none"); vm.Count = data.result.Count; vm.UrgentCount=data.result.UrgentCount; var list=formatList(data.result.List); if (event.currentTarget && event.currentTarget.dataset.page=="nextPage"){ $(".btnMore").text("下拉显示更多"); $(".btnMore").attr("disabled",false); for (var i = 0; i < list.length; i++) vm.ListMain.push(list[i]); } else{ vm.ListMain=list; } }); } }, setMenuColor:function(name){ $(".menu1").css("background-color","#ddd"); $(".menu1").css("color","#1e1e1e"); $("#menu"+name).css("background-color","#999"); $("#menu"+name).css("color","#fff"); }, getDeleteList:function(event){ vm.IsRecycleBin=1; vm.getAdd(null,1); $("#imgMain").css("display","block"); var param={}; param.Type="web"; if (event.currentTarget && event.currentTarget.dataset.page=="nextPage"){ param.PageID=vm.ListMain[vm.ListMain.length-1].MiaoguoCardID; param.PageCount=20; $(".btnMore").text("请稍候..."); $(".btnMore").attr("disabled",true); } else{ param.PageID="0"; param.PageCount="20"; } console.log(param); $.post('/apiData/'+serverurl17,param, function (data) { $("#imgMain").css("display","none"); vm.Count = data.result.Count; var list=formatList(data.result.List); if (event.currentTarget && event.currentTarget.dataset.page=="nextPage"){ $(".btnMore").text("下拉显示更多"); $(".btnMore").attr("disabled",false); for (var i = 0; i < list.length; i++) vm.ListMain.push(list[i]); } else{ vm.ListMain=list; } }); $(".menu1").css("background-color","#ddd"); $(".menu1").css("color","#1e1e1e"); $("#menuDeleteList").css("background-color","#999"); $("#menuDeleteList").css("color","#fff"); $(".btnNavigation").css("background-color","#ccc"); $(".btnNavigation").css("color","#1e1e1e"); }, getItem: function (event) { var that=this; //console.log(event.currentTarget); var id = event.currentTarget.dataset.title; for (var i = 0; i < vm.ListMain.length; i++) { if (id === vm.ListMain[i].MiaoguoCardID) { $("#Field1").val(EncryptUrl(vm.ListMain[i].Content[1].Content)); $("#Field2").val(EncryptUrl(vm.ListMain[i].Content[2].Content)); $("#Field3").val(EncryptUrl(vm.ListMain[i].Content[3].Content)); if (vm.ListMain[i].Content[2].Content) vm.HasField2=true; else vm.HasField2=false; if (vm.ListMain[i].Content[3].Content) vm.HasField3=true; else vm.HasField3=false; if (vm.ListMain[i].IsCollect==1) { $("#IsCollect").prop("checked", true); } else $("#IsCollect").prop("checked",false); $("#selectCardType").find("option").eq(vm.ListMain[i].CardType).prop("selected",true); if (vm.ListMain[i].CardType>=0) $("#divLimitTime").css("visibility",""); else $("#divLimitTime").css("visibility","hidden"); $("#selectFolder").val(vm.ListMain[i].FolderID); if (vm.ListMain[i].LimitTime){ $("#LimitTime").text(vm.ListMain[i].LimitTime.substr(0,10)); } $("#ACardMain" + i).css("background-color", "#eee"); if (event.currentTarget.dataset.type=="showCardInfo" && vm.IsShowCardInfo==1) vm.IsShowCardInfo=1; else vm.IsShowCardInfo=0; if (vm.ToolSelect=="Add" || vm.IsShowCardInfo==1){ var content=changeStringToView(vm.ListMain[i].Content); var b=false; for(var k=1;k=0){ var folderID=vm.MenuSelect.substr(6); for(var i=0;i1) { var arr=[]; if (data.result.CHN) { var Synonym = data.result.CHN.Synonym; var Antonym = data.result.CHN.Antonym; arrSource = []; if (Synonym && Synonym.length > 0) { for (var i = 0; i < Synonym.length; i++) { arrSource.push(Synonym[i]); } } if (Antonym && Antonym.length > 0) { for (var i = 0; i < Antonym.length; i++) { arrSource.push(Antonym[i]); } } } else if (data.result.ENG){ if (data.result.ENG.ExamplesSentences){ for (var i = 0; i < data.result.ENG.ExamplesSentences.length; i++) { var item = data.result.ENG.ExamplesSentences[i]; var obj=[{ContentType:0,Content:""},{ContentType:1,Content:item[0]},{ContentType:2,Content:""},{ContentType:3,Content:""}]; var obj2=changeStringToView(obj); var str=obj2.Field[1][0].Content; item.push(str); item[1]=ReplaceAllString(item[1],"",""); item[1]=ReplaceAllString(item[1],"",""); } } else{ data.result.ENG.ExamplesSentences=[]; } } } if (arrSource && arrSource.length > 0) { for(var i=0;i0){ str="[特 FS=\"64\"]"+str+"[/特]"; } } var val=$("#Field"+selectInformation[i].num).val(); if (!val) val=""; if (val=="") val=str; else if (i==0) val+="\n\n"+str; else val+="\n"+str; $("#Field"+selectInformation[i].num).val(EncryptUrl(val)); } //console.log(vm.Tags); this.closeInfomation(); }, closeInfomation:function(event){ //for(var i=1;i<=3;i++) { // $(".main" + i).css("display", "flex"); //} $("#panelInfomation").css("display", "none"); initInfomation(); vm.InfomationResult={}; vm.ListInformation=[]; }, closeLatex:function(event){ $("#panelLatex").css("display", "none"); vm.txtLatexContent=""; vm.txtLatexFontSize=48; vm.txtLatexName=""; }, // exportData: function (event) { // var that=this; // var url = "/apiData/"+serverurl6; // if (vm.IsCollect==1) // url="/apiData/"+serverurl12; // // window.open (url); // }, //选择标签 selectTag:function(event){ $('#myTags').tagit('createTag', event.currentTarget.innerText); }, //加资料 addInfomation: function(){ $("#panelInfomation").css("display", "flex"); $("#searchInformationInput").focus(); }, //加公式 addLatex: function(){ var that=this; $("#panelLatex").css("display", "flex"); $.get('/apiData/'+serverurl31, function (data) { vm.LatexList = data.result; that.getLatexCategory({currentTarget:{dataset:{index:"0",name:"小学数学"}}}); }); }, getLatexCategory:function(event){ var that=this; var index=event.currentTarget.dataset.index; for(var i=0;i 0) { katex.render( str, $("#" + id)[0],{ throwOnError: false, } ); } else{ console.log("对象无1"); } }, btnSelectLatex:function(event){ var that=this; vm.txtLatexName=event.currentTarget.dataset.latexname; var str=event.currentTarget.dataset.latexcontent; str=str.replace("$$",""); str=str.replace("$$",""); if (currentLatexCursorPos>-1){ var str1=vm.txtLatexContent.substr(0,currentLatexCursorPos); var str2=vm.txtLatexContent.substr(currentLatexCursorPos); vm.txtLatexContent=str1+str+str2; } else{ vm.txtLatexContent+=str+" "; currentLatexCursorPos=vm.txtLatexContent.length; } vm.txtLatexFontSize=event.currentTarget.dataset.fontsize; that.renderLatex("divLatex9999",vm.txtLatexContent); }, onLatexKeyup:function(event){ this.renderLatex("divLatex9999",vm.txtLatexContent); }, btnLatexOK:function(event){ var str="[公式"; if (vm.txtLatexName) str+=" N=\""+vm.txtLatexName+"\""; if (vm.txtLatexFontSize) str+=" FS=\""+vm.txtLatexFontSize+"\""; str+="]"; str+=vm.txtLatexContent; str+="[/公式]"; //console.log(str); if (!currentField) currentField="Field1"; var val=$("#"+currentField).val(); if (!val) val=""; if (val=="") val=str; else if (currentField=="Field2") val+="\n\n"+str; else val+="\n"+str; $("#"+currentField).val(EncryptUrl(val)); this.closeLatex(); }, //快捷符号按钮选择 btnSymbolSelect:function(event){ var btnName=event.currentTarget.id; if (btnName) { console.log(btnName); if (btnName=="symboledit"){ var symbol=prompt("常用符号编辑(不要有空格):",vm.SymbolMain); if (symbol){ var reg = new RegExp(" ", "g"); //console.log(str); symbol=symbol.replace(reg, ""); var obj={}; obj.CommonSymbol=symbol; console.log("obj:" + obj); $.post('/apiData/'+serverurl10, obj, function (data) { showRemind("保存成功",4000); vm.SymbolMain=symbol; vm.SymbolShowAll=0; $(".btnSymbolMain").css("display","block"); $(".btnSymbolList").css("display","none"); }); } } else if (btnName=="more"){ vm.SymbolShowAll=1; $(".btnSymbolMain").css("display","none"); $(".btnSymbolList").css("display","block"); } else if (btnName == "packup") { vm.SymbolShowAll=0; $(".btnSymbolMain").css("display","block"); $(".btnSymbolList").css("display","none"); } else { var word=getSelectedWord(); setInput(btnName); if (word){ if (btnName=="[读]" || btnName=="[线]" || btnName=="[光]"){ vm.SearchInformationInput=word; btnName="[/"+btnName.substr(1); currentCursorPos+=word.length; setInput(btnName); if (currentField=="Field1") currentField="Field2"; else if (currentField=="Field2") currentField="Field3"; } } } } }, //保存题卡 saveCard:function(event){ if ($("#Field1").val() == "") { showRemind("第一段必填"); } else { var selectCardType = $("#selectCardType").get(0).selectedIndex; if (selectCardType==2) selectCardType=-1; var maxUrgentCount=1000; if (vm.ID && vm.ID!=0) maxUrgentCount=1001; if ((vm.ListUrgentCount>=maxUrgentCount || vm.UrgentCount>=maxUrgentCount) && selectCardType==1){ showRemind("紧急题卡不能过1000张"); } else{ $("#Field1").prop("disabled","disabled"); $("#Field2").prop("disabled","disabled"); $("#Field3").prop("disabled","disabled"); $("#btnSaveCard").prop("disabled","disabled"); var param = {}; param.ID = vm.CurrentID; param.Field1 = DecryptUrl($("#Field1").val()); param.Field2 = DecryptUrl($("#Field2").val()); param.Field3 = DecryptUrl($("#Field3").val()); if ($("#mySingleField").val()) { vm.Tags = $("#mySingleField").val(); vm.Tags = vm.Tags.split(","); } param.Tags = vm.Tags; param.IsTodayStudy = 0; param.LimitTime = $("#LimitTime").text(); param.CardType=selectCardType; var selectFolder = $("#selectFolder").val(); param.FolderID=selectFolder; var IsCollect=$("#IsCollect")[0]; if (IsCollect.checked) param.IsCollect = 1; else { param.IsCollect = 0; } param.VisitType = "vtqOSthN7vSwYmhc1gCjfw=="; param.Type = "add"; if (param.ID != 0) param.Type = "edit"; //console.log("param:" + param); var url = "/apiData/"+serverurl2; $.post(url, param, function (data) { showRemind("保存成功",4000); if (vm.CurrentID==0){ vm.getAdd(); setTimeout(function(){ vm.getList({currentTarget:{dataset:{title:"newFirst"}}}); $("#Field1").prop("disabled",""); $("#Field2").prop("disabled",""); $("#Field3").prop("disabled",""); $("#btnSaveCard").prop("disabled",""); $("#selectFolder").val(param.FolderID); },3000); } else{ for(var i=0;i=0){ count++; str=str.substr(str.indexOf("[/图]")+4); } } } if (count>=4){ showRemind("只能上传四张图片!"); } else { this.file = event.target.files[0]; if (this.file.type.indexOf("jpeg") < 0 && this.file.type.indexOf("gif") < 0 && this.file.type.indexOf("png") < 0 && this.file.type.indexOf("jpg") < 0) { showRemind("图片格式不对!"); } else if (this.file.size > 3145728) { showRemind("文件过大!"); } else { let formdata = new FormData() formdata.append('file', this.file) formdata.append('submit', false); $.ajax({ url: "/apiData/" + serverurl7, data: formdata, type: "POST", dataType: "json", cache: false, //上传文件无需缓存 processData: false, //用于对data参数进行序列化处理 这里必须false contentType: false, //必须 success: function (res) { if (res.errcode == 10000) { //console.log("上传完成!",res); if (!currentField) { currentField = "Field1"; $("#" + currentField).val(""); currentCursorPos = 0; vm.SearchInformationInput = ""; } var imageName = "[图 w='' h='']#####4#####/" + res.result.Target + "[/图]"; setInput(imageName); $("#fileUpload").val(""); } else { showRemind(res.errMsg); } }, }); } } }, changeList:function(event){ if ((vm.SelectCardCount+vm.ListAlready.length)>1000){ alert("一批只可处理1000张,当前选择"+vm.SelectCardCount+"张,已经在架子上"+vm.ListAlready.length+"张,请分批处理!"); } else { var selecttype = event.currentTarget.id; var arrSelectType = selecttype.split("-"); var source = vm["List" + arrSelectType[0]]; var target = vm["List" + arrSelectType[1]]; var name = arrSelectType[1]; var selectCount = 0; for (var i = source.length - 1; i >= 0; i--) { var item = source[i]; if (item.Selected) { selectCount++; } } $(".ListItem1").css("background-color", "#ffffff"); for (var i = source.length - 1; i >= 0; i--) { var item = source[i]; if (item.Selected) { item.Selected = false; target.unshift(item); } } //去重 var newArr = []; for (var i = 0; i < target.length; i++) { var b = false; for (var j = i + 1; j < target.length; j++) { if (target[i].MiaoguoCardID == target[j].MiaoguoCardID) { showRemind("有重复"); //console.log(target[i].Title1); b = true; } } if (!b) { var item = JSON.stringify(target[i]); newArr.push(JSON.parse(item)); } } target = newArr; for (var i = 0; i < source.length; i++) { $("#ACard" + arrSelectType[0] + i + " input").prop("checked", false); source[i].Selected = false; } vm["List" + arrSelectType[0]] = source; vm["List" + arrSelectType[1]] = target; if (target.length > 0) { $(".btnCanUse").prop("disabled", ""); } else { $(".btnCanUse").prop("disabled", "disabled"); } if (vm.ToolSelect == "UpdateLimitTime") vm.changeLimitTime(); vm.SelectCardCount=0; getSelectedItemCount(); resizeFunction(); } }, //全选所有的数据 checkAll:function(event){ var id=event.currentTarget.id; var arrTemp=id.split("_"); var selected=arrTemp[1]; var selectedPart=false; if (selected==1) selected = true; else if (selected==2){ selected = true; selectedPart = true; } else if (selected==3){ selected = false; selectedPart = true; } else selected = false; setSelect(vm["ListMain"],"Main",selected,selectedPart); getSelectedItemCount(); function setSelect(list,name,isSelect,isSelectedPart){ var len=list.length; var count=0; for (var i = 0; i < len; i++) { if (!selectedPart) { list[i].Selected = isSelect; } else { var obj=$("#ACard"+name + i + " input")[0].offsetParent; var obj2=$("#mainlist")[0]; var pos1=obj.offsetTop-obj2.scrollTop; console.log(obj.id+":"+(obj.offsetTop-obj2.scrollTop)); var pos2 = Number($(".main").css("height").toString().replace("px", "")); console.log('pos2:'+pos2); if (isSelect && pos1>0 && pos10 && pos130){ alert("导出的题卡数不能超过30!"); } else{ param.Title = txtExport; $.post(url, param, function (data) { setTimeout(function () { window.open(data); showRemind("导出文件成功!"); },500); $(".inputExport").val(""); $(".btnCanUse").prop("disabled", "disabled"); vm.ListAlready=[]; }); } } }, //导入数据 importFile:function(event){ this.file = event.target.files[0]; if (this.file.name.indexOf(".mg") < 0 || this.file.size > 1024) { showRemind("文件格式不对!"); $("#importFile").val(""); } else { var isOK = confirm("导入数据将会生成一个同名的卡单,并放入归档题卡中。若要开始练习,请挑选题卡转入日常或紧急练习模式。确认吗?"); if (isOK){ let formdata = new FormData() formdata.append('file', this.file) formdata.append('submit', false); $.ajax({ url: "/apiData/" + serverurl24, data: formdata, type: "POST", dataType: "json", cache: false, //上传文件无需缓存 processData: false, //用于对data参数进行序列化处理 这里必须false contentType: false, //必须 success: function (res) { if (res.errcode == 10000) { showRemind("导入完成!"); $("#importFile").val(""); setTimeout(function(){ vm.getFolderList(function (folderID) { setTimeout(function () { vm.getList({currentTarget:{dataset:{title:"Folder"+folderID}}}); },1000); }); },1000); } else { showRemind(res.errMsg); $("#importFile").val(""); } }, }); } else{ $("#importFile").val(""); } } }, //导出选择 exportSelect:function(){ var id=event.currentTarget.id; var isShowAnswer=0; if (id=="btnExportAnswer") isShowAnswer=1; else if (id=="btnExportQuestionAnswer") isShowAnswer=2; else if (id=="btnExportQuestionSpace") isShowAnswer=3; else if (id=="btnExportQuestionAnswer2") isShowAnswer=4; if (vm.ListAlready.length>0){ var id=[]; for(var i=0;i1000){ var str="紧急练习模式题卡总数不能超过1000张。\n您当前已经有紧急练习题卡 "+vm.UrgentCount+" 张。"; if ((1000-vm.UrgentCount)>0){ str+="\n请在已选择题卡列表中选择至多 "+(1000-vm.UrgentCount)+" 张。"; } else{ str+="\n您不能再往紧急练习模式中添加题卡。"; } alert(str); } else { //if ($.cookie('IsRemind')) { this.saveCardChange(null, true); //} //else // $(".container2").css("display", "inherit"); } }, saveCardChange:function(e,noRemind) { $(".container2").css("display", "none"); var param = {}; var isChange = true; param.CardType=tempCardType; if (noRemind) { if (param.CardType==1) isChange = confirm("保存之后,选择的题卡进入紧急练习模式,会被初始化为新题卡。\n您确认保存题卡为紧急练习模式吗?"); else if (param.CardType==-1) isChange = confirm("您确认保存题卡为归档吗?"); else isChange = confirm("您确认保存题卡为日常练习模式吗?"); } if (isChange) { param.List=getSelect(vm.ListAlready); //console.log(JSON.stringify(param)); $.post('/apiData/' + serverurl13, param, function (data) { showRemind("保存成功",4000); vm.ListAlready=[]; vm.getList({currentTarget:{dataset:{title:vm.MenuSelect}}}); }); } if ($("#checkIsRemind").prop("checked")) { var Days = 90; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); $.cookie('IsRemind', 1, {expires: exp.toGMTString()}); } }, showContainer:function(event) { var cType=event.currentTarget.dataset.containertype; $(cType).css("display","inherit"); vm.FolderID=event.currentTarget.dataset.title; }, closeContainer:function(event) { var cType=event.currentTarget.dataset.containertype; $(cType).css("display","none"); if (cType==".container3") vm.changeToolSelect(); }, addFolder:function(event){ var that=this; var name= $("#txtFolderName").val(); if (name){ var url = "/apiData/"+serverurl22; var param = {}; param.Name = name; $.post(url, param, function (data) { showRemind("卡单新增成功"); vm.ListAlready=[]; that.getFolderList(); }); } else{ alert("请输入卡单名称!"); } }, updateFolder:function(){ var that=this; var name= $("#txtFolderName").val(); if (name){ var url = "/apiData/"+serverurl22; var param = {}; param.Name = name; param.FolderID=vm.FolderID; $.post(url, param, function (data) { showRemind("卡单修改成功"); vm.ListAlready=[]; vm.FolderName=param.Name; that.getFolderList(); that.closeContainer({currentTarget:{dataset:{containertype:".container2"}}}); }); } else{ alert("请输入卡单名称!"); } }, deleteFolder:function(){ var that=this; var isChange = confirm("您确删除卡单【"+vm.FolderName+"】吗?"); if (isChange) { var url = "/apiData/"+serverurl22; var param = {}; param.FolderID=vm.FolderID; param.Flag=-1; $.post(url, param, function (data) { showRemind("卡单删除成功"); vm.ListAlready=[]; vm.FolderName=""; that.getFolderList(); that.closeContainer({currentTarget:{dataset:{containertype:".container2"}}}); }); } }, changeToolSelect:function(event) { var that=this; resizeFunction(); vm.IsShowCardInfo=0; $(".btnNavigation").css("background-color","#ccc"); $(".btnNavigation").css("color","#1e1e1e"); if (event) vm.ToolSelect=event.currentTarget.dataset.title; else vm.ToolSelect="Add"; $("#btnNavigation"+vm.ToolSelect).css("background-color","#999"); $("#btnNavigation"+vm.ToolSelect).css("color","#fff"); if (vm.ToolSelect=="PrintNewWord") { vm.IsPrintNewWord = 1; $.get('/apiData/'+serverurl28, function (data) { vm.HanziBookList = data.result; setTimeout(function () { vm.getBookUnitWordList({currentTarget:{dataset:{title:13}}}); },500); }); } else if (vm.ToolSelect=="ExcelImport") { that.showContainer({currentTarget:{dataset:{containertype:".container3"}}}); } else { vm.IsPrintNewWord = 0; if (vm.IsRecycleBin==1){ vm.IsRecycleBin=0; vm.MenuSelect="All"; vm.getList({currentTarget: {dataset: {title:vm.MenuSelect,type:"search"}}}); } else{ setTimeout(function(){ if (vm.ListAlready.length>0){ $(".btnCanUse").prop("disabled", ""); } else{ $(".btnCanUse").prop("disabled", "disabled"); } if (vm.ToolSelect=="UpdateLimitTime" && $('#LimitTimeStart').length > 0) { jeDate('#LimitTimeStart', { minDate: formatTime(new Date(), "-", true), isinitVal: true, format: 'YYYY-MM-DD', onClose: false, donefun: function(obj){ //console.log(obj.val); vm.changeLimitTime(); } }); vm.changeLimitTime(); } else if (vm.ToolSelect=="Add" && $('#LimitTime').length > 0) { jeDate('#LimitTime', { minDate: formatTime(new Date(), "-", true), isinitVal: true, format: 'YYYY-MM-DD', onClose: false }); $("#filterCardType").find("option").eq(0).prop("selected",true); vm.getList({currentTarget:{dataset:{title:vm.MenuSelect}}}); } that.getFolderList(); },500); } } }, getBookUnitWordList:function(e){ var id=e.currentTarget.dataset.title; var ismenu=e.currentTarget.dataset.ismenu; $("#imgMain").css("display","block"); vm.setMenuColor("Book"+id); for(var i=0;i0) { var id=0; for(var i=0;i0){ $(".btnCanUse").prop("disabled", ""); } else{ $(".btnCanUse").prop("disabled", "disabled"); $(".btnCanUseUp").prop("disabled", "disabled"); $(".btnCanUseDown").prop("disabled", "disabled"); } }, setLimitTime:function(){ var isChange = true; var param={}; param.CardType = $("#selectCardType1").get(0).selectedIndex; if (param.CardType==1 && (vm.ListAlready.length+vm.UrgentCount)>1000){ var str="紧急练习模式题卡总数不能超过1000张。\n您当前已经有紧急练习题卡 "+vm.UrgentCount+" 张。"; if ((1000-vm.UrgentCount)>0){ str+="\n请在已选择题卡列表中选择至多 "+(1000-vm.UrgentCount)+" 张。"; } else{ str+="\n您不能再往紧急练习模式中添加题卡。"; } alert(str); } else{ isChange = confirm("您确认将这些题卡延迟到指定时间练习吗?"); if (isChange) { param.List = []; param.LimitTimeList = []; for (var i = 0; i < vm.ListAlready.length; i++) { var item = vm.ListAlready[i]; param.List.push(item.MiaoguoCardID); param.LimitTimeList.push(item.LimitTime); } //console.log(JSON.stringify(param)); $.post('/apiData/' + serverurl13, param, function (data) { showRemind("保存成功",4000); vm.ListAlready=[]; vm.getList({currentTarget:{dataset:{title:vm.MenuSelect}}}); }); } } }, //选中已经选择的题卡列表中的题卡 getItemAlready:function(){ vm.IsShowCardInfo=0; var id = event.currentTarget.dataset.title; for (var i = 0; i < vm.ListAlready.length; i++) { if (id === vm.ListAlready[i].MiaoguoCardID) { $("#ACardAlready" + i).css("background-color", "#eee"); vm.ListAlready[i].Selected=true; $(".btnCanUseDown").prop("disabled", ""); $(".btnCanUseUp").prop("disabled", ""); if (i==0){ $(".btnCanUseUp").prop("disabled", "disabled"); } else if (i==vm.ListAlready.length-1){ $(".btnCanUseDown").prop("disabled", "disabled"); } } else { $("#ACardAlready" + i).css("background-color", "#fff"); vm.ListAlready[i].Selected=false; } } }, //移动排序 moveOrder:function(){ var title = event.currentTarget.dataset.title; for (var i = 0; i < vm.ListAlready.length; i++) { if (vm.ListAlready[i].Selected) { var a=1; if (title=="up") a=-1; if (i+a>=0 && i+a1000){ showRemind("紧急练习不能超过1000张!",3000); $("#selectCardType").get(0).selectedIndex=0; } } else if (cardType==2){ $("#divLimitTime").css("visibility","hidden"); } }, downloadChrome:function(){ window.open("https://www.google.cn/intl/zh-CN/chrome/"); }, UpdateFolderList:function(event){ var that=this; var id = event.currentTarget.dataset.title; var url = "/apiData/"+serverurl20; var param = {}; param.FolderID = id; param.CardID = getSelect(vm.ListAlready); $.post(url, param, function (data) { showRemind("卡单更新成功"); vm.ListAlready=[]; that.getFolderList(); }); }, UpdateCollectList:function(event){ var that=this; var id = event.currentTarget.title; var url = "/apiData/"+serverurl21; var param = {}; param.IsCollect = id; param.CardID = getSelect(vm.ListAlready); $.post(url, param, function (data) { showRemind("星标更新成功"); vm.ListAlready=[]; }); }, ShowCardInfo:function(event){ vm.IsShowCardInfo=1; var id=event.currentTarget.dataset.title; vm.getItem({currentTarget:{dataset:{title:id,type:"showCardInfo"}}}); }, closeShowCardInfo:function(){ vm.IsShowCardInfo=0; }, refresh:function(){ window.location.reload(); }, showLogout:function (event) { $(".UserInfo").css("display","inherit"); event.cancelBubble = true; //console.log(JSON.stringify(param)); $.get('/apiData/' + serverurl25, function (data) { vm.UserFamily=data.result; }); }, excelBuild:function (event) { var arr= $("#txtExcelContent").val(); if (arr){ arr=arr.split("\n"); if (arr.length>200){ alert("一次导入不能超过1000张,请减少题卡数。"); } else { var result = []; for (var i = 0; i < arr.length; i++) { if (arr[i]) { var item = arr[i].split("\t"); var obj = {}; obj.Question = item[0]; obj.Answer = ""; for (var j = 1; j < item.length; j++) { if (j > 1 && item[j]) obj.Answer += "\n\n"; obj.Answer += item[j]; } result.push(obj); } } vm.ExcelCards = result; $("#btnImportExcelData").attr("disabled",false); } } }, selectSoundmark:function(event){ var id=event.currentTarget.id; console.log(id); if (id=="rdoSoundmark1") { $("#txtSoundmark_发音_ENG_Soundmark_Eng_Select").text("英"+vm.InfomationResult.ENG.Soundmark.Eng); $("#txtSoundmark_发音_ENG_Soundmark_AmE_Select").text("美"+vm.InfomationResult.ENG.Soundmark.AmE); } else { $("#txtSoundmark_发音_ENG_Soundmark_Eng_Select").text("英式"); $("#txtSoundmark_发音_ENG_Soundmark_AmE_Select").text("美式"); } }, excelTextareaFocus:function(event){ vm.ExcelCards = []; $("#btnImportExcelData").attr("disabled",true); }, importExcelData:function (event) { var obj={}; obj.DataList=JSON.stringify(vm.ExcelCards); $("#loading2").css("display","block"); $("#btnImportExcelData").attr("disabled",true); $.post('/apiData/'+serverurl30, obj, function (data) { showRemind("导入题卡到归档成功",4000); $("#txtExcelContent").val(""); vm.ExcelCards=[]; $("#loading2").css("display","none"); setTimeout(function () { vm.changeToolSelect(); vm.getFolderList(); },1000); }); }, emptyExcelTxt:function (event) { $("#txtExcelContent").val(""); this.excelTextareaFocus(); }, downloadExcelExample:function (event) { window.open("https://miaguo-1253256735.file.myqcloud.com/web/_files/%E7%A7%92%E8%BF%87excel%E6%89%B9%E9%87%8F%E5%BB%BA%E5%8D%A1%E6%A8%A1%E6%9D%BF.xlsx"); }, goto:function (event) { var url=event.currentTarget.dataset.url; window.location.href=url; }, logout:function () { window.location.href="https://www.kylx365.com/"; $.get('/apiData/' + serverurl26, function () {}); } } }); function getSelect(source) { var result = []; for (var i = 0; i < source.length; i++) { var item = source[i]; result.push(item.MiaoguoCardID); } return result; } scroll(); function scroll(){ $('#mainlist').mousewheel(function(event, delta) { if (delta < 0) { getMoreFunction(); } return true; }); $('#mainlist').scroll(function(event, delta) { getMoreFunction(); }); } function getMoreFunction(){ var obj=$("#btnMore"); var obj2=$("#mainlist"); if (obj && obj[0] && obj[0].offsetTop && obj2[0].scrollTop) { var pos = (obj[0].offsetTop - obj2[0].scrollTop-100); //console.log('pos:'+pos); var pos2 = Number($(".main").css("height").toString().replace("px", "")); //console.log('pos2:'+pos2); if (pos < pos2) { //console.log('$("#btnMore").text():'+$("#btnMore").text()); if ($("#btnMore").text() == "下拉显示更多") { if (vm.IsRecycleBin==1) vm.getDeleteList({currentTarget: {dataset: {page:"nextPage",title:vm.MenuSelect}}}); else vm.getList({currentTarget: {dataset: {page:"nextPage",title:vm.MenuSelect,type:"search"}}}); } } } } function initInfomation(){ $(".panelSelect0").text(""); $(".panelItemFrame").css("background-color", "#fff"); $(".panelItemFrame").css("color", "#1e1e1e"); $(".panelSelect0").css("background-color", "#fff"); selectInformation=[]; } $(".container").click(function () { //console.log($(".UserInfo").css("display")); if ($(".UserInfo").css("display")!="none") $(".UserInfo").css("display","none"); }); $("#searchInformationInput").keydown(function(event){ if (event.keyCode == 13) { vm.getInformationList(); } }); $("#searchInput").keydown(function(event){ if (event.keyCode == 13) { vm.getList({currentTarget: {dataset: {title:vm.MenuSelect,type:"search"}}}); } }); $("#IsTodayStudy").change(function(event){ console.log(event.currentTarget.checked); if (event.currentTarget.checked){ $(".today2").css("display","none"); } else{ $(".today2").css("display",""); } }); $(".textarea").focus(function () { currentField = $(this).attr("id"); //console.log(currentField); }); $(".textarea").blur(function () { currentField = $(this).attr("id"); //console.log(currentField); currentCursorPos = $(this).getCursorPosition(); //console.log(currentCursorPos); vm.SearchInformationInput=getSelectedWord(); }); $("#txtLatexContent").blur(function () { currentLatexCursorPos = $(this).getCursorPosition(); }); function getSelectedItemCount(){ var b=0; for (var i = 0; i < vm.ListMain.length; i++) { if ($("#ACardMain"+ i+" input").prop("checked")) { b=1; break; } } if (b>0){ $("#Main-Already").prop("disabled",""); $("#Main-Already").css("background-color","#0071EF"); $("#Main-Already").css("color","#fff"); } else{ $("#Main-Already").prop("disabled","disabled"); $("#Main-Already").css("background-color","#fff"); $("#Main-Already").css("color","-internal-light-dark-color(graytext, rgb(170, 170, 170))"); } } function getSelectedWord(){ var sText = ""; sText= document.selection == undefined ? document.getSelection().toString():document.selection.createRange().text; if (sText != "") { if (sText.length > 20) sText = sText.substr(0, 20); } if (sText==""){ if (currentField){ var textBox=$("#" + currentField)[0]; if(textBox.selectionStart){ sText=textBox.value.substring(textBox.selectionStart,textBox.selectionEnd); } } } return sText; } $(".textarea").dblclick(function () { vm.SearchInformationInput=getSelectedWord(); }); $(".textarea").keyup(function (event) { currentCursorPos = $(this).getCursorPosition(); currentField = $(this).attr("id"); if (event.ctrlKey && event.shiftKey && event.altKey){ if (event.keyCode == 219) { setInput("[光]"); } else if (event.keyCode == 221) { setInput("[/光]"); } } else if (event.ctrlKey && event.shiftKey){ if (event.keyCode == 219) { setInput("[线]"); } else if (event.keyCode == 221) { setInput("[/线]"); } } else if (event.ctrlKey && event.altKey){ if (event.keyCode == 219) { setInput("[读]"); } else if (event.keyCode == 221) { setInput("[/读]"); } } }); $(".textarea").on("dragenter",function (e) { e.stopPropagation(); e.preventDefault(); }); $(".textarea").on("dragover",function (e) { e.stopPropagation(); e.preventDefault(); }); $(".textarea").on("drop",function (e) { //console.log(e); currentField = e.currentTarget.id; if(e.originalEvent.dataTransfer && e.originalEvent.dataTransfer.files.length) { e.preventDefault(); e.stopPropagation(); vm.referenceUpload({target:{files:e.originalEvent.dataTransfer.files}}); } }); $(".textarea").on("paste",function (e) { let file = null; const items = (e.originalEvent.clipboardData || window.clipboardData).items; if (items && items.length) { for (var i = 0; i < items.length; i++) { if (items[i].type.indexOf('image') !== -1) { file = items[i].getAsFile(); break; } } } if (file) { //console.log(file); var files=[]; files.push(file); vm.referenceUpload({target:{files:files}}); } }); //格式化列表 function formatList(list){ var result=[]; for (var i = 0; i < list.length; i++) { list[i].Title1 = replaceString(list[i].Content[1].Content).substr(0, 19); list[i].Title2 = replaceString(list[i].Content[2].Content).substr(0, 19); var imageUrl = getImage(list[i].Content[1].Content); if (imageUrl.length == 0 && list[i].Content[2].Content) imageUrl = getImage(list[i].Content[2].Content); if (imageUrl.length == 0 && list[i].Content[3].Content) imageUrl = getImage(list[i].Content[3].Content); if (imageUrl.length > 0) { list[i].ImageUrlServer = imageUrl; } if (list[i].FirstTime < "1900-01-02") list[i].CardCategory = "新题卡"; else list[i].CardCategory = "旧题卡"; result.push(list[i]); } return result; function getImage(str) { var result = ""; if (str.indexOf("[图") >= 0) { result = str.substring(str.indexOf("[图") + 3, str.indexOf("[/图]")); result = result.substring(result.indexOf("]") + 1); } //console.log(result); return result; } function replaceString(str) { //str = str.replace(/\[图]/g, ""); //str = str.replace(/\[\/图\]/g, ""); var str2 = ""; if (str.indexOf("[读 src=") >= 0) { str2 = str.substr(str.indexOf("[读 src=")); str2 = str2.substring(0, str2.indexOf("]") + 1); } str = str.replace(str2, ""); if (str.indexOf("[/读]") >= 0) { str2 = str.substr(str.indexOf("[/读]")); str2 = str2.substring(0, 4); } str = str.replace(str2, ""); if (str.indexOf("[读 src=") >= 0) { str2 = str.substr(str.indexOf("[读 src=")); str2 = str2.substring(0, str2.indexOf("/读]") + 3); } str = str.replace(str2, ""); if (str.indexOf("[/读]") >= 0) { str2 = str.substr(str.indexOf("[/读]")); str2 = str2.substring(0, 4); } str = str.replace(str2, ""); str = str.replace(/\[读]/g, ""); str = str.replace(/\[\/读\]/g, ""); var str3 = ""; if (str.indexOf("[图") >= 0) { str3 = str.substr(str.indexOf("[图")); str3 = str3.substring(0, str3.indexOf("/图]") + 3); } str = str.replace(str3, ""); if (str.indexOf("[图") >= 0) { str3 = str.substr(str.indexOf("[图")); str3 = str3.substring(0, str3.indexOf("/图]") + 3); } str = str.replace(str3, ""); str = str.replace(/\[线]/g, ""); str = str.replace(/\[\/线\]/g, ""); if (str.indexOf("[特") >= 0) { str2 = str.substr(str.indexOf("[特")); str2 = str2.substring(0, str2.indexOf("]") + 1); } str = str.replace(str2, ""); if (str.indexOf("[/特") >= 0) { str2 = str.substr(str.indexOf("[/特")); str2 = str2.substring(0, 4); } str = str.replace(str2, ""); if (str.indexOf("[公式") >= 0) { str2 = str.substr(str.indexOf("[公式")); str2 = str2.substring(0, str2.indexOf("]") + 1); } str = str.replace(str2, ""); if (str.indexOf("[/公式") >= 0) { str2 = str.substr(str.indexOf("[/公式")); str2 = str2.substring(0, 5); } str = str.replace(str2, ""); str = EncryptUrl(str); return str; } } function setInput(content) { if (!currentField) currentField="Field1"; if (currentField) { var str = $("#" + currentField).val(); var str1 = str.substring(0, currentCursorPos); var str2 = str.substring(currentCursorPos); //console.log(str1); //console.log(str2); var str3 = str1 + content + str2; $("#" + currentField).val(str3); currentCursorPos+=content.length; $("#" + currentField).focus(); } } $('#myTags').tagit({ singleField: true, singleFieldNode: $('#mySingleField'), }); $(".CommonTagItemEdit").click(function(event) { var tags=prompt("常用标签编辑(请用空格分隔):",vm.CommonTags.join(" ")); if (tags){ var obj={}; obj.CommonTags=tags; console.log("obj:" + obj); $.post('/apiData/'+serverurl10, obj, function (data) { showRemind("保存成功",4000); vm.CommonTags=tags.split(" "); }); } }); function showRemind(str,duration) { if (!duration) duration=3000; $("#remind1").text(str); $("#remind").css("display", "block"); $("#remind").fadeOut(duration); setTimeout(function () { $("#remind").css("display", "none"); }, duration); } function init(){ vm.getAdd(); vm.changeToolSelect(); vm.ListMain = []; setTimeout(function () { vm.getList({currentTarget: {dataset: {title:vm.MenuSelect,type:"search"}}}); setTimeout(function () { vm.getAdd(); }, 1000); }, 2000); } function changeStringToView(field) { var result = {}; result.Field = [[]]; result.Images = []; for (var j = 0; j < field.length; j++) { if (j == 0) { if (field[j].ContentType == 0 && field[j].Content && field[j].Content.length > 0) { result.Tags = field[j].Content.toString().split(","); } else { result.Tags = []; } } else { if (field[j].ContentType == j && field[j].Content && field[j].Content.length > 0) { var arrResult = [], arrSoundMark = []; var str = field[j].Content.toString(); str = DecryptUrl(str); str = str.replace(/\[读/g, "\n[读"); str = str.replace(/\[图/g, "\n[图"); str = str.replace(/\[\/读\]/g, "[\/读]\n"); str = str.replace(/\[\/图\]/g, "[\/图]\n"); str = str.replace(/\n\n\n/g, "\n\n"); var arr = str.split("\n"); for (var k = 0; k < arr.length; k++) { if (arr[k].indexOf("[图") >= 0 && arr[k].indexOf("[/图]") > 0) { var obj = {}; obj.Type = "image"; if (arr[k].indexOf("[图") >= 0) { obj.ContentServer = arr[k].substring(arr[k].indexOf("[图") + 3, arr[k].indexOf("[/图]")); const w = 650; if (obj.ContentServer.indexOf("w='") >= 0 && obj.ContentServer.indexOf("h='") >= 0) { obj.Width = obj.ContentServer.substring(obj.ContentServer.indexOf("w='") + 3, obj.ContentServer.indexOf("h='") - 2); obj.Height = obj.ContentServer.substring(obj.ContentServer.indexOf("h='") + 3, obj.ContentServer.indexOf("']")); obj.Height = Math.round((w * Number(obj.Height)) / Number(obj.Width)); obj.Width = w; } else { obj.Width = ""; obj.Height = ""; } obj.ContentServer = obj.ContentServer.substring(obj.ContentServer.indexOf("]") + 1); obj.Content = obj.ContentServer; result.Images.push(obj.Content); } arrResult.push(obj); } else if (arr[k].indexOf("[特") >= 0 && arr[k].indexOf("[/特]") > 0) { var obj = {}; obj.Type = "bigword"; var content = arr[k].substring(arr[k].indexOf("[特")+2,arr[k].indexOf("[/特]")); obj.FontSize=108; if (content.indexOf("FS")>0 && content.indexOf("FS")<5){ obj.FontSize=content.substring(content.indexOf("FS=")+4,content.indexOf("]")-1); } obj.FontSize=Number(obj.FontSize)/2; content=content.substring(content.indexOf("]")+1); //debugger; obj.Content = content; arrResult.push(obj); } else if (arr[k].indexOf("[公式") >= 0 && arr[k].indexOf("[/公式]") > 0) { var obj = {}; obj.Type = "latex"; var content = arr[k].substring(arr[k].indexOf("[公式")+3,arr[k].indexOf("[/公式]")); if (content.indexOf("N=")>=0){ obj.LatexName=content.substr(content.indexOf("N=")+3); obj.LatexName= obj.LatexName.substring(0, obj.LatexName.indexOf("\"")); } //debugger; obj.FontSize=48; if (content.indexOf("FS=")>=0){ obj.FontSize=content.substr(content.indexOf("FS=")+4); obj.FontSize= obj.FontSize.substring(0, obj.FontSize.indexOf("\"")); } obj.FontSize=Number(obj.FontSize)/2; content = content.substring(content.indexOf("]")+1); if (content.substr(0,2)!="$$") obj.Content = "$$"+content+"$$"; else obj.Content=content; arrResult.push(obj); } else if ((arr[k].indexOf("[线]") >= 0 && arr[k].indexOf("[/线]") > 0) || (arr[k].indexOf("[光]") >= 0 && arr[k].indexOf("[/光]") > 0)) { var obj; var content = [], temp = arr[k]; do { var num1 = temp.indexOf("[线]"); var num2 = temp.indexOf("[光]"); if (num1 >= 0 || num2 >= 0) { if ((num1 < num2 && num1 >= 0 && num2 >= 0) || (num1 >= 0 && num2 < 0)) { var temp1 = temp.substring(0, temp.indexOf("[线]")); if (temp1) { content.push({ key: "normal", value: temp1, }); } else { if (temp && temp.indexOf("[线]") < 0) { content.push({ key: "normal", value: temp, }); temp = ""; } } } else if ((num1 > num2 && num1 >= 0 && num2 >= 0) || (num1 < 0 && num2 >= 0)) { var temp1 = temp.substring(0, temp.indexOf("[光]")); if (temp1) { content.push({ key: "normal", value: temp1, }); } else { if (temp && temp.indexOf("[光]") < 0) { content.push({ key: "normal", value: temp, }); temp = ""; } } } else{ content.push({ key: "normal", value: temp, }); temp = ""; } } else{ content.push({ key: "normal", value: temp, }); temp = ""; } if (temp.length > 0 && ( num1>=0 || num2>=0 )){ if ((num1 < num2 && num1 >= 0 && num2 >= 0) || (num1>=0 && num2 < 0) ) { temp = temp.substr(temp.indexOf("[线]") + 3); temp1 = temp.substring(0, temp.indexOf("[/线]")); if (temp1) { content.push({ key: "line", value: temp1, }); } temp = temp.substr(temp.indexOf("[/线]") + 4); } else if ((num1 > num2 && num1 >= 0 && num2 >= 0) || (num1 < 0 && num2>=0)) { temp = temp.substr(temp.indexOf("[光]") + 3); temp1 = temp.substring(0, temp.indexOf("[/光]")); if (temp1) { content.push({ key: "highlighter", value: temp1, }); } temp = temp.substr(temp.indexOf("[/光]") + 4); } else temp=""; } else temp=""; } while (temp.length > 0); for(var n=0;n= 0 && arr[k].indexOf("[/读]") > 0) { var obj = {}; obj.Type = "sound"; if (arr[k].indexOf("[读]") >= 0) { obj.Content = arr[k].substring(arr[k].indexOf("[读]") + 3, arr[k].indexOf("[/读]")); } else { var tempIndex = arr[k].indexOf("\']") + 2; obj.Content = arr[k].substring(tempIndex, arr[k].indexOf("[/读]")); obj.SoundMark = arr[k].substring(arr[k].indexOf("src='") + 5, arr[k].indexOf("']"));; } arrResult.push(obj); } else if (arr[k].indexOf("[音") >= 0 && arr[k].indexOf("[/音]") > 0) { var obj = {}; obj.Type = "recorder"; var tempIndex = arr[k].indexOf("\']") + 2; //obj.Content = arr[k].substring(tempIndex, arr[k].indexOf("[/音]")); obj.SoundMark = arr[k].substring(arr[k].indexOf("url='") + 5, arr[k].indexOf("']")); arrResult.push(obj); } else if (arr[k].indexOf("[特") >= 0 && arr[k].indexOf("[/特]") > 0) { var obj = {}; obj.Type = "bigword"; obj.Content = arr[k].substring(arr[k].indexOf("[特]")+3,arr[k].indexOf("[/特]")); arrResult.push(obj); } else if (arr[k] != "") { var obj = {}; obj.Type = "normal"; obj.Content = arr[k]; arrResult.push(obj); } else if (k > 0 && arr[k] == "") { var obj = {}; obj.Type = "br"; obj.Content = ""; arrResult.push(obj); } var obj = {}; obj.Type = "return"; obj.Content=""; arrResult.push(obj); } //去掉前回车换行 // while (arrResult[0].Type == "return" // || arrResult[0].Type == "br") { // arrResult.shift(); // if (arrResult.length==0) // break; // } //去掉后回车换行 for (var i = arrResult.length - 1; i >= 0; i--) { if (arrResult[i].Type == "return" || arrResult[i].Type == "br") arrResult.pop(); else { break; } } for(var i=0;i=0){ pinyin=pinyin.replace(arr[i][0],arr[i][1]); pinyin=pinyin+arr[i][2]; break; } } if (pinyin.substr(pinyin.length-1,1)>5){ pinyin+="5"; } return pinyin; } function EncryptUrl(str) { if (str.constructor == Array) { if (str.length > 0) str = str.join(","); else str = ""; } if (str) { str = str.replace(/baidu.com/g, "#####1#####"); str = str.replace(/iciba.com/g, "#####2#####"); str = str.replace(/https:\/\/pinyin.kylx365.com\/sounds/g, "#####3#####"); str = str.replace(/https:\/\/pinyin-1253256735.file.myqcloud.com/g, "#####3#####"); str = str.replace(/https:\/\/miaguo-1253256735.file.myqcloud.com/g, "#####4#####"); } if (str.substr(0, 1) == "\n") str = str.substr(1); return str; } function DecryptUrl(str) { if (str.constructor == Array) { if (str.length > 0) str = str.join(","); else str = ""; } if (str) { str = str.replace(/#####1#####/g, "baidu.com"); str = str.replace(/#####2#####/g, "iciba.com"); str = str.replace(/#####3#####/g, "https://pinyin-1253256735.file.myqcloud.com"); str = str.replace(/#####4#####/g, "https://miaguo-1253256735.file.myqcloud.com"); } return str; } function computerHeight(h){ var hMax=700,hInterval=50; var h2= 0,t1=80,t2=80,t3=80; if (h=hMax-hInterval){ h2=80-(hMax-h); t3=h2; } else if (h=hMax-2*hInterval){ h2=80-(hMax-h-50); t2=h2; t3=t3-hInterval; } else if (h=hMax-3*hInterval){ h2=80-(hMax-h-100); t1=h2; t2=t2-hInterval; t3=t3-hInterval; } else if (h