| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- import common from '../../utils/util';
- import server from '../../utils/main';
- const app = getApp();
- var currentIndex = 0, tempCurrentIndex = -1;
- var audioArray = [];
- var AnswerID = 0;
- Page({
- data: {
- version: app.globalData.version,
- IsPlaying: 0,
- PlayStr: "本",
- selectTab0: "btn1",
- selectTab1: "",
- selectTab2: "",
- },
- onLoad: function (options) {
- var that = this;
- this.audioCtxNumber = wx.createAudioContext('numberAudio');
- this.setData({
- Containnerheight: server.getWindowHeight(),
- IsPlaying: 0,
- });
- audioArray = [];
- currentIndex = 0;
- tempCurrentIndex = -1;
- AnswerID = options.id;
- this.getItem();
- wx.setNavigationBarTitle({
- title: "试卷答案 " + AnswerID,
- });
- common.getStorageValue(this, "HelpHidden6", false, function () {
- that.showHelp();
- });
- },
- onUnload: function () {
- this.closeHelp();
- var list = wx.getStorageSync("AnswerList");
- if (list && list.length > 0) {
- for (var i = 0; i < list.length; i++) {
- if (AnswerID == list[i].AnswerID) {
- list[i] = this.data.AnswerItem;
- wx.setStorageSync("AnswerList", list);
- break;
- }
- }
- }
- },
- 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 () {
- var that = this;
- var list = wx.getStorageSync("AnswerList");
- if (list && list.length > 0) {
- var item;
- for (var i = 0; i < list.length; i++) {
- if (AnswerID == 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 && item.Category > 0) {
- list[i].IsShowVertical = true;
- }
- if (item.Category == -1)
- list[i].ErrorClass = "";
- }
- 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[list[i].Vertical[2].Array.length - 1] != "√") {
- list[i].Vertical[2].Array[k] = "";
- list[i].Vertical[2].Array.push("√");
- break;
- }
- }
- }
- }
- var pageNum = 0;
- if (item.QuestionList.length % 3 == 0)
- pageNum = item.QuestionList.length / 3;
- else if (item.QuestionList.length % 3 == 1)
- pageNum = (item.QuestionList.length + 2) / 3;
- else if (item.QuestionList.length % 3 == 2)
- pageNum = (item.QuestionList.length + 1) / 3;
- that.setData({
- AnswerItem: item,
- PageColumnNum: pageNum,
- });
- }
- },
- 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,
- });
- },
- setErrorItem: 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) {
- if (!list[i].ErrorClass || list[i].ErrorClass == "") {
- list[i].ErrorClass = "ErrorClass";
- wx.showToast({ title: "记号已保存", duration: 1000 });
- this.saveErrorList(list[i], "add");
- }
- else {
- list[i].ErrorClass = "";
- wx.showToast({ title: "记号已消除", duration: 1000 });
- this.saveErrorList(list[i], "delete");
- }
- break;
- }
- }
- this.data.AnswerItem.QuestionList = list;
- this.setData({
- AnswerItem: this.data.AnswerItem,
- });
- },
- saveErrorList: function (item, action) {
- var list = wx.getStorageSync("ErrorList");
- if (!list)
- list = [];
- var b = false;
- for (var i = 0; i < list.length; i++) {
- if (item.A == list[i].A && item.B == list[i].B && item.R == list[i].R && item.OperateAB == list[i].OperateAB) {
- if (item.C) {
- if (item.C == list[i].C && item.OperateBC == list[i].OperateBC) {
- if (item.D) {
- if (item.D == list[i].D && item.OperateCD == list[i].OperateCD) {
- b = true;
- }
- }
- else
- b = true;
- }
- }
- else
- b = true;
- }
- if (b) {
- list.splice(i, 1);
- break;
- }
- }
- if (action == "add") {
- item.ID = new Date().getTime();
- list.unshift(item);
- }
- wx.setStorageSync("ErrorList", list);
- },
- 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.audioCtxNumber.pause();
- }
- else if (this.data.IsPlaying == -1) {
- this.audioCtxNumber.play();
- }
- else if (this.data.IsPlaying == 0) {
- server.playSound("/sounds/startend.mp3");
- var arr = [];
- var item = this.data.AnswerItem;
- var list = item.QuestionList;
- for (var i = 0; i < list.length; i++) {
- if (i % this.data.PageColumnNum == 0) {
- if (i > 0) {
- arr.push("");
- audioArray.push(arr);
- arr = [];
- }
- arr.push("第" + (1 + Math.floor(i / this.data.PageColumnNum)) + "列");
- }
- 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,
- });
- server.playSound("/sounds/startend.mp3");
- return;
- } else {
- server.playAudio(this.audioCtxNumber, audioArray[currentIndex].join(","), 1);
- }
- },
- 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,
- });
- },
- showHelp: function () {
- if (!this.data.HelpHidden6) {
- this.audioCtx = wx.createAudioContext('myAudio');
- var str = "对答案可以用听的也可以用看的。答案在左边,题目在右边。想给做错的题目打记号,就点击答案左侧的1、2、3……题目序号,这样就可以去首页的错题集里复习它们了。还有一个特殊功能!在有竖式题目的情况下,题目右侧会有这样的图标 ,点它就能提供完整的解题步骤,这个独门神器是倾力为你准备的,对找出错误所在非常有效。";
- server.playAudio(this.audioCtx, str);
- }
- },
- closeHelp: function () {
- this.setData({
- HelpHidden6: true,
- });
- wx.setStorageSync("HelpHidden6", true);
- this.audioCtx = wx.createAudioContext('myAudio');
- this.audioCtx.pause();
- },
- onShareAppMessage: function () {
- return {
- title: app.globalData.ShareTitle,
- path: 'pages/index/index?UserID=' + app.globalData.userInfo.UserID,
- imageUrl: app.globalData.ShareImageUrl,
- }
- },
- })
|