| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- 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);
- },
- }
- },
- })
|