import common from '../../utils/util'; import server from '../../utils/main'; const app = getApp(); var currentIndex = 0, tempCurrentIndex = -1; var audioArray = []; Page({ data: { version: app.globalData.version, FileUrl: app.globalData.fileUrl, IsPlaying: 0, PlayStr: "本", selectTab0: "btn1", selectTab1: "", selectTab2: "", }, onLoad: function (options) { this.audioCtx = wx.createAudioContext('myAudio'); this.setData({ Containnerheight: server.getWindowHeight(), IsPlaying: 0, }); audioArray = []; var id = options.id; this.getItem(id); wx.setNavigationBarTitle({ title: "试卷答案 " + id, }); }, scrollTop: function (e) { var id = Number(e.currentTarget.dataset.id); var selectTab0 = "", selectTab1 = "", selectTab2 = ""; if (id == 0) selectTab0 = "btn1"; else if (id == 1) selectTab1 = "btn1"; else if (id == 2) selectTab2 = "btn1"; this.setData({ selectTab0: selectTab0, selectTab1: selectTab1, selectTab2: selectTab2, }); var top = 0; var query = wx.createSelectorQuery(); query.select('#panelRowTop' + id).boundingClientRect(); query.selectViewport().scrollOffset(); query.exec(function (res) { top = res[0].top + res[1].scrollTop wx.pageScrollTo({ scrollTop: top, duration: 500 }); }); }, getItem: function (id) { var that = this; var list = wx.getStorageSync("AnswerList"); if (list && list.length > 0) { var item; for (var i = 0; i < list.length; i++) { if (id == list[i].AnswerID) { item = list[i]; break; } } var list = item.QuestionList; for (var i = 0; i < list.length; i++) { if (i == 0 && list[i].Vertical) { list[i].IsShowVertical = true; break; } } var list = item.QuestionList; for (var i = 0; i < list.length; i++) { if (list[i].OperateAB == '÷' && list[i].Vertical) { list[i].LineLength = list[i].A.toString().length; for (var k = 0; k < list[i].Vertical[1].Array.length; k++) { list[i].Vertical[1].Array[k] = ""; } for (var k = 0; k < list[i].Vertical[2].Array.length; k++) { if (list[i].Vertical[2].Array[k] =="√"){ list[i].Vertical[2].Array[k]=""; list[i].Vertical[2].Array.push("√"); break; } } } } that.setData({ AnswerItem: item, }); } }, selectedItem: function (e) { var id = e.currentTarget.dataset.id; var list = this.data.AnswerItem.QuestionList; for (var i = 0; i < list.length; i++) { if (id == list[i].ID) { list[i].IsShowVertical = !list[i].IsShowVertical; } else { list[i].IsShowVertical = false; } } this.data.AnswerItem.QuestionList = list; this.setData({ AnswerItem: this.data.AnswerItem, }); }, showImage: function (e) { var that = this; wx.previewImage({ current: that.data.AnswerItem.TempImagePath, // 当前显示图片的http链接 urls: [that.data.AnswerItem.TempImagePath] // 需要预览的图片http链接列表 }); }, playAudioStart: function () { if (this.data.IsPlaying == 1) { this.audioCtx.pause(); } else if (this.data.IsPlaying == -1) { this.audioCtx.play(); } else if (this.data.IsPlaying == 0) { var arr = []; var item = this.data.AnswerItem; var list = item.QuestionList; for (var i = 0; i < list.length; i++) { if ((i % (list.length / 3)) == 0) { if (i > 0) { arr.push(""); audioArray.push(arr); arr = []; } arr.push("第" + (1 + i / (list.length / 3)) + "列"); } var str = list[i].Result; if (str.toString().indexOf("......") > 0) { str = str.toString().replace("......", "”余数"); str = "商“" + str; } arr.push(str); } arr.push(""); audioArray.push(arr); this.playAudioAll(); } if (this.data.IsPlaying == 1) this.data.IsPlaying = -1; else this.data.IsPlaying = 1; this.setData({ IsPlaying: this.data.IsPlaying, }); }, playAudioAll: function () { if (currentIndex >= 3) { currentIndex = 0; this.setData({ IsPlaying: true, }); return; } else { var url = app.globalData.audioUrlBaidu; url = url.replace("[token]", app.globalData.BaiduToken); url = url.replace("[word]", audioArray[currentIndex].join(",")); console.log(url); this.audioCtx.setSrc(url); this.audioCtx.play(); } }, onPlayEnded: function (e) { currentIndex++; this.playAudioAll(); }, playPrev: function () { var playstr = "本"; if (currentIndex > 0 && tempCurrentIndex == currentIndex) { currentIndex--; } else { tempCurrentIndex = currentIndex; playstr = "前"; if (currentIndex <= 0) playstr = "本"; } this.playAudioAll(); this.setData({ PlayStr: playstr, }); }, onShareAppMessage: function () { return { title: '', path: 'pages/index/index', success: function (res) { }, fail: function (err) { console.log(err); }, complete: function (res) { console.log(res); }, } }, })