chengjie 4 年 前
コミット
b4abb72727
共有60 個のファイルを変更した1833 個の追加434 個の削除を含む
  1. 1 1
      app.js
  2. 4 2
      app.json
  3. 5 0
      app.wxss
  4. BIN
      pages/images/card_index_jiankang_70x76.png
  5. BIN
      pages/images/card_index_laboratory_70x76.png
  6. BIN
      pages/images/universalpic_bell_white_120x120.png
  7. BIN
      pages/images/universalpic_close_gray_24x24.png
  8. BIN
      pages/images/universalpic_cupboard_white_120x120.png
  9. BIN
      pages/images/universalpic_exclamation_orange_40x40.png
  10. BIN
      pages/images/universalpic_infor_green_40x40.png
  11. BIN
      pages/images/universalpic_light_blue_70x70.png
  12. BIN
      pages/images/universalpic_light_gray_20x28.png
  13. BIN
      pages/images/universalpic_movetoend_white_120x120.png
  14. BIN
      pages/images/universalpic_star_line_white_120x120.png
  15. BIN
      pages/images/universalpic_star_white_120x120.png
  16. BIN
      pages/images/universalpic_undo_white_120x120.png
  17. BIN
      pages/images/universalpic_wrench_gray_26x26.png
  18. BIN
      pages/images/wangzhan_70x76.png
  19. 1 1
      pages/index/index.js
  20. 3 3
      pages/main/add.js
  21. 10 4
      pages/main/addInfomationDetail.js
  22. 1 1
      pages/main/addInfomationDetail.wxml
  23. 15 8
      pages/main/cardmain.wxml
  24. 16 2
      pages/main/cardmain.wxss
  25. 187 98
      pages/main/detail.js
  26. 154 134
      pages/main/detail.wxml
  27. 75 35
      pages/main/detail.wxss
  28. 35 0
      pages/main/health.js
  29. 4 0
      pages/main/health.json
  30. 183 0
      pages/main/health.wxml
  31. 132 0
      pages/main/health.wxss
  32. 249 5
      pages/main/mainlist.js
  33. 21 5
      pages/main/mainlist.wxml
  34. 18 0
      pages/main/mainlist.wxss
  35. 27 4
      pages/main/preview.js
  36. 17 24
      pages/main/preview.wxml
  37. 47 2
      pages/main/preview.wxss
  38. 4 2
      pages/other/help.js
  39. 1 1
      pages/other/help.wxml
  40. 41 6
      pages/other/lessonlist.js
  41. 0 2
      pages/other/lessonlist.wxml
  42. 29 0
      pages/other/lessonlistselect.js
  43. 6 0
      pages/other/lessonlistselect.json
  44. 29 0
      pages/other/lessonlistselect.wxml
  45. 49 0
      pages/other/lessonlistselect.wxss
  46. 2 2
      pages/other/userbook.wxml
  47. 2 0
      pages/other/webview.js
  48. 2 2
      pages/plan/pattern.wxml
  49. 13 3
      pages/plan/studyplan.js
  50. 4 0
      pages/template/cardShow.wxml
  51. 1 1
      pages/test/index.js
  52. 67 9
      pages/test/item.js
  53. 15 1
      pages/test/item.wxss
  54. 6 1
      pages/test/list.js
  55. 5 5
      pages/test/list.wxml
  56. 8 0
      pages/test/wordlist.js
  57. 1 1
      pages/test/wordlist.wxml
  58. 85 0
      project.private.config.json
  59. 92 0
      utils/constant.js
  60. 166 69
      utils/main.js

+ 1 - 1
app.js

