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: true, }, onLoad: function (options) { this.audioCtx = wx.createAudioContext('myAudio'); this.setData({ Containnerheight: server.getWindowHeight(), }); audioArray = []; var id = options.id; this.getItem(id); wx.setNavigationBarTitle({ title: "试卷答案 "+id, }); }, scrollTop: function (e) { var id = Number(e.currentTarget.dataset.id); 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; } } 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 () { this.setData({ IsPlaying: !this.data.IsPlaying, }); if (this.data.IsPlaying) { this.audioCtx.pause(); } else { 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(); } }, 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(); this.scrollTop({ currentTarget: { dataset: { id: currentIndex } } }); } }, onPlayEnded: function (e) { currentIndex++; this.playAudioAll(); }, playPrev: function () { if (currentIndex > 0 && tempCurrentIndex == currentIndex) currentIndex--; else { tempCurrentIndex = currentIndex; } this.playAudioAll(); }, onShareAppMessage: function () { return { title: '', path: 'pages/index/index', success: function (res) { }, fail: function (err) { console.log(err); }, complete: function (res) { console.log(res); }, } }, })