@@ -1,6 +1,6 @@
1 1
 App({
2 2
   globalData: {
3
-    Version: "2.1.20",
3
+    Version: "2.1.31",
4 4
     IsProduction: false,
5 5
     ShareTitle: "高效学习从秒过开始",
6 6
     SharePath: "pages/index/index",

+ 4 - 2
app.json

@@ -1,8 +1,9 @@
1 1
 {
2 2
   "pages": [
3
-   
3
+    
4 4
     "pages/index/index",
5
-
5
+    "pages/main/health",
6
+    
6 7
     
7 8
     "pages/main/folderEdit",
8 9
     "pages/main/folderIcon",
@@ -50,6 +51,7 @@
50 51
     "pages/other/video",
51 52
     "pages/other/menu",
52 53
     "pages/other/lessonlist",
54
+    "pages/other/lessonlistselect",
53 55
     "pages/other/userlist",
54 56
     "pages/other/binding",
55 57
     "pages/other/homework",

+ 5 - 0
app.wxss

@@ -92,6 +92,11 @@
92 92
   height: 1rpx;
93 93
   background-color: #E3E3E3; 
94 94
 }
95
+.lineWidth580{
96
+  width: 580rpx;
97
+  height: 1rpx;
98
+  background-color: #E3E3E3; 
99
+}
95 100
 
96 101
 .PanelBorderTop{
97 102
   border-top-left-radius: 20rpx;

BIN
pages/images/card_index_jiankang_70x76.png


BIN
pages/images/card_index_laboratory_70x76.png


BIN
pages/images/universalpic_bell_white_120x120.png


BIN
pages/images/universalpic_close_gray_24x24.png


BIN
pages/images/universalpic_cupboard_white_120x120.png


BIN
pages/images/universalpic_exclamation_orange_40x40.png


BIN
pages/images/universalpic_infor_green_40x40.png


BIN
pages/images/universalpic_light_blue_70x70.png


BIN
pages/images/universalpic_light_gray_20x28.png


BIN
pages/images/universalpic_movetoend_white_120x120.png


BIN
pages/images/universalpic_star_line_white_120x120.png


BIN
pages/images/universalpic_star_white_120x120.png


BIN
pages/images/universalpic_undo_white_120x120.png


BIN
pages/images/universalpic_wrench_gray_26x26.png


BIN
pages/images/wangzhan_70x76.png


+ 1 - 1
pages/index/index.js

@@ -72,7 +72,7 @@ Page({
72 72
         }
73 73
         else{
74 74
           if (app.globalData.LessonID === "all") {
75
-            url = '../other/lessonlist';
75
+            url = '../other/lessonlist?listtype='+options.ListType;
76 76
           }
77 77
           else if (app.globalData.LessonID > 0) {
78 78
             url = '../other/lesson?LessonID=' + app.globalData.LessonID + '&LessonPage=' + app.globalData.LessonPage

+ 3 - 3
pages/main/add.js

@@ -585,9 +585,9 @@ Page({
585 585
         }
586 586
       }
587 587
     }
588
-    if (count > 3) {
588
+    if (count > 4) {
589 589
       wx.showToast({
590
-        title: '只能上传张图片',
590
+        title: '只能上传张图片',
591 591
         image: "../images/universalpic_exclamation_white_120x120.png",
592 592
       });
593 593
       return false;
@@ -1064,7 +1064,7 @@ Page({
1064 1064
 
1065 1065
   setBtnSaveCss:function(){
1066 1066
     var that=this;
1067
-    if (that.data.Field[1] != ""){
1067
+    if (that.data.Field && that.data.Field[1] && that.data.Field[1] != ""){
1068 1068
       that.setData({
1069 1069
         BtnSaveSelectCss:"MenuBtnSelect",
1070 1070
       });

+ 10 - 4
pages/main/addInfomationDetail.js

@@ -186,13 +186,19 @@ Page({
186 186
               }
187 187
               else if (item.Tag == "拼音" || item.Tag == "默写") {
188 188
                 if (item.SoundMark){
189
-                  if (this.data.Result.CHN.HanZi)
190
-                    str = "[读 src='" + this.data.Result.CHN.HanZi + "']" + item.Content + "[/读]";
189
+                  if (this.data.Result.CHN.HanZi){
190
+                    var sound=this.data.Result.CHN.HanZi;
191
+                    sound=main.GetSoundError(sound);
192
+                    str = "[读 src='" + sound + "']" + item.Content + "[/读]";
193
+                  }
191 194
                   else
192 195
                     str = "[读 src='" + item.SoundMark + "']" + item.Content + "[/读]";
193 196
                 }
194
-                else
195
-                  str = "[读 src='"+this.data.Result.CHN.HanZi+"("+ main.getPinyinNormal(item.Content) +")"+"']" + item.Content + "[/读]";
197
+                else{
198
+                  var sound=this.data.Result.CHN.HanZi+"("+ main.getPinyinNormal(item.Content) +")";
199
+                  sound=main.GetSoundError(sound);
200
+                  str = "[读 src='"+sound+"']" + item.Content + "[/读]";
201
+                }
196 202
               }
197 203
             }
198 204
             else {

+ 1 - 1
pages/main/addInfomationDetail.wxml

@@ -234,7 +234,7 @@
234 234
     <view class="panelItem0 FlexRow">
235 235
       <view class="{{CSS['CHN_Antonym_'+index].Css1}} panelItemSmall panelItem FlexRow" wx:for="{{Result.CHN.Antonym}}"
236 236
         wx:key="*this" bindtap='getInputData' data-type="normal" data-content="{{item}}"
237
-        data-css="CHN_Antonym_{{index}}" data-tag="义词">
237
+        data-css="CHN_Antonym_{{index}}" data-tag="义词">
238 238
         <view class="FlexRow">
239 239
           <view class="{{CSS['CHN_Antonym_'+index].Css2}} panelSelect0">{{CSS['CHN_Antonym_'+index].Number}}</view>
240 240
           <view class="panelItemText">{{item}}</view>

+ 15 - 8
pages/main/cardmain.wxml

@@ -51,16 +51,23 @@
51 51
       <image class="richang_80x90" src='../images/jinji_80x90.png' />
52 52
     </view>
53 53
   </view>
54
-  <view class="panelItem5 FlexRow" bindtap="goto" data-url="../other/help?id=0&idchild=1">
55
-    <view class="panelItem51 FlexRow" >
56
-      <view>秒过官网</view>
57
-      <view class="panelItem511">高效制作和管理题卡</view>
54
+
55
+  <view class="panelItem3 FlexRow">
56
+    <view class="panelItem41 FlexRow" bindtap="goto" data-url="../main/health">
57
+      <view class="panelItem311 FlexColumn">
58
+        <view>题卡健康</view>
59
+        <view class="panelItem411">练习状况好与坏</view>
60
+      </view>
61
+      <image class="zhishijianyan_70x75" src='../images/card_index_jiankang_70x76.png' />
62
+    </view>
63
+    <view class="panelItem41 FlexRow" bindtap="goto" data-url="../other/help?id=2&idchild=0">
64
+      <view class="panelItem311 FlexColumn">
65
+        <view>秒过官网</view>
66
+        <view class="panelItem411">高效制作和管理题卡</view>
67
+      </view>
68
+      <image class="zhishijianyan_70x75" src='../images/wangzhan_70x75.png' />
58 69
     </view>
59
-    <image class="zhishijianyan_70x75" src='../images/wangzhan_70x75.png' />
60
-   
61 70
   </view>
62
-
63
-
64 71
   <!-- <block wx:if="{{IsYearReport}}">
65 72
     <view class="panelItem5 FlexRow" bindtap="goto" data-url="../other/annualreport">
66 73
       <view class="panelItem51 FlexColumn">

+ 16 - 2
pages/main/cardmain.wxss

@@ -104,6 +104,20 @@
104 104
   margin-right: 30rpx;
105 105
 }
106 106
 
107
+.panelItem41{
108
+  width:345rpx;
109
+  height:180rpx;
110
+  background-color: #fff;
111
+  border-radius: 20rpx;
112
+  margin:0 10rpx;
113
+  justify-content: space-between;
114
+}
115
+.panelItem411{
116
+  font-size:20rpx;
117
+  color:#4D4D4D;
118
+  margin-top:4rpx;
119
+}
120
+
107 121
 .panelItem5{
108 122
   width:710rpx;
109 123
   height:105rpx;
@@ -124,8 +138,8 @@
124 138
   margin-left: 30rpx;
125 139
 }
126 140
 .zhishijianyan_70x75{
127
-  width:50rpx;
128
-  height:54rpx;
141
+  width:70rpx;
142
+  height:76rpx;
129 143
   margin-right: 30rpx;
130 144
 }
131 145
 

+ 187 - 98
pages/main/detail.js

@@ -41,9 +41,7 @@ Page({
41 41
     NumberHistory: 30,
42 42
     IsShowNumberInfo: false,
43 43
     IsMore: false,
44
-    IsShowOrder: false,
45 44
     IsShowFolder: false,
46
-    FontSizeArray: constant.arrFontSize,
47 45
     StudyPlanArray: arrStudyPlan,
48 46
     TaskInfo: {},
49 47
     Color: {
@@ -52,6 +50,7 @@ Page({
52 50
     IsAutoSound: false, //是否设置了自动播放
53 51
     IsAutoSoundStart: false, //是否开始自动播放
54 52
     Title: "",
53
+    FontSizeArray: constant.arrFontSize, 
55 54
   },
56 55
   onReady: function () {
57 56
     var that = this;
@@ -94,6 +93,8 @@ Page({
94 93
       ClickType: app.globalData.ClickType,
95 94
       Color: main.getDetailColor(app.globalData.ColorIndex),
96 95
     });
96
+    if (that.data.IsShowOtherButton)
97
+      that.closeOtherButton();
97 98
 
98 99
     this.audioCtx = wx.createAudioContext('myAudio');
99 100
 
@@ -241,9 +242,10 @@ Page({
241 242
     var task = app.globalData.TaskToday;
242 243
     FolderList = task.FolderName;
243 244
     var that = this;
244
-    var arrNew = task.ListNew;
245
-    var arrHistory = task.ListHistory;
246
-    var listTaskReview = task.ListReview;
245
+    var arrNew = task.ListNew || [];
246
+    var arrHistory = task.ListHistory || [];
247
+    var listTaskReview = task.ListReview || [];
248
+
247 249
 
248 250
     var nMax = [1, 1];
249 251
     if (arrNew.length == 0 || arrHistory.length == 0) {
@@ -357,15 +359,19 @@ Page({
357 359
   },
358 360
 
359 361
   onShowAnswer: function (e) {
362
+    var that = this;
363
+
360 364
     var clicktype = e.currentTarget.dataset.type;
361 365
     if (!(clicktype && clicktype == "all" && app.globalData.ClickType == 0)) {
362 366
 
363 367
       var start = e.currentTarget.dataset.start;
364
-      var that = this;
368
+      
365 369
       if (!(that.data.NumberNew == 0 &&
366 370
           that.data.NumberReview == 0 &&
367 371
           that.data.NumberHistory == 0) && !that.data.IsShowNumberInfo) {
368 372
 
373
+        if (!that.data.IsShowAnswer)
374
+          that.data.IsShowAnswer=[0,0];
369 375
         var recommend = 0;
370 376
         if (start) {
371 377
           that.data.IsShowAnswer[0] = 0;
@@ -377,15 +383,18 @@ Page({
377 383
           if (that.data.IsShowAnswer[0] == 0 && that.data.IsShowAnswer[1] == 0) {
378 384
             that.data.IsShowAnswer[0] = 1;
379 385
 
380
-            if (TaskList[0].ContentNew.Field[3].length == 0) {
381
-              that.data.IsShowAnswer[1] = 1;
382
-
383
-              if (!that.data.TaskInfo.IsNew)
384
-                recommend = getRecommendTime();
385
-              that.setData({
386
-                Recommend: recommend,
387
-              });
386
+            if (TaskList[0].ContentNew && TaskList[0].ContentNew.Field && TaskList[0].ContentNew.Field.length>0){
387
+              if (TaskList[0].ContentNew.Field[3].length == 0) {
388
+                that.data.IsShowAnswer[1] = 1;
389
+  
390
+                if (!that.data.TaskInfo.IsNew)
391
+                  recommend = getRecommendTime();
392
+                that.setData({
393
+                  Recommend: recommend,
394
+                });
395
+              }
388 396
             }
397
+            
389 398
           } else if (that.data.IsShowAnswer[0] && !that.data.IsShowAnswer[1]) {
390 399
             that.data.IsShowAnswer[1] = 1;
391 400
 
@@ -421,7 +430,7 @@ Page({
421 430
           setHeight("#ViewFieldTag",function(hTag){
422 431
             if (hTag>0)
423 432
               num+=hTag+60;
424
-            console.log("hTag:"+(hTag));
433
+            //console.log("hTag:"+(hTag));
425 434
             
426 435
             setHeight("#ViewField2",function(h2){
427 436
               if (t==2){
@@ -441,7 +450,7 @@ Page({
441 450
         var query = wx.createSelectorQuery().in(that);
442 451
         query.select(obj).boundingClientRect(function (res) {
443 452
           if (res && res.height){
444
-            console.log(obj+".height:"+res.height);
453
+            //console.log(obj+".height:"+res.height);
445 454
             callback(res.height);
446 455
           }
447 456
           else{
@@ -484,15 +493,6 @@ Page({
484 493
     isExit = false;
485 494
     clearTimeout(timeoutEveryCard);
486 495
   },
487
-  onFontSize: function (e) {
488
-    var value = e.currentTarget.dataset.value;
489
-    TaskList[0].FontSize = value;
490
-    this.setData({
491
-      TaskInfo: TaskList[0],
492
-      IsMore: false,
493
-      Title:"",
494
-    });
495
-  },
496 496
   //回到上一张题卡
497 497
   gotoPrev: function () {
498 498
     var that = this;
@@ -548,6 +548,8 @@ Page({
548 548
         CanUndo: canUndo,
549 549
         Recommend: 0,
550 550
       });
551
+      if (that.data.IsShowOtherButton)
552
+        that.closeOtherButton();
551 553
       that.autoAudioPlayInit();
552 554
 
553 555
       wx.showToast({
@@ -564,23 +566,36 @@ Page({
564 566
     var btnnumber = e.currentTarget.dataset.btnnumber;
565 567
     //若是“挪到最后”
566 568
     if (btnnumber == 2) {
567
-      var card = TaskList.splice(0, 1);
568
-      card[0].IsFinally = true;
569
-      card[0].LimitTime = common.formatTime(new Date(), "/", true) + " 23:59:59";
570
-      TaskList.push(card[0]);
571
-
572
-      if (currentFolderID>=0){
573
-        that.setCurrentFolder({currentTarget:{dataset:{folderid:currentFolderID}}});
569
+      if (TaskList.length>0){
570
+        var card = TaskList.splice(0, 1);
571
+        card[0].IsFinally = true;
572
+        card[0].LimitTime = common.formatTime(new Date(), "/", true) + " 23:59:59";
573
+        TaskList.push(card[0]);
574
+  
575
+        if (currentFolderID>=0){
576
+          that.setCurrentFolder({currentTarget:{dataset:{folderid:currentFolderID}}});
577
+        }
578
+        
579
+        that.setData({
580
+          IsShowAnswer: [0, 0],
581
+          TaskInfo: TaskList[0],
582
+          CanUndo: 1,
583
+          Recommend: 0,
584
+          Title:"",
585
+        });
586
+        if (that.data.IsShowOtherButton)
587
+            that.closeOtherButton();
588
+  
589
+        wx.showToast({
590
+          title: '挪到最后',
591
+          mask: true,
592
+          image: "../images/universalpic_movetoend_white_120x120.png",
593
+        });
594
+        that.setSoundFile(3);
595
+      }
596
+      else{
597
+        that.setFinallyResult();
574 598
       }
575
-      
576
-      that.setData({
577
-        IsShowAnswer: [0, 0],
578
-        TaskInfo: TaskList[0],
579
-        CanUndo: 1,
580
-        Recommend: 0,
581
-        IsShowOrder: false,
582
-        Title:"",
583
-      });
584 599
     } else {
585 600
       //若是没有选择了卡单,或者刚刚选择卡单
586 601
       if (currentFolderID == -1 || !currentFolderStart) {
@@ -769,22 +784,8 @@ Page({
769 784
       if (that.data.NumberNew == 0 &&
770 785
         that.data.NumberReview == 0 &&
771 786
         that.data.NumberHistory == 0) {
772
-        that.setData({
773
-          IsShowAnswer: [0, 0],
774
-          NumberNew: 0,
775
-          NumberReview: 0,
776
-          NumberHistory: 0,
777
-          CanUndo: 1,
778
-          Recommend: 0,
779
-          IsMore: false,
780
-        });
781
-        clearTimeout(timeoutEveryCard);
782
-        that.setSoundFile(1);
783
-        main.UpdateMiaoguoCardTodayAll(true, function () {
784
-          listTaskFinished = [];
785
-          that.getTaskTime();
786
-        });
787
-
787
+        
788
+          that.setFinallyResult();
788 789
       }
789 790
       //没有完成任务
790 791
       else {
@@ -810,8 +811,11 @@ Page({
810 811
           IsMore: false,
811 812
         });
812 813
 
813
-        console.log("MiaoguoCardID:"+TaskList[0].MiaoguoCardID);
814
-        console.log("FolderID:"+TaskList[0].FolderID);
814
+        if (that.data.IsShowOtherButton)
815
+          that.closeOtherButton();
816
+
817
+        //console.log("MiaoguoCardID:"+TaskList[0].MiaoguoCardID);
818
+        //console.log("FolderID:"+TaskList[0].FolderID);
815 819
 
816 820
         that.autoAudioPlayInit();
817 821
 
@@ -821,12 +825,6 @@ Page({
821 825
             wx.showToast({
822 826
               title: '搁置一天',
823 827
               mask: true,
824
-              image: "../images/universalpic_shelve_white_120x120.png",
825
-            });
826
-          } else {
827
-            wx.showToast({
828
-              title: '已推迟',
829
-              mask: true,
830 828
               image: "../images/universalpic_bell_white_120x120.png",
831 829
             });
832 830
           }
@@ -863,6 +861,24 @@ Page({
863 861
 
864 862
     }, app.globalData.CardWaitTimeMax * 60 * 1000);
865 863
   },
864
+  setFinallyResult:function(){
865
+    var that = this;
866
+    that.setData({
867
+      IsShowAnswer: [0, 0],
868
+      NumberNew: 0,
869
+      NumberReview: 0,
870
+      NumberHistory: 0,
871
+      CanUndo: 1,
872
+      Recommend: 0,
873
+      IsMore: false,
874
+    });
875
+    clearTimeout(timeoutEveryCard);
876
+    that.setSoundFile(1);
877
+    main.UpdateMiaoguoCardTodayAll(true, function () {
878
+      listTaskFinished = [];
879
+      that.getTaskTime();
880
+    });
881
+  },
866 882
   gotoCollect: function () {
867 883
     var that = this;
868 884
     if (!isCollecting) {
@@ -918,7 +934,6 @@ Page({
918 934
       this.setData({
919 935
         IsShowNumberInfo: true,
920 936
         IsMore: false,
921
-        IsShowOrder: false,
922 937
         IsShowFolder: false,
923 938
       });
924 939
       this.setData({
@@ -931,7 +946,6 @@ Page({
931 946
     this.setData({
932 947
       IsShowNumberInfo: false,
933 948
       IsMore: false,
934
-      IsShowOrder: false,
935 949
       IsShowFolder: false,
936 950
     });
937 951
     this.setData({
@@ -942,12 +956,29 @@ Page({
942 956
   showImage: function (e) {
943 957
     var name = e.currentTarget.dataset.name;
944 958
     if (name && name.length > 5) {
945
-      wx.previewImage({
946
-        current: name,
947
-        urls: arrImage
948
-      });
959
+      if (name.indexOf("tmp")>=0){
960
+        wx.previewImage({
961
+          current: name,
962
+          urls: [name],
963
+        });
964
+      }
965
+      else{
966
+        wx.previewImage({
967
+          current: name,
968
+          urls: arrImage
969
+        });
970
+      }
949 971
     }
950 972
   },
973
+  onFontSize: function (e) { 
974
+    var value = e.currentTarget.dataset.value; 
975
+    TaskList[0].FontSize = value; 
976
+    this.setData({ 
977
+      TaskInfo: TaskList[0], 
978
+      IsMore: false, 
979
+      Title:"", 
980
+    }); 
981
+  }, 
951 982
   onBindError: function (e) {
952 983
     var that = this;
953 984
     var serverUrl = e.currentTarget.dataset.serverurl;
@@ -972,10 +1003,12 @@ Page({
972 1003
 
973 1004
     clearTimeout(intervalRefresh);
974 1005
     intervalRefresh = setTimeout(function () {
975
-      TaskList[0].ContentNew = main.changeStringToView(TaskList[0].Content);
976
-      that.setData({
977
-        TaskInfo: TaskList[0],
978
-      });
1006
+      if (TaskList && TaskList[0]){
1007
+        TaskList[0].ContentNew = main.changeStringToView(TaskList[0].Content);
1008
+        that.setData({
1009
+          TaskInfo: TaskList[0],
1010
+        });
1011
+      }
979 1012
     }, 1000);
980 1013
 
981 1014
     for (var i = 1; i < this.data.TaskInfo.ContentNew.Field.length; i++) {
@@ -990,26 +1023,42 @@ Page({
990 1023
     });
991 1024
   },
992 1025
   onMore: function () {
993
-    for (var i = 0; i < this.data.FontSizeArray.length; i++) {
994
-      if (this.data.FontSizeArray[i].Value == this.data.TaskInfo.FontSize)
995
-        this.data.FontSizeArray[i].CSS = "color:#1E1E1E;background-color:" + this.data.Color.LineColor + ";border:3rpx solid " + this.data.Color.LineColor + ";";
996
-      else
997
-        this.data.FontSizeArray[i].CSS = "";
998
-    }
999
-    this.setData({
1000
-      IsMore: true,
1001
-      FontSizeArray: this.data.FontSizeArray,
1002
-      Title: "更多功能",
1026
+    for (var i = 0; i < this.data.FontSizeArray.length; i++) { 
1027
+      if (this.data.FontSizeArray[i].Value == this.data.TaskInfo.FontSize) 
1028
+        this.data.FontSizeArray[i].CSS = "color:#1E1E1E;background-color:" + this.data.Color.LineColor + ";border:3rpx solid " + this.data.Color.LineColor + ";"; 
1029
+      else 
1030
+        this.data.FontSizeArray[i].CSS = ""; 
1031
+    } 
1032
+    this.setData({ 
1033
+      IsMore: true, 
1034
+      FontSizeArray: this.data.FontSizeArray, 
1035
+      Title: "调节", 
1003 1036
     });
1004 1037
     clearTimeout(timeoutEveryCard);
1005 1038
   },
1039
+  showOtherButton:function(){
1040
+    var animation = wx.createAnimation();
1041
+
1042
+    this.animation = animation;
1043
+
1044
+    animation.translate(-710+'rpx', 0).step({ duration: 200 });
1006 1045
 
1007
-  onShowOrder: function () {
1008 1046
     this.setData({
1009
-      IsShowOrder: true,
1010
-      Title: "出题顺序",
1047
+      animationData:animation.export(),
1048
+      IsShowOtherButton:true,
1049
+    });
1050
+  },
1051
+  closeOtherButton:function(){
1052
+    var animation = wx.createAnimation();
1053
+
1054
+    this.animation = animation;
1055
+
1056
+    animation.translate(0, 0).step({ duration: 200 });
1057
+
1058
+    this.setData({
1059
+      animationData:animation.export(),
1060
+      IsShowOtherButton:false,
1011 1061
     });
1012
-    clearTimeout(timeoutEveryCard);
1013 1062
   },
1014 1063
   onShowFolder: function () {
1015 1064
     for (var j = 0; j < FolderList.length; j++) {
@@ -1039,7 +1088,6 @@ Page({
1039 1088
       IsShowFolder: true,
1040 1089
       IsShowNumberInfo: false,
1041 1090
       IsMore: false,
1042
-      IsShowOrder: false,
1043 1091
       FolderList: FolderList,
1044 1092
       FolderListLength:FolderListLength,
1045 1093
       IsFinallyCount:IsFinallyCount,
@@ -1173,18 +1221,45 @@ Page({
1173 1221
       }
1174 1222
     });
1175 1223
   },
1176
-  saveCardType: function () {
1224
+  saveCardType: function (event) {
1177 1225
     var that = this;
1226
+    var foldertype=event.currentTarget.dataset.foldertype;
1178 1227
     var url = 'UpdateMiaoguoCardType?UserID=' + app.globalData.userInfo.UserID;
1179 1228
     url += "&CardType=-1";
1229
+    url += "&FolderType="+foldertype;
1180 1230
     url += "&ID=" + TaskList[0].MiaoguoCardID;
1181 1231
     main.getData(url, function (data) {
1182 1232
       TaskList.splice(0, 1);
1183
-      that.setData({
1184
-        TaskInfo: TaskList[0],
1185
-        IsShowAnswer: [0, 0],
1186
-      });
1187
-      that.closeNumberContainner();
1233
+      if (TaskList.length>0){
1234
+        that.setData({
1235
+          TaskInfo: TaskList[0],
1236
+          IsShowAnswer: [0, 0],
1237
+        });
1238
+        if (that.data.IsShowOtherButton)
1239
+          that.closeOtherButton();
1240
+        that.closeNumberContainner();
1241
+        if (foldertype==1){
1242
+          wx.showToast({
1243
+            title: '不练习',
1244
+            mask: true,
1245
+            image: "../images/universalpic_exclamation_white_120x120.png",
1246
+          });
1247
+          app.globalData.FolderList=[];
1248
+        }
1249
+        else{
1250
+          wx.showToast({
1251
+            title: '归档成功',
1252
+            mask: true,
1253
+            image: "../images/universalpic_cupboard_white_120x120.png",
1254
+          });
1255
+        }
1256
+        
1257
+        that.setSoundFile(3);
1258
+      }
1259
+      else{
1260
+        that.setFinallyResult();
1261
+      }
1262
+      
1188 1263
     });
1189 1264
   },
1190 1265
   saveIsFolderPractice:function(e){
@@ -1223,13 +1298,14 @@ Page({
1223 1298
     common.getStorageValue(that, "IsAutoSound", 1, function () {
1224 1299
       if (that.data.IsAutoSound == 1) {
1225 1300
         var taskInfo = that.data.TaskInfo;
1226
-        var field = {};
1301
+        var field = [];
1227 1302
         var fieldNumber = 1;
1228 1303
         if (that.data.IsShowAnswer[0] == 1)
1229 1304
           fieldNumber = 2;
1230 1305
         if (that.data.IsShowAnswer[1] == 1 && taskInfo.ContentNew.Field[3].length > 0)
1231 1306
           fieldNumber = 3;
1232
-        field = taskInfo.ContentNew.Field[fieldNumber];
1307
+        if (taskInfo.ContentNew && taskInfo.ContentNew.Field && taskInfo.ContentNew.Field.length>0)
1308
+          field = taskInfo.ContentNew.Field[fieldNumber];
1233 1309
         arrAutoAudio = [];
1234 1310
         for (var i = 0; i < field.length; i++) {
1235 1311
           if (field[i].Type == "sound" || field[i].Type == "recorder") {
@@ -1367,6 +1443,19 @@ Page({
1367 1443
       isPlaying = false;
1368 1444
     }
1369 1445
   },
1446
+  showBishunOrKaiti:function(e){
1447
+    var that=this;
1448
+    main.downloadBishunKaitiImage(
1449
+      e.currentTarget.dataset.url,
1450
+      e.currentTarget.dataset.serverurl,
1451
+      e.currentTarget.dataset.type,
1452
+      that.data.TaskInfo.ContentNew.Field,function(fields){
1453
+        that.data.TaskInfo.ContentNew.Field=fields;
1454
+        that.setData({
1455
+          TaskInfo: that.data.TaskInfo,
1456
+        });
1457
+      });
1458
+  },
1370 1459
   goto: function (e) {
1371 1460
     var url = e.currentTarget.dataset.url;
1372 1461
     wx.navigateTo({

+ 154 - 134
pages/main/detail.wxml

@@ -1,45 +1,47 @@
1 1
 <import src="../template/cardShow.wxml" />
2
-<navigation-bar show="true" center="true" bindgetBarInfo="getBarInfo" left="true" background="{{Color.BackColor}}" color="#fff">
3
-    <view slot="left" bindtap="onClose" wx:if="{{NumberNew+NumberReview+NumberHistory>0}}">
4
-      <view class="square">退出练习</view>
5
-    </view>
6
-    <view slot="center" bindtap="showNumberContainner" class='panelNumber FlexRow'>
7
-      <block wx:if="{{!Title}}">
8
-        <view class="FlexColumn">
9
-          <view class='panelNumber1'>{{NumberNew}}</view>
10
-          <view hidden="{{TaskInfo.IsHistory || TaskInfo.IsReview}}" class='panelNumber2Line' style='background-color:{{Color.LineColor}};'></view>
11
-        </view>
12
-        <view class="FlexColumn">
13
-          <view class='panelNumber1'>{{NumberHistory}}</view>
14
-          <view hidden="{{TaskInfo.IsNew || TaskInfo.IsReview}}" class='panelNumber2Line' style='background-color:{{Color.LineColor}};'></view>
15
-        </view>
16
-        <view class="FlexColumn">
17
-          <view class='panelNumber1'>{{NumberReview}}</view>
18
-          <view hidden="{{TaskInfo.IsNew || TaskInfo.IsHistory}}" class='panelNumber2Line' style='background-color:{{Color.LineColor}};'></view>
19
-        </view>
20
-        <view class="FlexColumn">
21
-          <view class='panelNumber2 panelNumber1'>{{NumberNew+NumberReview+NumberHistory}}</view>
22
-        </view>
23
-      </block>
24
-      <block wx:if="{{Title}}">{{Title}}</block>
25
-    </view>
2
+<navigation-bar show="true" center="true" bindgetBarInfo="getBarInfo" left="true" background="{{Color.BackColor}}"
3
+  color="#fff">
4
+  <view slot="left" bindtap="onClose" wx:if="{{NumberNew+NumberReview+NumberHistory>0}}">
5
+    <view class="square">退出练习</view>
6
+  </view>
7
+  <view slot="center" bindtap="showNumberContainner" class='panelNumber FlexRow'>
8
+    <block wx:if="{{!Title}}">
9
+      <view class="FlexColumn">
10
+        <view class='panelNumber1'>{{NumberNew}}</view>
11
+        <view hidden="{{TaskInfo.IsHistory || TaskInfo.IsReview}}" class='panelNumber2Line'
12
+          style='background-color:{{Color.LineColor}};'></view>
13
+      </view>
14
+      <view class="FlexColumn">
15
+        <view class='panelNumber1'>{{NumberHistory}}</view>
16
+        <view hidden="{{TaskInfo.IsNew || TaskInfo.IsReview}}" class='panelNumber2Line'
17
+          style='background-color:{{Color.LineColor}};'></view>
18
+      </view>
19
+      <view class="FlexColumn">
20
+        <view class='panelNumber1'>{{NumberReview}}</view>
21
+        <view hidden="{{TaskInfo.IsNew || TaskInfo.IsHistory}}" class='panelNumber2Line'
22
+          style='background-color:{{Color.LineColor}};'></view>
23
+      </view>
24
+      <view class="FlexColumn">
25
+        <view class='panelNumber2 panelNumber1'>{{NumberNew+NumberReview+NumberHistory}}</view>
26
+      </view>
27
+    </block>
28
+    <block wx:if="{{Title}}">{{Title}}</block>
29
+  </view>
26 30
 </navigation-bar>
27 31
 
28
-<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;background-color:{{Color.BackColor}}' bindtap='onShowAnswer' data-type="all">
32
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;background-color:{{Color.BackColor}}'
33
+  bindtap='onShowAnswer' data-type="all">
29 34
   <!-- 练习中 -->
30 35
   <block wx:if="{{(NumberNew+NumberReview+NumberHistory)>0}}">
31 36
 
32 37
     <!-- 工具栏 -->
33 38
     <view class='panelTop FlexRow' style='background-color:{{Color.BackColor}};'>
34
-      <view class='panelCancel FlexRow' catchtap='onShowOrder'>
35
-        <view class='panelCancel0 FlexRow'>
36
-          <image src="../images/universalpic_4blocks_gray_28x28.png" class='universalpic_4blocks_gray_28x28' />
37
-        </view>
38
-      </view>
39 39
       <view class='panelCancel FlexRow' catchtap='gotoCollect'>
40 40
         <view class='panelCancel0 FlexRow'>
41
-          <image hidden='{{TaskInfo.IsCollect}}' src="../images/universalpic_star_gray_34x34.png" class='universalpic_star_gray_34x34' />
42
-          <image hidden='{{!TaskInfo.IsCollect}}' src="../images/universalpic_star_tc0{{Color.ID}}_34x34.png" class='universalpic_star_gray_34x34' />
41
+          <image hidden='{{TaskInfo.IsCollect}}' src="../images/universalpic_star_gray_34x34.png"
42
+            class='universalpic_star_gray_34x34' />
43
+          <image hidden='{{!TaskInfo.IsCollect}}' src="../images/universalpic_star_tc0{{Color.ID}}_34x34.png"
44
+            class='universalpic_star_gray_34x34' />
43 45
         </view>
44 46
       </view>
45 47
       <view class='panelCancel FlexRow' catchtap="gotoEdit">
@@ -47,23 +49,31 @@
47 49
           <image src="../images/universalpic_edit_gray_25x25.png" class='universalpic_edit_gray_25x25' />
48 50
         </view>
49 51
       </view>
50
-      <view class='panelCancel FlexRow' catchtap='onMore'>
52
+      <view class='panelCancel FlexRow' catchtap='onPullDownRefresh' wx:if="{{IsShowAnswer[0]==1}}">
51 53
         <view class='panelCancel0 FlexRow'>
52
-          <image src="../images/universalpic_more_gray_32x8.png" class='universalpic_more_gray_32x8' />
54
+          <image src="../images/universalpic_han_gray_28x25.png" class='universalpic_han_gray_28x25' />
53 55
         </view>
54 56
       </view>
55
-      
56 57
       <view class='panelCancel FlexRow' wx:if="{{IsShowAnswer[0]==0}}">
57 58
         <view class='panelCancel0 FlexRow'>
58 59
           <image src="../images/universalpic_han_fff20_28x25.png" class='universalpic_han_gray_28x25' />
59 60
         </view>
60 61
       </view>
61
-      <view class='panelCancel FlexRow' catchtap='onPullDownRefresh' wx:if="{{IsShowAnswer[0]==1}}">
62
+
63
+
64
+      <view class='panelCancel FlexRow' catchtap='goto' data-url="../other/help?id=1&idchild=12">
62 65
         <view class='panelCancel0 FlexRow'>
63
-          <image src="../images/universalpic_han_gray_28x25.png" class='universalpic_han_gray_28x25' />
66
+          <image src="../images/universalpic_light_gray_20x28.png" class='universalpic_light_gray_20x28' />
64 67
         </view>
65 68
       </view>
66
-      
69
+
70
+      <view class='panelCancel FlexRow' catchtap='onMore'>
71
+        <view class='panelCancel0 FlexRow'>
72
+          <image src="../images/universalpic_wrench_gray_26x26.png" class='universalpic_wrench_gray_26x26' />
73
+        </view>
74
+      </view>
75
+
76
+
67 77
       <view class='panelCancel FlexRow' wx:if="{{CanUndo==0}}">
68 78
         <view class='panelCancel0 FlexRow'>
69 79
           <image src="../images/universalpic_undo_white_30p_26x20.png" class='universalpic_undo_white_30p_26x20' />
@@ -79,70 +89,98 @@
79 89
 
80 90
     <view class="panelField10" style='background-color:{{Color.BackColor}};'></view>
81 91
 
82
-    <template is="CardShow" data="{{Color:Color,Field:TaskInfo.ContentNew.Field,Tags:TaskInfo.ContentNew.Tags,IsShowAnswer:IsShowAnswer,TagWidth:TaskInfo.TagWidth,FontSize:TaskInfo.FontSize,TextSpace}}" />
92
+    <template is="CardShow"
93
+      data="{{Color:Color,Field:TaskInfo.ContentNew.Field,Tags:TaskInfo.ContentNew.Tags,IsShowAnswer:IsShowAnswer,TagWidth:TaskInfo.TagWidth,FontSize:TaskInfo.FontSize,TextSpace}}" />
83 94
 
84
-    <view class="StopAudioPlay FlexRow" wx:if="{{IsAutoSound && IsAutoSoundStart}}" style="background-color:{{Color.BackColor3}};" catchtap="autoAudioPlayEnd">
95
+    <view class="StopAudioPlay FlexRow" wx:if="{{IsAutoSound && IsAutoSoundStart}}"
96
+      style="background-color:{{Color.BackColor3}};" catchtap="autoAudioPlayEnd">
85 97
       ■ 停止播放
86 98
     </view>
87 99
     <view class='footer0'></view>
88 100
 
89 101
     <!-- 下方按钮 -->
90 102
     <image wx:if="{{!IsIPad}}" class="footerShade" src="../images/study_learning_bgimage_tc0{{Color.ID}}.png" />
91
-    <view class='footer FlexColumn'>
103
+    <view class='footer'>
92 104
       <image wx:if="{{!IsIPad}}" class="footerImage" src="../images/study_learning_maskimage_tc0{{Color.ID}}.png" />
93 105
       <view wx:if="{{IsIPad}}" class="footerImage" style="background-color:{{Color.BackColor}}"></view>
94
-      <view class="panelFooter FlexColumn" wx:if="{{!IsShowAnswer[0] && !IsShowAnswer[1] && ClickType!=1}}" catchtap="onShowAnswer">
106
+      <view class="panelFooter FlexColumn" wx:if="{{!IsShowAnswer[0] && !IsShowAnswer[1] && ClickType!=1}}"
107
+        catchtap="onShowAnswer">
95 108
         看答案
96 109
       </view>
97
-      <view class="panelFooter FlexColumn" wx:if="{{IsShowAnswer[0] && !IsShowAnswer[1] && ClickType!=1}}" catchtap="onShowAnswer">
110
+      <view class="panelFooter FlexColumn" wx:if="{{IsShowAnswer[0] && !IsShowAnswer[1] && ClickType!=1}}"
111
+        catchtap="onShowAnswer">
98 112
         下一段
99 113
       </view>
100 114
       <view class="panelFooter0 panelFooter FlexColumn" wx:if="{{IsShowAnswer[1]}}">
101
-        <view class='panelBottomAnswer panelBottom FlexRow'>
102
-          <view class="AnswerLeft Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext' data-time="{{TaskInfo.Number0}}" data-btnnumber="0">
103
-            <view class="btnTime">
104
-              {{TaskInfo.Number0Str}}
105
-            </view>
106
-            <view class="Answer0 btnColor"></view>
107
-          </view>
108
-          <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext' data-time="{{TaskInfo.Number1}}" data-btnnumber="3" wx:if="{{TaskInfo.Number1}}">
109
-            <view class="btnTime">
110
-              {{TaskInfo.Number1Str}}
115
+        <view class='panelBottomAnswer panelBottom FlexRow' animation="{{animationData}}">
116
+          <view class="panelBottomAnswer0 FlexRow">
117
+            <view class="AnswerLeft Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext'
118
+              data-time="{{TaskInfo.Number0}}" data-btnnumber="0">
119
+              <view class="btnTime">
120
+                {{TaskInfo.Number0Str}}
121
+              </view>
122
+              <view class="Answer0 btnColor"></view>
111 123
             </view>
112
-            <view wx:if='{{Recommend!=1}}' class="Answer1 btnColor"></view>
113
-            <view wx:if='{{Recommend==1 && MemoryLevel==1}}' class="Answer1Recommend Answer1 btnColor"></view>
114
-          </view>
115
-          <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext' data-time="{{TaskInfo.Number2}}" data-btnnumber="4">
116
-            <view class="btnTime">
117
-              {{TaskInfo.Number2Str}}
124
+            <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext'
125
+              data-time="{{TaskInfo.Number1}}" data-btnnumber="3" wx:if="{{TaskInfo.Number1}}">
126
+              <view class="btnTime">
127
+                {{TaskInfo.Number1Str}}
128
+              </view>
129
+              <view wx:if='{{Recommend!=1}}' class="Answer1 btnColor"></view>
130
+              <view wx:if='{{Recommend==1 && MemoryLevel==1}}' class="Answer1Recommend Answer1 btnColor"></view>
118 131
             </view>
119
-            <view wx:if='{{Recommend!=2}}' class="Answer2 btnColor"></view>
120
-            <view wx:if='{{Recommend==2 && MemoryLevel==1}}' class="Answer1Recommend Answer2 btnColor"></view>
132
+            <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext'
133
+              data-time="{{TaskInfo.Number2}}" data-btnnumber="4">
134
+              <view class="btnTime">
135
+                {{TaskInfo.Number2Str}}
136
+              </view>
137
+              <view wx:if='{{Recommend!=2}}' class="Answer2 btnColor"></view>
138
+              <view wx:if='{{Recommend==2 && MemoryLevel==1}}' class="Answer1Recommend Answer2 btnColor"></view>
121 139
 
122
-          </view>
123
-          <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext' data-time="{{TaskInfo.Number3}}" data-btnnumber="5" wx:if="{{TaskInfo.Number3 && MemoryLevel==1}}">
124
-            <view class="btnTime">
125
-              {{TaskInfo.Number3Str}}
126 140
             </view>
127
-            <view wx:if='{{Recommend!=3}}' class="Answer3 btnColor"></view>
128
-            <view wx:if='{{Recommend==3 && MemoryLevel==1}}' class="Answer1Recommend Answer3 btnColor"></view>
141
+            <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext'
142
+              data-time="{{TaskInfo.Number3}}" data-btnnumber="5" wx:if="{{TaskInfo.Number3 && MemoryLevel==1}}">
143
+              <view class="btnTime">
144
+                {{TaskInfo.Number3Str}}
145
+              </view>
146
+              <view wx:if='{{Recommend!=3}}' class="Answer3 btnColor"></view>
147
+              <view wx:if='{{Recommend==3 && MemoryLevel==1}}' class="Answer1Recommend Answer3 btnColor"></view>
148
+            </view>
149
+            <view class="line2"></view>
150
+            <view class="AnswerRight FlexColumn" hover-class='AnswerHover' catchtap='showOtherButton'>
151
+              <image src="../images/universalpic_4blocks_gray_28x28.png" class='universalpic_4blocks_gray_28x28' />
152
+            </view>
129 153
           </view>
130
-          <view class="line2"></view>
131
-          <view class="AnswerRight FlexColumn" hover-class='AnswerHover' catchtap='gotoNext' data-time="1d" data-btnnumber="1">
132
-            <view class="btnTime">
154
+          <view class="panelBottomAnswer0 FlexRow">
155
+            <view class="AnswerLeft Answer00 FlexColumn" hover-class='AnswerHover' catchtap='saveCardType' data-foldertype="0">
156
+              归档
157
+            </view>
158
+            <view class="line3"></view>
159
+            <view class="Answer00 FlexColumn" hover-class='AnswerHover' catchtap='saveCardType' data-foldertype="1">
160
+              不会
161
+            </view>
162
+            <view class="line3"></view>
163
+            <view class="Answer00 FlexColumn" hover-class='AnswerHover' catchtap='gotoNext' data-btnnumber="2">
164
+              挪到最后
165
+            </view>
166
+            <view class="line3"></view>
167
+            <view class="Answer00 FlexColumn" hover-class='AnswerHover' catchtap='gotoNext' data-time="1d"
168
+              data-btnnumber="1">
133 169
               搁置
134 170
             </view>
135
-            <view class="Answer4 btnColor"></view>
171
+            <view class="line2"></view>
172
+            <view class="AnswerRight FlexColumn" hover-class='AnswerHover' catchtap='closeOtherButton'>
173
+              <image src="../images/universalpic_close_gray_24x24.png" class='universalpic_close_gray_24x24' />
174
+            </view>
136 175
           </view>
137
-          
138 176
         </view>
139 177
       </view>
140
-
141 178
     </view>
142 179
   </block>
143 180
   <!-- 最后一页 -->
144 181
   <block wx:if="{{NumberNew+NumberReview+NumberHistory==0}}">
145
-    <view class='panelLast FlexColumn' style='height:{{Containnerheight}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
182
+    <view class='panelLast FlexColumn'
183
+      style='height:{{Containnerheight}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
146 184
       <view class='text1{{IsIPad}}'>做完了</view>
147 185
       <view class="panelLastTime FlexColumn">
148 186
         <view style='color:{{Color.FrontColor1}};'>今日练习总共用时</view>
@@ -171,7 +209,8 @@
171 209
     </view>
172 210
   </block>
173 211
   <!-- 今日任务量 -->
174
-  <view wx:if="{{IsShowNumberInfo}}" class="numberContainer FlexColumn" style='height:{{Containnerheight+100}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
212
+  <view wx:if="{{IsShowNumberInfo}}" class="numberContainer FlexColumn"
213
+    style='height:{{Containnerheight+100}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
175 214
     <view class="numberContainerFooter1 FlexColumn">
176 215
       <view class='lineFooter'></view>
177 216
       <view class="numberContainer12 FlexRow">
@@ -200,7 +239,7 @@
200 239
         <view class='right3' style='color:{{Color.LineColor}};'>{{NumberNew+NumberReview+NumberHistory}}张</view>
201 240
       </view>
202 241
       <view class='lineFooter'></view>
203
-    
242
+
204 243
     </view>
205 244
     <view class="numberContaineFooter FlexRow" catchtap='closeNumberContainner'>
206 245
       <view>关闭</view>
@@ -208,32 +247,34 @@
208 247
   </view>
209 248
 
210 249
   <!-- 更多功能 -->
211
-  <view wx:if="{{IsMore}}" class="numberContainer FlexColumn" catchtap="getNull" style='min-height:{{Containnerheight+100}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
250
+  <view wx:if="{{IsMore}}" class="numberContainer FlexColumn" catchtap="getNull"
251
+    style='min-height:{{Containnerheight+100}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
212 252
     <view class="numberContainerFooter1 FlexColumn">
213
-           
214
-      <view class='lineFooter'></view>
215 253
 
216
-      <view class='numberContainerFooter102 FlexRow' catchtap='saveCardType'>
217
-        <image src="../images/universalpic_practisemodel_gray_30x28.png" class='universalpic_practisemodel_gray_30x28' />
218
-        <view class='numberContainerFooter111'>归档题卡</view>
219
-      </view>
254
+      <view class='numberContainerFooter101 FlexRow'> 
255
+        <image src="../images/universalpic_typesize_gray_30x18.png" class='universalpic_typesize_gray_30x18' /> 
256
+        <view class='numberContainerFooter11 FlexColumn'> 
257
+          <view class='numberContainerFooter111'>调整题目字号</view> 
258
+          <view class='numberContainerFooter112 FlexRow'> 
259
+            <view class='numberContainerFooter1121' wx:for="{{FontSizeArray}}" wx:key="index" catchtap='onFontSize' data-value='{{item.Value}}' style='{{item.CSS}}'>{{item.Name}}</view> 
260
+          </view> 
261
+        </view> 
262
+      </view> 
220 263
       <view class='lineFooter'></view>
221
-
222
-      <view class='numberContainerFooter101 FlexRow'>
223
-        <image src="../images/universalpic_typesize_gray_30x18.png" class='universalpic_typesize_gray_30x18' />
224
-        <view class='numberContainerFooter11 FlexColumn'>
225
-          <view class='numberContainerFooter111'>调整题目字号</view>
226
-          <view class='numberContainerFooter112 FlexRow'>
227
-            <view class='numberContainerFooter1121' wx:for="{{FontSizeArray}}" wx:key="index" catchtap='onFontSize' data-value='{{item.Value}}' style='{{item.CSS}}'>{{item.Name}}</view>
228
-          </view>
264
+      <view class='numberContainerFooter107 FlexRow' catchtap='onShowFolder'>
265
+        <view class="MenuLeft FlexRow">
266
+          <image src="../images/universalpic_cardlist_gray_30x28.png" class='universalpic_cardlist_gray_30x28' />
267
+          <view class='numberContainerFooter111'>卡单优先</view>
268
+        </view>
269
+        <view class="MenuRight">
270
+          <image src='../images/universalpic_indicator_right_white.png' class="Arrow" />
229 271
         </view>
230 272
       </view>
231 273
       <view class='lineFooter'></view>
232
-      
233 274
       <view class='numberContainerFooter102 FlexRow'>
234 275
         <image src="../images/universalpic_autoread_gray_30x23.png" class='universalpic_autoread_gray_30x23' />
235 276
         <view class='numberContainerFooter111'>自动播放题卡里的声音</view>
236
-        <switch class="switch" color="#4CD964" checked="{{IsAutoSound}}" bindchange="switchSound"/>
277
+        <switch class="switch" color="#4CD964" checked="{{IsAutoSound}}" bindchange="switchSound" />
237 278
       </view>
238 279
       <view class='lineFooter'></view>
239 280
     </view>
@@ -242,64 +283,42 @@
242 283
     </view>
243 284
   </view>
244 285
 
245
-  <!-- 出题顺序 -->
246
-  <view wx:if="{{IsShowOrder}}" class="numberContainer FlexColumn" catchtap="getNull" style='min-height:{{Containnerheight+100}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
247
-    <view class="numberContainerFooter1 FlexColumn">
248
-      <view class='lineFooter'></view>
249
-      <view class='numberContainerFooter102 FlexRow' catchtap='gotoNext' data-btnnumber="2">
250
-        <image src="../images/universalpic_sendtoback_gray_30x26.png" class='universalpic_sendtoback_gray_30x26' />
251
-        <view class='numberContainerFooter111'>挪到最后</view>
252
-      </view>      
253
-      <view class='lineFooter'></view>
254
-      
255
-      
256
-      <view class='numberContainerFooter107 FlexRow' catchtap='onShowFolder'>
257
-        <view class="MenuLeft FlexRow">
258
-        <image src="../images/universalpic_cardlist_gray_30x28.png" class='universalpic_cardlist_gray_30x28' />
259
-        <view class='numberContainerFooter111'>卡单优先</view>
260
-        </view>
261
-        <view class="MenuRight">
262
-        <image src='../images/universalpic_indicator_right_white.png' class="Arrow" />
263
-        </view>
264
-			</view>
265
-      <view class='lineFooter'></view>
266
-    </view>
267
-    <view class="numberContaineFooter FlexRow" catchtap='closeNumberContainner'>
268
-      <view>关闭</view>
269
-    </view>
270
-  </view>
271
-
272 286
   <!-- 卡单 -->
273 287
   <view wx:if="{{IsShowFolder}}" class="numberContainer FlexColumn" catchtap="getNull"
274
-  style='min-height:{{Containnerheight+100}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
288
+    style='min-height:{{Containnerheight+100}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
275 289
     <view class='numberContainerFooter106 FlexColumn'>
276 290
       <view class="numberContainerFooter1061">按卡单优先出题</view>
277
-      <view class="numberContainerFooter1062">如果想改变任务量的出题顺序(如,早上练诗词,晚上练识字,睡前练单词,计算题集中在作业后等),首先利用卡单给题卡做分类,然后在这里选择优先出题的卡单。</view>
291
+      <view class="numberContainerFooter1062">如果想改变任务量的出题顺序(如,早上练诗词,晚上练识字,睡前练单词,计算题集中在作业后等),首先利用卡单给题卡做分类,然后在这里选择优先出题的卡单。
292
+      </view>
278 293
     </view>
279 294
     <scroll-view scroll-y="true" class="FolderList FlexColumn" style="height:{{Containnerheight-450}}rpx;">
280
-      <view class="FolderItem FlexRow" catchtap="setCurrentFolder" data-folderid='0' wx:if="{{FolderList[0].FolderID==0 && FolderList[0].Total>0}}">
295
+      <view class="FolderItem FlexRow" catchtap="setCurrentFolder" data-folderid='0'
296
+        wx:if="{{FolderList[0].FolderID==0 && FolderList[0].Total>0}}">
281 297
         <view class="FolderItem1">没有卡单的题卡</view>
282 298
         <view class="MenuRight FlexRow">
283
-          <view class="FolderItem2 FolderItem1">{{FolderList[0].Total}}张</view>  
299
+          <view class="FolderItem2 FolderItem1">{{FolderList[0].Total}}张</view>
284 300
           <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
285
-			  </view>
301
+        </view>
286 302
       </view>
287 303
       <view class="FolderTitle" wx:if="{{FolderListLength>1 || FolderList[0].FolderID>0}}">任务量里包含以下卡单可优先出题</view>
288
-      <view class="FolderTitle" wx:if="{{(FolderListLength==1 && FolderList[0].FolderID==0) || (FolderListLength==0)}}">当前任务量里没有可优先的卡单</view>
289
-      <view class="FolderItem0 FolderItem FlexRow" wx:for="{{FolderList}}" catchtap="setCurrentFolder" data-folderid='{{item.FolderID}}'
290
-       wx:key="*this" wx:if="{{item.FolderID!=0 && item.Total!=0}}">
304
+      <view class="FolderTitle" wx:if="{{(FolderListLength==1 && FolderList[0].FolderID==0) || (FolderListLength==0)}}">
305
+        当前任务量里没有可优先的卡单</view>
306
+      <view class="FolderItem0 FolderItem FlexRow" wx:for="{{FolderList}}" catchtap="setCurrentFolder"
307
+        data-folderid='{{item.FolderID}}' wx:key="*this" wx:if="{{item.FolderID!=0 && item.Total!=0}}">
291 308
         <view class="FolderItem1">{{item.FolderName}}</view>
292 309
         <view class="MenuRight FlexRow">
293
-          <view class="FolderItem2 FolderItem1">{{item.Total}}张</view>  
310
+          <view class="FolderItem2 FolderItem1">{{item.Total}}张</view>
294 311
           <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
295
-			  </view>
312
+        </view>
296 313
       </view>
297 314
       <block wx:if="{{IsFinallyCount && IsFinallyCount>0}}">
298 315
         <view class="FolderTitle">提醒:有 {{IsFinallyCount}} 张题卡挪到最后练习</view>
299 316
         <view class="FolderTitle2">中途退出练习,以上信息均会更新,「挪到最后」不会保留。</view>
300 317
       </block>
301
-      <view class="FolderTitle" wx:if="{{IsFinallyCount && IsFinallyCount>0 && FolderList[0].FolderID==0 && FolderList[0].Total==0}}">点「关闭」练完它们</view>
302
-      
318
+      <view class="FolderTitle"
319
+        wx:if="{{IsFinallyCount && IsFinallyCount>0 && FolderList[0].FolderID==0 && FolderList[0].Total==0}}">点「关闭」练完它们
320
+      </view>
321
+
303 322
       <view style="height:60rpx"></view>
304 323
     </scroll-view>
305 324
     <view class='numberContainerFooter105 FlexRow' style="background-color:{{Color.BackColor}};">
@@ -307,9 +326,10 @@
307 326
         <view class="numberContainerFooter10511">每次练习都要选</view>
308 327
         <view class="numberContainerFooter10512">开始练习时,只要任务量里有卡单就自动开启本功能</view>
309 328
       </view>
310
-      <switch class="switch" checked="{{IsFolderPractice}}" bindchange="saveIsFolderPractice"/>
329
+      <switch class="switch" checked="{{IsFolderPractice}}" bindchange="saveIsFolderPractice" />
311 330
     </view>
312
-    <view class="numberContaineFooter FlexRow" catchtap='closeNumberContainner'  style="background-color:{{Color.BackColor}};z-index:50;">
331
+    <view class="numberContaineFooter FlexRow" catchtap='closeNumberContainner'
332
+      style="background-color:{{Color.BackColor}};z-index:50;">
313 333
       <view>关闭</view>
314 334
     </view>
315 335
   </view>

+ 75 - 35
pages/main/detail.wxss

@@ -35,8 +35,8 @@ page{
35 35
   border-radius: 50%;
36 36
 }
37 37
 
38
-.universalpic_4blocks_gray_28x28{
39
-  width: 28rpx;
38
+.universalpic_light_gray_20x28{
39
+  width: 20rpx;
40 40
   height: 28rpx;
41 41
 }
42 42
 .universalpic_undo_white_30p_26x20 {
@@ -47,9 +47,9 @@ page{
47 47
   width: 28rpx;
48 48
   height: 25rpx;
49 49
 }
50
-.universalpic_more_gray_32x8 {
51
-  width: 32rpx;
52
-  height: 8rpx;
50
+.universalpic_wrench_gray_26x26 {
51
+  width: 26rpx;
52
+  height: 26rpx;
53 53
 }
54 54
 
55 55
 .universalpic_edit_gray_25x25 {
@@ -185,6 +185,10 @@ page{
185 185
   height: 20rpx;
186 186
   margin: 68rpx 50rpx 0 50rpx;
187 187
 }
188
+.universalpic_4blocks_gray_28x28{
189
+  width: 28rpx;
190
+  height: 28rpx;
191
+}
188 192
 
189 193
 .panelField20 {
190 194
   width: 100%;
@@ -291,6 +295,7 @@ page{
291 295
   margin: 6rpx 0;
292 296
   border-radius: 20rpx;
293 297
   background-color: rgba(0,0,0,0.1);
298
+  position: relative;
294 299
 }
295 300
 
296 301
 .panelItem .imageFree {
@@ -298,17 +303,32 @@ page{
298 303
   border-radius: 6rpx;
299 304
 }
300 305
 
301
-
302 306
 .panelItem .imageContainer2 {
303 307
   width: 650rpx;
304 308
   border-radius: 10rpx;
305 309
   background-color: rgba(0,0,0,0.1);
310
+  position: relative;
306 311
 }
307 312
 .panelItem .imageFree2 {
308 313
   width: 650rpx;
309 314
   border-radius: 10rpx;
310 315
 }
311 316
 
317
+
318
+.panelItem .BishunPlay{
319
+  width:80rpx;
320
+  height:80rpx;
321
+  background-color: #9B9B9B;
322
+  color:#fff;
323
+  position: absolute;
324
+  bottom:0;
325
+  right:0;
326
+  z-index: 10;
327
+  font-size:28rpx;
328
+  text-align: center;
329
+  line-height: 80rpx;
330
+}
331
+
312 332
 .panelItem .textBr {
313 333
   width: 100%;
314 334
   height: 24rpx;
@@ -353,20 +373,25 @@ page{
353 373
   text-align: center;
354 374
   line-height: 140rpx;
355 375
   z-index: 15;
376
+  position: relative;
377
+  top:0;
378
+  left:0;
379
+  overflow: hidden;
356 380
 }
357 381
 
358 382
 .panelFooter0 {
359 383
   line-height: 40rpx;
360 384
 }
361 385
 
362
-.panelBottomAnswer0 {
363
-  width: 100%;
364
-  height: 20rpx;
365
-  z-index: 10;
386
+.panelBottomAnswer {
387
+  width: 1420rpx;
388
+  position: relative;
389
+  top:0;
390
+  left:355rpx;
366 391
 }
367 392
 
368
-.panelBottomAnswer {
369
-  width: 100%;
393
+.panelBottomAnswer0{
394
+  width: 710rpx;
370 395
   font-size: 28rpx;
371 396
   justify-content: space-between;
372 397
   z-index: 10;
@@ -385,6 +410,12 @@ page{
385 410
   justify-content: flex-start;
386 411
   height: 140rpx;
387 412
 }
413
+.Answer00 {
414
+  flex: 1;
415
+  font-size: 24rpx;
416
+  height: 140rpx;
417
+  color:#D2D2D2;
418
+}
388 419
 
389 420
 .AnswerLeft{
390 421
   border-top-left-radius: 20rpx;
@@ -396,7 +427,6 @@ page{
396 427
   border-bottom-right-radius: 20rpx;
397 428
   width:110rpx;
398 429
   font-size: 24rpx;
399
-  justify-content: flex-start;
400 430
   height: 140rpx;
401 431
 }
402 432
 
@@ -405,6 +435,11 @@ page{
405 435
   height:70rpx;
406 436
   background-color: #2D313E;
407 437
 }
438
+.line3{
439
+  width:2rpx;
440
+  height:30rpx;
441
+  background-color: #2D313E;
442
+}
408 443
 
409 444
 .AnswerHover{
410 445
   background-color: #262935;
@@ -532,6 +567,11 @@ page{
532 567
   margin: 0 20rpx 0 30rpx;
533 568
 }
534 569
 
570
+ .universalpic_close_gray_24x24{
571
+  width: 24rpx;
572
+  height: 24rpx;
573
+ }
574
+
535 575
 .numberContainer {
536 576
   width: 100%;
537 577
   justify-content: flex-start;
@@ -682,12 +722,6 @@ page{
682 722
   margin: 0 30rpx;
683 723
 }
684 724
 
685
-.universalpic_typesize_gray_30x18{
686
-  width: 30rpx; 
687
-  height: 18rpx;
688
-  margin: 57rpx 20rpx 0 30rpx;
689
-}
690
-
691 725
 .numberContainerFooter11{
692 726
   align-items: flex-start;
693 727
   margin-top: 40rpx;
@@ -710,21 +744,6 @@ page{
710 744
   justify-content: flex-start;
711 745
 }
712 746
 
713
-.numberContainerFooter1121{
714
-  width:108rpx;
715
-  line-height:73rpx;
716
-  border:3rpx solid #D2D2D2;
717
-  border-radius: 10rpx;
718
-  text-align: center;
719
-  margin: 30rpx 30rpx 0 0;
720
-  font-size:24rpx;
721
-}
722
-
723
-.numberContainerFooter1121Select{
724
-  border:3rpx solid #F1AB1E;
725
-  color:#F1AB1E
726
-}
727
-
728 747
 .switch{
729 748
   position: absolute;
730 749
   right:30rpx;
@@ -847,4 +866,25 @@ page{
847 866
   margin: 4rpx 0 0 50rpx;
848 867
   font-size:20rpx;
849 868
   color:rgba(255, 255, 255, 0.6);
850
-}
869
+}
870
+
871
+.universalpic_typesize_gray_30x18{ 
872
+  width: 30rpx;  
873
+  height: 18rpx; 
874
+  margin: 57rpx 20rpx 0 30rpx; 
875
+} 
876
+ 
877
+.numberContainerFooter1121{ 
878
+  width:108rpx; 
879
+  line-height:73rpx; 
880
+  border:3rpx solid #D2D2D2; 
881
+  border-radius: 10rpx; 
882
+  text-align: center; 
883
+  margin: 30rpx 30rpx 0 0; 
884
+  font-size:24rpx; 
885
+} 
886
+ 
887
+.numberContainerFooter1121Select{ 
888
+  border:3rpx solid #F1AB1E; 
889
+  color:#F1AB1E 
890
+} 

+ 35 - 0
pages/main/health.js

@@ -0,0 +1,35 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+  },
9
+  onLoad: function (options) {
10
+    var that = this;
11
+    
12
+    that.setData({
13
+      Containnerheight: main.getWindowHeight(),
14
+    });
15
+  },
16
+  goto: function (e) {
17
+    var url=e.currentTarget.dataset.url;
18
+    wx.navigateTo({
19
+      url: url,
20
+    });
21
+  },
22
+  getList:function(e){
23
+    var dataType=e.currentTarget.dataset.datatype;
24
+    wx.navigateTo({
25
+      url: '../main/mainlist?source=health&dataType='+dataType,
26
+    });
27
+  },
28
+  onShareAppMessage: function () {
29
+    return {
30
+      title: app.globalData.ShareTitle,
31
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
32
+      imageUrl: app.globalData.ShareImage,
33
+    }
34
+  },
35
+})

+ 4 - 0
pages/main/health.json

@@ -0,0 +1,4 @@
1
+{
2
+  "navigationBarTitleText": "题卡健康",
3
+  "backgroundColor": "#F2F2F2"
4
+}

File diff suppressed because it is too large
+ 183 - 0
pages/main/health.wxml


+ 132 - 0
pages/main/health.wxss

@@ -0,0 +1,132 @@
1
+.container{
2
+  background-color: #F2F2F2;
3
+}
4
+
5
+.panelTop{
6
+  width:100%;
7
+  background-color: #F2F9DF;
8
+  align-items: flex-start;
9
+  justify-content: flex-start;
10
+}
11
+
12
+.text1{
13
+  font-size:32rpx;
14
+  color:#1E1E1E;
15
+  margin:60rpx 0 0 30rpx;
16
+}
17
+
18
+.text2{
19
+  font-size:20rpx;
20
+  color:#4D4D4D;
21
+  width:690rpx;
22
+  margin:20rpx 0 60rpx 30rpx;
23
+  line-height: 24rpx;
24
+}
25
+
26
+.panelTitle{
27
+  background-color: inherit;
28
+}
29
+
30
+.panelTitle1{
31
+  margin:60rpx 0 0 30rpx;
32
+  font-size:32rpx;
33
+}
34
+
35
+.panelItem{
36
+  width:710rpx;
37
+  background-color: #fff;
38
+  border-radius: 20rpx;
39
+  margin-top:30rpx;
40
+  justify-content: flex-start;
41
+}
42
+.panelItem1{
43
+  width:100%;
44
+  height:102rpx;
45
+  background-color: #AAED89;
46
+  border-top-left-radius: 20rpx;
47
+  border-top-right-radius: 20rpx;
48
+  justify-content: space-between;
49
+}
50
+.panelItem11{
51
+  margin: 0 30rpx;
52
+  font-size:30rpx;
53
+}
54
+
55
+.panelItem2{
56
+  font-size: 20rpx;
57
+  color:#4D4D4D;
58
+  width:650rpx;
59
+  margin-top:30rpx;
60
+}
61
+.btn{
62
+  font-size: 28rpx;
63
+  text-align: center;
64
+  background-color: #fff;
65
+  width:650rpx;
66
+  line-height: 80rpx;
67
+  border-radius: 10rpx;
68
+  border:2rpx solid #D2D2D2;
69
+  margin:40rpx 0 50rpx 0;
70
+}
71
+.btn2{
72
+  margin:30rpx 0 30rpx 0;
73
+}
74
+
75
+.help1{
76
+  width:100%;
77
+  justify-content: space-between;
78
+  height: 131rpx;
79
+}
80
+
81
+.help11{
82
+  align-items: flex-start;
83
+  margin-left: 30rpx;
84
+}
85
+.universalpic_light_blue_70x70{
86
+  width:70rpx;
87
+  height:70rpx;
88
+  margin: 0 0 0 30rpx;
89
+}
90
+
91
+.help111{
92
+  font-size:28rpx;
93
+  font-weight: 400;
94
+}
95
+
96
+.help112{
97
+  font-size:20rpx;
98
+  color:#787878;
99
+  margin-top:4rpx;
100
+}
101
+
102
+.Arrow{
103
+  width:16rpx;
104
+  height:26rpx;
105
+  margin-right: 30rpx;
106
+}
107
+.panelItem3{
108
+  width:100%;
109
+  border-bottom-left-radius: 20rpx;
110
+  border-bottom-right-radius: 20rpx;
111
+  height:20rpx;
112
+}
113
+
114
+.panelFooter{
115
+  width:100%;
116
+  background-color: #fff;
117
+  margin-top: 60rpx;
118
+  justify-content: flex-start;
119
+  align-items: flex-start;
120
+}
121
+
122
+.card_index_laboratory_70x76{
123
+  width:70rpx;
124
+  height:76rpx;
125
+  margin:60rpx 0 30rpx 30rpx;
126
+}
127
+
128
+.panelFooter1{
129
+  width: 690rpx;
130
+  font-size:20rpx;
131
+  margin:0 0 60rpx 30rpx;
132
+}

+ 249 - 5
pages/main/mainlist.js

@@ -76,8 +76,48 @@ Page({
76 76
     if (options.Count)
77 77
       count = options.Count;
78 78
 
79
+    if (options.source=="health"){
80
+      that.setData({
81
+        Source:options.source,
82
+      });
83
+      wx.setNavigationBarTitle({
84
+        title: options.dataType
85
+      });
86
+      if (options.dataType == "最近练完") {
87
+        that.gotoList({currentTarget:{dataset:{type:"today"}}});
88
+        IsToday = 2;
89
+      }
90
+      else if (options.dataType == "已到期") {
91
+        that.gotoList({currentTarget:{dataset:{type:"limit0"}}});
92
+        IsToday = 4;
93
+        that.setData({
94
+          CardShowDetail: 2,
95
+        });
96
+      }
97
+      else if (options.dataType == "答题时间极短") {
98
+        that.gotoList({currentTarget:{dataset:{type:"TimeShort7"}}});
99
+        IsToday = 5;
100
+        that.setData({
101
+          CardShowDetail: 3,
102
+        });
103
+      }
104
+      else if (options.dataType == "多次点蓝") {
105
+        that.gotoList({currentTarget:{dataset:{type:"ClickBlue7"}}});
106
+        IsToday = 6;
107
+        that.setData({
108
+          CardShowDetail: 3,
109
+        });
110
+      }
111
+      else if (options.dataType == "多次搁置") {
112
+        that.gotoList({currentTarget:{dataset:{type:"ClickShelve7"}}});
113
+        IsToday = 7;
114
+        that.setData({
115
+          CardShowDetail: 3,
116
+        });
117
+      }
118
+    }
79 119
     //如果是搜索
80
-    if (options.search) {
120
+    else if (options.search) {
81 121
       Search = options.search;
82 122
       wx.setNavigationBarTitle({
83 123
         title: "搜索结果"
@@ -293,7 +333,7 @@ Page({
293 333
       item.CardTypeStr = constant1.arrStudyPattern[item.CardType];
294 334
     }
295 335
 
296
-    if (!that.data.IsToday && !that.data.PrintID && !that.data.Search && that.data.CardType != "-2" && !that.data.FolderID) {
336
+    if (!that.data.IsToday && !that.data.PrintID && !that.data.Search && that.data.CardType != "-2" && !that.data.FolderID && !that.data.Source) {
297 337
       main.getData("GetUserCardCount?UserID=" + app.globalData.userInfo.UserID + "&CardType=" + that.data.CardType + "&IsCollect=" + that.data.IsCollect+"&OrderType="+that.data.OrderType, function (data) {
298 338
         if (data) {
299 339
           that.setData({
@@ -315,7 +355,7 @@ Page({
315 355
           }
316 356
         }
317 357
       });
318
-    } else if (that.data.Search || that.data.FolderID > 0) {
358
+    } else if (that.data.Search || that.data.FolderID > 0 || that.data.Source) {
319 359
       var hasPage = false;
320 360
       if (list.length < that.data.Count)
321 361
         hasPage = true;
@@ -323,7 +363,7 @@ Page({
323 363
         List: list,
324 364
         HasPage: hasPage,
325 365
       });
326
-    } else if (that.data.CardType != -2) {
366
+    } else if (that.data.CardType != -2 && !that.data.Source) {
327 367
       that.setData({
328 368
         Count: list.length,
329 369
       });
@@ -353,7 +393,7 @@ Page({
353 393
     that.setData({
354 394
       CardShowDetailStr: strCardShowDetail,
355 395
     });
356
-
396
+    
357 397
     wx.hideLoading();
358 398
 
359 399
     function getImage(str) {
@@ -438,6 +478,9 @@ Page({
438 478
     if (e.currentTarget.dataset.folderid)
439 479
       url += "&FolderID="+e.currentTarget.dataset.folderid;
440 480
     
481
+    if (e.currentTarget.dataset.dayNumber)
482
+      url += "&DayNumber="+e.currentTarget.dataset.dayNumber;
483
+    
441 484
     
442 485
 
443 486
     main.getData(url, function (data) {
@@ -466,6 +509,12 @@ Page({
466 509
         }
467 510
 
468 511
         that.getFilter();
512
+
513
+        if (that.data.Source=="health"){
514
+          setTimeout(function(){
515
+            that.setBtnInfo(e.currentTarget.dataset.datatype,data.Count);
516
+          },500);
517
+        }
469 518
       }
470 519
     });
471 520
 
@@ -641,6 +690,201 @@ Page({
641 690
       });
642 691
     }
643 692
   },
693
+  gotoList:function(e){
694
+    var that=this;
695
+    var datatype=e.currentTarget.dataset.type;
696
+    var isToday=0,cardType=2,isCollect=0,folderID=0,dayNumber=7;
697
+    
698
+    if (datatype=="today"){
699
+      isToday=2;
700
+    }
701
+    else if (datatype=="yesterday"){
702
+      isToday=3;
703
+    }
704
+    else if (datatype=="limit0"){
705
+      cardType=0;
706
+      isToday=4;
707
+      that.setData({
708
+        OrderType:5,
709
+      });
710
+    }
711
+    else if (datatype=="limit1"){
712
+      cardType=1;
713
+      isToday=4;
714
+      that.setData({
715
+        OrderType:5,
716
+      });
717
+    }
718
+    else{
719
+      if (datatype.indexOf("7")>0)
720
+        dayNumber=7;
721
+      else if (datatype.indexOf("30")>0)
722
+        dayNumber=30;
723
+      
724
+      if (datatype.indexOf("TimeShort")>=0)
725
+        isToday=5;
726
+      else if (datatype.indexOf("ClickBlue")>=0)
727
+        isToday=6;
728
+      else if (datatype.indexOf("ClickShelve")>=0)
729
+        isToday=7;
730
+        
731
+      cardType=2;
732
+      that.setData({
733
+        OrderType:0,
734
+      });
735
+    }
736
+    
737
+    app.globalData.CardList = [];
738
+
739
+    that.gotoNextPage({
740
+      currentTarget: {
741
+        dataset: {
742
+          id: 0,
743
+          IsToday:isToday,
744
+          cardtype: cardType,
745
+          iscollect: isCollect,
746
+          folderid: folderID,
747
+          datatype:datatype,
748
+          dayNumber:dayNumber,
749
+        }
750
+      }
751
+    });
752
+  },
753
+  setBtnInfo:function(datatype,count){
754
+    var that=this;
755
+    if (datatype=="today"){
756
+      that.setData({
757
+        Btn1Name:"今日",
758
+        Btn1Type:"today",
759
+        Btn2Name:"上次",
760
+        Btn2Type:"yesterday",
761
+        Btn1Count: count,
762
+        Btn2Count: "",
763
+        Btn1Class: "btn2",
764
+        Btn2Class: "",
765
+        CardShowDetail: 3,
766
+        HasPage: false,
767
+      });
768
+    }
769
+    else if (datatype=="yesterday"){
770
+      that.setData({
771
+        Btn1Name:"今日",
772
+        Btn1Type:"today",
773
+        Btn2Name:"上次",
774
+        Btn2Type:"yesterday",
775
+        Btn1Count: "",
776
+        Btn2Count: count,
777
+        Btn1Class: "",
778
+        Btn2Class: "btn2",
779
+        CardShowDetail: 3,
780
+        HasPage: false,
781
+      });
782
+    }
783
+    else if (datatype=="limit0"){
784
+      that.setData({
785
+        Btn1Name:"日常",
786
+        Btn1Type:"limit0",
787
+        Btn2Name:"紧急",
788
+        Btn2Type:"limit1",
789
+        Btn1Count: count,
790
+        Btn2Count: "",
791
+        Btn1Class: "btn2",
792
+        Btn2Class: "",
793
+        CardShowDetail: 2,
794
+      });
795
+    }
796
+    else if (datatype=="limit1"){
797
+      that.setData({
798
+        Btn1Name:"日常",
799
+        Btn1Type:"limit0",
800
+        Btn2Name:"紧急",
801
+        Btn2Type:"limit1",
802
+        Btn1Count: "",
803
+        Btn2Count: count,
804
+        Btn1Class: "",
805
+        Btn2Class: "btn2",
806
+        CardShowDetail: 2,
807
+      });
808
+    }
809
+    else if (datatype=="TimeShort7"){
810
+      that.setData({
811
+        Btn1Name:"近7天",
812
+        Btn1Type:"TimeShort7",
813
+        Btn2Name:"近30天",
814
+        Btn2Type:"TimeShort30",
815
+        Btn1Count: count,
816
+        Btn2Count: "",
817
+        Btn1Class: "btn2",
818
+        Btn2Class: "",
819
+        CardShowDetail: 3,
820
+      });
821
+    }
822
+    else if (datatype=="TimeShort30"){
823
+      that.setData({
824
+        Btn1Name:"近7天",
825
+        Btn1Type:"TimeShort7",
826
+        Btn2Name:"近30天",
827
+        Btn2Type:"TimeShort30",
828
+        Btn1Count: "",
829
+        Btn2Count: count,
830
+        Btn1Class: "",
831
+        Btn2Class: "btn2",
832
+        CardShowDetail: 3,
833
+      });
834
+    }
835
+    else if (datatype=="ClickBlue7"){
836
+      that.setData({
837
+        Btn1Name:"近7天",
838
+        Btn1Type:"ClickBlue7",
839
+        Btn2Name:"近30天",
840
+        Btn2Type:"ClickBlue30",
841
+        Btn1Count: count,
842
+        Btn2Count: "",
843
+        Btn1Class: "btn2",
844
+        Btn2Class: "",
845
+        CardShowDetail: 3,
846
+      });
847
+    }
848
+    else if (datatype=="ClickBlue30"){
849
+      that.setData({
850
+        Btn1Name:"近7天",
851
+        Btn1Type:"ClickBlue7",
852
+        Btn2Name:"近30天",
853
+        Btn2Type:"ClickBlue30",
854
+        Btn1Count: "",
855
+        Btn2Count: count,
856
+        Btn1Class: "",
857
+        Btn2Class: "btn2",
858
+        CardShowDetail: 3,
859
+      });
860
+    }
861
+    else if (datatype=="ClickShelve7"){
862
+      that.setData({
863
+        Btn1Name:"近7天",
864
+        Btn1Type:"ClickShelve7",
865
+        Btn2Name:"近30天",
866
+        Btn2Type:"ClickShelve30",
867
+        Btn1Count: count,
868
+        Btn2Count: "",
869
+        Btn1Class: "btn2",
870
+        Btn2Class: "",
871
+        CardShowDetail: 3,
872
+      });
873
+    }
874
+    else if (datatype=="ClickShelve30"){
875
+      that.setData({
876
+        Btn1Name:"近7天",
877
+        Btn1Type:"ClickShelve7",
878
+        Btn2Name:"近30天",
879
+        Btn2Type:"ClickShelve30",
880
+        Btn1Count: "",
881
+        Btn2Count: count,
882
+        Btn1Class: "",
883
+        Btn2Class: "btn2",
884
+        CardShowDetail: 3,
885
+      });
886
+    }
887
+  },
644 888
   showOrder: function () {
645 889
     this.setData({
646 890
       IsOrder: true,

+ 21 - 5
pages/main/mainlist.wxml

@@ -14,7 +14,17 @@
14 14
         </view>
15 15
       </view>
16 16
     </view>
17
-    <view class="panelTop FlexRow">
17
+
18
+    <view class="panelTop FlexRow" wx:if="{{Source=='health'}}">
19
+      <view class="panelLeft FlexRow">
20
+        <view class="{{Btn1Class}} btn" bindtap="gotoList" data-type="{{Btn1Type}}">{{Btn1Name}} {{Btn1Count}}</view>
21
+        <view class="{{Btn2Class}} btn" bindtap="gotoList" data-type="{{Btn2Type}}">{{Btn2Name}} {{Btn2Count}}</view>
22
+      </view>
23
+      <view></view>
24
+    </view>
25
+        
26
+
27
+    <view class="panelTop FlexRow" wx:if="{{Source!='health'}}">
18 28
       <view class="panelLeft FlexRow">
19 29
         <view wx:if="{{!IsFilter && !PrintID && (CardType==2 || CardType==0 || CardType==1 || CardType==-1 || IsCollect==1) && !Search && IsToday!=1 && IsToday!=2}}"
20 30
           class='panelTop1 FlexRow' bindtap='redirect' data-url="searchCard?">
@@ -66,12 +76,12 @@
66 76
     </view>
67 77
   </block>
68 78
 
69
-  <view class="panelHelp FlexRow" wx:if="{{(OrderType==5 || OrderType==6) && PageType!=1 && PageType!=2 }}">
79
+  <view class="panelHelp FlexRow" wx:if="{{(OrderType==5 || OrderType==6) && PageType!=1 && PageType!=2 && !Source }}">
70 80
     <image class="universalpic_exclamation_orange_40x40" src='../images/universalpic_exclamation_orange_40x40.png' />
71 81
     <text
72 82
       class="panelHelpText">在本清单中用「到期时间」排序时,您的题卡数量可能变少。由于题卡归档后不被练习没有到期时间概念,所以不能以到期时间排序,去除归档题卡总数就减少了。日常和紧急题卡不受影响,可以正常排序。</text>
73 83
   </view>
74
-  <view class="panelHelp1 panelHelp FlexRow" wx:if="{{CardType==1}}">
84
+  <view class="panelHelp1 panelHelp FlexRow" wx:if="{{CardType==1 && !IsToday}}">
75 85
     <image class="universalpic_exclamation_orange_40x40" src='../images/universalpic_infor_green_40x40.png' />
76 86
     <text class="panelHelpText">紧急练习最多容纳200张题卡,属于临时强化措施不能取代日常练习,一般练习1个月建议停用或者更换一批题卡。经常使用请常换常新。</text>
77 87
   </view>
@@ -160,20 +170,26 @@
160 170
 
161 171
     </block>
162 172
     <view class="panelMore" wx:if="{{HasPage}}" bindtap='gotoNextPage' data-id="{{List[List.length-1].MiaoguoCardID}}"
163
-      data-iscollect="{{IsCollect}}" data-folderid="{{FolderID}}">更多</view>
173
+      data-iscollect="{{IsCollect}}" data-folderid="{{FolderID}}" data-istoday="{{IsToday}}">更多</view>
164 174
     <view class="panelEnd" wx:if="{{!HasPage && List.length>0}}">到底了</view>
165 175
   </view>
166 176
 
167 177
   <view wx:if="{{List.length==0}}" class="panelNull FlexColumn">
168 178
     <image class="universalpic_card_none_gray_90x84" src='../images/universalpic_card_none_gray_90x84.png' />
169
-    <text wx:if="{{IsCollect==0 && CardType==2 && IsToday==0}}" class="panelNullText">没有题卡\n创建一张新题卡吧</text>
170 179
     <text wx:if="{{IsCollect==0 && CardType==0 && IsToday==0}}" class="panelNullText">没有题卡\n新建一张日常题卡吧</text>
171 180
     <text wx:if="{{IsCollect==0 && CardType==1 && IsToday==0}}" class="panelNullText">没有题卡\n新建一张紧急题卡吧</text>
172 181
     <text wx:if="{{IsCollect==1 && IsToday==0}}" class="panelNullText">没有题卡\n试试给题卡加注星标吧</text>
173 182
     <text wx:if="{{IsCollect==0 && CardType==-1 && IsToday==0}}" class="panelNullText">没有题卡\n把不需要练习的题卡归档吧</text>
174 183
     <text wx:if="{{CardType==-2}}" class="panelNullText">没有题卡\n不再需要的知识就删除吧</text>
175 184
     <text wx:if="{{IsToday==1}}" class="panelNullText">没有题卡\n很棒啊!今天的任务量已经完成了</text>
185
+    <text wx:if="{{IsCollect==0 && CardType==2 && IsToday==0 && !Source}}" class="panelNullText">没有题卡\n创建一张新题卡吧</text>
176 186
     <text wx:if="{{IsToday==2}}" class="panelNullText">没有题卡\n今天的练习还没开始呢</text>
187
+    <text wx:if="{{IsToday==3}}" class="panelNullText">没有题卡\n上次的练习数据没有</text>
188
+    <text wx:if="{{IsToday==4}}" class="panelNullText"><block wx-if="{{Btn1Class}}">{{Btn1Name}}</block><block wx-if="{{Btn2Class}}">{{Btn2Name}}</block>\n没有已到期的题卡</text>
189
+    <text wx:if="{{IsToday==5}}" class="panelNullText"><block wx-if="{{Btn1Class}}">{{Btn1Name}}</block><block wx-if="{{Btn2Class}}">{{Btn2Name}}</block>\n没有练习时间极短的题卡</text>
190
+    <text wx:if="{{IsToday==6}}" class="panelNullText"><block wx-if="{{Btn1Class}}">{{Btn1Name}}</block><block wx-if="{{Btn2Class}}">{{Btn2Name}}</block>\n没有记忆评价多次点蓝的题卡</text>
191
+    <text wx:if="{{IsToday==7}}" class="panelNullText"><block wx-if="{{Btn1Class}}">{{Btn1Name}}</block><block wx-if="{{Btn2Class}}">{{Btn2Name}}</block>\n没有练习中多次搁置的题卡</text>
192
+    
177 193
   </view>
178 194
 </view>
179 195
 

+ 18 - 0
pages/main/mainlist.wxss

@@ -26,6 +26,24 @@
26 26
   justify-content: flex-end;
27 27
 }
28 28
 
29
+.btn{
30
+  min-width:100rpx;
31
+  height:60rpx;
32
+  text-align: center;
33
+  line-height: 60rpx;
34
+  border-radius: 10rpx;
35
+  font-size:24rpx;
36
+  border:2rpx solid #E3E3E3;
37
+  margin-right: 20rpx;
38
+  padding:0 20rpx;
39
+}
40
+
41
+.btn2{
42
+  border:2rpx solid #5282FA;
43
+  color:#fff;
44
+  background-color: #5282FA;
45
+}
46
+
29 47
 .panelTopSearch{
30 48
   width:600rpx;
31 49
   height:70rpx;

+ 27 - 4
pages/main/preview.js

@@ -206,6 +206,7 @@ Page({
206 206
         card.CardType = list[i].CardType;
207 207
         card.FolderName=list[i].FolderName;
208 208
         card.Flag=list[i].Flag;
209
+        card.LearnNumber=list[i].LearnNumber;
209 210
         index=i+1;
210 211
         break;
211 212
       }
@@ -276,6 +277,7 @@ Page({
276 277
       FolderName:card.FolderName,
277 278
       Flag:card.Flag,
278 279
       CurrentIndex:index,
280
+      LearnNumber:card.LearnNumber,
279 281
     });
280 282
 
281 283
     wx.pageScrollTo({
@@ -557,10 +559,18 @@ Page({
557 559
   showImage: function (e) {
558 560
     var name = e.currentTarget.dataset.name;
559 561
     if (name && name.length > 5) {
560
-      wx.previewImage({
561
-        current: name,
562
-        urls: arrImage
563
-      });
562
+      if (name.indexOf("http://tmp")>=0){
563
+        wx.previewImage({
564
+          current: name,
565
+          urls: [name],
566
+        });
567
+      }
568
+      else{
569
+        wx.previewImage({
570
+          current: name,
571
+          urls: arrImage
572
+        });
573
+      }
564 574
     }
565 575
   },
566 576
   onBindError: function (e) {
@@ -590,6 +600,19 @@ Page({
590 600
       that.init();
591 601
     }, 1000);
592 602
   },
603
+  showBishunOrKaiti:function(e){
604
+    var that=this;
605
+    main.downloadBishunKaitiImage(
606
+      e.currentTarget.dataset.url,
607
+      e.currentTarget.dataset.serverurl,
608
+      e.currentTarget.dataset.type,
609
+      that.data.Field,function(fields){
610
+        that.data.Field=fields;
611
+        that.setData({
612
+          Field: that.data.Field,
613
+        });
614
+      });
615
+  },
593 616
   returnDefault: function () {
594 617
     wx.reLaunch({
595 618
       url: './default?IsStart=1',

+ 17 - 24
pages/main/preview.wxml

@@ -4,27 +4,28 @@
4 4
   <!-- 顶端工具栏 -->
5 5
   <block wx:if="{{ShowType=='show' &&  Flag!=-1}}">
6 6
     <view class="panelTop FlexRow">
7
+      
7 8
       <view class='left FlexRow'>
8 9
         <view class="panelTopBtn FlexRow" catchtap='editField' data-type="{{PrintID}}">
9 10
           编辑
10 11
         </view>
11
-        <view class="panelTopBtn">
12
-        </view>
13
-      </view>
14
-      <block wx:if="{{!PrintID}}">
15
-        <view class="FlexRow" wx:if="{{IsCardInfoCloseMenu}}" catchtap="openIsCardInfoCloseMenu" >
16
-        <view>快捷操作</view>
17
-        <image class="universalpic_arrow_up_black_14x10" src='../images/universalpic_arrow_down_black_14x10.png' wx:if="{{true}}" />
18
-      </view>
19
-      <view class="FlexRow" wx:if="{{!IsCardInfoCloseMenu}}" catchtap="closeIsCardInfoCloseMenu">
20
-        <view>信息收起</view>
21
-        <image class="universalpic_arrow_up_black_14x10" src='../images/universalpic_arrow_up_black_14x10.png' wx:if="{{true}}" />
12
+        <block wx:if="{{!PrintID}}">
13
+          <view class="panelTopBtn4 panelTopBtn FlexRow" wx:if="{{IsCardInfoCloseMenu}}" catchtap="openIsCardInfoCloseMenu" >
14
+          <view>快捷设置</view>
15
+          <image class="universalpic_arrow_up_black_14x10" src='../images/universalpic_arrow_down_black_14x10.png' wx:if="{{true}}" />
16
+          </view>
17
+          <view class="panelTopBtn4 panelTopBtn FlexRow" wx:if="{{!IsCardInfoCloseMenu}}" catchtap="closeIsCardInfoCloseMenu">
18
+            <view>信息收起</view>
19
+            <image class="universalpic_arrow_up_black_14x10" src='../images/universalpic_arrow_up_black_14x10.png' wx:if="{{true}}" />
20
+          </view>
21
+        </block>
22 22
       </view>
23
-      </block>
24
-      
25
-      
26 23
       <view class='right FlexRow'>
27
-       <view class="panelTopBtn FlexRow" catchtap='gotoCollect'>
24
+        <view class="panelTopBtn3 FlexRow" catchtap='goto' data-url="./cardInfoDetail?id={{MiaoguoCardID}}">
25
+          <view class="panelTopBtn31">练习记录</view>
26
+          <view class="panelTopBtnNumber" wx:if="{{LearnNumber>0}}">{{LearnNumber}}</view>
27
+        </view>
28
+        <view class="panelTopBtn FlexRow" catchtap='gotoCollect'>
28 29
           <image class="universalpic_star_black_34x34" src='../images/universalpic_star_black_34x34.png' wx:if="{{!IsCollect}}" />
29 30
           <image class="universalpic_star_black_34x34" src='../images/universalpic_star_yellow_34x34.png' wx:if="{{IsCollect}}" />
30 31
         </view>
@@ -68,14 +69,6 @@
68 69
           <image class="Arrow" src='../images/universalpic_indicator_right_gray.png' />
69 70
         </view>
70 71
       </block>
71
-      
72
-      <view class="lineWidthAll FlexRow">
73
-        <view class="lineWidth720"></view>
74
-      </view>
75
-      <view class="panelTop2Item FlexRow" catchtap="goto" data-url="./cardInfo?id={{MiaoguoCardID}}">
76
-        <view class="panelTop2Item1">题卡详细信息</view>
77
-        <image class="Arrow" src='../images/universalpic_indicator_right_gray.png' />
78
-      </view>
79 72
     </view>
80 73
   </block>
81 74
   <view style="width:100%;min-height:{{Containnerheight-250}}rpx;" bindtap="onShowAnswer">
@@ -115,7 +108,7 @@
115 108
 
116 109
 <!-- 菜单 -->
117 110
 <view wx:if="{{IsShowMenu}}" class="panelMenu container FlexColumn" style='height:{{Containnerheight}}rpx; top:{{topBarHeight}}rpx;'>
118
-	
111
+	<view class="panelMenu12 panelMenu1" catchtap="goto" data-url="./cardInfo?id={{MiaoguoCardID}}">题卡详细信息</view>
119 112
 	<view class="panelMenu12 panelMenu1" wx:if="{{!IsClickShowAnswer}}" catchtap="setClickShowAnswer">点击卡面显示段落2、3</view>
120 113
 	<view class="panelMenu12 panelMenu1" wx:if="{{IsClickShowAnswer}}" catchtap="setAlwaysShowAnswer">同时显示段落1、2、3</view>
121 114
 	<view class="panelMenu11 panelMenu1" catchtap="deleteCard">删除题卡</view>

+ 47 - 2
pages/main/preview.wxss

@@ -33,7 +33,7 @@
33 33
 }
34 34
 
35 35
 .panelTopBtn{
36
-  width:90rpx;
36
+  width:80rpx;
37 37
   height:80rpx;
38 38
   font-size: 28rpx;
39 39
   margin:0 10rpx;
@@ -43,6 +43,34 @@
43 43
   margin-left:0;
44 44
 }
45 45
 
46
+.panelTopBtn3{
47
+  width:140rpx;
48
+  height:80rpx;
49
+  position: relative;
50
+}
51
+.panelTopBtn31{
52
+  font-size: 28rpx;
53
+}
54
+
55
+.panelTopBtnNumber{
56
+  text-align: center;
57
+  background-color: #e3e3e3;
58
+  border-radius: 12rpx;
59
+  font-size: 20rpx;
60
+  font-family: "Roboto-Black";
61
+  position: absolute;
62
+  right:0rpx;
63
+  top:0rpx;
64
+  padding: 0 10rpx;
65
+  height:24rpx;
66
+  line-height: 24rpx;
67
+}
68
+
69
+.panelTopBtn4{
70
+  width:160rpx;
71
+}
72
+
73
+
46 74
 .universalpic_del_black_20x28{
47 75
   width:20rpx;
48 76
   height:28rpx;
@@ -289,6 +317,7 @@
289 317
   margin: 6rpx 0;
290 318
   border-radius: 20rpx;
291 319
   background-color: rgba(0,0,0,0.1);
320
+  position: relative;
292 321
 }
293 322
 
294 323
 .panelItem .imageFree {
@@ -301,12 +330,27 @@
301 330
   width: 650rpx;
302 331
   border-radius: 10rpx;
303 332
   background-color: rgba(0,0,0,0.1);
333
+  position: relative;
304 334
 }
305 335
 .panelItem .imageFree2 {
306 336
   width: 650rpx;
307 337
   border-radius: 10rpx;
308 338
 }
309 339
 
340
+.panelItem .BishunPlay{
341
+  width:80rpx;
342
+  height:80rpx;
343
+  background-color: #9B9B9B;
344
+  color:#fff;
345
+  position: absolute;
346
+  bottom:0;
347
+  right:0;
348
+  z-index: 10;
349
+  font-size:28rpx;
350
+  text-align: center;
351
+  line-height: 80rpx;
352
+}
353
+
310 354
 .panelItem .textBr {
311 355
   width: 100%;
312 356
   height: 24rpx;
@@ -465,4 +509,5 @@
465 509
 .iphone10plusMenu{
466 510
   width:100%;
467 511
   height:200rpx;
468
-}
512
+}
513
+

+ 4 - 2
pages/other/help.js

@@ -15,7 +15,7 @@ Page({
15 15
     id=options.id;
16 16
     idchild=options.idchild;
17 17
 
18
-    that.init(function(list){
18
+    that.init(options,function(list){
19 19
       that.setData({
20 20
         Containnerheight: main.getWindowHeight(),
21 21
         Item: list[options.id].List[options.idchild],
@@ -28,9 +28,11 @@ Page({
28 28
       });
29 29
     });
30 30
   },
31
-  init: function (callback) {
31
+  init: function (options,callback) {
32 32
     var that = this;
33 33
     var list = wx.getStorageSync("MiaoguoTipsList");
34
+    if (!list[options.id] || !list[options.id].List[options.idchild])
35
+      list=undefined;
34 36
     if (!list){
35 37
       main.getData("GetMiaoguoTipsList", function (data) {
36 38
         callback(data);

+ 1 - 1
pages/other/help.wxml

@@ -1,6 +1,6 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2 2
   <view class="panelTop FlexRow">
3
-    <view class="btn" bindtap="goto" data-url="./tips">返回目录</view>
3
+    <view class="btn" bindtap="goto" data-url="./tips">返回</view>
4 4
   </view>
5 5
   <view style="height:120rpx;"></view>
6 6
   <image class="img" lazy-load="true" mode="widthFix" wx:for="{{Item.Images}}" wx:key="index" src='{{ImagePath}}web/{{item}}' />

+ 41 - 6
pages/other/lessonlist.js

@@ -5,14 +5,14 @@ const app = getApp();
5 5
 
6 6
 Page({
7 7
   data: {
8
-    ImagePath: app.globalData.uploadImageUrl,
9 8
   },
10
-  onLoad: function () {
9
+  onLoad: function (options) {
11 10
     var that = this;
12 11
     that.setData({
13 12
       CheckListUserID: app.globalData.userInfo.UserID,
14 13
       Containnerheight: main.getWindowHeight(),
15 14
       UserID: app.globalData.userInfo.UserID,
15
+      ListType:options.listtype,
16 16
     });
17 17
 
18 18
     var userid = app.globalData.userInfo.UserID;
@@ -20,9 +20,38 @@ Page({
20 20
       if (data) {
21 21
         
22 22
         var arr=[];
23
-        for(var i=0;i<4;i++)
24
-          arr.push(data[i]);
23
+        if (that.data.ListType=="simple"){
24
+          arr.push(data[0]);
25
+          arr.push(data[1]);
26
+          
27
+          arr[0].Text="前言";
28
+          arr[1].Text="基本操作";
29
+          arr[1].Time="时长约10分钟";
25 30
 
31
+          arr[1].List[4]=data[1].List[2];
32
+          arr[1].List[3]=data[1].List[1];
33
+          arr[1].List[2]=data[1].List[0];
34
+          arr[1].List[0]=data[2].List[0];
35
+          arr[1].List[1]=data[2].List[1];
36
+          arr[1].List[4].Title="通过【检验】生成字词、古诗词、英语题卡";
37
+          arr[1].List[3].Title="通过【加资料】制作字词、古诗词、英语题卡";
38
+          arr[1].List[2].Title="制作任何知识点的普通题卡";
39
+
40
+          arr[1].List.splice(6,1);
41
+          arr[1].List.splice(5,1);
42
+          
43
+          wx.setNavigationBarTitle({
44
+            title: '简要版',
45
+          });
46
+        }
47
+        else{
48
+          wx.setNavigationBarTitle({
49
+            title: '完整版',
50
+          });
51
+          for(var i=0;i<4;i++)
52
+            arr.push(data[i]);
53
+        }
54
+        
26 55
         that.setData({
27 56
           List: arr,
28 57
         });
@@ -51,9 +80,15 @@ Page({
51 80
     }
52 81
   },
53 82
   onShareAppMessage: function () {
83
+    var title="完整版教学课程";
84
+    if (this.data.ListType=="simple"){
85
+      title="简要版教学课程";
86
+    }
87
+    var url=app.globalData.SharePath + '?type=lesson&LessonID=all&ListType='+this.data.ListType+'&UserID=' + app.globalData.userInfo.UserID;
88
+    console.log(url);
54 89
     return {
55
-      title: "教学课程",
56
-      path: app.globalData.SharePath + '?type=lesson&LessonID=all&UserID=' + app.globalData.userInfo.UserID,
90
+      title: title,
91
+      path: url,
57 92
       imageUrl: app.globalData.uploadImageUrl+"web/program_screenshot_lesson_a00.png",
58 93
     }
59 94
   },

+ 0 - 2
pages/other/lessonlist.wxml

@@ -1,6 +1,4 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
-  <image class="trial_lesson_header" src='{{ImagePath}}web/trial_lesson_header.png' />
3
-
4 2
   <view class="main FlexColumn">
5 3
     <block wx:for="{{List}}" wx:key="index">
6 4
       <view class="panelTitle FlexRow" bindtap="gotoLesson" data-id="{{index+1}}">

+ 29 - 0
pages/other/lessonlistselect.js

@@ -0,0 +1,29 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+    ImagePath: app.globalData.uploadImageUrl,
9
+  },
10
+  onLoad: function () {
11
+    var that = this;
12
+    that.setData({
13
+      Containnerheight: main.getWindowHeight(),
14
+    });
15
+  },
16
+  goto: function (e) {
17
+    var url=e.currentTarget.dataset.url;
18
+    wx.navigateTo({
19
+      url: url,
20
+    });
21
+  },
22
+  onShareAppMessage: function () {
23
+    return {
24
+      title: app.globalData.ShareTitle,
25
+      path: app.globalData.SharePath + '?LessonID=all&UserID=' + app.globalData.userInfo.UserID,
26
+      imageUrl: app.globalData.ShareImage,
27
+    }
28
+  },
29
+})

+ 6 - 0
pages/other/lessonlistselect.json

@@ -0,0 +1,6 @@
1
+{
2
+  "navigationBarTitleText": "课程",
3
+  "navigationBarBackgroundColor": "#009942",
4
+  "navigationBarTextStyle": "white",
5
+  "backgroundColorTop": "#009942"
6
+}

+ 29 - 0
pages/other/lessonlistselect.wxml

@@ -0,0 +1,29 @@
1
+<view class="container FlexColumn" style='height:{{Containnerheight}}rpx;'>
2
+  <image class="trial_lesson_header" src='{{ImagePath}}web/trial_lesson_header.png' />
3
+
4
+  <view class="main FlexColumn">
5
+    <view class="panelItem FlexRow" bindtap="goto" data-url="./lessonlist?listtype=simple">
6
+      <view class='panelItem1 FlexColumn'>
7
+        <view class="panelTitle10">简要版</view>
8
+        <view class="panelTitle11">方便新用户快速上手</view>
9
+      </view>
10
+      <view class="panelItem2 FlexRow">
11
+        <image class="universalpic_indicator_right_gray" src='../images/universalpic_indicator_right_gray.png' />
12
+      </view>
13
+    </view>
14
+
15
+    <view class="lineWidthAll FlexRow">
16
+      <view class="lineWidth720"></view>
17
+    </view>
18
+
19
+    <view class="panelItem FlexRow" bindtap="goto" data-url="./lessonlist?listtype=all">
20
+      <view class='panelItem1 FlexColumn'>
21
+        <view class="panelTitle10">完整版</view>
22
+        <view class="panelTitle11">四节课时完整介绍产品功能</view>
23
+      </view>
24
+      <view class="panelItem2 FlexRow">
25
+        <image class="universalpic_indicator_right_gray" src='../images/universalpic_indicator_right_gray.png' />
26
+      </view>
27
+    </view>
28
+  </view>
29
+</view>

+ 49 - 0
pages/other/lessonlistselect.wxss

@@ -0,0 +1,49 @@
1
+
2
+.trial_lesson_header{
3
+  width: 100%;
4
+  height:130rpx;
5
+}
6
+
7
+.main{
8
+  width: 100%;
9
+  margin-top: 50rpx;
10
+}
11
+
12
+.panelItem {
13
+  width: 100%;
14
+  height: 133rpx;
15
+  justify-content: space-between;
16
+  font-size: 28rpx;
17
+  background-color: #fff;
18
+}
19
+
20
+.panelItem1 {
21
+  margin-left: 30rpx;
22
+  align-items: flex-start;
23
+  font-weight: 400;
24
+  font-size:28rpx;
25
+}
26
+
27
+.panelTitle10{
28
+  font-size:28rpx;
29
+  font-weight: 400;
30
+}
31
+
32
+.panelTitle11{
33
+  font-size:20rpx;
34
+  color:#787878;
35
+}
36
+
37
+.panelItem2 {
38
+  margin-right: 30rpx;
39
+  color: #787878;
40
+  font-size:28rpx;
41
+  font-weight: 400;
42
+}
43
+
44
+.universalpic_indicator_right_gray{
45
+  width:16rpx;
46
+  height:26rpx;
47
+  margin-left: 30rpx;
48
+}
49
+

+ 2 - 2
pages/other/userbook.wxml

@@ -65,7 +65,7 @@
65 65
       <view class="panel31 FlexColumn" bindtap="goto" data-url="../other/webview?PageID=8" wx:if="{{ClassDayNumber>=ClassTotalDayNumber}}">
66 66
         <view>小组须知</view>
67 67
       </view>
68
-      <view class="panel31 FlexColumn" bindtap="goto" data-url="../other/lessonlist">
68
+      <view class="panel31 FlexColumn" bindtap="goto" data-url="../other/lessonlistselect">
69 69
         <view>课程</view>
70 70
       </view>
71 71
       <view class="panel31 FlexColumn" bindtap="goto" data-url="./tips">
@@ -162,7 +162,7 @@
162 162
       <view class="text10">{{item.text3}}</view>
163 163
     </view>
164 164
 
165
-    <view class="panelItem FlexColumn" wx:if="{{PanelShow===2 && ((ClassDayNumber>=0 && ClassDayNumber<ClassTotalDayNumber) || (IsPay==1 && !IsLoseEfficacy)) }}" bindtap="goto" data-url="../other/lessonlist">
165
+    <view class="panelItem FlexColumn" wx:if="{{PanelShow===2 && ((ClassDayNumber>=0 && ClassDayNumber<ClassTotalDayNumber) || (IsPay==1 && !IsLoseEfficacy)) }}" bindtap="goto" data-url="../other/lessonlistselect">
166 166
       <image class="news_lesson_a01" src='{{ImagePath}}web/news_lesson_a01.png' />
167 167
       <view class="text7">课程</view>
168 168
       <view class="text8">4节课程告诉您,家长做什么可以迅速提高孩子的成绩</view>

+ 2 - 0
pages/other/webview.js

@@ -16,6 +16,7 @@ Page({
16 16
     }
17 17
     else{
18 18
       that.setData({
19
+        PageID:options.PageID,
19 20
         Url:"https://www.kylx365.com/webpage?PageID="+options.PageID,
20 21
       });
21 22
     }
@@ -25,6 +26,7 @@ Page({
25 26
   onShareAppMessage: function () {
26 27
     
27 28
     var imageUrl = app.globalData.uploadImageUrl +"web/program_screenshot_lesson_c0"+this.data.PageID+".png";
29
+    console.log(imageUrl);
28 30
     var path = "/pages/index/index?type=webview&PageID="+this.data.PageID;
29 31
     var title ="课外课";
30 32
     if (this.data.PageID==="0"){

+ 2 - 2
pages/plan/pattern.wxml

@@ -71,7 +71,7 @@
71 71
       <view class="line"></view>
72 72
     </block>
73 73
   </block>
74
-  <view class="panelItem3 panelItem FlexRow" bindtap="goto" data-url="../other/help?id=2&idchild=0">
74
+  <view class="panelItem3 panelItem FlexRow" bindtap="goto" data-url="../other/help?id=1&idchild=2">
75 75
     <view class="panelItem31">帮助:记忆评价的作用</view>
76 76
     <view class="panelItem32 FlexRow">
77 77
       <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
@@ -80,7 +80,7 @@
80 80
   <view class="lineWidthAll FlexRow">
81 81
     <view class="lineWidth720"></view>
82 82
   </view>
83
-  <view class="panelItem3 panelItem FlexRow" bindtap="goto" data-url="../other/help?id=2&idchild=1">
83
+  <view class="panelItem3 panelItem FlexRow" bindtap="goto" data-url="../other/help?id=1&idchild=3">
84 84
     <view class="panelItem31">帮助:时间指标的作用</view>
85 85
     <view class="panelItem32 FlexRow">
86 86
       <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />

+ 13 - 3
pages/plan/studyplan.js

@@ -86,9 +86,19 @@ Page({
86 86
       });
87 87
     });
88 88
     var studyPlan = app.globalData.TaskToday;
89
-    var newLength=studyPlan.ListNew.length || 0;
90
-    var reviewLength=studyPlan.ListReview.length || 0;
91
-    var historyLength=studyPlan.ListHistory.length || 0;
89
+    
90
+    var newLength=0;
91
+    if (studyPlan.ListNew && studyPlan.ListNew.length>0)
92
+      newLength=studyPlan.ListNew.length;
93
+
94
+    var reviewLength=0;
95
+    if (studyPlan.ListReview && studyPlan.ListReview.length>0)
96
+      reviewLength=studyPlan.ListReview.length;
97
+
98
+    var historyLength=0;
99
+    if (studyPlan.ListHistory && studyPlan.ListHistory.length>0)
100
+      historyLength=studyPlan.ListHistory.length;
101
+
92 102
     var taskNumber = newLength + reviewLength + historyLength;
93 103
     var progress = 0;
94 104
     if (studyPlan.AlreadyPracticeNumber + taskNumber > 0)

+ 4 - 0
pages/template/cardShow.wxml

@@ -32,6 +32,8 @@
32 32
 
33 33
       <view class="imageContainer FlexColumn" wx:if="{{item.Type=='image'}}" style='width:{{item.Width}}rpx;height:{{item.Height}}rpx;'>
34 34
         <image class="imageFree" mode="widthFix" src='{{item.Content}}' bindtap='showImage' data-name="{{item.Content}}" data-serverurl="{{item.ContentServer}}" binderror="onBindError" />
35
+        <view class="BishunPlay FlexColumn" wx:if="{{ item.IsShowBishun }}" catchtap="showBishunOrKaiti" data-url="{{item.Content}}" data-serverurl="{{item.ContentServer}}" data-type="bishun">▶︎</view>
36
+        <view class="BishunPlay FlexColumn" wx:if="{{ item.IsShowKaiti }}" catchtap="showBishunOrKaiti" data-url="{{item.Content}}" data-serverurl="{{item.ContentServer}}" data-type="kaiti">■</view>
35 37
       </view>
36 38
       </block>
37 39
     </view>
@@ -85,6 +87,8 @@
85 87
           </view>
86 88
           <view class="imageContainer2 FlexColumn" wx:if="{{item.Type=='image'}}" style='width:{{item.Width}}rpx;height:{{item.Height}}rpx;'>
87 89
             <image class="imageFree2" mode="widthFix" src='{{item.Content}}' bindtap='showImage' data-name="{{item.Content}}" data-serverurl="{{item.ContentServer}}" binderror="onBindError" />
90
+            <view class="BishunPlay FlexColumn" wx:if="{{ item.IsShowBishun }}" catchtap="showBishunOrKaiti" data-url="{{item.Content}}" data-serverurl="{{item.ContentServer}}" data-type="bishun">▶︎</view>
91
+            <view class="BishunPlay FlexColumn" wx:if="{{ item.IsShowKaiti }}" catchtap="showBishunOrKaiti" data-url="{{item.Content}}" data-serverurl="{{item.ContentServer}}" data-type="kaiti">■</view>
88 92
           </view>
89 93
         </block>
90 94
       </view>

+ 1 - 1
pages/test/index.js

@@ -57,7 +57,7 @@ Page({
57 57
       var name1=e.currentTarget.dataset.name1;
58 58
       url="./item?testtype=read&name1="+name1+"&name2=英文字母&bookid=100";
59 59
     }
60
-    else{
60
+    else if (e.currentTarget.dataset.name1 && e.currentTarget.dataset.bookid){
61 61
       url="./list?name1="+e.currentTarget.dataset.name1+"&id="+e.currentTarget.dataset.bookid;
62 62
     }
63 63
     wx.navigateTo({

+ 67 - 9
pages/test/item.js

@@ -49,6 +49,8 @@ Page({
49 49
       if (options.bookid<100){
50 50
         if (options.bookid>=25 && options.bookid<=42)
51 51
           that.initAncientPoetry(options);
52
+        else if (options.bookid>=43 && options.bookid<=60)
53
+          that.initCi(options);
52 54
         else
53 55
           that.init(options);
54 56
       }
@@ -88,6 +90,44 @@ Page({
88 90
       }
89 91
     });
90 92
   },
93
+  initCi: function (options) {
94
+    var that = this;
95
+    that.setData({
96
+      TaskInfo: {},
97
+      TestType: options.testtype,
98
+      TestName1: options.name1,
99
+      TestName2: options.name2,
100
+    });
101
+    main.getData('GetHanziUnitWords?UserID='+app.globalData.userInfo.UserID+'&UnitID='+options.unitsid+'&TestType='+options.testtype, function (data) {
102
+      if (data) {
103
+        TaskList = [];
104
+        var list = data;
105
+        for (var k = 0; k < list.length; k++) {
106
+          var taskInfo = list[k];
107
+          
108
+          taskInfo.TagWidth=140;
109
+          taskInfo.FontSize=64;
110
+
111
+          taskInfo.ContentNew = main.changeStringToView(taskInfo.Content);
112
+          TaskList.push(taskInfo);
113
+        }
114
+
115
+        //TaskList = common.randomArray(TaskList);
116
+
117
+        that.setData({
118
+          TaskInfo: TaskList[0],
119
+          TaskLength: TaskList.length,
120
+          CurrentIndex: 0,
121
+        });
122
+
123
+        common.getStorageValue(that, "TestAutioPlay", 1, function () { 
124
+          if (that.data.TestAutioPlay == 1 && that.data.TestType == "write") {
125
+            that.playSound({ currentTarget: { dataset: { content: TaskList[that.data.CurrentIndex].ReadString } } })
126
+          }
127
+        });
128
+      }
129
+    });
130
+  },
91 131
   init2: function (options) {
92 132
     var that = this;
93 133
     var TestTask2=wx.getStorageSync("TestTask2");
@@ -259,17 +299,20 @@ Page({
259 299
     
260 300
     if (btnnumber>="0"){
261 301
       that.setSoundFile(0);
262
-      if (btnnumber==="4")
263
-        TaskList[that.data.CurrentIndex].Result = 1;
264
-      else if (btnnumber === "0")
265
-        TaskList[that.data.CurrentIndex].Result = -1;
266
-      else if (btnnumber === "1")
267
-        TaskList[that.data.CurrentIndex].Result = 0;
302
+      if (TaskList[that.data.CurrentIndex]){
303
+        if (btnnumber==="4")
304
+          TaskList[that.data.CurrentIndex].Result = 1;
305
+        else if (btnnumber === "0")
306
+          TaskList[that.data.CurrentIndex].Result = -1;
307
+        else if (btnnumber === "1")
308
+          TaskList[that.data.CurrentIndex].Result = 0;
309
+      }
310
+      
268 311
       that.data.CurrentIndex++;
269 312
     }
270 313
     else{
271 314
       that.setSoundFile(2);
272
-      if (TaskList[that.data.CurrentIndex].Result)
315
+      if (TaskList[that.data.CurrentIndex] && TaskList[that.data.CurrentIndex].Result)
273 316
         TaskList[that.data.CurrentIndex].Result=null;
274 317
       that.data.CurrentIndex--;
275 318
     }
@@ -314,7 +357,8 @@ Page({
314 357
       });
315 358
 
316 359
       if (that.data.TestAutioPlay == 1 && that.data.TestType == "read") {
317
-        that.playSound({ currentTarget: { dataset: { content: TaskList[that.data.CurrentIndex].ReadString } } })
360
+        if (TaskList[that.data.CurrentIndex] && TaskList[that.data.CurrentIndex].ReadString)
361
+          that.playSound({ currentTarget: { dataset: { content: TaskList[that.data.CurrentIndex].ReadString } } })
318 362
       }
319 363
     }
320 364
   },
@@ -409,7 +453,8 @@ Page({
409 453
         });
410 454
       }
411 455
       else {
412
-        this.audioCtx.pause();
456
+        if (this.audioCtx)
457
+          this.audioCtx.pause();
413 458
         if (innerAudioContext1)
414 459
           innerAudioContext1.stop();
415 460
         isPlaying = false;
@@ -484,6 +529,19 @@ Page({
484 529
       innerAudioContext1.stop();
485 530
     }
486 531
   },
532
+  showBishunOrKaiti:function(e){
533
+    var that=this;
534
+    main.downloadBishunKaitiImage(
535
+      e.currentTarget.dataset.url,
536
+      e.currentTarget.dataset.serverurl,
537
+      e.currentTarget.dataset.type,
538
+      that.data.TaskInfo.ContentNew.Field,function(fields){
539
+        that.data.TaskInfo.ContentNew.Field=fields;
540
+        that.setData({
541
+          TaskInfo: that.data.TaskInfo,
542
+        });
543
+      });
544
+  },
487 545
   onShareAppMessage: function () {
488 546
     return {
489 547
       title: app.globalData.ShareTitle,

+ 15 - 1
pages/test/item.wxss

@@ -272,6 +272,7 @@ page{
272 272
   margin: 6rpx 0;
273 273
   border-radius: 20rpx;
274 274
   background-color: rgba(0,0,0,0.1);
275
+  position: relative;
275 276
 }
276 277
 
277 278
 .panelItem .imageFree {
@@ -284,12 +285,25 @@ page{
284 285
   width: 650rpx;
285 286
   border-radius: 10rpx;
286 287
   background-color: rgba(0,0,0,0.1);
288
+  position: relative;
287 289
 }
288 290
 .panelItem .imageFree2 {
289 291
   width: 650rpx;
290 292
   border-radius: 10rpx;
291 293
 }
292
-
294
+.panelItem .BishunPlay{
295
+  width:80rpx;
296
+  height:80rpx;
297
+  background-color: #9B9B9B;
298
+  color:#fff;
299
+  position: absolute;
300
+  bottom:0;
301
+  right:0;
302
+  z-index: 10;
303
+  font-size:28rpx;
304
+  text-align: center;
305
+  line-height: 80rpx;
306
+}
293 307
 .panelItem .textBr {
294 308
   width: 100%;
295 309
   height: 24rpx;

+ 6 - 1
pages/test/list.js

@@ -60,8 +60,13 @@ Page({
60 60
       fieldName2="";
61 61
       listType="english";
62 62
     }
63
-    else
63
+    else{
64 64
       arr = wx.getStorageSync("HanziAll");
65
+      fieldName="字";
66
+      if (that.data.BookID > 24){
67
+        fieldName="词";
68
+      }
69
+    }
65 70
     
66 71
     that.setData({
67 72
       ListType: listType,

+ 5 - 5
pages/test/list.wxml

@@ -1,5 +1,5 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
-	<view class="text1" wx:if="{{ListType!='english'}}">请对照课本选择字组</view>
2
+	<view class="text1" wx:if="{{ListType!='english'}}">请对照课本选择字组或词组</view>
3 3
 	<view class="text1" wx:if="{{ListType=='english' && BookID>110 && BookID<120}}">将词汇等分成若干单元以便分批检验,分割方法并无特殊含义</view>
4 4
 	<view class="text1" wx:if="{{ListType=='english' && BookID>120 && BookID<130}}">词汇根据Lesson分组</view>
5 5
 	<view class="textNull" wx:if="{{ListType=='english' && ((BookID>130 && BookID<140) || (BookID>100 && BookID<110))}}"></view>
@@ -8,7 +8,7 @@
8 8
 		<view class="PanelItem FlexColumn" bindtap="onShowFrame" data-id="{{item.ID}}">
9 9
 			<view class="PanelItem1 FlexRow">
10 10
 				<view class="left FlexRow">
11
-					<view class="Word FlexRow" wx:if="{{ListType!='english'}}">
11
+					<view class="Word FlexRow" wx:if="{{ListType!='english' && (BookID<=24)}}">
12 12
 						<image class="img" src="{{ImagePath}}web/test/{{item.Words[0]}}.png" />
13 13
 					</view>
14 14
 					<view class="Title FlexRow">
@@ -22,7 +22,7 @@
22 22
 						<image wx:if="{{item.TestTypeWrite==1 && (BookID<=100 || BookID>110)}}" class="examine_willwrite_gray_22x22" src="../images/examine_willwrite_green_22x22.png"></image>
23 23
 						<image wx:if="{{!item.TestTypeWrite && (BookID<=100 || BookID>110)}}" class="examine_willwrite_gray_22x22" src="../images/examine_willwrite_gray_22x22.png"></image>
24 24
 					</view>
25
-					<view class="right2">{{item.Words.length}}个<block wx:if="{{ListType=='english'}}">{{FieldName}}</block><block wx:if="{{ListType=='hanzi'}}">字</block></view>
25
+					<view class="right2">{{item.Words.length}}个{{FieldName}}</view>
26 26
 				</view>
27 27
 			</view>
28 28
 			<view class="lineWidthAll FlexRow" wx:if="{{ListType!='english'}}">
@@ -51,7 +51,7 @@
51 51
 			</view>
52 52
 			<view class="btnPanel FlexColumn">
53 53
 				
54
-				<view wx:if="{{SelectItem.TestTypeReadFinished}}" class="btn FlexRow" bindtap="gotoTestReportInfo" data-id="{{SelectItem.ReadReportID}}" data-url="./item?testtype=read&bookid={{BookID}}&unitsid={{SelectItem.ID}}&name1={{Name1}}&name2={{SelectItem.Name}}">
54
+				<view wx:if="{{SelectItem.TestTypeReadFinished}}" class="btn FlexRow" bindtap="gotoTestReportInfo" data-id="{{SelectItem.ReadReportID}}" data-type="read" data-url="./item?testtype=read&bookid={{BookID}}&unitsid={{SelectItem.ID}}&name1={{Name1}}&name2={{SelectItem.Name}}">
55 55
 					<image src="../images/examine_willread_gray_30x30.png" class="examine_willread_gray_30x30" />
56 56
 					<view class="SelectContainer1Text3">会念</view>
57 57
 				</view>
@@ -63,7 +63,7 @@
63 63
 				<view wx:if="{{!SelectItem.TestTypeReadFinished}}" class="btnPanel21" bindtap="gotoTestReportInfo" data-id="{{SelectItem.ReadReportID}}" data-type="restart">
64 64
 					重新开始
65 65
 				</view>
66
-				<view wx:if="{{SelectItem.TestTypeWriteFinished}}" class="btn FlexRow" bindtap="gotoTestReportInfo" data-id="{{SelectItem.WriteReportID}}" data-url="./item?testtype=write&bookid={{BookID}}&unitsid={{SelectItem.ID}}&name1={{Name1}}&name2={{SelectItem.Name}}">
66
+				<view wx:if="{{SelectItem.TestTypeWriteFinished}}" class="btn FlexRow" bindtap="gotoTestReportInfo" data-id="{{SelectItem.WriteReportID}}" data-type="write" data-url="./item?testtype=write&bookid={{BookID}}&unitsid={{SelectItem.ID}}&name1={{Name1}}&name2={{SelectItem.Name}}">
67 67
 					<image src="../images/examine_willwrite_gray_27x27.png" class="examine_willwrite_gray_27x27" />
68 68
 					<view class="SelectContainer1Text3">会写</view>
69 69
 				</view>

+ 8 - 0
pages/test/wordlist.js

@@ -14,6 +14,8 @@ Page({
14 14
       ShowType:options.type,
15 15
     });
16 16
 
17
+    
18
+       
17 19
     var words=[];
18 20
     var unitsName="";
19 21
     var fieldName="";
@@ -21,9 +23,14 @@ Page({
21 23
     if (options.type=="CHN"){
22 24
       arr= wx.getStorageSync("HanziAll");
23 25
       fieldName="字";
26
+      var bookid=Number(options.unitsid);
27
+      
28
+      if (bookid>24 && bookid<100)
29
+        fieldName="词";
24 30
     }
25 31
     else{
26 32
       var bookid=Number(options.bookid);
33
+
27 34
       fieldName="单词";
28 35
       if (bookid>100 && bookid<110){
29 36
         arr= wx.getStorageSync("PhoneticEngList");
@@ -35,6 +42,7 @@ Page({
35 42
         arr= wx.getStorageSync("NewConceptEngList");
36 43
       else if (bookid>=130 && bookid<140)
37 44
         arr= wx.getStorageSync("CambridgeEngList");
45
+      
38 46
     }
39 47
     arr = JSON.parse(arr);
40 48
     var unitsid = Number(options.unitsid);

+ 1 - 1
pages/test/wordlist.wxml

@@ -5,7 +5,7 @@
5 5
   </view>
6 6
   <view class="panelMain FlexColumn">
7 7
     <view class="panelMain1 FlexRow" wx:if="{{ShowType=='CHN'}}">
8
-      <view class="item" wx:for="{{Words}}" wx:key="index" >
8
+      <view class="item2" wx:for="{{Words}}" wx:key="index" >
9 9
       {{item}}
10 10
       </view>
11 11
     </view>

+ 85 - 0
project.private.config.json

@@ -0,0 +1,85 @@
1
+{
2
+  "condition": {
3
+    "plugin": {
4
+      "list": []
5
+    },
6
+    "game": {
7
+      "list": []
8
+    },
9
+    "gamePlugin": {
10
+      "list": []
11
+    },
12
+    "miniprogram": {
13
+      "list": [
14
+        {
15
+          "id": 0,
16
+          "name": "分享",
17
+          "pathName": "pages/index/index",
18
+          "query": "UserID=1&type=share&MiaoguoCardID=71228",
19
+          "scene": null
20
+        },
21
+        {
22
+          "id": 1,
23
+          "name": "pages/index/index",
24
+          "pathName": "pages/index/index",
25
+          "query": "type=activity&ActivityID=2&EndTime=2019年10月07日&EarlyBirdTimeStart=2019年09月23日&EarlyBirdTimeEnd=2019年10月05日",
26
+          "scene": 1007
27
+        },
28
+        {
29
+          "id": 3,
30
+          "name": "webview",
31
+          "pathName": "pages/other/webview",
32
+          "query": "UserID=1",
33
+          "scene": 1001
34
+        },
35
+        {
36
+          "id": 4,
37
+          "name": "pages/other/activity",
38
+          "pathName": "pages/other/activity",
39
+          "query": "EndTime=2019-09-01",
40
+          "scene": 1001
41
+        },
42
+        {
43
+          "id": 4,
44
+          "name": "pages/other/paycustom",
45
+          "pathName": "pages/other/paycustom",
46
+          "query": "",
47
+          "scene": null
48
+        },
49
+        {
50
+          "id": 6,
51
+          "name": "用户手册",
52
+          "pathName": "pages/index/index",
53
+          "query": "type=userbook",
54
+          "scene": null
55
+        },
56
+        {
57
+          "id": 6,
58
+          "name": "pages/index/index",
59
+          "pathName": "pages/index/index",
60
+          "query": "type=paycontinue&EndDate=2020-09-15",
61
+          "scene": null
62
+        },
63
+        {
64
+          "id": 7,
65
+          "name": "pages/test/index",
66
+          "pathName": "pages/test/index",
67
+          "query": "UserID=1",
68
+          "scene": null
69
+        },
70
+        {
71
+          "name": "pages/index/index",
72
+          "pathName": "pages/index/index",
73
+          "query": "type=lesson&LessonID=all&ListType=simple&UserID=1",
74
+          "scene": 1047
75
+        },
76
+        {
77
+          "name": "pages/other/newuser",
78
+          "pathName": "pages/other/newuser",
79
+          "query": "",
80
+          "scene": null
81
+        }
82
+      ]
83
+    }
84
+  }
85
+}

+ 92 - 0
utils/constant.js

@@ -1,4 +1,16 @@
1 1
 module.exports = {
2
+  arrSoundError:[
3
+    {
4
+        Word: "藤蔓",
5
+        Sound: "藤蔓(wan4)",
6
+    }, {
7
+        Word: "呲牙",
8
+        Sound: "呲(ci1)牙",
9
+    }, {
10
+        Word: "呢(ne)",
11
+        Sound: "呢",
12
+    },
13
+  ],
2 14
   arrMenuText: [{
3 15
       Text1: "更换练习模式吗?",
4 16
       Text2: "恭喜您,制作了第一张紧急练习题卡。\n要练习这张题卡必须更改当前练习模式,现在就更换吗?",
@@ -288,6 +300,14 @@ module.exports = {
288 300
       Finish: 0,
289 301
       Total: 28,
290 302
       Image: "../images/examine_subject_a003.png"
303
+    },{
304
+      ID: 45,
305
+      Type: "Shizi",
306
+      Name: "语文词语",
307
+      Name2: "上学期",
308
+      Finish: 0,
309
+      Total: 22,
310
+      Image: "../images/examine_subject_a003.png"
291 311
     },{
292 312
       ID: 27,
293 313
       Type: "Shici",
@@ -312,6 +332,14 @@ module.exports = {
312 332
       Finish: 0,
313 333
       Total: 29,
314 334
       Image: "../images/examine_subject_a004.png"
335
+    }, {
336
+      ID: 46,
337
+      Type: "Shizi",
338
+      Name: "语文词语",
339
+      Name2: "下学期",
340
+      Finish: 0,
341
+      Total: 23,
342
+      Image: "../images/examine_subject_a004.png"
315 343
     }, {
316 344
       ID: 28,
317 345
       Type: "Shici",
@@ -343,6 +371,14 @@ module.exports = {
343 371
       Finish: 0,
344 372
       Total: 28,
345 373
       Image: "../images/examine_subject_a005.png"
374
+    }, {
375
+      ID: 47,
376
+      Type: "Shizi",
377
+      Name: "语文词语",
378
+      Name2: "上学期",
379
+      Finish: 0,
380
+      Total: 17,
381
+      Image: "../images/examine_subject_a005.png"
346 382
     }, {
347 383
       ID: 29,
348 384
       Type: "Shici",
@@ -367,6 +403,14 @@ module.exports = {
367 403
       Finish: 0,
368 404
       Total: 21,
369 405
       Image: "../images/examine_subject_a006.png"
406
+    }, {
407
+      ID: 48,
408
+      Type: "Shizi",
409
+      Name: "语文词语",
410
+      Name2: "下学期",
411
+      Finish: 0,
412
+      Total: 18,
413
+      Image: "../images/examine_subject_a006.png"
370 414
     }, {
371 415
       ID: 30,
372 416
       Type: "Shici",
@@ -398,6 +442,14 @@ module.exports = {
398 442
       Finish: 0,
399 443
       Total: 20,
400 444
       Image: "../images/examine_subject_a007.png"
445
+    },  {
446
+      ID: 49,
447
+      Type: "Shizi",
448
+      Name: "语文词语",
449
+      Name2: "上学期",
450
+      Finish: 0,
451
+      Total: 16,
452
+      Image: "../images/examine_subject_a007.png"
401 453
     },  {
402 454
       ID: 31,
403 455
       Type: "Shici",
@@ -422,6 +474,14 @@ module.exports = {
422 474
       Finish: 0,
423 475
       Total: 20,
424 476
       Image: "../images/examine_subject_a008.png"
477
+    }, {
478
+      ID: 50,
479
+      Type: "Shizi",
480
+      Name: "语文词语",
481
+      Name2: "下学期",
482
+      Finish: 0,
483
+      Total: 16,
484
+      Image: "../images/examine_subject_a008.png"
425 485
     }, {
426 486
       ID: 32,
427 487
       Type: "Shici",
@@ -453,6 +513,14 @@ module.exports = {
453 513
       Finish: 0,
454 514
       Total: 21,
455 515
       Image: "../images/examine_subject_a009.png"
516
+    }, {
517
+      ID: 51,
518
+      Type: "Shizi",
519
+      Name: "语文词语",
520
+      Name2: "上学期",
521
+      Finish: 0,
522
+      Total: 16,
523
+      Image: "../images/examine_subject_a009.png"
456 524
     }, {
457 525
       ID: 33,
458 526
       Type: "Shici",
@@ -477,6 +545,14 @@ module.exports = {
477 545
       Finish: 0,
478 546
       Total: 16,
479 547
       Image: "../images/examine_subject_a010.png"
548
+    }, {
549
+      ID: 52,
550
+      Type: "Shizi",
551
+      Name: "语文词语",
552
+      Name2: "下学期",
553
+      Finish: 0,
554
+      Total: 12,
555
+      Image: "../images/examine_subject_a010.png"
480 556
     }, {
481 557
       ID: 34,
482 558
       Type: "Shici",
@@ -502,6 +578,14 @@ module.exports = {
502 578
         Finish: 0,
503 579
         Total: 18,
504 580
         Image: "../images/examine_subject_a011.png"
581
+      }, {
582
+        ID: 53,
583
+        Type: "Shizi",
584
+        Name: "语文词语",
585
+        Name2: "上学期",
586
+        Finish: 0,
587
+        Total: 14,
588
+        Image: "../images/examine_subject_a011.png"
505 589
       }, {
506 590
         ID: 35,
507 591
         Type: "Shici",
@@ -518,6 +602,14 @@ module.exports = {
518 602
         Finish: 0,
519 603
         Total: 12,
520 604
         Image: "../images/examine_subject_a012.png"
605
+      }, {
606
+        ID: 54,
607
+        Type: "Shizi",
608
+        Name: "语文词语",
609
+        Name2: "下学期",
610
+        Finish: 0,
611
+        Total: 7,
612
+        Image: "../images/examine_subject_a012.png"
521 613
       }, {
522 614
         ID: 36,
523 615
         Type: "Shici",

+ 166 - 69
utils/main.js

@@ -249,21 +249,24 @@ function changeViewToString(content) {
249 249
 }
250 250
 
251 251
 function EncryptUrl(str) {
252
-  if (str.constructor == Array) {
252
+  if (str && str.constructor && str.constructor == Array) {
253 253
     if (str.length > 0)
254 254
       str = str.join(",");
255 255
     else
256 256
       str = "";
257 257
   }
258
+  
258 259
   if (str) {
259 260
     str = str.replace(/baidu.com/g, "#####1#####");
260 261
     str = str.replace(/iciba.com/g, "#####2#####");
261 262
     str = str.replace(/https:\/\/pinyin.kylx365.com\/sounds/g, "#####3#####");
262 263
     str = str.replace(/https:\/\/miaguo-1253256735.file.myqcloud.com/g, "#####4#####");
264
+    
265
+    if (str.substr(0, 1) == "\n")
266
+      str = str.substr(1);
263 267
   }
264 268
 
265
-  if (str.substr(0, 1) == "\n")
266
-    str = str.substr(1);
269
+  
267 270
   return str;
268 271
 }
269 272
 
@@ -339,6 +342,10 @@ function changeStringToView(field) {
339 342
 
340 343
               obj.ContentServer = obj.ContentServer.substring(obj.ContentServer.indexOf("]") + 1);
341 344
               obj.Content = getTempImage(obj.ContentServer);
345
+              if (obj.Content.lastIndexOf("fm=58")>=0)
346
+                obj.IsShowBishun=true;
347
+              else if (obj.Content.indexOf("hanyu-word-gif")>0)
348
+                obj.IsShowKaiti=true;
342 349
               result.Images.push(obj.Content);
343 350
             }
344 351
             arrResult.push(obj);
@@ -785,77 +792,92 @@ function getMemoryLevel(index, number, time) {
785 792
 }
786 793
 //得到要检验的汉字列表
787 794
 function GetHanziUnitWords(unitsID, testType, callback) {
788
-  getData('GetHanziUnitWords?UnitID=' + unitsID, function (data) {
795
+  var url='GetHanziUnitWords?UnitID=' + unitsID;
796
+  if (testType)
797
+    url+="&TestType="+testType;
798
+  getData(url, function (data) {
789 799
     if (data) {
790 800
       var TaskList = [];
791 801
       var words = data;
792
-      for (var k = 0; k < words.length; k++) {
793
-        var taskInfo = {
794
-          FontSize: 144,
795
-          TagWidth: 136,
796
-          Content: [{
797
-              ContentType: 0,
798
-              Content: []
799
-            },
800
-            {
801
-              ContentType: 1,
802
-              Content: []
803
-            },
804
-            {
805
-              ContentType: 2,
806
-              Content: []
807
-            },
808
-          ]
809
-        };
810
-        taskInfo.Word = words[k].Name;
811
-
812
-        var pinyinNormal = "(" + getPinyinNormal(words[k].Pinyin) + ")";
813
-        var combineWords = common.ReplaceAllString(words[k].CombineWords, words[k].Name, words[k].Name + pinyinNormal);
814
-
815
-        taskInfo.ReadString = words[k].Name + pinyinNormal + "," + combineWords + "的" + words[k].Name + pinyinNormal;
816
-
817
-        if (testType == "read") {
818
-          taskInfo.Content[0].Content = ["怎么念"];
819
-          var question = words[k].CombineWords;
820
-          question = common.ReplaceAllString(question, words[k].Name, "(" + words[k].Name + ")");
821
-          taskInfo.Content[1].Content = question;
822
-
823
-
824
-          var answer = "[读 src='" + taskInfo.ReadString + "']" + words[k].Pinyin + "[/读]";
825
-          taskInfo.Content[2].Content = answer;
826
-
827
-          if (words[k].CombineWords.length > 6) {
828
-            taskInfo.FontSize = 108;
829
-            if (words[k].CombineWords.length > 10) {
830
-              taskInfo.FontSize = 68;
802
+
803
+      //若是单字
804
+      if (words[0].Pinyin){
805
+        for (var k = 0; k < words.length; k++) {
806
+          var taskInfo = {
807
+            FontSize: 144,
808
+            TagWidth: 136,
809
+            Content: [{
810
+                ContentType: 0,
811
+                Content: []
812
+              },
813
+              {
814
+                ContentType: 1,
815
+                Content: []
816
+              },
817
+              {
818
+                ContentType: 2,
819
+                Content: []
820
+              },
821
+            ]
822
+          };
823
+          taskInfo.Word = words[k].Name;
824
+  
825
+          var pinyinNormal = "(" + getPinyinNormal(words[k].Pinyin) + ")";
826
+          var combineWords = common.ReplaceAllString(words[k].CombineWords, words[k].Name, words[k].Name + pinyinNormal);
827
+  
828
+          taskInfo.ReadString = words[k].Name + pinyinNormal + "," + combineWords + "的" + words[k].Name + pinyinNormal;
829
+  
830
+          if (testType == "read") {
831
+            taskInfo.Content[0].Content = ["怎么念"];
832
+            var question = words[k].CombineWords;
833
+            question = common.ReplaceAllString(question, words[k].Name, "(" + words[k].Name + ")");
834
+            taskInfo.Content[1].Content = question;
835
+  
836
+  
837
+            var answer = "[读 src='" + taskInfo.ReadString + "']" + words[k].Pinyin + "[/读]";
838
+            taskInfo.Content[2].Content = answer;
839
+  
840
+            if (words[k].CombineWords.length > 6) {
841
+              taskInfo.FontSize = 108;
842
+              if (words[k].CombineWords.length > 10) {
843
+                taskInfo.FontSize = 68;
844
+              }
831 845
             }
832
-          }
833
-        } else if (testType == "write") {
834
-          taskInfo.Content[0].Content = ["怎么写"];
835
-
836
-          var question = words[k].CombineWords;
837
-          var question2 = common.ReplaceAllString(question, words[k].Name, words[k].Pinyin);
838
-
839
-          question = "[读 src='" + taskInfo.ReadString + "']" + question2 + "[/读]"
840
-          taskInfo.Content[1].Content = question;
841
-          var answer = words[k].Name;
842
-          answer += "[图 w='650' h='650']" + words[k].BiShunUrl + "[/图]";
843
-          taskInfo.Content[2].Content = answer;
844
-
845
-          if (question2.length > 6) {
846
-            taskInfo.FontSize = 108;
847
-            if (question2.length > 10) {
848
-              taskInfo.FontSize = 68;
849
-              if (question2.length > 14) {
850
-                taskInfo.FontSize = 48;
846
+          } else if (testType == "write") {
847
+            taskInfo.Content[0].Content = ["怎么写"];
848
+  
849
+            var question = words[k].CombineWords;
850
+            var question2 = common.ReplaceAllString(question, words[k].Name, words[k].Pinyin);
851
+  
852
+            question = "[读 src='" + taskInfo.ReadString + "']" + question2 + "[/读]"
853
+            taskInfo.Content[1].Content = question;
854
+            var answer = words[k].Name;
855
+            answer += "[图 w='650' h='650']" + words[k].BiShunUrl + "[/图]";
856
+            taskInfo.Content[2].Content = answer;
857
+  
858
+            if (question2.length > 6) {
859
+              taskInfo.FontSize = 108;
860
+              if (question2.length > 10) {
861
+                taskInfo.FontSize = 68;
862
+                if (question2.length > 14) {
863
+                  taskInfo.FontSize = 48;
864
+                }
851 865
               }
852 866
             }
853 867
           }
868
+          taskInfo.ContentNew = changeStringToView(taskInfo.Content);
869
+          TaskList.push(taskInfo);
854 870
         }
855
-        taskInfo.ContentNew = changeStringToView(taskInfo.Content);
856
-        TaskList.push(taskInfo);
871
+  
857 872
       }
858
-
873
+      else{ //若是词语
874
+        for (var k = 0; k < words.length; k++) {
875
+          var taskInfo = words[k];          
876
+          taskInfo.ContentNew = changeStringToView(taskInfo.Content);
877
+          TaskList.push(taskInfo);
878
+        }
879
+      }
880
+      
859 881
       callback(TaskList);
860 882
     } else {
861 883
       callback([]);
@@ -1036,14 +1058,18 @@ function GetTestReportInfo(reportid, callback) {
1036 1058
         
1037 1059
       } 
1038 1060
       else {
1039
-        name1 = name1[0] + name1[1].substr(2, 2) + "能力" + name1[2].substr(0, 1);
1061
+        var obj = UserTestReport[n];
1062
+                
1063
+        if (obj.BookID>=43 && obj.BookID<=60)
1064
+          name1 = name1[0] + "生词" + name1[2].substr(0, 1);
1065
+        else
1066
+          name1 = name1[0] + name1[1].substr(2, 2) + "能力" + name1[2].substr(0, 1);
1040 1067
         var HanziAll = wx.getStorageSync('HanziAll');
1041 1068
         HanziAll = JSON.parse(HanziAll);
1042 1069
         for (var i = 0; i < HanziAll.length; i++) {
1043 1070
           if (name1 == HanziAll[i].Name) {
1044 1071
             for (var j = 0; j < HanziAll[i].Units.length; j++) {
1045 1072
               if (name2 == HanziAll[i].Units[j].Name) {
1046
-                var obj = UserTestReport[n];
1047 1073
                 GetHanziUnitWords(HanziAll[i].Units[j].ID, obj.TestType, function (list) {
1048 1074
                   if (list) {
1049 1075
                     for (var k = 0; k < list.length; k++) {
@@ -1086,7 +1112,7 @@ function getDetailColor(index) {
1086 1112
   if (index > 0)
1087 1113
     return arrDetailColor[index];
1088 1114
   else if (index == 0)
1089
-    return arrDetailColor[common.random(1, arr.length - 1)];
1115
+    return arrDetailColor[common.random(1, arrDetailColor.length - 1)];
1090 1116
   else if (index == -1)
1091 1117
     return arrDetailColor;
1092 1118
 }
@@ -1172,7 +1198,7 @@ function UploadUserConfig(callback) {
1172 1198
   if (folderOrder)
1173 1199
     param1.FolderOrder = folderOrder;
1174 1200
   
1175
-
1201
+  //console.log(param1);
1176 1202
   that.postData('UploadUserConfig?Type=update&UserID=' + app.globalData.userInfo.UserID, param1, function (data) {
1177 1203
     if (callback) {
1178 1204
       callback();
@@ -1377,6 +1403,75 @@ function searchInfomation(search,searchtype,author,shiciurl,callback){
1377 1403
   });
1378 1404
 }
1379 1405
 
1406
+function downloadBishunKaitiImage(url,serverUrl,dataType,Fields,callback){
1407
+  var param={};
1408
+  param.Url=url;
1409
+  param.DataType=dataType;
1410
+
1411
+  if (param.Url==serverUrl){
1412
+    postData("GetBiShunByKaitiUrl",param, function (data) {
1413
+      if (data) {
1414
+        wx.downloadFile({
1415
+          url: data, // 仅为示例,并非真实的资源
1416
+          success(res) {
1417
+            // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
1418
+            if (res.statusCode === 200) {
1419
+              //console.log("serverUrl2:" + serverUrl);
1420
+              console.log(res.tempFilePath);
1421
+              callback(change(Fields,res.tempFilePath,param));
1422
+            }
1423
+          },
1424
+          complete(){
1425
+            
1426
+          }
1427
+        });
1428
+      }
1429
+    });
1430
+  }
1431
+  else{
1432
+    callback(change(Fields,serverUrl,param));
1433
+  }
1434
+
1435
+  function change(Fields,filepath,param){
1436
+    var iStart=0;
1437
+    if (Fields.length==4)
1438
+    iStart=1
1439
+    for (var i = iStart; i < Fields.length; i++) {
1440
+      for (var j = 0; j < Fields[i].length; j++) {
1441
+        if (Fields[i][j].Type == "image") {
1442
+          if (Fields[i][j].Content==param.Url){
1443
+            Fields[i][j].Content = filepath;
1444
+            if (param.DataType=="bishun"){
1445
+              Fields[i][j].IsShowKaiti=true;
1446
+              Fields[i][j].IsShowBishun=false;
1447
+            }
1448
+            else if (param.DataType=="kaiti"){
1449
+              Fields[i][j].IsShowKaiti=false;
1450
+              Fields[i][j].IsShowBishun=true;
1451
+            }
1452
+          }
1453
+        }
1454
+      }
1455
+    }
1456
+    return Fields;
1457
+  }
1458
+}
1459
+
1460
+function GetSoundError(str) {
1461
+  var arr=constant.arrSoundError;
1462
+  var result=str;
1463
+  for(var i=0;i<arr.length;i++){
1464
+      if (str.indexOf(arr[i].Word)>0){
1465
+          result=common.ReplaceAllString(str,arr[i].Word,arr[i].Sound);
1466
+          break;
1467
+      }
1468
+      else if (str==arr[i].Word){
1469
+        result=arr[i].Sound;
1470
+      }
1471
+  }
1472
+  return result;
1473
+}
1474
+
1380 1475
 module.exports = {
1381 1476
   getData: getData,
1382 1477
   postData: postData,
@@ -1414,4 +1509,6 @@ module.exports = {
1414 1509
   getAwardData: getAwardData,
1415 1510
   replaceCardInfoString: replaceCardInfoString,
1416 1511
   searchInfomation:searchInfomation,
1512
+  downloadBishunKaitiImage:downloadBishunKaitiImage,
1513
+  GetSoundError:GetSoundError,
1417 1514
 }