chengjie пре 2 година
родитељ
комит
292fe9d7bc
43 измењених фајлова са 3190 додато и 92 уклоњено
  1. 6 5
      app.js
  2. 5 6
      app.json
  3. BIN
      pages/images/mg4_iconNext_2.png
  4. BIN
      pages/images/mg4_iconTools_4.png
  5. 12 0
      pages/index/index.js
  6. 27 2
      pages/main/default.js
  7. 9 2
      pages/main/default.wxml
  8. 41 1
      pages/main/default.wxss
  9. 32 8
      pages/main/detail.js
  10. 15 7
      pages/main/detail.wxml
  11. 16 0
      pages/main/detail.wxss
  12. 2 2
      pages/main/health.wxml
  13. 105 0
      pages/main/remind.js
  14. 4 0
      pages/main/remind.json
  15. 36 0
      pages/main/remind.wxml
  16. 45 0
      pages/main/remind.wxss
  17. 14 21
      pages/main/systemsetting.js
  18. 35 4
      pages/main/systemsetting.wxml
  19. 4 0
      pages/main/systemsetting.wxss
  20. 1 1
      pages/other/annualreport.wxml
  21. 1 1
      pages/other/tips.js
  22. 1 0
      pages/plan/studyplandetail.js
  23. 136 0
      pages/plan/taskBasic.js
  24. 8 0
      pages/plan/taskBasic.json
  25. 182 0
      pages/plan/taskBasic.wxml
  26. 433 0
      pages/plan/taskBasic.wxss
  27. 455 0
      pages/plan/taskFull.js
  28. 8 0
      pages/plan/taskFull.json
  29. 377 0
      pages/plan/taskFull.wxml
  30. 729 0
      pages/plan/taskFull.wxss
  31. 96 0
      pages/plan/taskHelp.js
  32. 6 0
      pages/plan/taskHelp.json
  33. 127 0
      pages/plan/taskHelp.wxml
  34. 170 0
      pages/plan/taskHelp.wxss
  35. 1 1
      pages/share/shareindex.wxml
  36. 15 0
      pages/share/shareitem.js
  37. 2 2
      pages/template/Fan.wxml
  38. 1 0
      pages/template/Fan.wxss
  39. 2 3
      pages/template/FanObject.js
  40. 0 1
      pages_test/test/index.js
  41. 5 4
      project.private.config.json
  42. 6 6
      utils/constant.js
  43. 20 15
      utils/main.js

+ 6 - 5
app.js

@@ -1,8 +1,8 @@
1 1
 App({
2 2
   globalData: {
3
-    Version: "2.3.51",
4
-    IsProduction: true,
5
-    //IsProduction: false,
3
+    Version: "2.3.61",
4
+    //IsProduction: true,
5
+    IsProduction: false,
6 6
     ShareTitle: "高效学习从秒过开始",
7 7
     SharePath: "pages/index/index",
8 8
     ShareImage: '../images/program_screenshot_main.png',
@@ -80,7 +80,8 @@ App({
80 80
       if (this.globalData.systemInfo.model.indexOf("X") >= 0
81 81
         || this.globalData.systemInfo.model.indexOf("11") >= 0
82 82
         || this.globalData.systemInfo.model.indexOf("12") >= 0
83
-        || this.globalData.systemInfo.model.indexOf("13") >= 0)
83
+        || this.globalData.systemInfo.model.indexOf("13") >= 0 
84
+        || this.globalData.systemInfo.model.indexOf("14") >= 0)
84 85
         this.globalData.IsIPhoneX=true;
85 86
     }
86 87
 
@@ -92,5 +93,5 @@ App({
92 93
       this.globalData.IsOppo=true;
93 94
     }
94 95
   }
95
-  
96
+
96 97
 })

+ 5 - 6
app.json

@@ -1,7 +1,11 @@
1 1
 {
2 2
   "pages": [
3 3
     "pages/index/index",
4
+    "pages/plan/taskBasic",
5
+    "pages/plan/taskHelp",
6
+    "pages/plan/taskFull",
4 7
 
8
+    "pages/main/remind",
5 9
     "pages/share/cardlist",
6 10
     
7 11
     "pages/share/shareitem",
@@ -35,12 +39,6 @@
35 39
 
36 40
     "pages/plan/clicktype",
37 41
     "pages/plan/colorplan",
38
-    "pages/plan/sortRule",
39
-    "pages/plan/setting",
40
-
41
-    "pages/plan/studyplan",
42
-    "pages/plan/studyplandetail",
43
-        
44 42
     "pages/other/family",
45 43
     "pages/other/recover",
46 44
     "pages/other/grade",
@@ -122,5 +120,6 @@
122 120
   "requiredBackgroundModes": [
123 121
     "audio"
124 122
   ],
123
+  "lazyCodeLoading": "requiredComponents",
125 124
   "sitemapLocation": "sitemap.json"
126 125
 }

BIN
pages/images/mg4_iconNext_2.png


BIN
pages/images/mg4_iconTools_4.png


+ 12 - 0
pages/index/index.js

@@ -142,6 +142,18 @@ Page({
142 142
           gotoUrl: "../other/help?IsShare=1&id=" + options.ID+"&idchild="+options.IDChild,
143 143
         });
144 144
       }
145
+      else if (options.type == "remind") {
146
+        this.setData({
147
+          gotoType: "other",
148
+          gotoUrl: "../main/remind",
149
+        });
150
+      }
151
+      else if (options.type == "tips") {
152
+        this.setData({
153
+          gotoType: "other",
154
+          gotoUrl: "../other/tips",
155
+        });
156
+      }
145 157
       else if (options.type == "paycustom") {
146 158
         this.setData({
147 159
           gotoType: "other",

+ 27 - 2
pages/main/default.js

@@ -145,6 +145,13 @@ Page({
145 145
         IsShowHelp: false,
146 146
       });
147 147
     }
148
+
149
+    //显示提醒练习
150
+    var IsNotShowRemindPractice = wx.getStorageSync("IsNotShowRemindPractice");
151
+    that.setData({
152
+      IsNotShowRemindPractice: IsNotShowRemindPractice,
153
+    });
154
+    
148 155
   },
149 156
   init: function () {
150 157
     //显示练习模式
@@ -213,11 +220,16 @@ Page({
213 220
     var that = this;
214 221
     main.UpdateMiaoguoCardTodayAll(true, function () {
215 222
       main.getTaskTodayList(function (data) {
223
+        
216 224
         if (data.IsMaintain == 1) {
217 225
           that.setData({
218 226
             IsMaintain: 1,
219 227
           });
220 228
         } else {
229
+          //若基础任务量存在,则重新获得配置数据
230
+          if (data.BasicCardLimit)
231
+            main.getUserConfig();
232
+
221 233
           var TodayTaskNumber = data.ListNew.length + data.ListReview.length + data.ListHistory.length;
222 234
           that.setData({
223 235
             DayNumber: data.DayNumber,
@@ -254,7 +266,7 @@ Page({
254 266
 
255 267
             } else {
256 268
 
257
-              if (app.globalData.MemoryLevel == 0 && data.DayNumber >= 8) {
269
+              if (app.globalData.MemoryLevel == 0 && data.DayNumber >= 30) {
258 270
                 var IsShowPatternMenu = wx.getStorageSync("IsShowPatternMenu");
259 271
                 if (!IsShowPatternMenu) {
260 272
                   wx.navigateTo({
@@ -524,9 +536,15 @@ Page({
524 536
       IsShowRemind: false,
525 537
     });
526 538
     wx.setStorageSync("IsShowMarketingTime", common.formatTime(common.addDate("d", 30, new Date())));
527
-    //判断每30天是否是高级模式
539
+    //判断每30天是否是完整模式
528 540
     wx.removeStorageSync('IsShowPatternMenu');
529 541
   },
542
+  closeRemindPractice: function () {
543
+    this.setData({
544
+      IsNotShowRemindPractice: 1,
545
+    });
546
+    wx.setStorageSync("IsNotShowRemindPractice", 1);
547
+  },
530 548
   showUserFamily: function () {
531 549
     this.setData({
532 550
       IsShowUserFamily: 2,
@@ -556,6 +574,13 @@ Page({
556 574
     });
557 575
     wx.setStorageSync('IsHelpAddInfomation', 0);
558 576
   },
577
+  gotoTaskSetting:function(e){
578
+    var taskSetting=wx.getStorageSync("TaskSetting");
579
+    if (taskSetting)
580
+      this.goto({currentTarget:{dataset:{url:"../plan/taskFull"}}});
581
+    else
582
+      this.goto({currentTarget:{dataset:{url:"../plan/taskBasic"}}});
583
+  },
559 584
   onShareAppMessage: function () {
560 585
     if (wx.getStorageSync("IsHelpAddInfomation") == 1) {
561 586
       return {

+ 9 - 2
pages/main/default.wxml

@@ -21,10 +21,17 @@
21 21
   <image wx:if="{{TodayTaskNumber>0 && IsStart==0}}" class="study_index_start{{IsIPad}}" src='../images/practise_index_goon.png' bindtap="goto" data-url="./detail?CardType={{CardType}}" />
22 22
   <image wx:if="{{TodayTaskNumber==0}}" class="study_index_start{{IsIPad}}" src='../images/practise_index_report.png' bindtap="goto" data-url="./detail?CardType={{CardType}}" />
23 23
 
24
-  <view class="setting{{IsIPad}}" catchtap="goto" data-url="../plan/studyplan"></view>
24
+  <view class="setting{{IsIPad}}" catchtap="gotoTaskSetting"></view>
25 25
   
26
-  <view class='panelBottom FlexColumn' catchtap="">
26
+  <view class='panelBottom FlexColumn'>
27 27
 
28
+    <view class="PanelRemind" wx:if="{{!IsNotShowRemindPractice}}">
29
+      <image class="message_practise_index_02" src='{{ImagePath}}web/message_practise_index_02.png' />
30
+      <view class="PanelRemind1" bindtap="goto" data-url="./remind"></view>
31
+      <view class="PanelRemindClose FlexColumn" bindtap="closeRemindPractice">
32
+        <image class="universalpic_close_black" src='{{ImagePath}}web/universalpic_close_black.png' />
33
+      </view>
34
+    </view>
28 35
     <image class="study_index_footer" src='../images/practise_index_footer.png' />
29 36
 
30 37
     <view class='panelBottom1 FlexRow'>

+ 41 - 1
pages/main/default.wxss

@@ -69,6 +69,16 @@ page{
69 69
   top:387rpx;
70 70
 }
71 71
 
72
+.settingOld{
73
+  width:150rpx;
74
+  height:168rpx;
75
+  position: fixed;
76
+  top:744rpx;
77
+  left:145rpx;
78
+  z-index: 10;
79
+  background-color: #9B9B9B;
80
+}
81
+
72 82
 .setting{
73 83
   width:150rpx;
74 84
   height:168rpx;
@@ -577,4 +587,34 @@ page{
577 587
   top:30rpx;
578 588
   right:30rpx;
579 589
   z-index: 10;
580
-}
590
+}
591
+
592
+.PanelRemind{
593
+  width:390rpx;
594
+  height:121rpx;
595
+  position: absolute;
596
+  right:-1rpx;
597
+  top:-74rpx;
598
+}
599
+.message_practise_index_02{
600
+  width:390rpx;
601
+  height:121rpx;
602
+}
603
+.PanelRemind1{
604
+  width:300rpx;
605
+  height:100rpx;
606
+  position: absolute;
607
+  left:0;
608
+  top:0;
609
+}
610
+.PanelRemindClose{
611
+  width:90rpx;
612
+  height:100rpx;
613
+  position: absolute;
614
+  right:0;
615
+  top:0;
616
+}
617
+.universalpic_close_black{
618
+  width:22rpx;
619
+  height:22rpx;
620
+}

+ 32 - 8
pages/main/detail.js

@@ -413,9 +413,6 @@ Page({
413 413
 
414 414
                 if (!that.data.TaskInfo.IsNew)
415 415
                   recommend = getRecommendTime();
416
-                that.setData({
417
-                  Recommend: recommend,
418
-                });
419 416
               }
420 417
             }
421 418
 
@@ -424,13 +421,20 @@ Page({
424 421
 
425 422
             if (!that.data.TaskInfo.IsNew)
426 423
               recommend = getRecommendTime();
427
-            that.setData({
428
-              Recommend: recommend,
429
-            });
424
+            
430 425
           }
431 426
         }
427
+
428
+        var isShowPigeonhole=false;
429
+        if (that.getGreenDayNumberIsHalfAYear()){
430
+          recommend=0;
431
+          isShowPigeonhole=true;
432
+        }
433
+        //debugger;
432 434
         that.setData({
433 435
           IsShowAnswer: that.data.IsShowAnswer,
436
+          Recommend: recommend,
437
+          IsShowPigeonhole:isShowPigeonhole,
434 438
         });
435 439
         that.autoAudioPlayInit();
436 440
 
@@ -501,6 +505,19 @@ Page({
501 505
       }
502 506
     }
503 507
   },
508
+  getGreenDayNumberIsHalfAYear:function(){
509
+    var dayNum=this.data.TaskInfo.Number2;
510
+    if (dayNum.indexOf("d")>0){
511
+      dayNum=dayNum.replace("d","");
512
+      dayNum=Number(dayNum);
513
+      if (dayNum<183)
514
+        return false;
515
+      else
516
+        return true;
517
+    }
518
+    else
519
+      return false;
520
+  },
504 521
   gotoEdit: function () {
505 522
     var that = this;
506 523
     //console.log(res.tapIndex);
@@ -675,19 +692,26 @@ Page({
675 692
                 if (minute == 1) {
676 693
                   TaskList[0].Number0 = "1m";
677 694
                   TaskList[0].Number2 = "10m";
695
+                  if (app.globalData.MemoryLevel==1)
696
+                    TaskList[0].Number3 = "4d";
678 697
                 } else {
679 698
                   TaskList[0].Number0 = "10m";
680 699
                   TaskList[0].Number2 = "1d";
700
+                  if (app.globalData.MemoryLevel==1)
701
+                    TaskList[0].Number3 = "4d";
681 702
                 }
682 703
 
683 704
                 TaskList[0].Number0Str = main.getMemoryLevel(app.globalData.MemoryLevel, 0, TaskList[0].Number0);
684 705
                 TaskList[0].Number2Str = main.getMemoryLevel(app.globalData.MemoryLevel, 2, TaskList[0].Number2);
706
+                TaskList[0].Number3Str = main.getMemoryLevel(app.globalData.MemoryLevel, 3, TaskList[0].Number3);
685 707
 
686 708
                 delete TaskList[0].Number1;
687 709
                 delete TaskList[0].Number1Str;
688 710
 
689
-                delete TaskList[0].Number3;
690
-                delete TaskList[0].Number3Str;
711
+                if (!app.globalData.MemoryLevel){
712
+                  delete TaskList[0].Number3;
713
+                  delete TaskList[0].Number3Str;
714
+                }
691 715
 
692 716
                 TaskList[0].FirstTime = null;
693 717
                 TaskList[0].LastTime = null;

+ 15 - 7
pages/main/detail.wxml

@@ -125,20 +125,20 @@
125 125
               <view class="Answer0 btnColor"></view>
126 126
             </view>
127 127
             <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext'
128
-              data-time="{{TaskInfo.Number1}}" data-btnnumber="3" wx:if="{{TaskInfo.Number1}}">
128
+              data-time="{{TaskInfo.Number1}}" data-btnnumber="3" wx:if="{{TaskInfo.Number1 && !IsShowPigeonhole}}">
129 129
               <view class="btnTime">
130 130
                 {{TaskInfo.Number1Str}}
131 131
               </view>
132
-              <view wx:if='{{Recommend!=1}}' class="Answer1 btnColor"></view>
133
-              <view wx:if='{{Recommend==1 && MemoryLevel==1}}' class="Answer1Recommend Answer1 btnColor"></view>
132
+              <view wx:if="{{Recommend!=1}}" class="Answer1 btnColor"></view>
133
+              <view wx:if="{{Recommend==1 && MemoryLevel==1}}" class="Answer1Recommend Answer1 btnColor"></view>
134 134
             </view>
135 135
             <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext'
136 136
               data-time="{{TaskInfo.Number2}}" data-btnnumber="4">
137 137
               <view class="btnTime">
138 138
                 {{TaskInfo.Number2Str}}
139 139
               </view>
140
-              <view wx:if='{{Recommend!=2}}' class="Answer2 btnColor"></view>
141
-              <view wx:if='{{Recommend==2 && MemoryLevel==1}}' class="Answer1Recommend Answer2 btnColor"></view>
140
+              <view wx:if="{{Recommend!=2}}" class="Answer2 btnColor"></view>
141
+              <view wx:if="{{Recommend==2 && MemoryLevel==1}}" class="Answer1Recommend Answer2 btnColor"></view>
142 142
 
143 143
             </view>
144 144
             <view class="Answer FlexColumn" hover-class='AnswerHover' catchtap='gotoNext'
@@ -146,13 +146,21 @@
146 146
               <view class="btnTime">
147 147
                 {{TaskInfo.Number3Str}}
148 148
               </view>
149
-              <view wx:if='{{Recommend!=3}}' class="Answer3 btnColor"></view>
150
-              <view wx:if='{{Recommend==3 && MemoryLevel==1}}' class="Answer1Recommend Answer3 btnColor"></view>
149
+              <view wx:if="{{Recommend!=3}}" class="Answer3 btnColor"></view>
150
+              <view wx:if="{{Recommend==3 && MemoryLevel==1}}" class="Answer1Recommend Answer3 btnColor"></view>
151 151
             </view>
152 152
             <view class="line2"></view>
153 153
             <view class="AnswerRight FlexColumn" hover-class='AnswerHover' catchtap='showOtherButton'>
154 154
               <image src="../images/universalpic_4blocks_gray_28x28.png" class='universalpic_4blocks_gray_28x28' />
155 155
             </view>
156
+            
157
+            <block wx:if="{{IsShowPigeonhole}}">
158
+              <view class="line4"></view>
159
+              <view class="AnswerRight1 FlexRow" catchtap='saveCardType' data-foldertype="0">
160
+                <image src="../images/mg4_iconTools_4.png" class='mg4_iconTools_4' />
161
+                <view class="text4">归档</view>
162
+              </view>
163
+            </block>
156 164
           </view>
157 165
           <view class="panelBottomAnswer0 FlexRow">
158 166
             <view class="AnswerLeft Answer00 FlexColumn" hover-class='AnswerHover' catchtap='saveCardType' data-foldertype="0">

+ 16 - 0
pages/main/detail.wxss

@@ -987,3 +987,19 @@ page{
987 987
   border:3rpx solid #F1AB1E; 
988 988
   color:#F1AB1E 
989 989
 } 
990
+
991
+.line4{
992
+  width:2rpx;
993
+  height:28rpx;
994
+  background-color: #2D313E;
995
+}
996
+.mg4_iconTools_4{
997
+  width: 28rpx;
998
+  height:34rpx;
999
+  margin: 0 20rpx 0 30rpx;
1000
+}
1001
+
1002
+.text4{
1003
+  font-size: 24rpx;
1004
+  margin-right: 42rpx;
1005
+}

+ 2 - 2
pages/main/health.wxml

@@ -16,10 +16,10 @@
16 16
     <view class="lineWidthAll FlexRow">
17 17
       <view class="lineWidth680"></view>
18 18
     </view>
19
-    <view class="help1 FlexRow" bindtap="goto" data-url="../plan/setting">
19
+    <view class="help1 FlexRow" bindtap="goto" data-url="../main/systemsetting">
20 20
       <view class="help10 FlexRow">
21 21
         <view class="help11 FlexColumn">
22
-          <view class="help111">前往「重置今天的任务」</view>
22
+          <view class="help111">前往「重置今天的任务」</view>
23 23
         </view>
24 24
       </view>
25 25
       <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />

+ 105 - 0
pages/main/remind.js

@@ -0,0 +1,105 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  onLoad: function (options) {
8
+    var that = this;
9
+    var arrTime = [];
10
+    for (var i = 0; i < 24; i++) {
11
+      if (i < 10) {
12
+        arrTime.push("0" + i + ":00");
13
+        arrTime.push("0" + i + ":30");
14
+      }
15
+      else {
16
+        arrTime.push(i + ":00");
17
+        arrTime.push(i + ":30");
18
+      }
19
+    }
20
+
21
+    var MessageTimeIndex=0;
22
+    for (var i = 0; i < arrTime.length; i++) {
23
+      if (arrTime[i] == app.globalData.userInfo.MessageTime){
24
+        MessageTimeIndex=i;
25
+        break;
26
+      }
27
+    }
28
+
29
+    this.setData({
30
+      Containnerheight: main.getWindowHeight(),
31
+      IsMessage: app.globalData.userInfo.IsMessage,
32
+      MessageTime: app.globalData.userInfo.MessageTime,
33
+      Subscribe: app.globalData.userInfo.Subscribe,
34
+      TimeArray: arrTime,
35
+      MessageTimeIndex: MessageTimeIndex,
36
+    });
37
+
38
+    wx.setNavigationBarColor({
39
+      frontColor: "#000000",
40
+      backgroundColor: "#ffffff",
41
+    });
42
+
43
+    wx.setStorageSync("IsNotShowRemindPractice", 1);
44
+  },
45
+  switch1Change: function (e) {
46
+    var that = this;
47
+    var IsMessage = 0;
48
+    if (e.detail.value)
49
+      IsMessage = 1;
50
+
51
+    var param = {
52
+      Content: IsMessage,
53
+    };
54
+    main.postData('UpdateUserMemberInfoPost?UserID='+app.globalData.userInfo.UserID+'&FieldType=2', param, function (data) {
55
+      app.globalData.userInfo.IsMessage = IsMessage;
56
+      that.setData({
57
+        IsMessage: app.globalData.userInfo.IsMessage,
58
+      });
59
+      wx.showToast({
60
+        title: '保存成功!',
61
+        icon: 'success',
62
+        duration: 1000
63
+      });
64
+    });
65
+  },
66
+  bindPickerChange: function (e) {
67
+    var that = this;
68
+
69
+    that.setData({
70
+      MessageTime: this.data.TimeArray[e.detail.value],
71
+      MessageTimeIndex: e.detail.value
72
+    });
73
+    var param = {
74
+      Content: that.data.MessageTime,
75
+    };
76
+    
77
+    main.postData('UpdateUserMemberInfoPost?UserID='+app.globalData.userInfo.UserID+'&FieldType=3', param, function (data) {
78
+      app.globalData.userInfo.MessageTime = that.data.MessageTime;
79
+      that.setData({
80
+        MessageTime: app.globalData.userInfo.MessageTime,
81
+      });
82
+      wx.showToast({
83
+        title: '保存成功!',
84
+        icon: 'success',
85
+        duration: 1000
86
+      });
87
+    });
88
+  },
89
+
90
+  showImage: function (e) {
91
+    var name=app.globalData.uploadImageUrl+'web/code_mgfwh.png';
92
+    wx.previewImage({
93
+      current: name,
94
+      urls: [name],
95
+    });
96
+      
97
+  },
98
+  onShareAppMessage: function () {
99
+    return {
100
+      title: "练习提醒",
101
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID+'&type=remind',
102
+      imageUrl: app.globalData.uploadImageUrl +"web/program_screenshot_lxtx.png",
103
+    }
104
+  },
105
+})

+ 4 - 0
pages/main/remind.json

@@ -0,0 +1,4 @@
1
+{
2
+  "navigationBarTitleText": "练习提醒",
3
+  "backgroundTextStyle": "dark"
4
+}

+ 36 - 0
pages/main/remind.wxml

@@ -0,0 +1,36 @@
1
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
+  
3
+  
4
+  <view class="panelItem0 panelItem FlexRow">
5
+    <view class="panelItem1">提醒</view>
6
+    <view class="panelItem2 FlexRow">
7
+      <switch checked="{{IsMessage}}" bindchange="switch1Change" />
8
+    </view>
9
+  </view>
10
+  <view class="lineWidthAll FlexRow">
11
+			<view class="lineWidth720"></view>
12
+		</view>
13
+  <view class="panelItem FlexRow" bindtap='goto' data-url="./remind">
14
+    <view class="panelItem1">设置时间</view>
15
+    <view class="panelItem2 FlexRow">
16
+      <view wx:if="{{!IsMessage}}">关闭</view>
17
+      <picker  wx:if="{{IsMessage}}" class='Time' bindchange="bindPickerChange" value="{{MessageTimeIndex}}" range="{{TimeArray}}">
18
+        <view class="picker">
19
+          每天{{TimeArray[MessageTimeIndex]}}
20
+        </view>
21
+      </picker>
22
+      <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
23
+    </view>
24
+  </view>  
25
+  <view class='lineFooter'></view>
26
+
27
+  <block wx:if="{{!Subscribe}}">
28
+    <text class="text1">在您规定的时间通过「秒过」公众号发送提醒。\n可在此确认是否关注了公众号。</text>
29
+    <view class="panelItem00 panelItem FlexRow" bindtap='showImage' data-url="../index/accredit">
30
+      扫码关注公众号
31
+    </view>
32
+    <view class='lineFooter'></view>
33
+  </block>
34
+  
35
+  
36
+</view>

+ 45 - 0
pages/main/remind.wxss

@@ -0,0 +1,45 @@
1
+
2
+.panelItem{
3
+  width:100%;
4
+  justify-content: space-between;
5
+  font-size:28rpx;
6
+  height:100rpx;
7
+  background-color: #fff;
8
+}
9
+
10
+.panelItem0{
11
+  margin-top: 50rpx;
12
+}
13
+
14
+.panelItem00{
15
+  margin-top: 50rpx;
16
+  height: 100rpx;
17
+  line-height: 100rpx;
18
+  font-size:28rpx;
19
+  font-weight: 400;
20
+  justify-content: center;
21
+}
22
+
23
+.panelItem .panelItem1{
24
+  margin-left: 30rpx;
25
+  font-weight: 400;
26
+}
27
+.panelItem .panelItem2{
28
+  margin-right: 30rpx;
29
+  color:#787878;
30
+  font-weight: 400;
31
+}
32
+
33
+.Arrow{
34
+  width:16rpx;
35
+  height:26rpx;
36
+  margin-left: 30rpx;
37
+}
38
+
39
+.text1{
40
+  width:682rpx;
41
+  font-size: 24rpx;
42
+  font-weight: 400;
43
+  color: #787878;
44
+  margin: 30rpx 0 0 0;
45
+}

+ 14 - 21
pages/main/systemsetting.js

@@ -11,7 +11,7 @@ Page({
11 11
   },
12 12
   onLoad: function (options) {
13 13
     var that = this;
14
-    
14
+ 
15 15
     that.setData({
16 16
       Containnerheight: main.getWindowHeight(),
17 17
       ProgramName: app.globalData.ProgramName,
@@ -25,28 +25,17 @@ Page({
25 25
       wx.setStorageSync("HasSound", that.data.HasSound);
26 26
     });
27 27
   },
28
-  updateMember: function () {
29
-    wx.navigateTo({
30
-      url: '../index/accredit',
31
-    });
32
-  },
33
-  gotoSymbol: function (e) {
34
-    wx.navigateTo({
35
-      url: '../main/symbolsetting',
36
-    });
37
-  },
38
-  gotoAbout: function (e) {
39
-    wx.navigateTo({
40
-      url: '../other/newuser?nobutton=true',
28
+  onShow:function(){
29
+    var that = this;
30
+
31
+    var messageInfo="关闭";
32
+    if (app.globalData.userInfo.IsMessage)
33
+      messageInfo="每天"+app.globalData.userInfo.MessageTime;
34
+    
35
+    that.setData({
36
+      MessageInfo: messageInfo,
41 37
     });
42 38
   },
43
-  gotoPayCustom:function(){
44
-    if (app.globalData.userInfo.UserID<=7){
45
-      wx.navigateTo({
46
-        url: '../other/paycustom',
47
-      });
48
-    }
49
-  },
50 39
   goto: function (e) {
51 40
     var url = e.currentTarget.dataset.url;
52 41
     var gotoType = e.currentTarget.dataset.type;
@@ -54,6 +43,7 @@ Page({
54 43
       wx.navigateTo({
55 44
         url: url,
56 45
       });
46
+      
57 47
     } else {
58 48
       wx.redirectTo({
59 49
         url: url,
@@ -68,6 +58,9 @@ Page({
68 58
     });
69 59
     wx.setStorageSync("HasSound", that.data.HasSound);
70 60
   },
61
+  resetTodayTask:function(){
62
+    main.ResetTodayTask();
63
+  },
71 64
   onShareAppMessage: function () {
72 65
     return {
73 66
       title: app.globalData.ShareTitle,

+ 35 - 4
pages/main/systemsetting.wxml

@@ -4,6 +4,24 @@
4 4
     <view class="panelTitle1">通用</view>
5 5
     <view class="panelTitle2"></view>
6 6
   </view>
7
+  <view class="panelItem FlexRow" bindtap='goto' data-url="../plan/pattern">
8
+    <view class="panelItem1">记忆评价</view>
9
+    <view class="panelItem2 FlexRow">
10
+      <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
11
+    </view>
12
+  </view>
13
+  <view class="panelItem FlexRow" bindtap='goto' data-url="../plan/clicktype">
14
+    <view class="panelItem1">显示答案的操作方式</view>
15
+    <view class="panelItem2 FlexRow">
16
+      <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
17
+    </view>
18
+  </view>
19
+  <view class="panelItem FlexRow" bindtap='goto' data-url="../plan/colorplan">
20
+    <view class="panelItem1">题卡主题色</view>
21
+    <view class="panelItem2 FlexRow">
22
+      <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
23
+    </view>
24
+  </view>
7 25
   <view class="panelItem FlexRow" bindtap='goto' data-url="../other/family">
8 26
     <view class="panelItem1">家庭用户</view>
9 27
     <view class="panelItem2 FlexRow">
@@ -16,7 +34,16 @@
16 34
       <switch checked="{{HasSound}}" bindchange="switch1Change" />
17 35
     </view>
18 36
   </view>
19
-  <view class="panelItem FlexRow" bindtap='gotoSymbol'>
37
+
38
+  <view class="panelItem FlexRow" bindtap='goto' data-url="./remind">
39
+    <view class="panelItem1">练习提醒</view>
40
+    <view class="panelItem2 FlexRow">
41
+      <view>{{MessageInfo}}</view>
42
+      <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
43
+    </view>
44
+  </view>  
45
+
46
+  <view class="panelItem FlexRow" bindtap='goto' data-url="./symbolsetting">
20 47
     <view class="panelItem1">符号栏</view>
21 48
     <view class="panelItem2 FlexRow">
22 49
       <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
@@ -28,7 +55,7 @@
28 55
       <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
29 56
     </view>
30 57
   </view>
31
-  <view class="panelItem FlexRow" bindtap='gotoAbout'>
58
+  <view class="panelItem FlexRow" bindtap='goto' data-url="../other/newuser?nobutton=true">
32 59
     <view class="panelItem1">关于秒过</view>
33 60
     <view class="panelItem2 FlexRow">
34 61
       <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
@@ -39,12 +66,16 @@
39 66
     返现推广计划(测试版)
40 67
   </view>  
41 68
   <view class='lineFooter'></view>
42
-  <view class="panelItem00 panelItem FlexRow" bindtap='updateMember'>
69
+  <view class="panelItem01 panelItem00 panelItem FlexRow" bindtap='resetTodayTask'>
70
+    重置今天的任务
71
+  </view>
72
+  <view class='lineFooter'></view>
73
+  <view class="panelItem00 panelItem FlexRow" bindtap='goto' data-url="../index/accredit">
43 74
     重新获取用户信息
44 75
   </view>
45 76
   <view class="text2">{{ShowUserID}}</view>
46 77
   <view style='width:100%;height:50rpx;'></view>
47
-  <text class='text1' bindtap="gotoPayCustom">©2019 秒过学习\n唱意教育微信小程序 版本 {{Version}}</text>
78
+  <text class='text1'> 秒过学习 {{Version}}\n©2017-2023 唱意教育小程序产品</text>
48 79
   <view style='width:100%;height:100rpx;'></view>
49 80
 
50 81
 </view>

+ 4 - 0
pages/main/systemsetting.wxss

@@ -36,6 +36,10 @@
36 36
   font-weight: 400;
37 37
   justify-content: center;
38 38
 }
39
+.panelItem01{
40
+  color:#FE6659;
41
+  font-weight: 500;
42
+}
39 43
 
40 44
 .panelItem .panelItem1{
41 45
   margin-left: 30rpx;

+ 1 - 1
pages/other/annualreport.wxml

@@ -98,7 +98,7 @@
98 98
 		</view>
99 99
 		<view class="line1"></view>
100 100
 		<view class="panelItem FlexRow" bindtap='goto' data-url="../plan/pattern">
101
-			<view class="text3">使用记忆评价高级模式让复习更精确</view>
101
+			<view class="text3">使用记忆评价完整模式让复习更精确</view>
102 102
 			<view class="text4">
103 103
 				<image src="../images/universalpic_indicator_right_gray.png" class="universalpic_indicator_right_gray" />
104 104
 			</view>

+ 1 - 1
pages/other/tips.js

@@ -35,7 +35,7 @@ Page({
35 35
   onShareAppMessage: function () {
36 36
     return {
37 37
       title: app.globalData.ShareTitle,
38
-      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
38
+      path: app.globalData.SharePath + '?type=tips&UserID=' + app.globalData.userInfo.UserID,
39 39
       imageUrl: app.globalData.uploadImageUrl +"web/program_screenshot_tips.png",
40 40
     }
41 41
   },

+ 1 - 0
pages/plan/studyplandetail.js

@@ -27,6 +27,7 @@ Page({
27 27
       Containnerheight: main.getWindowHeight(),
28 28
       CardType:options.CardType,
29 29
     });
30
+    
30 31
     that.init();
31 32
   },
32 33
   init: function () {

+ 136 - 0
pages/plan/taskBasic.js

@@ -0,0 +1,136 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+import fanObj from '../template/FanObject';
4
+
5
+const app = getApp();
6
+
7
+Page({
8
+  data: {
9
+    ImagePath: app.globalData.uploadImageUrl,
10
+    BtnCss1:"panel12112",
11
+    BtnCss5:"panel12113",
12
+    BtnCss10:"panel12112",
13
+    BtnImg1:"2",
14
+    BtnImg5:"3",
15
+    BtnImg10:"2",
16
+    BasicCardLimit:0,
17
+    Increase:5,
18
+    CardType:0,
19
+  },
20
+  onLoad: function (options) {
21
+    var that = this;
22
+
23
+    that.setData({
24
+      Containnerheight: main.getWindowHeight(),
25
+    });
26
+    that.init();
27
+  },
28
+  init: function () {
29
+    var that = this;
30
+    
31
+    var studyPlan = app.globalData.TaskToday;
32
+    
33
+    var newLength=0;
34
+    if (studyPlan.ListNew && studyPlan.ListNew.length>0)
35
+      newLength=studyPlan.ListNew.length;
36
+
37
+    var reviewLength=0;
38
+    if (studyPlan.ListReview && studyPlan.ListReview.length>0)
39
+      reviewLength=studyPlan.ListReview.length;
40
+
41
+    var historyLength=0;
42
+    if (studyPlan.ListHistory && studyPlan.ListHistory.length>0)
43
+      historyLength=studyPlan.ListHistory.length;
44
+
45
+    var taskNumber = newLength + reviewLength + historyLength;
46
+    that.setData({
47
+      StudyPlan: studyPlan,
48
+      TaskNumber: taskNumber,
49
+      LimitTimeCardNum:studyPlan.NewLimitTimeToday+studyPlan.HistoryLimitTimeToday,
50
+    });
51
+
52
+    var backColor = "#f0f0f0";
53
+
54
+    var rate = 0;
55
+    if (studyPlan.CommonNewLength > 0 || studyPlan.CommonOldLength > 0) {
56
+      rate = studyPlan.CommonNewLength / (studyPlan.CommonNewLength + studyPlan.CommonOldLength);
57
+      backColor = "#EF7F57";
58
+    }
59
+
60
+    fanObj.init(that, rate, 96, 3.0, "#F8C6B4", backColor, studyPlan.CommonNewLength + studyPlan.CommonOldLength);
61
+
62
+    wx.showLoading();
63
+    common.getStorageValue(that, "CardMaxNumberNew", 10, function () {
64
+      common.getStorageValue(that, "CardMaxNumberHistory", 100, function () {
65
+        common.getStorageValue(that, "BasicCardLimit", 0, function () {
66
+          var basicCardLimit=that.data.BasicCardLimit;
67
+          if (!basicCardLimit)
68
+            basicCardLimit=that.data.CardMaxNumberNew + that.data.CardMaxNumberHistory;
69
+          that.setData({
70
+            BasicCardLimit: basicCardLimit,
71
+          });
72
+          wx.hideLoading();
73
+        });
74
+      });
75
+    });
76
+    
77
+
78
+  },
79
+  clickBtnNumber:function(e){
80
+    var that = this;
81
+    var num=e.currentTarget.dataset.num;
82
+    
83
+    that.data["BtnCss1"]="panel12112";
84
+    that.data["BtnCss5"]="panel12112";
85
+    that.data["BtnCss10"]="panel12112";
86
+    that.data["BtnCss"+num]="panel12113";
87
+    that.data["BtnImg1"]=that.data["BtnCss1"].substr(9,1);
88
+    that.data["BtnImg5"]=that.data["BtnCss5"].substr(9,1);
89
+    that.data["BtnImg10"]=that.data["BtnCss10"].substr(9,1);
90
+    that.data["Increase"]=num;
91
+    that.setData(that.data);
92
+    
93
+  },
94
+  changeNum:function(e){
95
+    var num=e.currentTarget.dataset.num;
96
+    var total=this.data.BasicCardLimit+Number(num)*this.data.Increase;
97
+    if (total<10)
98
+      total=10;
99
+    else if (total>300)
100
+      total=300; 
101
+    this.setData({
102
+      BasicCardLimit:total,
103
+    });
104
+  },
105
+  goto: function (e) {
106
+    var url=e.currentTarget.dataset.url;
107
+    wx.navigateTo({
108
+      url: url,
109
+    });
110
+  },
111
+  gotoReLaunch: function (e) {
112
+    var url = e.currentTarget.dataset.url;
113
+    wx.reLaunch({
114
+      url: url,
115
+    });
116
+  },
117
+  gotoTaskList: function (e) {
118
+    var id=e.currentTarget.dataset.id;
119
+    main.GotoTaskList(id,this.data.CardType);
120
+  },
121
+  saveUserConfig:function(e){
122
+    var that = this;
123
+    main.getData("UpdateUserConfigBasicCardLimit?UserID=" + app.globalData.userInfo.UserID + "&BasicCardLimit=" + that.data.BasicCardLimit, function (data) {
124
+      wx.navigateBack({
125
+        delta: 1,
126
+      });
127
+    });
128
+  },
129
+  onShareAppMessage: function () {
130
+    return {
131
+      title: app.globalData.ShareTitle,
132
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
133
+      imageUrl: app.globalData.ShareImage,
134
+    }
135
+  },
136
+})

+ 8 - 0
pages/plan/taskBasic.json

@@ -0,0 +1,8 @@
1
+{
2
+  "navigationBarBackgroundColor": "#3157BA",
3
+  "navigationBarTextStyle": "white",
4
+  "navigationBarTitleText": "秒过",
5
+  "backgroundColor": "#233E84",
6
+  "backgroundColorTop": "#3157BA",
7
+  "backgroundColorBottom": "#233E84"
8
+}

+ 182 - 0
pages/plan/taskBasic.wxml

@@ -0,0 +1,182 @@
1
+<import src="../template/Fan.wxml" />
2
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
3
+  <image class="mg4_practicePic_1" src="{{ImagePath}}web/mg4_practicePic_1.png" />
4
+  <image class="mg4_textH1_1" src="{{ImagePath}}web/mg4_textH1_1.png" />
5
+  <image class="mg4_textH2_1" src="{{ImagePath}}web/mg4_textH2_1.png" />
6
+  <view class="panel1 FlexColumn">
7
+    <view class="panel11 FlexRow">
8
+      <text class="text1">一天里\n最多想练习</text>
9
+      <view class="panel111 FlexRow">
10
+        <text class="text2">{{BasicCardLimit}}</text>
11
+        <text class="text3">张</text>
12
+      </view>
13
+    </view>
14
+    <view class="panel12 panel11 FlexRow">
15
+      <view class="panel121 FlexColumn">
16
+        <text class="text4">递增递减</text>
17
+        <view class="panel1211 FlexRow">
18
+          <view class="{{BtnCss1}} panel12111 FlexRow" bindtap="clickBtnNumber" data-num="1">
19
+            <image class="mg4_iconNum1_2" src="{{ImagePath}}web/mg4_iconNum1_{{BtnImg1}}.png" />
20
+          </view>
21
+          <view class="{{BtnCss5}} panel12111 FlexRow" bindtap="clickBtnNumber" data-num="5">
22
+            <image class="mg4_iconNum5_2" src="{{ImagePath}}web/mg4_iconNum5_{{BtnImg5}}.png" />
23
+          </view>
24
+          <view class="{{BtnCss10}} panel12111 FlexRow" bindtap="clickBtnNumber" data-num="10">
25
+            <image class="mg4_iconNum10_2" src="{{ImagePath}}web/mg4_iconNum10_{{BtnImg10}}.png" />
26
+          </view>
27
+        </view>
28
+      </view>
29
+
30
+      <view class="panel122 FlexColumn">
31
+        <text class="text4">可设置 <text class="text5">10-300</text></text>
32
+        <view class="panel1212 FlexRow">
33
+          <view class="panel12121 FlexRow" hover-class="panel12121Hover" bindtap="changeNum" data-num="-1">
34
+            <image class="mg4_iconMSymbol_1" src="{{ImagePath}}web/mg4_iconMSymbol_1.png" />
35
+          </view>
36
+          <view class="panel12121line"></view>
37
+          <view class="panel12122 FlexRow" hover-class="panel12122Hover" bindtap="changeNum" data-num="1">
38
+            <image class="mg4_iconMSymbol_2" src="{{ImagePath}}web/mg4_iconMSymbol_2.png" />
39
+          </view>
40
+        </view>
41
+      </view>
42
+    </view>
43
+
44
+    <view class="panel13" bindtap="saveUserConfig">
45
+      确定调整
46
+    </view>
47
+  </view>
48
+
49
+  <view class="panel2 panel1 FlexColumn">
50
+    <view class="panel21 FlexColumn">
51
+      <text class="text1">任务纵览</text>
52
+      <text class="text6">按序号阅读有助掌握当前情况,为设置提供依据</text>
53
+    </view>
54
+
55
+    <view class="panel22 FlexRow">
56
+      <view class="panel221 FlexColumn">
57
+        <view class="panel2211 FlexColumn">
58
+          <image class="mg4_iconNum1_1" src="{{ImagePath}}web/mg4_iconNum1_1.png" />
59
+        </view>
60
+        <text class="text7">已到练习时间\n的题卡数量</text>
61
+        <text class="text8">{{LimitTimeCardNum}}</text>
62
+      </view>
63
+      <view class="panel221 FlexColumn">
64
+        <view class="panel2211 FlexColumn">
65
+          <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum2_1.png" />
66
+        </view>
67
+        <text class="text7">从中选出</text>
68
+        <text class="text8">{{StudyPlan.AlreadyPracticeNumber+TaskNumber}}</text>
69
+        <text class="text9">张题卡供今天练习</text>
70
+      </view>
71
+    </view>
72
+    <view class="panel23 FlexRow">
73
+      <view class="panel221 FlexColumn">
74
+        <view class="panel2211 FlexColumn">
75
+          <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum3_1.png" />
76
+        </view>
77
+        <text class="text7">现在已练完</text>
78
+        <text class="text8">{{StudyPlan.AlreadyPracticeNumber}}</text>
79
+        <text class="text9">张题卡</text>
80
+        <view class="text10" bindtap="gotoTaskList" data-id="2">
81
+          <image class="mg4_textH3_2" src="{{ImagePath}}web/mg4_textH3_1.png" />
82
+        </view>
83
+      </view>
84
+      <view class="panel221 FlexColumn">
85
+        <view class="panel2211 FlexColumn">
86
+          <image class="mg4_iconNum4_1" src="{{ImagePath}}web/mg4_iconNum4_1.png" />
87
+        </view>
88
+        <text class="text7">还有</text>
89
+        <text class="text8">{{TaskNumber}}</text>
90
+        <text class="text9">张题卡得练完</text>
91
+      </view>
92
+
93
+    </view>
94
+    <view class="panel24 FlexColumn">
95
+      <view class="panel2211 FlexColumn">
96
+        <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum5_1.png" />
97
+      </view>
98
+      <view class="text10" bindtap="gotoTaskList" data-id="1">
99
+        <image class="mg4_textH3_2" src="{{ImagePath}}web/mg4_textH3_2.png" />
100
+      </view>
101
+      <text class="text7">当前任务包括</text>
102
+      <view class="panel241 FlexColumn">
103
+
104
+        <view class="panel2411 FlexRow">
105
+          <view class="panel24111 FlexColumn">
106
+            <view class="text11"></view>
107
+            <view class="text12 panel241111">任务量</view>
108
+          </view>
109
+          <view class="panel24112 FlexRow">
110
+            <view class="panel24121 FlexColumn">
111
+              <view class="text11">日常题卡</view>
112
+              <view class="panel241111">
113
+                <template class="fan" is="fanTemplate" data="{{Angle1,Angle2,BGColor,FanSize,FanScale,Color1,Color2,ShowNumber}}"></template>
114
+              </view>
115
+              <view class="text14">{{StudyPlan.CommonNewLength}}</view>
116
+              <view class="text141 text14">{{StudyPlan.CommonOldLength}}</view>
117
+            </view>
118
+          </view>
119
+        </view>
120
+        <view class="panel242 FlexColumn">
121
+          <view class="panel2421 FlexRow">
122
+            <view class="text13">新题卡</view>
123
+            <view class="color1"></view>
124
+            <view class="text14"></view>
125
+          </view>
126
+          <view class="panel2421 FlexRow">
127
+            <view class="text13">旧题卡</view>
128
+            <view class="color2 color1"></view>
129
+            <view class="text14"></view>
130
+          </view>
131
+        </view>
132
+        <view class="panel243 FlexRow">
133
+          <view class="panel2431 FlexColumn">
134
+            <view class="panel24311 FlexRow">
135
+              <view class="text17">预计回想</view>
136
+              <view class="panel243111 FlexRow">
137
+                <view class="text18">{{StudyPlan.PracticeNumber}}</view>
138
+                <view class="text19">次</view>
139
+              </view>
140
+            </view>
141
+            <text class="text16">新题卡\n首次练习须回想两次</text>
142
+          </view>
143
+          <view class="panel2431 FlexColumn">
144
+            <view class="panel24311 FlexRow">
145
+              <view class="text17">预计用时</view>
146
+              <view class="panel243111 FlexRow">
147
+                <view class="text18">{{StudyPlan.PracticeTime}}</view>
148
+                <view class="text19">分钟</view>
149
+              </view>
150
+            </view>
151
+            <text class="text16">根据近期练习\n用时的估算</text>
152
+          </view>
153
+        </view>
154
+      </view>
155
+    </view>
156
+  </view>
157
+
158
+  <view class="panel3 panel1 FlexColumn" bindtap="gotoReLaunch" data-url="../../pages_test/test/index">
159
+    <view class="panel21 FlexColumn">
160
+      <view class="panel31 FlexRow">
161
+        <text class="text1">去「检验」逛逛</text>
162
+        <view class="panel311 FlexColumn">
163
+          <image class="mg4_iconNext_1" src="{{ImagePath}}web/mg4_iconNext_1.png" />
164
+        </view>
165
+      </view>
166
+      <text class="text6">题卡太少不够练?\n创建新题卡或去「检验」栏目生成课本知识点</text>
167
+    </view>
168
+
169
+  </view>
170
+  <image class="mg4_practicePic_2" src="{{ImagePath}}web/mg4_practicePic_2.png" />
171
+  <view class="panel4 panel1 FlexColumn" bindtap="goto" data-url="../../pages/plan/taskHelp?type=1">
172
+    <view class="panel21 FlexColumn">
173
+      <view class="panel31 FlexRow">
174
+        <text class="text1">完整版设置</text>
175
+        <view class="panel311 FlexColumn">
176
+          <image class="mg4_iconNext_1" src="{{ImagePath}}web/mg4_iconNext_1.png" />
177
+        </view>
178
+      </view>
179
+      <text class="text6">了解另一种功能更多,更为复杂的设置版本</text>
180
+    </view>
181
+  </view>
182
+</view>

+ 433 - 0
pages/plan/taskBasic.wxss

@@ -0,0 +1,433 @@
1
+@import "../template/Fan.wxss";
2
+
3
+page {
4
+  background-color: #3157ba;
5
+}
6
+
7
+.container {
8
+  background-color: #3157ba;
9
+}
10
+
11
+.mg4_practicePic_1 {
12
+  width: 100%;
13
+  height: 1010rpx;
14
+  position: absolute;
15
+  top: 320rpx;
16
+}
17
+
18
+.mg4_textH1_1 {
19
+  width: 266rpx;
20
+  height: 187rpx;
21
+  justify-content: flex-start;
22
+  align-self: flex-start;
23
+  margin: 100rpx 0 0 60rpx;
24
+}
25
+
26
+.mg4_textH2_1 {
27
+  width: 132rpx;
28
+  height: 40rpx;
29
+  justify-content: flex-start;
30
+  align-self: flex-start;
31
+  margin: 40rpx 0 0 60rpx;
32
+}
33
+
34
+.panel1 {
35
+  margin-top: 60rpx;
36
+  width: 690rpx;
37
+  background-color: #fff;
38
+  box-shadow: 0 20rpx 0 0 #BCBCBC, 0 40rpx 0 0 rgba(0, 0, 0, 0.30);
39
+  border-radius: 40rpx;
40
+  color: #4D4D4D;
41
+  position: relative;
42
+  justify-content: flex-start;
43
+  min-height: 617rpx;
44
+}
45
+
46
+.panel11 {
47
+  width: 570rpx;
48
+  margin-top: 60rpx;
49
+  justify-content: space-between;
50
+}
51
+.panel12 {
52
+  margin-top: 30rpx;
53
+}
54
+.panel13{
55
+  margin: 60rpx 0 40rpx 0;
56
+  width: 610rpx;
57
+  line-height: 120rpx;
58
+  background: #F2F2F2;
59
+  border-radius: 20rpx;
60
+  font-size: 36rpx;
61
+  color: #EB5C28;
62
+  text-align: center;
63
+}
64
+
65
+.text1 {
66
+  font-size: 36rpx;
67
+}
68
+
69
+.text2 {
70
+  font-family: Roboto-Black;
71
+  font-size: 132rpx;
72
+  text-align: right;
73
+}
74
+.text3 {
75
+  margin: 60rpx 0 0 10rpx;
76
+  font-size: 22rpx;
77
+}
78
+.text4 {
79
+  font-size: 24rpx;
80
+  margin-right: 20rpx;
81
+}
82
+.text5 {
83
+  font-family: Roboto-Black;
84
+  font-size: 28rpx;
85
+  text-align: right;
86
+}
87
+
88
+.text6 {
89
+  margin: 10rpx 0 0 0;
90
+  font-size: 22rpx;
91
+  font-weight: 400;
92
+}
93
+
94
+.panel121{
95
+  justify-content: flex-start;
96
+  align-items: flex-start;
97
+}
98
+
99
+.panel12111{
100
+  width:80rpx;
101
+  height:80rpx;
102
+  border-radius: 50%;
103
+  background-color: #f2f2f2;
104
+  margin:30rpx 20rpx 0 0;
105
+}
106
+
107
+.panel12113{
108
+  background-color: #2e2e2e;
109
+}
110
+
111
+.mg4_iconNum1_2 {
112
+  width: 10rpx;
113
+  height: 24rpx;
114
+}
115
+
116
+.mg4_iconNum5_2 {
117
+  width: 14rpx;
118
+  height: 24rpx;
119
+}
120
+
121
+.mg4_iconNum10_2 {
122
+  width: 26rpx;
123
+  height: 24rpx;
124
+}
125
+
126
+.panel122{
127
+  justify-content: flex-start;
128
+  align-items: flex-end;
129
+}
130
+
131
+.panel1212{
132
+  margin: 20rpx 0 0 0;
133
+  border-radius: 40rpx;
134
+  background: #2E2E2E;
135
+}
136
+
137
+.panel12121{
138
+  width:120rpx;
139
+  height:100rpx;
140
+  background: #2E2E2E;
141
+  border-radius: 40rpx 0 0 10rpx;
142
+}
143
+.panel12121Hover{
144
+  background: #4d4d4d;
145
+}
146
+
147
+.panel12122{
148
+  width:120rpx;
149
+  height:100rpx;
150
+  background: #2E2E2E;
151
+  border-radius: 0 10rpx 40rpx 0;
152
+}
153
+
154
+.panel12122Hover{
155
+  background: #4d4d4d;
156
+}
157
+
158
+.panel12121line{
159
+  width:4rpx;
160
+  height:40rpx;
161
+  background-color: #4D4D4D;
162
+}
163
+
164
+.mg4_iconMSymbol_2 {
165
+  width: 38rpx;
166
+  height: 36rpx;
167
+}
168
+
169
+.mg4_iconMSymbol_1 {
170
+  width: 24rpx;
171
+  height: 8rpx;
172
+}
173
+
174
+.panel2{
175
+  margin-top: 80rpx;
176
+  min-height: 210rpx;
177
+}
178
+
179
+.panel21{
180
+  margin: 60rpx 0 0 0;
181
+  align-items: flex-start;
182
+  width: 570rpx;
183
+}
184
+.panel22{
185
+  margin: 40rpx 0 0 0;
186
+  width: 630rpx;
187
+}
188
+
189
+.panel23{
190
+  width: 630rpx;
191
+}
192
+
193
+
194
+.panel221{
195
+  width: 310rpx;
196
+  height:252rpx;
197
+  background: #F2F2F2;
198
+  border-radius: 20rpx;
199
+  align-items: flex-start;
200
+  justify-content: flex-start;
201
+  margin: 5rpx;
202
+  position: relative;
203
+}
204
+
205
+.panel2211{
206
+  width: 30rpx;
207
+  height:30rpx;
208
+  background: #4d4d4d;
209
+  border-radius: 10rpx;
210
+  margin: 30rpx 0 0 30rpx;
211
+}
212
+
213
+.mg4_iconNum1_1{
214
+  width: 6rpx;
215
+  height:12rpx;
216
+}
217
+.mg4_iconNum2_1{
218
+  width: 8rpx;
219
+  height:12rpx;
220
+}
221
+.mg4_iconNum4_1{
222
+  width: 10rpx;
223
+  height:12rpx;
224
+}
225
+
226
+.text7{
227
+  margin: 30rpx 0 0 30rpx;
228
+  font-size: 28rpx;
229
+}
230
+
231
+.text8{
232
+  margin: 0 0 0 30rpx;
233
+  font-family: Roboto-Black;
234
+  font-size: 36rpx;
235
+}
236
+
237
+.text9{
238
+  margin: 0 0 0 30rpx;
239
+  font-size: 28rpx;
240
+}
241
+
242
+.text10{
243
+  background: #FFFFFF;
244
+  border-radius: 10rpx;
245
+  font-size: 20rpx;
246
+  color: #EB5C28;
247
+  text-align: center;
248
+  width:100rpx;
249
+  line-height: 48rpx;
250
+  position: absolute;
251
+  top:20rpx;
252
+  right:20rpx;
253
+}
254
+
255
+.mg4_textH3_2{
256
+  width:80rpx;
257
+  height:20rpx;
258
+}
259
+
260
+.panel24{
261
+  width: 630rpx;
262
+  background: #F2F2F2;
263
+  border-radius: 20rpx;
264
+  align-items: flex-start;
265
+  justify-content: flex-start;
266
+  margin: 5rpx;
267
+  position: relative;
268
+  margin-bottom: 30rpx;
269
+}
270
+
271
+.panel241{
272
+  background: #FFFFFF;
273
+  border-radius: 20rpx;
274
+  width:590rpx;
275
+  margin: 30rpx 0 20rpx 20rpx;
276
+  justify-content: flex-start;
277
+}
278
+
279
+.panel2411{
280
+  width:100%;
281
+  justify-content: space-between;
282
+  align-items: flex-start;
283
+}
284
+
285
+.text11{
286
+  font-size: 24rpx;
287
+  height:33rpx;
288
+}
289
+
290
+.panel24111{
291
+  width:96rpx;
292
+  height:149rpx;
293
+  margin:30rpx 0 0 0;
294
+}
295
+
296
+
297
+.panel24112{
298
+  width:478rpx;
299
+  height:235rpx;
300
+  margin-top: 30rpx;
301
+  z-index: 20;
302
+  align-items: flex-start;
303
+}
304
+
305
+.panel241111{
306
+  margin-top: 20rpx;
307
+  width:96rpx;
308
+  height:96rpx;
309
+}
310
+
311
+.text12{
312
+  font-size: 24rpx;
313
+  font-weight: 400;
314
+  line-height:96rpx;
315
+  margin-left:80rpx;
316
+}
317
+
318
+.panel242{
319
+  width:570rpx;
320
+  height:116rpx;
321
+  background: #f2f2f2;
322
+  border-radius: 10rpx;
323
+  margin: -68rpx 0 0 0;
324
+}
325
+
326
+.panel2421{
327
+  justify-content: flex-start;
328
+  margin: 5rpx 0;
329
+  width: 100%;
330
+}
331
+
332
+.text13{
333
+  font-size: 24rpx;
334
+  font-weight: 400;
335
+  margin-left: 30rpx;
336
+}
337
+
338
+.color1{
339
+  width:16rpx;
340
+  height:16rpx;
341
+  border-radius: 4rpx;
342
+  background: #F8C6B4;
343
+  margin-left: 10rpx;
344
+}
345
+
346
+.color2{
347
+  background: #EF7F57;
348
+}
349
+
350
+.text14{
351
+  margin-top: 43rpx;
352
+  font-size: 24rpx;
353
+  font-family: Roboto-Black;
354
+}
355
+
356
+.text141{
357
+  margin-top: 15rpx;
358
+}
359
+
360
+.panel243{
361
+  width:570rpx;
362
+  margin: 10rpx 0 0 0;
363
+  justify-content: space-between;
364
+}
365
+
366
+.panel2431{
367
+  width:280rpx;
368
+  height:143rpx;
369
+  border-radius: 10rpx;
370
+  background: #f2f2f2;
371
+  margin-bottom: 10rpx;
372
+}
373
+
374
+.panel24311{
375
+  width:100%;
376
+  justify-content: space-between;
377
+}
378
+
379
+.panel243111{
380
+  margin-right: 30rpx;
381
+}
382
+
383
+.text17{
384
+  font-size: 24rpx;
385
+  font-weight: 400;
386
+  margin-left: 30rpx;
387
+}
388
+.text18{
389
+  font-family: Roboto-Black;
390
+  font-size: 28rpx;
391
+}
392
+.text19{
393
+  font-size: 22rpx;
394
+}
395
+
396
+.text16{
397
+  width:250rpx;
398
+  font-weight: 400;
399
+  margin-left: 30rpx;
400
+  font-size: 22rpx;
401
+  color: #5A5A5A;
402
+  margin-top: 10rpx;
403
+}
404
+
405
+.mg4_practicePic_2{
406
+  width:100%;
407
+  height:460rpx;
408
+  margin-top: 80rpx;
409
+}
410
+
411
+.panel3{
412
+  margin-top: 80rpx;
413
+  min-height: 240rpx;
414
+}
415
+.panel31{
416
+  width:100%;
417
+  justify-content: flex-start;
418
+}
419
+.panel311{
420
+  margin-left: 18rpx;
421
+  width: 34rpx;
422
+  height: 34rpx;
423
+  border-radius: 50%;
424
+  background-color: #EB5C28;
425
+}
426
+.panel4{
427
+  margin-top: -310rpx;
428
+  min-height: 210rpx;
429
+}
430
+.mg4_iconNext_1{
431
+  width:14rpx;
432
+  height:20rpx;
433
+}

+ 455 - 0
pages/plan/taskFull.js

@@ -0,0 +1,455 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+import fanObj from '../template/FanObject';
4
+import constant from '../../utils/constant';
5
+
6
+const app = getApp();
7
+var selectCommon=0;
8
+var selectUrgency=0;
9
+var historyLimitMax=5;
10
+
11
+Page({
12
+  data: {
13
+    ImagePath: app.globalData.uploadImageUrl,
14
+    CardType:0,
15
+    CardTypeName:"日常",
16
+    CardType0On: 0,
17
+    CardType1On: 0,
18
+    CurrentCardTypeSetting:-1,
19
+    CardNumberNew: [],
20
+    CardNumberOld: [],
21
+    BasicCardLimitArr: [],
22
+    SortTypeArr:[0,0,1],
23
+  },
24
+  onLoad: function (options) {
25
+    var that = this;
26
+
27
+    that.setData({
28
+      Containnerheight: main.getWindowHeight(),
29
+    });
30
+    that.init();
31
+  },
32
+  init: function () {
33
+    var that = this;  
34
+    var studyPlan = app.globalData.TaskToday;
35
+    
36
+    var newLength=0;
37
+    if (studyPlan.ListNew && studyPlan.ListNew.length>0)
38
+      newLength=studyPlan.ListNew.length;
39
+
40
+    var reviewLength=0;
41
+    if (studyPlan.ListReview && studyPlan.ListReview.length>0)
42
+      reviewLength=studyPlan.ListReview.length;
43
+
44
+    var historyLength=0;
45
+    if (studyPlan.ListHistory && studyPlan.ListHistory.length>0)
46
+      historyLength=studyPlan.ListHistory.length;
47
+
48
+    var backColor = "#f0f0f0";
49
+    var rate = 0;
50
+    if (studyPlan.CommonNewLength > 0 || studyPlan.CommonOldLength > 0) {
51
+      rate = studyPlan.CommonNewLength / (studyPlan.CommonNewLength + studyPlan.CommonOldLength);
52
+      backColor = "#EF7F57";
53
+    }
54
+    var number1=studyPlan.CommonNewLength + studyPlan.CommonOldLength;
55
+    if (!number1)
56
+      number1=0;
57
+    fanObj.init(that, rate, 96, 3.0, "#F8C6B4", backColor, number1);
58
+  
59
+    var backColor2 = "#f0f0f0";
60
+    var rate2 = 0;
61
+    if (studyPlan.UrgentNewLength > 0 || studyPlan.UrgentOldLength > 0) {
62
+      rate2 = studyPlan.UrgentNewLength / (studyPlan.UrgentNewLength + studyPlan.UrgentOldLength);
63
+      backColor2 = "#EF7F57";
64
+    }
65
+    var number2=studyPlan.UrgentNewLength + studyPlan.UrgentOldLength;
66
+    if (!number2)
67
+      number2=0;    
68
+    fanObj.init2(that, rate2, 96, 3.0, "#F8C6B4", backColor2, number2);
69
+
70
+    
71
+    var taskNumber = newLength + reviewLength + historyLength;
72
+    that.setData({
73
+      StudyPlan: studyPlan,
74
+      TaskNumber: taskNumber,
75
+      LimitTimeCardNum:studyPlan.NewLimitTimeToday+studyPlan.HistoryLimitTimeToday,
76
+    });
77
+
78
+    common.getStorageValue(that, "CardType", 0, function () {
79
+      if (that.data.CardType==0 || that.data.CardType==2) {
80
+        that.setData({
81
+          CardType0On: 1,
82
+        });
83
+      }
84
+      if (that.data.CardType==1 || that.data.CardType==2) {
85
+        that.setData({
86
+          CardType1On: 1,
87
+        });
88
+      }
89
+      selectCommon= that.data.CardType0On;
90
+      selectUrgency= that.data.CardType1On;
91
+    });
92
+  },
93
+  showSetting:function(e){
94
+    var that = this; 
95
+    wx.showLoading();   
96
+    var cardtype=e.currentTarget.dataset.cardtype;
97
+    var cardtypename=e.currentTarget.dataset.cardtypename;
98
+    that.setData({
99
+      CurrentCardTypeSetting:cardtype,
100
+      CardTypeName:cardtypename
101
+    });
102
+    selectCommon= that.data.CardType0On;
103
+    selectUrgency= that.data.CardType1On;
104
+
105
+    var url = "GetMiaoguoCardTotal?UserID=" + app.globalData.userInfo.UserID + "&CardType=" + that.data.CurrentCardTypeSetting;
106
+    main.getData(url, function (data) {
107
+      wx.hideLoading();
108
+      if (data) {
109
+
110
+        var cardTotal = 0,limitNumber=0;
111
+
112
+        var info = app.globalData.TaskToday;
113
+
114
+        historyLimitMax=5;
115
+        if (that.data.CurrentCardTypeSetting==1) {
116
+          historyLimitMax=50;
117
+        }
118
+
119
+        that.data.BasicCardLimitArr=[];
120
+        for (var i = 10; i <= 300; i++) {
121
+          that.data.BasicCardLimitArr.push(i);
122
+        }
123
+
124
+        that.data.CardNumberNew=[];
125
+        for (var i = 0; i <= 200; i++) {
126
+          that.data.CardNumberNew.push(i);
127
+        }
128
+        that.data.CardNumberOld=[];        
129
+        for (var i = historyLimitMax; i <= 500; i++) {
130
+          that.data.CardNumberOld.push(i);
131
+        }
132
+
133
+        that.setData({
134
+          CardNumber: info.CardNumber,
135
+          CardNumberNew: that.data.CardNumberNew,
136
+          CardNumberOld: that.data.CardNumberOld,
137
+          BasicCardLimitArr: that.data.BasicCardLimitArr,
138
+        });
139
+
140
+        if (that.data.CurrentCardTypeSetting == 0) {
141
+          if (info.CardNumber > 0) {
142
+            limitNumber = data.NewLimitTimeToday + data.HistoryLimitTimeToday;
143
+            cardTotal = info.CardNumberCommon;
144
+          }
145
+        }
146
+        else if (that.data.CurrentCardTypeSetting == 1) {
147
+          if (info.CardNumber > 0) {
148
+            limitNumber = data.NewLimitTimeToday + data.HistoryLimitTimeToday;
149
+            cardTotal = info.CardNumberUrgent;
150
+          }
151
+        }
152
+
153
+        that.setData({
154
+          LimitCardNumber:limitNumber,
155
+          CardNumberCurrent: cardTotal,
156
+          
157
+          NewCardAll: data.NewCardAll,
158
+          HistoryCardAll: data.HistoryCardAll,
159
+          
160
+          NewToday: data.NewToday,
161
+          
162
+          NewLimitTimeToday: data.NewLimitTimeToday,
163
+          HistoryLimitTimeToday: data.HistoryLimitTimeToday,
164
+          
165
+          NewCardNumberAndLimitToday: data.NewCardNumberAndLimitToday,
166
+          HistoryCardNumberAndLimitToday: data.HistoryCardNumberAndLimitToday,
167
+        });
168
+
169
+        if (that.data.CurrentCardTypeSetting==0){
170
+          
171
+          common.getStorageValue(that, "BasicCardLimit", 0, function () {
172
+            that.setData({
173
+              BasicCardLimitIndex: that.data.BasicCardLimit-10,
174
+            });
175
+            if (that.data.BasicCardLimit>0){
176
+              that.setData({
177
+                ShowBasicCardLimit: 1,
178
+              });
179
+            }
180
+          });
181
+          common.getStorageValue(that, "CardMaxNumberNew", 10, function () {
182
+            that.setData({
183
+              CardMaxNumberNewIndex: that.data.CardMaxNumberNew,
184
+            });
185
+          });
186
+          common.getStorageValue(that, "CardMaxNumberHistory", 90, function () {
187
+            that.setData({
188
+              CardMaxNumberHistoryIndex: that.data.CardMaxNumberHistory - historyLimitMax,
189
+            });
190
+          });
191
+          common.getStorageValue(that, "SortTypeIndex", 0, function () {
192
+            that.data.SortTypeArr=[0,0,0];
193
+            that.data.SortTypeArr[2-that.data.SortTypeIndex]=1;
194
+            that.setData({
195
+              SortTypeArr: that.data.SortTypeArr,
196
+            });
197
+          });
198
+        }
199
+        else if (that.data.CurrentCardTypeSetting == 1) {
200
+          common.getStorageValue(that, "CardMaxNumberNewUrgent", 10, function () {
201
+            that.setData({
202
+              CardMaxNumberNewIndex: that.data.CardMaxNumberNewUrgent,
203
+            });
204
+          });
205
+          common.getStorageValue(that, "CardMaxNumberHistoryUrgent", 100, function () {
206
+            that.setData({
207
+              CardMaxNumberHistoryIndex: that.data.CardMaxNumberHistoryUrgent - historyLimitMax,
208
+            });
209
+          });
210
+        }
211
+      }
212
+    });
213
+  },
214
+  closeSetting:function(e){
215
+    var that = this;    
216
+    that.setData({
217
+      CurrentCardTypeSetting:-1,
218
+    });
219
+  },
220
+  gotoTaskList: function (e) {
221
+    var id=e.currentTarget.dataset.id;
222
+    main.GotoTaskList(id,this.data.CardType);
223
+  },
224
+  goto: function (e) {
225
+    var url=e.currentTarget.dataset.url;
226
+    wx.navigateTo({
227
+      url: url,
228
+    });
229
+  },
230
+  redirectTo: function (e) {
231
+    var url = e.currentTarget.dataset.url;
232
+    wx.redirectTo({
233
+      url: url,
234
+    });
235
+  },
236
+  changePlanOK: function (e) {
237
+    var that = this;
238
+
239
+    var canSave=true;
240
+
241
+    var id=e.currentTarget.dataset.id;
242
+    var checked = e.detail.value;
243
+    
244
+    if (id==0){
245
+      selectCommon=checked;
246
+    }
247
+    else{
248
+      selectUrgency=checked;
249
+    }
250
+
251
+    if (!selectCommon && !selectUrgency){
252
+      wx.showModal({
253
+        title: '不能关闭',
254
+        content: '如要关闭本模式,请先启用另一种模式。日常、紧急两种模式可任选其一或同时使用,但不能同时关闭。',
255
+        confirmText: '好的',
256
+        showCancel: false,
257
+        success(res) { 
258
+          if (id==0){
259
+            selectCommon=1;
260
+            that.setData({
261
+              CardType0On:1,
262
+            });
263
+          }
264
+          else{
265
+            selectUrgency=1;
266
+            that.setData({
267
+              CardType1On:1,
268
+            });
269
+          }
270
+          canSave=false;         
271
+        }
272
+      });
273
+    }
274
+    else if (id==1 && selectUrgency && this.data.CardNumberCurrent==0){
275
+      wx.showModal({
276
+        title: '没有实际效果',
277
+        content: '紧急练习模式中没有题卡。请将已有的题卡放到紧急练习模式中,或直接创建用于紧急练习模式的新题卡。',
278
+        confirmText: '好的',
279
+        showCancel: false,
280
+      });
281
+    }
282
+
283
+    if (canSave)
284
+      that.saveSetting();
285
+  },
286
+  bindUpdateBasicCardLimit:function(e){
287
+    this.data.BasicCardLimitIndex = e.detail.value;
288
+
289
+    if (this.data.CurrentCardTypeSetting == 0) {
290
+      this.setData({
291
+        BasicCardLimitIndex: this.data.BasicCardLimitIndex,
292
+        BasicCardLimit: this.data.BasicCardLimitArr[this.data.BasicCardLimitIndex],
293
+      });
294
+
295
+      this.saveSetting();
296
+    }
297
+  },
298
+  bindUpdateCardNumberNewMax: function (e) {
299
+    this.data.CardMaxNumberNewIndex = e.detail.value;
300
+
301
+    if (this.data.CurrentCardTypeSetting == 0) {
302
+      this.setData({
303
+        CardMaxNumberNewIndex: this.data.CardMaxNumberNewIndex,
304
+        CardMaxNumberNew: this.data.CardNumberNew[this.data.CardMaxNumberNewIndex],
305
+      });
306
+    }
307
+    else if (this.data.CurrentCardTypeSetting == 1) {
308
+      this.setData({
309
+        CardMaxNumberNewIndex: this.data.CardMaxNumberNewIndex,
310
+        CardMaxNumberNewUrgent: this.data.CardNumberNew[this.data.CardMaxNumberNewIndex],
311
+      });
312
+    }
313
+
314
+    this.saveSetting();
315
+  },
316
+  bindUpdateCardNumberHistoryMax: function (e) {
317
+    this.data.CardMaxNumberHistoryIndex = e.detail.value;
318
+
319
+    if (this.data.CurrentCardTypeSetting == 0) {
320
+      this.setData({
321
+        CardMaxNumberHistoryIndex: this.data.CardMaxNumberHistoryIndex,
322
+        CardMaxNumberHistory: this.data.CardNumberOld[this.data.CardMaxNumberHistoryIndex],
323
+      });
324
+    }
325
+    else if (this.data.CurrentCardTypeSetting == 1) {
326
+      this.setData({
327
+        CardMaxNumberHistoryIndex: this.data.CardMaxNumberHistoryIndex,
328
+        CardMaxNumberHistoryUrgent: this.data.CardNumberOld[this.data.CardMaxNumberHistoryIndex],
329
+      });
330
+    }
331
+
332
+    this.saveSetting();
333
+  },
334
+  bindUpdateCardSortType: function (e) {
335
+    this.data.SortTypeIndex = e.currentTarget.dataset.id;
336
+    this.data.SortTypeArr=[0,0,0];
337
+    //注意索引和ID不一样
338
+    this.data.SortTypeArr[2-this.data.SortTypeIndex]=1;
339
+
340
+    if (this.data.CurrentCardTypeSetting == 0) {
341
+      this.setData({
342
+        SortTypeIndex: this.data.SortTypeIndex,
343
+        SortTypeArr: this.data.SortTypeArr,
344
+      });
345
+    }
346
+
347
+    this.saveSetting();
348
+  },
349
+  saveSetting:function(e){
350
+    var that = this;
351
+
352
+    if (this.data.CurrentCardTypeSetting == 0) {
353
+    
354
+      that.setData({
355
+        CardType0On:selectCommon,
356
+      });
357
+      if (that.data.ShowBasicCardLimit)
358
+        wx.setStorageSync("BasicCardLimit", that.data.BasicCardLimit);
359
+      else
360
+        wx.setStorageSync("BasicCardLimit", 0);
361
+        
362
+      wx.setStorageSync("CardMaxNumberNew", that.data.CardMaxNumberNew);
363
+      wx.setStorageSync("CardMaxNumberHistory", that.data.CardMaxNumberHistory);
364
+      wx.setStorageSync("SortTypeIndex", that.data.SortTypeIndex);
365
+    }
366
+    else if (this.data.CurrentCardTypeSetting == 1) {
367
+      that.setData({
368
+        CardType1On:selectUrgency,
369
+      });
370
+      wx.setStorageSync("CardType", that.data.CardType1On);
371
+      wx.setStorageSync("CardMaxNumberNewUrgent", that.data.CardMaxNumberNewUrgent);
372
+      wx.setStorageSync("CardMaxNumberHistoryUrgent", that.data.CardMaxNumberHistoryUrgent);
373
+    }
374
+
375
+    var cardtype=0;
376
+    
377
+    if (!that.data.CardType0On && that.data.CardType1On)
378
+      cardtype=1;
379
+    else if (that.data.CardType0On && that.data.CardType1On)
380
+      cardtype=2;
381
+    wx.setStorageSync("CardType", cardtype);
382
+      
383
+    main.UploadUserConfig(function () {
384
+      main.getTaskTodayList(function (data) { 
385
+        that.init();
386
+      });
387
+    });
388
+  }, 
389
+  changeBasicCardLimit:function(e){
390
+    var that=this;
391
+    var b=!this.data.ShowBasicCardLimit;
392
+    if (b){
393
+      wx.showModal({
394
+        title: '提醒',
395
+        content: '将停用您的自定义设置,交由系统根据练习数据智能配比新旧题卡上限,用户只规定限量的总数。',
396
+        confirmText: '继续',
397
+        showCancel: true,
398
+        success(res) { 
399
+          if (res.confirm) {
400
+            var cardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew");
401
+            var cardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory");
402
+            var max=cardMaxNumberNew+cardMaxNumberHistory;
403
+            if (max>300)
404
+              max=300;
405
+            wx.setStorageSync("BasicCardLimit", max);
406
+            that.setData({
407
+              BasicCardLimit:max,
408
+            });
409
+            main.UploadUserConfig(function () {
410
+              main.getTaskTodayList(function (data) {});
411
+              that.setData({
412
+                ShowBasicCardLimit:b,
413
+              });
414
+            });
415
+          }
416
+        }
417
+      });
418
+    }
419
+    else{
420
+      wx.showModal({
421
+        title: '提醒',
422
+        content: '将由您设置新旧题卡上限数量。可随时改回由系统配比的功能。',
423
+        confirmText: '继续',
424
+        showCancel: true,
425
+        success(res) { 
426
+          if (res.confirm) {
427
+            var cardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew");
428
+            var cardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory");
429
+            wx.setStorageSync("CardMaxNumberNew", 5);
430
+            wx.setStorageSync("CardMaxNumberHistory", cardMaxNumberNew+cardMaxNumberHistory-5);
431
+            wx.setStorageSync("BasicCardLimit", 0);
432
+            that.setData({
433
+              CardMaxNumberNew:5,
434
+              CardMaxNumberHistory:cardMaxNumberNew+cardMaxNumberHistory-5,
435
+            });
436
+            main.UploadUserConfig(function () {
437
+              main.getTaskTodayList(function (data) {});
438
+              that.setData({
439
+                ShowBasicCardLimit:b,
440
+              });
441
+            });
442
+          }
443
+        }
444
+      });
445
+    }
446
+    
447
+  },
448
+  onShareAppMessage: function () {
449
+    return {
450
+      title: app.globalData.ShareTitle,
451
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
452
+      imageUrl: app.globalData.ShareImage,
453
+    }
454
+  },
455
+})

+ 8 - 0
pages/plan/taskFull.json

@@ -0,0 +1,8 @@
1
+{
2
+  "navigationBarBackgroundColor": "#3157BA",
3
+  "navigationBarTextStyle": "white",
4
+  "navigationBarTitleText": "秒过",
5
+  "backgroundColor": "#3157BA",
6
+  "backgroundColorTop": "#3157BA",
7
+  "backgroundColorBottom": "#233E84"
8
+}

+ 377 - 0
pages/plan/taskFull.wxml

@@ -0,0 +1,377 @@
1
+<import src="../template/Fan.wxml" />
2
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
3
+  <view class="panelNull"></view>
4
+  <image class="mg4_practicePic_3" src="{{ImagePath}}web/mg4_practicePic_3.png" />
5
+  <image class="mg4_practicePic_4" src="{{ImagePath}}web/mg4_practicePic_4.png" />
6
+  <image class="mg4_textH1_1" src="{{ImagePath}}web/mg4_textH1_1.png" />
7
+  <image class="mg4_textH2_2" src="{{ImagePath}}web/mg4_textH2_2.png" />
8
+  <view class="btnBasic FlexColumn" catchtap="goto" data-url="../../pages/plan/taskHelp?type=0">
9
+    <image class="mg4_textH3_4" src="{{ImagePath}}web/mg4_textH3_4.png" />
10
+  </view>
11
+
12
+  <view class="panel1 FlexColumn" catchtap="showSetting" data-cardtype="0" data-cardtypename="日常">
13
+    <view class="panel210 panel21 FlexRow">
14
+      <view class="panel31 FlexRow">
15
+        <text class="text1">日常练习设置</text>
16
+        <view class="panel311 FlexColumn">
17
+          <image class="mg4_iconNext_1" src="{{ImagePath}}web/mg4_iconNext_1.png" />
18
+        </view>
19
+      </view>
20
+      <view class="text2">
21
+        <block wx:if="{{CardType0On==0}}">未</block>启用
22
+      </view>
23
+    </view>
24
+  </view>
25
+
26
+  <view class="panel2 panel1 FlexColumn" catchtap="showSetting" data-cardtype="1" data-cardtypename="紧急">
27
+    <view class="panel210 panel21 FlexRow">
28
+      <view class="panel31 FlexRow">
29
+        <text class="text1">紧急练习设置</text>
30
+        <view class="panel311 FlexColumn">
31
+          <image class="mg4_iconNext_1" src="{{ImagePath}}web/mg4_iconNext_1.png" />
32
+        </view>
33
+      </view>
34
+      <view class="text2">
35
+        <block wx:if="{{CardType1On==0}}">未</block>启用
36
+      </view>
37
+    </view>
38
+  </view>
39
+
40
+  <view class="panel3 panel1 FlexColumn">
41
+    <view class="panel21 FlexColumn">
42
+      <text class="text1">任务纵览</text>
43
+      <text class="text6">按序号阅读有助掌握当前情况,为设置提供依据</text>
44
+    </view>
45
+
46
+    <view class="panel22 FlexRow">
47
+      <view class="panel221 FlexColumn">
48
+        <view class="panel2211 FlexColumn">
49
+          <image class="mg4_iconNum1_1" src="{{ImagePath}}web/mg4_iconNum1_1.png" />
50
+        </view>
51
+        <text class="text7">今天已练完</text>
52
+        <text class="text8">{{StudyPlan.AlreadyPracticeNumber}}</text>
53
+        <text class="text9">张题卡</text>
54
+        <view class="text10" catchtap="gotoTaskList" data-id="2">
55
+          <image class="mg4_textH3_2" src="{{ImagePath}}web/mg4_textH3_1.png" />
56
+        </view>
57
+
58
+      </view>
59
+      <view class="panel221 FlexColumn">
60
+        <view class="panel2211 FlexColumn">
61
+          <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum2_1.png" />
62
+        </view>
63
+        <text class="text7">还有</text>
64
+        <text class="text8">{{TaskNumber}}</text>
65
+        <text class="text9">张题卡得练完</text>
66
+      </view>
67
+    </view>
68
+
69
+    <view class="panel24 FlexColumn">
70
+      <view class="panel2211 FlexColumn">
71
+        <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum3_1.png" />
72
+      </view>
73
+      <view class="text10" catchtap="gotoTaskList" data-id="1">
74
+        <image class="mg4_textH3_2" src="{{ImagePath}}web/mg4_textH3_2.png" />
75
+      </view>
76
+      <text class="text7">当前任务由以下内容组成</text>
77
+      <view class="panel241 FlexColumn">
78
+        <view class="panel2411 FlexRow">
79
+          <view class="panel24111 FlexColumn">
80
+            <view class="text11"></view>
81
+            <view class="text12 panel241111">任务量</view>
82
+          </view>
83
+          <view class="panel24112 FlexRow">
84
+            <view class="panel24121 FlexColumn" wx:if="{{CardType==0 || CardType==2}}">
85
+              <view class="text11">日常题卡</view>
86
+              <view class="panel241111">
87
+                <template class="fan" is="fanTemplate" data="{{Angle1,Angle2,BGColor,FanSize,FanScale,Color1,Color2,ShowNumber}}"></template>
88
+              </view>
89
+              <view class="text14">{{StudyPlan.CommonNewLength}}</view>
90
+              <view class="text141 text14">{{StudyPlan.CommonOldLength}}</view>
91
+            </view>
92
+
93
+            <image class="mg4_iconMSymbol_3" src="{{ImagePath}}web/mg4_iconMSymbol_3.png" wx:if="{{CardType==2}}" />
94
+
95
+            <view class="panel24121 FlexColumn" wx:if="{{CardType==1 || CardType==2}}">
96
+              <view class="text11">紧急题卡</view>
97
+              <view class="panel241111">
98
+                <template class="fan" is="fanTemplate2" data="{{Angle12,Angle22,BGColor2,FanSize2,FanScale2,Color12,Color22,ShowNumber2}}"></template>
99
+              </view>
100
+              <view class="text14">{{StudyPlan.UrgentNewLength}}</view>
101
+              <view class="text141 text14">{{StudyPlan.UrgentOldLength}}</view>
102
+            </view>
103
+
104
+            <block wx:if="{{StudyPlan.ListReview.length>0}}">
105
+              <image class="mg4_iconMSymbol_3" src="{{ImagePath}}web/mg4_iconMSymbol_3.png" />
106
+              <view class="panel241112 FlexColumn">
107
+                <view class="text33">{{StudyPlan.ListReview.length}}</view>
108
+                <view class="text34">补练</view>
109
+              </view>
110
+            </block>
111
+
112
+          </view>
113
+
114
+        </view>
115
+        <view class="panel242 FlexColumn">
116
+          <view class="panel2421 FlexRow">
117
+            <view class="text13">新题卡</view>
118
+            <view class="color1"></view>
119
+            <view class="text14"></view>
120
+          </view>
121
+          <view class="panel2421 FlexRow">
122
+            <view class="text13">旧题卡</view>
123
+            <view class="color2 color1"></view>
124
+            <view class="text14"></view>
125
+          </view>
126
+        </view>
127
+
128
+        <view class="text32">补练:上次没练完的题卡,延续到下次补练。</view>
129
+        
130
+        <view class="panel243 FlexRow">
131
+          <view class="panel2431 FlexColumn">
132
+            <view class="panel24311 FlexRow">
133
+              <view class="text17">预计回想</view>
134
+              <view class="panel243111 FlexRow">
135
+                <view class="text18">{{StudyPlan.PracticeNumber}}</view>
136
+                <view class="text19">次</view>
137
+              </view>
138
+            </view>
139
+            <text class="text16">新题卡\n首次练习可能回想两次</text>
140
+          </view>
141
+          <view class="panel2431 FlexColumn">
142
+            <view class="panel24311 FlexRow">
143
+              <view class="text17">预计用时</view>
144
+              <view class="panel243111 FlexRow">
145
+                <view class="text18">{{StudyPlan.PracticeTime}}</view>
146
+                <view class="text19">分钟</view>
147
+              </view>
148
+            </view>
149
+            <text class="text16">根据近期练习\n用时的估算</text>
150
+          </view>
151
+        </view>
152
+      </view>
153
+    </view>
154
+  </view>
155
+</view>
156
+
157
+<!-- 日常和紧急设置 -->
158
+<view wx:if="{{CurrentCardTypeSetting>=0}}" catchtap="" class="container2 FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
159
+  <view class="panelHigh0 FlexColumn">
160
+    <view class="panelHigh1 FlexRow">
161
+      <view class="panelHigh11 FlexRow">
162
+        <view>{{CardTypeName}}练习设置</view>
163
+        <!-- <view class="panelHigh111 FlexRow">
164
+          <image class="mg4_textH3_3" src="{{ImagePath}}web/mg4_textH3_3.png" />
165
+        </view> -->
166
+      </view>
167
+      <view class="panelHigh12 FlexRow" catchtap="closeSetting">
168
+        <image class="mg4_iconMSymbol_4" src="{{ImagePath}}web/mg4_iconMSymbol_4.png" />
169
+      </view>
170
+    </view>
171
+  </view>
172
+
173
+  <scroll-view class="panelHigh FlexColumn" scroll-y="true" style='height:{{Containnerheight-280}}rpx;'>
174
+    <view class="panelHigh_0 FlexColumn">
175
+      <view class="panelHigh2 FlexRow">
176
+        <view class="text20" wx:if="{{CurrentCardTypeSetting==0}}">启用日常练习</view>
177
+        <view class="text20" wx:if="{{CurrentCardTypeSetting==1}}">启用紧急练习</view>
178
+        <switch wx:if="{{CurrentCardTypeSetting==0}}" class="panelHigh21" color="#EB5C28" checked="{{CardType0On}}" bindchange="changePlanOK" data-id="0" />
179
+        <switch wx:if="{{CurrentCardTypeSetting==1}}" class="panelHigh21" color="#EB5C28" checked="{{CardType1On}}" bindchange="changePlanOK" data-id="1" />
180
+      </view>
181
+      <view class="text21">参考数据</view>
182
+      <view class="panelHigh3 FlexRow">
183
+        <view class="panelHigh31 FlexCulomn">
184
+          <view class="panelHigh311">{{CardTypeName}}练习中有题卡</view>
185
+          <view class="color3 panelHigh311">其中到期题卡</view>
186
+          <view class="panelHigh311">到期时间是今天的</view>
187
+        </view>
188
+        <view class="panelHigh32 FlexCulomn">
189
+          <view class="panelHigh321">总数</view>
190
+          <view class="panelHigh322 FlexColumn">
191
+            <view class="text22">{{CardNumberCurrent}}</view>
192
+            <view class="color3 text221 text22">{{LimitCardNumber}}</view>
193
+            <view class="text221 text22">{{NewCardNumberAndLimitToday+HistoryCardNumberAndLimitToday}}</view>
194
+          </view>
195
+        </view>
196
+        <view class="panelHigh32 FlexCulomn">
197
+          <view class="panelHigh321">新题卡</view>
198
+          <view class="panelHigh322 FlexColumn">
199
+            <view class="text22">{{NewCardAll}}</view>
200
+            <view class="color3 text221 text22">{{NewLimitTimeToday}}</view>
201
+            <view class="text221 text22">{{NewCardNumberAndLimitToday}}</view>
202
+          </view>
203
+        </view>
204
+        <view class="panelHigh32 FlexCulomn">
205
+          <view class="panelHigh321">旧题卡</view>
206
+          <view class="panelHigh322 FlexColumn">
207
+            <view class="text22">{{HistoryCardAll}}</view>
208
+            <view class="color3 text221 text22">{{HistoryLimitTimeToday}}</view>
209
+            <view class="text221 text22">{{HistoryCardNumberAndLimitToday}}</view>
210
+          </view>
211
+        </view>
212
+      </view>
213
+      <text class="text23">每张题卡都有自己的「到期时间」。按「艾宾浩斯遗忘曲线」原理,到期的那天是最适合回顾的日子。题卡到期才练习。</text>
214
+      <view class="panelHigh40 panelHigh4 FlexColumn" wx:if="{{CurrentCardTypeSetting==1}}">
215
+        <view class="panelHigh41 FlexRow">
216
+          <view class="panelHigh411 FlexRow">
217
+            <image class="mg4_iconNum1_1" src="{{ImagePath}}web/mg4_iconNum1_1.png" />
218
+          </view>
219
+          <text class="text26">紧急练习最多容纳200张题卡。如要练习更多的题卡,请前往「题卡」栏目调换题卡。</text>
220
+        </view>
221
+      </view>
222
+
223
+      <view class="panelLine"></view>
224
+      <view class="text21">任务限量</view>
225
+
226
+      <block wx:if="{{ShowBasicCardLimit && CurrentCardTypeSetting==0}}">
227
+        <picker class="panelHigh3" bindchange="bindUpdateBasicCardLimit" value="{{BasicCardLimitIndex}}" range="{{BasicCardLimitArr}}">
228
+          <view class="panelHigh3_0 panelHigh30 FlexRow">
229
+            <view class="panel32 FlexRow">
230
+              <image class="mg4_iconTools_3" src="{{ImagePath}}web/mg4_iconTools_3.png" />
231
+              <view class="panel321 FlexColumn">
232
+                <view class="text25">限量总数</view>
233
+              </view>
234
+            </view>
235
+
236
+            <view class="panelHigh33 FlexRow">
237
+              <view class="text31">
238
+                {{BasicCardLimit}}张
239
+              </view>
240
+              <image class="mg4_iconNext_2" src="../images/mg4_iconNext_2.png" />
241
+            </view>
242
+          </view>
243
+        </picker>
244
+
245
+        <text class="text23">任务太多,调低上限;限量范围10-300张题卡。</text>
246
+
247
+        <view class="panelBtn2 FlexRow" catchtap="changeBasicCardLimit">
248
+          <image class="mg4_textH3_5" src="{{ImagePath}}web/mg4_textH3_5.png" />
249
+        </view>
250
+      </block>
251
+      <block wx:if="{{!ShowBasicCardLimit || CurrentCardTypeSetting==1}}">
252
+        <view class="text30" wx:if="{{CurrentCardTypeSetting==0}}">设置限量总数{{CardMaxNumberNew+CardMaxNumberHistory}}张,由以下两项构成</view>
253
+        <view class="text30" wx:if="{{CurrentCardTypeSetting==1}}">设置限量总数{{CardMaxNumberNewUrgent+CardMaxNumberHistoryUrgent}}张,由以下两项构成</view>
254
+        <picker class="panelHigh3" bindchange="bindUpdateCardNumberNewMax" value="{{CardMaxNumberNewIndex}}" range="{{CardNumberNew}}">
255
+          <view class="panelHigh30 FlexRow">
256
+            <view class="panel32 FlexRow">
257
+              <image class="mg4_iconTools_3" src="{{ImagePath}}web/mg4_iconTools_3.png" />
258
+              <view class="panel321 FlexColumn">
259
+                <view class="text25">新题卡上限</view>
260
+                <view class="text24">目前到期{{NewLimitTimeToday}}张</view>
261
+              </view>
262
+            </view>
263
+
264
+            <view class="panelHigh33 FlexRow">
265
+              <view class="text31" wx:if="{{CurrentCardTypeSetting==0}}">
266
+                设置{{CardMaxNumberNew}}张
267
+              </view>
268
+              <view class="text31" wx:if="{{CurrentCardTypeSetting==1}}">
269
+                设置{{CardMaxNumberNewUrgent}}张
270
+              </view>
271
+              <image class="mg4_iconNext_2" src="../images/mg4_iconNext_2.png" />
272
+            </view>
273
+          </view>
274
+        </picker>
275
+
276
+        <picker class="panelHigh300 panelHigh3" bindchange="bindUpdateCardNumberHistoryMax" value="{{CardMaxNumberHistoryIndex}}" range="{{CardNumberOld}}">
277
+          <view class="panelHigh30 FlexRow">
278
+            <view class="panel32 FlexRow">
279
+              <image class="mg4_iconTools_3" src="{{ImagePath}}web/mg4_iconTools_3.png" />
280
+              <view class="panel321 FlexColumn">
281
+                <view class="text25">旧题卡上限</view>
282
+                <view class="text24">目前到期{{HistoryLimitTimeToday}}张</view>
283
+              </view>
284
+            </view>
285
+            <view class="panelHigh33 FlexRow">
286
+              <view class="text31" wx:if="{{CurrentCardTypeSetting==0}}">
287
+                设置{{CardMaxNumberHistory}}张
288
+              </view>
289
+              <view class="text31" wx:if="{{CurrentCardTypeSetting==1}}">
290
+                设置{{CardMaxNumberHistoryUrgent}}张
291
+              </view>
292
+              <image class="mg4_iconNext_2" src="../images/mg4_iconNext_2.png" />
293
+            </view>
294
+          </view>
295
+        </picker>
296
+
297
+        <view class="panelHigh4 FlexColumn" wx:if="{{CurrentCardTypeSetting==0}}">
298
+          <view class="panelHigh41 FlexRow">
299
+            <view class="panelHigh411 FlexRow">
300
+              <image class="mg4_iconNum1_1" src="{{ImagePath}}web/mg4_iconNum1_1.png" />
301
+            </view>
302
+            <text class="text26">任务限量是一天里练习题卡的最大数量,并不一定天天有那么多,实际上任务量少于限量也是常态之一。</text>
303
+          </view>
304
+          <view class="panelHigh41 FlexRow">
305
+            <view class="panelHigh411 FlexRow">
306
+              <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum2_1.png" />
307
+            </view>
308
+            <text class="text26">上限设置偏大时,实际任务量可能没有那么多,因为到期题卡偏少时,没有那么多题卡可练。请观察上面的「参考数据 ➜ 其中到期题卡」这一行,有助预估调整后的结果。</text>
309
+          </view>
310
+          <view class="panelHigh41 FlexRow">
311
+            <view class="panelHigh411 FlexRow">
312
+              <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum3_1.png" />
313
+            </view>
314
+            <text class="text26">新题卡练习起来比旧题卡吃力,不宜多。新旧题卡设置的比例建议不高于1:5。保持经常练习是消耗新题卡库存的最佳方法。</text>
315
+          </view>
316
+        </view>
317
+        <view class="panelBtn2 FlexRow" catchtap="changeBasicCardLimit" wx:if="{{CurrentCardTypeSetting==0}}">
318
+          <image class="mg4_textH3_6" src="{{ImagePath}}web/mg4_textH3_6.png" />
319
+        </view>
320
+
321
+        <view class="panelHigh42 FlexRow" wx:if="{{CurrentCardTypeSetting==1}}">
322
+          紧急练习由于其特殊性,任务限量由用户直接设置,没有系统自动配比功能。其它方便与日常练习相同。
323
+        </view>
324
+      </block>
325
+
326
+      <block wx:if="{{CurrentCardTypeSetting==0}}">
327
+        <view class="panelLine"></view>
328
+        <view class="text21">优先规则</view>
329
+
330
+        <view class="panelHigh5 FlexColumn">
331
+          <view class="panelHigh51 FlexRow" catchtap="bindUpdateCardSortType" data-id="2">
332
+            <image wx:if="{{SortTypeArr[0]}}" class="mg4_iconMSymbol_5" src="{{ImagePath}}web/mg4_iconMSymbol_5.png" />
333
+            <view wx:if="{{!SortTypeArr[0]}}" class="mg4_iconMSymbol_5"></view>
334
+            <view>今天优先</view>
335
+          </view>
336
+          <view class="panelHighLine2"></view>
337
+          <view class="panelHigh51 FlexRow" catchtap="bindUpdateCardSortType" data-id="1">
338
+            <image wx:if="{{SortTypeArr[1]}}" class="mg4_iconMSymbol_5" src="{{ImagePath}}web/mg4_iconMSymbol_5.png" />
339
+            <view wx:if="{{!SortTypeArr[1]}}" class="mg4_iconMSymbol_5"></view>
340
+            <view>最早优先</view>
341
+          </view>
342
+          <view class="panelHighLine2"></view>
343
+          <view class="panelHigh51 FlexRow" catchtap="bindUpdateCardSortType" data-id="0">
344
+            <image wx:if="{{SortTypeArr[2]}}" class="mg4_iconMSymbol_5" src="{{ImagePath}}web/mg4_iconMSymbol_5.png" />
345
+            <view wx:if="{{!SortTypeArr[2]}}" class="mg4_iconMSymbol_5"></view>
346
+            <view>系统规划</view>
347
+          </view>
348
+        </view>
349
+
350
+        <view class="panelHigh4 FlexColumn">
351
+          <view class="panelHigh41 FlexRow">
352
+            <text class="text27">本功能规定每次练习优先选择哪个时间段的到期题卡。</text>
353
+          </view>
354
+          <view class="panelHigh41 FlexRow">
355
+            <view class="panelHigh411 FlexRow">
356
+              <image class="mg4_iconNum1_1" src="{{ImagePath}}web/mg4_iconNum1_1.png" />
357
+            </view>
358
+            <view class="text26 FlexColumn"><text>今天优先</text><text class="text27">今天到期的题卡最适合马上回顾,另包括今天刚创建的新题卡。调整前请查看「参考数据 ➜ 其中今天到期的」,有助预估结果。</text></view>
359
+          </view>
360
+          <view class="panelHigh41 FlexRow">
361
+            <view class="panelHigh411 FlexRow">
362
+              <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum2_1.png" />
363
+            </view>
364
+            <view class="text26 FlexColumn"><text>最早优先</text><text class="text27">与今天优先相反,率先练习以前到期的题卡,越早越优先。适合在到期题卡量不大的情况下,集中补上落下的进度。 </text></view>
365
+          </view>
366
+          <view class="panelHigh41 FlexRow">
367
+            <view class="panelHigh411 FlexRow">
368
+              <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum3_1.png" />
369
+            </view>
370
+            <view class="text26 FlexColumn"><text>系统规划</text><text class="text27">默认方式,由智能系统根据每张题卡的练习情况自动安排。</text></view>
371
+          </view>
372
+        </view>
373
+      </block>
374
+      <view class="panelNull2"></view>
375
+    </view>
376
+  </scroll-view>
377
+</view>

+ 729 - 0
pages/plan/taskFull.wxss

@@ -0,0 +1,729 @@
1
+@import "../template/Fan.wxss";
2
+
3
+page {
4
+  background-color: #233E84;
5
+}
6
+
7
+.container {
8
+  background-color: #233E84;
9
+}
10
+
11
+.panelNull{
12
+  width:100%;
13
+  height:317rpx;
14
+  background-color: #3157BA;
15
+  position: absolute;
16
+  top: 0;
17
+}
18
+
19
+.mg4_practicePic_3 {
20
+  width: 100%;
21
+  height: 420rpx;
22
+  position: absolute;
23
+  top: 317rpx;
24
+}
25
+
26
+.mg4_practicePic_4 {
27
+  width: 100%;
28
+  height: 826rpx;
29
+  position: absolute;
30
+  top: 1335rpx;
31
+}
32
+
33
+.mg4_textH1_1 {
34
+  width: 266rpx;
35
+  height: 187rpx;
36
+  justify-content: flex-start;
37
+  align-self: flex-start;
38
+  margin: 100rpx 0 0 60rpx;
39
+  z-index: 10;
40
+}
41
+
42
+.mg4_textH2_2 {
43
+  width: 132rpx;
44
+  height: 40rpx;
45
+  justify-content: flex-start;
46
+  align-self: flex-start;
47
+  margin: 40rpx 0 0 60rpx;
48
+  z-index: 10;
49
+}
50
+.btnBasic{
51
+  background: #FFFFFF;
52
+  border-radius: 10rpx;
53
+  width:120rpx;
54
+  height:48rpx;
55
+  z-index: 10;
56
+  position: absolute;
57
+  top:327rpx;
58
+  left:242rpx;
59
+}
60
+
61
+.mg4_textH3_4{
62
+  width:100rpx;
63
+  height:21rpx;
64
+}
65
+
66
+
67
+.panel1 {
68
+  margin-top: 100rpx;
69
+  width: 690rpx;
70
+  background-color: #fff;
71
+  box-shadow: 0 20rpx 0 0 #BCBCBC, 0 40rpx 0 0 rgba(0, 0, 0, 0.30);
72
+  border-radius: 40rpx;
73
+  color: #4D4D4D;
74
+  position: relative;
75
+  justify-content: flex-start;
76
+  min-height: 170rpx;
77
+}
78
+
79
+.panel2{
80
+  margin-top: 80rpx;
81
+}
82
+
83
+
84
+.panel21{
85
+  margin: 60rpx 0 0 0;
86
+  align-items: flex-start;
87
+  justify-content: space-between;
88
+  width: 570rpx;
89
+}
90
+
91
+.panel210{
92
+  align-items: center;
93
+}
94
+
95
+.panel31{
96
+  justify-content: flex-start;
97
+}
98
+
99
+.panel311{
100
+  margin-left: 18rpx;
101
+  width: 34rpx;
102
+  height: 34rpx;
103
+  border-radius: 50%;
104
+  background-color: #EB5C28;
105
+}
106
+
107
+.text1 {
108
+  font-size: 36rpx;
109
+}
110
+
111
+.mg4_iconNext_1{
112
+  width:14rpx;
113
+  height:20rpx;
114
+}
115
+
116
+.text2{
117
+  font-size: 28rpx;
118
+  color: #787878;
119
+  text-align: right;
120
+}
121
+
122
+.text6 {
123
+  margin: 10rpx 0 0 0;
124
+  font-size: 22rpx;
125
+  font-weight: 400;
126
+}
127
+
128
+.panel3{
129
+  margin: 80rpx 0 115rpx 0;
130
+}
131
+
132
+.panel22{
133
+  margin: 40rpx 0 0 0;
134
+  width: 630rpx;
135
+}
136
+
137
+
138
+.panel221{
139
+  width: 310rpx;
140
+  height:252rpx;
141
+  background: #F2F2F2;
142
+  border-radius: 20rpx;
143
+  align-items: flex-start;
144
+  justify-content: flex-start;
145
+  margin: 5rpx;
146
+  position: relative;
147
+}
148
+
149
+.panel2211{
150
+  width: 30rpx;
151
+  height:30rpx;
152
+  background: #4d4d4d;
153
+  border-radius: 10rpx;
154
+  margin: 30rpx 0 0 30rpx;
155
+}
156
+
157
+.mg4_iconNum1_1{
158
+  width: 6rpx;
159
+  height:12rpx;
160
+}
161
+.mg4_iconNum2_1{
162
+  width: 8rpx;
163
+  height:12rpx;
164
+}
165
+.mg4_iconNum4_1{
166
+  width: 10rpx;
167
+  height:12rpx;
168
+}
169
+
170
+.text7{
171
+  margin: 30rpx 0 0 30rpx;
172
+  font-size: 28rpx;
173
+}
174
+
175
+.text8{
176
+  margin: 0 0 0 30rpx;
177
+  font-family: Roboto-Black;
178
+  font-size: 36rpx;
179
+}
180
+
181
+.text9{
182
+  margin: 0 0 0 30rpx;
183
+  font-size: 28rpx;
184
+}
185
+
186
+.text10{
187
+  background: #FFFFFF;
188
+  border-radius: 10rpx;
189
+  font-size: 20rpx;
190
+  color: #EB5C28;
191
+  text-align: center;
192
+  width:100rpx;
193
+  line-height: 48rpx;
194
+  position: absolute;
195
+  top:20rpx;
196
+  right:20rpx;
197
+}
198
+
199
+.mg4_textH3_2{
200
+  width:80rpx;
201
+  height: 20rpx;
202
+}
203
+
204
+
205
+.panel24{
206
+  width: 630rpx;
207
+  background: #F2F2F2;
208
+  border-radius: 20rpx;
209
+  align-items: flex-start;
210
+  justify-content: flex-start;
211
+  margin: 5rpx;
212
+  position: relative;
213
+  margin-bottom: 30rpx;
214
+}
215
+
216
+.panel241{
217
+  background: #FFFFFF;
218
+  border-radius: 20rpx;
219
+  width:590rpx;
220
+  margin: 30rpx 0 20rpx 20rpx;
221
+  justify-content: flex-start;
222
+}
223
+
224
+.panel2411{
225
+  width:100%;
226
+  justify-content: space-between;
227
+  align-items: flex-start;
228
+}
229
+
230
+.text11{
231
+  font-size: 24rpx;
232
+  height:33rpx;
233
+}
234
+
235
+.panel24112{
236
+  width:478rpx;
237
+  height:235rpx;
238
+  margin-top: 30rpx;
239
+  z-index: 20;
240
+  align-items: flex-start;
241
+}
242
+
243
+.panel24111{
244
+  width:96rpx;
245
+  height:149rpx;
246
+  margin:30rpx 0 0 0;
247
+}
248
+
249
+.panel241111{
250
+  margin-top: 20rpx;
251
+  width:96rpx;
252
+  height:96rpx;
253
+}
254
+
255
+.mg4_iconMSymbol_3{
256
+  width:20rpx;
257
+  height:20rpx;
258
+  margin: 92rpx 26rpx 0 26rpx;
259
+}
260
+
261
+.panel24122{
262
+  margin-top: 70rpx;
263
+  align-items: flex-start;
264
+}
265
+
266
+.text28{
267
+  font-family: Roboto-Black;
268
+  font-size: 28rpx;
269
+}
270
+.text29{
271
+  font-size: 22rpx;
272
+  margin-top: -5rpx;
273
+}
274
+
275
+.text12{
276
+  font-size: 24rpx;
277
+  font-weight: 400;
278
+  line-height:96rpx;
279
+  margin-left:80rpx;
280
+}
281
+
282
+.panel242{
283
+  width:570rpx;
284
+  height:116rpx;
285
+  background: #f2f2f2;
286
+  border-radius: 10rpx;
287
+  margin: -68rpx 0 0 0;
288
+}
289
+
290
+.panel2421{
291
+  justify-content: flex-start;
292
+  margin: 5rpx 0;
293
+  width: 100%;
294
+}
295
+
296
+.text13{
297
+  font-size: 24rpx;
298
+  font-weight: 400;
299
+  margin-left: 30rpx;
300
+}
301
+
302
+.color1{
303
+  width:16rpx;
304
+  height:16rpx;
305
+  border-radius: 4rpx;
306
+  background: #F8C6B4;
307
+  margin-left: 10rpx;
308
+}
309
+
310
+.color2{
311
+  background: #EF7F57;
312
+}
313
+
314
+.text14{
315
+  margin-top: 43rpx;
316
+  font-size: 24rpx;
317
+  font-family: Roboto-Black;
318
+}
319
+
320
+.text141{
321
+  margin-top: 15rpx;
322
+}
323
+
324
+.panel243{
325
+  width:570rpx;
326
+  margin: 10rpx 0 0 0;
327
+  justify-content: space-between;
328
+}
329
+
330
+.panel2431{
331
+  width:280rpx;
332
+  height:143rpx;
333
+  border-radius: 10rpx;
334
+  background: #f2f2f2;
335
+  margin-bottom: 10rpx;
336
+}
337
+
338
+.panel24311{
339
+  width:100%;
340
+  justify-content: space-between;
341
+}
342
+
343
+.panel243111{
344
+  margin-right: 30rpx;
345
+}
346
+
347
+
348
+.panel241112{
349
+  align-items: flex-start;
350
+  height:60rpx;
351
+  margin-top: 70rpx;
352
+}
353
+
354
+.text33{
355
+  font-family: Roboto-Black;
356
+  font-size: 28rpx;
357
+  color: #4D4D4D;
358
+  text-align: center;
359
+}
360
+.text34{
361
+  font-size: 22rpx;
362
+  color: #4D4D4D;
363
+}
364
+.text32{
365
+  font-size: 22rpx;
366
+  font-weight: 400;
367
+  color: #5A5A5A;
368
+  align-self: flex-start;
369
+  margin: 20rpx 0 20rpx 30rpx;
370
+}
371
+
372
+.text17{
373
+  font-size: 24rpx;
374
+  font-weight: 400;
375
+  margin-left: 30rpx;
376
+}
377
+.text18{
378
+  font-family: Roboto-Black;
379
+  font-size: 28rpx;
380
+}
381
+.text19{
382
+  font-size: 22rpx;
383
+}
384
+.text15{
385
+  font-weight: 400;
386
+  font-size: 22rpx;
387
+  color: #5A5A5A;
388
+  width:530rpx;
389
+  margin: 20rpx 0 20rpx 0;
390
+}
391
+.text16{
392
+  width:250rpx;
393
+  font-weight: 400;
394
+  margin-left: 30rpx;
395
+  font-size: 22rpx;
396
+  color: #5A5A5A;
397
+  margin-top: 10rpx;
398
+}
399
+
400
+.container2{
401
+  position: fixed;
402
+  top:0;
403
+  background-color: rgba(49,87,186,0.7);
404
+  z-index: 100;
405
+  width: 100%;
406
+  justify-content: flex-start;
407
+  font-weight: 500;
408
+}
409
+
410
+.panelHigh0{
411
+  width:100%;
412
+  background: #FFFFFF;
413
+  border-radius: 60rpx 60rpx 0 0;
414
+  min-height:140rpx;
415
+  color: #4D4D4D;
416
+  border-bottom: 1rpx solid #e3e3e3;
417
+  position: fixed;
418
+  top:100rpx;
419
+  z-index: 200;
420
+}
421
+
422
+.panelHigh{
423
+  width:100%;
424
+  background: #FFFFFF;
425
+  color: #4D4D4D;
426
+  margin-top: 240rpx;
427
+  z-index: 90;
428
+}
429
+
430
+.panelHigh1{
431
+  width:100%;
432
+  justify-content: space-between;
433
+}
434
+
435
+.panelHigh11{
436
+  margin-left: 50rpx;
437
+  font-size: 36rpx;
438
+}
439
+
440
+.panelHigh111{
441
+  background: #F2F2F2;
442
+  border-radius: 10rpx;
443
+  width:95rpx;
444
+  height:48rpx;
445
+  margin-left: 30rpx;
446
+}
447
+
448
+.panelHigh12{
449
+  margin-right: 50rpx;
450
+  width:50rpx;
451
+  height:50rpx;
452
+}
453
+
454
+.mg4_textH3_3{
455
+  width:75rpx;
456
+  height:20rpx;
457
+}
458
+.mg4_iconMSymbol_4{
459
+  width:22rpx;
460
+  height:22rpx;
461
+}
462
+
463
+.panelHigh2{
464
+  width: 710rpx;
465
+  height:100rpx;
466
+  background: #F2F2F2;
467
+  border-radius: 20rpx;
468
+  margin-top: 60rpx;
469
+  justify-content: space-between;
470
+}
471
+
472
+.text20{
473
+  margin-left: 30rpx;
474
+  font-weight: 400;
475
+  font-size: 28rpx;
476
+}
477
+
478
+.panelHigh21{
479
+  margin-right: 30rpx;
480
+}
481
+.text21{
482
+  align-self: flex-start;
483
+  margin: 60rpx 0 0 50rpx;
484
+  font-size: 32rpx;
485
+}
486
+.text30{
487
+  align-self: flex-start;
488
+  margin: 40rpx 0 0 50rpx;
489
+  font-size: 28rpx;
490
+  font-weight: 400;
491
+  color: #2E2E2E;
492
+}
493
+
494
+.panelHigh3{
495
+  width:710rpx;
496
+  margin-top: 40rpx;
497
+
498
+  background: #F2F2F2;
499
+  border-radius: 20rpx;
500
+}
501
+
502
+.panelHigh30{
503
+  width:710rpx;
504
+  height: 143rpx;
505
+  justify-content: space-between;
506
+  font-size: 28rpx;
507
+  align-items: center;
508
+}
509
+
510
+.panelHigh3_0{
511
+  height:100rpx;
512
+}
513
+
514
+.panelHigh300{
515
+  margin-top: 30rpx;
516
+}
517
+
518
+
519
+.panelHigh31{
520
+  width:270rpx;
521
+  margin-top: 73rpx;
522
+}
523
+.panelHigh311{
524
+  font-size: 24rpx;
525
+  font-weight: 400;
526
+  margin-bottom: 30rpx;
527
+  margin-left: 30rpx;
528
+}
529
+
530
+.panelHigh321{
531
+  width: 130rpx;
532
+  margin: 30rpx 0 0 20rpx;
533
+  font-size: 24rpx;
534
+}
535
+.panelHigh322{
536
+  width: 130rpx;
537
+  height:200rpx;
538
+  margin: 20rpx 0 40rpx 0;
539
+  font-size: 24rpx;
540
+  background: #FFFFFF;
541
+  border-radius: 10rpx;
542
+  justify-content: flex-start;
543
+  align-items: flex-start;
544
+}
545
+
546
+.text22{
547
+  font-family: Roboto-Black;
548
+  font-size: 28rpx;
549
+  margin: 20rpx 0 0 20rpx;
550
+}
551
+.text221{
552
+  margin: 30rpx 0 0 20rpx;
553
+}
554
+.text23{
555
+  font-size: 22rpx;
556
+  font-weight: 400;
557
+  color: #5A5A5A;
558
+  margin-top: 40rpx;
559
+  width:650rpx;
560
+}
561
+.panelLine{
562
+  width:710rpx;
563
+  height:1rpx;
564
+  background: #e3e3e3;
565
+  margin-top: 60rpx;
566
+}
567
+
568
+.panel321{
569
+  align-items: flex-start;
570
+  margin-left: 30rpx;
571
+}
572
+.text25{
573
+  font-size:28rpx;
574
+  font-weight: 400;
575
+}
576
+
577
+.mg4_iconNext_2{
578
+  width:16rpx;
579
+  height:26rpx;
580
+  margin-left: 30rpx;
581
+}
582
+
583
+.panelHigh33{
584
+  margin-right: 30rpx;
585
+  color:#787878;
586
+}
587
+
588
+.text24{
589
+  font-size:24rpx;
590
+  font-weight: 400;
591
+  margin-top: 10rpx;
592
+}
593
+
594
+.text31{
595
+  font-size: 28rpx;
596
+  color: #787878;
597
+  text-align: right;
598
+}
599
+
600
+.panelHigh4{
601
+  width:710rpx;
602
+  margin-top: 40rpx;
603
+  justify-content: flex-start;
604
+  align-items: flex-start;
605
+}
606
+
607
+.panelHigh40{
608
+  margin-top: 20rpx;
609
+}
610
+.panelHigh41{
611
+  margin: 20rpx 0 0 30rpx;
612
+  font-size: 22rpx;
613
+  font-weight: 400;
614
+  align-items: flex-start;
615
+}
616
+.panelHigh42{
617
+  width:650rpx;
618
+  margin: 40rpx 0 0 0;
619
+  font-size: 22rpx;
620
+  font-weight: 400;
621
+}
622
+.panelHigh411{
623
+  width:30rpx;
624
+  height:30rpx;
625
+  background: #4D4D4D;
626
+  border-radius: 10rpx;
627
+}
628
+
629
+.text26{
630
+  margin-left: 20rpx;
631
+  width: 600rpx;
632
+  justify-content: flex-start;
633
+  align-items: flex-start;
634
+  color:#5A5A5A;
635
+}
636
+
637
+.panelHigh301{
638
+  margin-top: 60rpx;
639
+}
640
+
641
+.text27{
642
+  font-weight: 400;
643
+}
644
+
645
+.panelNull2{
646
+  width:100%;
647
+  height: 300rpx;
648
+}
649
+
650
+.panelBtn{
651
+  width:100%;
652
+  height: 200rpx;
653
+  background: #E8E6E4;
654
+  position: fixed;
655
+  align-items: flex-start;
656
+  bottom: 0;
657
+  z-index: 110;
658
+}
659
+.panelBtn1{
660
+  width:345rpx;
661
+  line-height: 100rpx;
662
+  text-align: center;
663
+  background: #FFFFFF;
664
+  border-radius: 20rpx;
665
+  font-size: 36rpx;
666
+  color: #EB5C28;
667
+  margin: 0 10rpx;
668
+  margin-top: 40rpx;
669
+}
670
+
671
+
672
+.color3{
673
+  color:#eb5c28;
674
+  font-weight: 500;
675
+}
676
+
677
+.mg4_iconTools_3{
678
+  width:34rpx;
679
+  height:36rpx;
680
+  margin-left: 30rpx;
681
+}
682
+
683
+.panelBtn2{
684
+  background: #F2F2F2;
685
+  border-radius: 10rpx;
686
+  align-self: start;
687
+  margin: 40rpx 0 0 50rpx;
688
+  padding: 8rpx 10rpx 11rpx 10rpx;
689
+}
690
+
691
+.mg4_textH3_5{
692
+  width:220rpx;
693
+  height:20rpx;
694
+}
695
+
696
+.mg4_textH3_6{
697
+  width:400rpx;
698
+  height:22rpx;
699
+}
700
+
701
+.panelHigh5{
702
+  background: #F2F2F2;
703
+  border-radius: 20rpx;
704
+  width: 710rpx;
705
+  height:322rpx;
706
+  margin-top: 40rpx;
707
+}
708
+
709
+.panelHigh51{
710
+  width:100%;
711
+  height:111rpx;
712
+  font-weight: 400;
713
+  font-size: 28rpx;
714
+  color: #2E2E2E;
715
+  justify-content: flex-start;
716
+}
717
+
718
+.panelHighLine2{
719
+  width:610rpx;
720
+  height:1rpx;
721
+  background-color: #d4d4d4;
722
+  align-self: flex-end;
723
+}
724
+
725
+.mg4_iconMSymbol_5{
726
+  width:40rpx;
727
+  height:32rpx;
728
+  margin: 0 30rpx;
729
+}

+ 96 - 0
pages/plan/taskHelp.js

@@ -0,0 +1,96 @@
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
+    Expand:[false,false],
10
+    showFull:1,
11
+  },
12
+  onLoad: function (options) {
13
+    var that = this;
14
+    //debugger;
15
+    that.setData({
16
+      Containnerheight: main.getWindowHeight(),
17
+      showFull:Number(options.type),
18
+    });
19
+  },
20
+  expandHelp:function(e){
21
+    var id=e.currentTarget.dataset.id;
22
+    this.data.Expand[id]=!this.data.Expand[id];
23
+    this.setData({
24
+      Expand:this.data.Expand,
25
+    });
26
+  },
27
+  changeFull:function(e){
28
+    var that = this;
29
+    wx.showModal({
30
+      title: '提醒',
31
+      showCancel: true,
32
+      content: "启用后,将区分日常、紧急两种练习模式,可对更多项目进行设置。初次使用会有一定学习成本,选项附件均有说明助您了解情况。",
33
+      confirmText: "继续",
34
+      cancelText: "取消",
35
+      success(res) {
36
+        if (res.confirm) {
37
+          wx.setStorageSync("TaskSetting", 1);
38
+          main.UploadUserConfig(function () {
39
+            main.getTaskTodayList(function (data) { 
40
+              that.redirectTo({currentTarget:{dataset:{url:"../../pages/plan/taskFull"}}})
41
+            });
42
+          });
43
+        }
44
+      },
45
+    });
46
+  },
47
+  changeBasic:function(e){
48
+    var that = this;
49
+    wx.showModal({
50
+      title: '提醒',
51
+      showCancel: true,
52
+      content: "启用后,保留日常练习模式,紧急练习模式将关闭(如开启的话)。系统将重新规划任务内容,数量和配比可能会有变化。",
53
+      confirmText: "继续",
54
+      cancelText: "取消",
55
+      success(res) {
56
+        if (res.confirm) {
57
+          wx.setStorageSync("CardType", 0);
58
+          wx.setStorageSync("TaskSetting", 0);
59
+
60
+          var max = wx.getStorageSync("BasicCardLimit");
61
+          if (!max){
62
+            var cardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew");
63
+            var cardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory");
64
+            var max=cardMaxNumberNew+cardMaxNumberHistory;
65
+            if (max>300)
66
+              max=300;
67
+            wx.setStorageSync("BasicCardLimit", max);
68
+          }
69
+          main.UploadUserConfig(function () {
70
+            main.getTaskTodayList(function (data) { 
71
+              that.redirectTo({currentTarget:{dataset:{url:"../../pages/plan/taskBasic"}}});
72
+            });
73
+          });
74
+        } 
75
+      },
76
+    });
77
+  },
78
+  redirectTo: function (e) {
79
+    var url = e.currentTarget.dataset.url;
80
+    wx.navigateBack({
81
+      delta: 1,
82
+      complete:function(e){
83
+        wx.redirectTo({
84
+          url: url,
85
+        });
86
+      }
87
+    });
88
+  },
89
+  onShareAppMessage: function () {
90
+    return {
91
+      title: app.globalData.ShareTitle,
92
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
93
+      imageUrl: app.globalData.ShareImage,
94
+    }
95
+  },
96
+})

+ 6 - 0
pages/plan/taskHelp.json

@@ -0,0 +1,6 @@
1
+{
2
+  "navigationBarBackgroundColor": "#E8E6E4",
3
+  "navigationBarTextStyle": "black",
4
+  "backgroundColor": "#E8E6E4",
5
+  "navigationBarTitleText": "帮助"
6
+}

+ 127 - 0
pages/plan/taskHelp.wxml

@@ -0,0 +1,127 @@
1
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
+  <image class="mg4_textH1_2" src="{{ImagePath}}web/mg4_textH1_2.png" />
3
+  <text class="text1">为了方便新用户逐步了解和使用秒过核心功能,在任务的设置方面,分为「基础版」和「完整版」两种控制方式。</text>
4
+  <view class="panel1 FlexColumn">
5
+    <view class="panel11 FlexRow" bindtap="expandHelp" data-id="0">
6
+      <text class="text2">两种版本怎么选</text>
7
+      <view class="panel12 FlexRow">
8
+        <image class="mg4_iconFold_2" src="{{ImagePath}}web/mg4_iconFold_2.png" wx:if="{{!Expand[0]}}" />
9
+        <image class="mg4_iconFold_2" src="{{ImagePath}}web/mg4_iconFold_1.png" wx:if="{{Expand[0]}}" />
10
+      </view>
11
+    </view>
12
+    <view class="panel13 FlexColumn" wx:if="{{Expand[0]}}">
13
+      <view class="text5">基础版</view>
14
+      <view class="text6">这是秒过默认设置方式,非常适合新用户在新手班、起步阶段使用。</view>
15
+      <view class="text7">操作简便,选项单一,只对任务限量进行设置,剩下工作交由系统的智能算法以您平时练习数据为依据对每次任务内容进行优化组合,无需对任务控制有太多了解就能达到效果。练习时间越长,结果越精准。</view>
16
+      <view class="text5">完整版</view>
17
+      <view class="text6">适合需要启用「紧急练习模式」、要对「日常练习模式」进行具体管理、对任务内容的细节控制有具体需要的用户。</view>
18
+      <view class="text7">选项丰富,细分为「日常」和「紧急」两种练习模式,可对任务内容进行自主控制。比基础版复杂许多,有学习成本。通常需要用户掌握「使用教学课程」中的相关知识,有一些使用经验,对秒过任务系统有一定程度的了解,才能有效配置,发挥完整版的效能。</view>
19
+    </view>
20
+    <view class="panel1Line"></view>
21
+    <view class="panel11 FlexRow" bindtap="expandHelp" data-id="1">
22
+      <text class="text2">完整版里有什么</text>
23
+      <view class="panel12 FlexRow">
24
+        <image class="mg4_iconFold_2" src="{{ImagePath}}web/mg4_iconFold_2.png" wx:if="{{!Expand[1]}}" />
25
+        <image class="mg4_iconFold_2" src="{{ImagePath}}web/mg4_iconFold_1.png" wx:if="{{Expand[1]}}" />
26
+      </view>
27
+    </view>
28
+    <view class="panel13 FlexRow" wx:if="{{Expand[1]}}">
29
+      <view class="text8">完整版具有以下功能</view>
30
+      <view class="panel1310 panel131 FlexColumn">
31
+        <view class="panel1311 FlexRow">
32
+          <image class="mg4_iconTools_2" src="{{ImagePath}}web/mg4_iconTools_2.png" />
33
+          紧急练习模式
34
+        </view>
35
+        <view class="text9">启用并配置紧急练习模式。紧急练习用于短期内强化练习,难度高,压力大,不适合日常使用。</view>
36
+      </view>
37
+      <view class="panel131 FlexColumn">
38
+        <view class="panel1311 FlexRow">
39
+          <image class="mg4_iconTools_2" src="{{ImagePath}}web/mg4_iconTools_2.png" />
40
+          模式整合
41
+        </view>
42
+        <view class="text9">可启用仅日常、仅紧急或日常+紧急的整合练习。日常练习任务限量可突破300张题卡。</view>
43
+      </view>
44
+      <view class="panel1310 panel131 FlexColumn">
45
+        <view class="panel1311 FlexRow">
46
+          <image class="mg4_iconTools_2" src="{{ImagePath}}web/mg4_iconTools_2.png" />
47
+          新旧题卡分开设置
48
+        </view>
49
+        <view class="text9">可对任务限量中的新旧题卡上限数量分开设置。</view>
50
+      </view>
51
+      <view class="panel131 FlexColumn">
52
+        <view class="panel1311 FlexRow">
53
+          <image class="mg4_iconTools_2" src="{{ImagePath}}web/mg4_iconTools_2.png" />
54
+          优先规则
55
+        </view>
56
+        <view class="text9">每次练习优先选择哪些到期题卡,按到期时间区间进行设置。</view>
57
+      </view>
58
+    </view>
59
+    <view class="panel1Line"></view>
60
+    <view class="button1" wx:if="{{!showFull}}" bindtap="changeBasic">启用基础版</view>
61
+    <view class="button1" wx:if="{{showFull}}" bindtap="changeFull">启用完整版</view>
62
+  </view>
63
+
64
+  <!-- 启用基础版帮助 -->
65
+  <view class="panel2 panel1 FlexColumn" wx:if="{{!showFull}}">
66
+    <text class="text3">启用后将带来以下变化</text>
67
+    <view class="panel21 FlexRow">
68
+      <view class="panel211 FlexRow">
69
+        <image class="mg4_iconNum1_1" src="{{ImagePath}}web/mg4_iconNum1_1.png" />
70
+      </view>
71
+      <text class="text4">仅运行日常练习模式,紧急练习模式将自动关闭。</text>
72
+    </view>
73
+    <view class="panel21 FlexRow">
74
+      <view class="panel211 FlexRow">
75
+        <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum2_1.png" />
76
+      </view>
77
+      <text class="text4">您只能设置任务限量总数。其它项目由系统统一安排。</text>
78
+    </view>
79
+    <view class="panel21 FlexRow">
80
+      <view class="panel211 FlexRow">
81
+        <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum3_1.png" />
82
+      </view>
83
+      <text class="text4">任务限量最大数将回落到300张题卡,新旧题卡将由系统重新分配,具体数量会与您在完整版里的设置不一样。</text>
84
+    </view>
85
+    <view class="panel21 FlexRow">
86
+      <view class="panel211 FlexRow">
87
+        <image class="mg4_iconNum4_1" src="{{ImagePath}}web/mg4_iconNum4_1.png" />
88
+      </view>
89
+      <text class="text4">您指定的优先规则不变,会继续作用于基础版。</text>
90
+    </view>
91
+    <view class="panel21Footer panel21 FlexRow">
92
+      <view class="panel211 FlexRow">
93
+        <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum5_1.png" />
94
+      </view>
95
+      <text class="text4">今天的练习记录会保留。</text>
96
+    </view>
97
+  </view>
98
+
99
+  <!-- 启用完整版帮助 -->
100
+  <view class="panel2 panel1 FlexColumn" wx:if="{{showFull}}">
101
+    <text class="text3">启用后将带来以下变化</text>
102
+    <view class="panel21 FlexRow">
103
+      <view class="panel211 FlexRow">
104
+        <image class="mg4_iconNum1_1" src="{{ImagePath}}web/mg4_iconNum1_1.png" />
105
+      </view>
106
+      <text class="text4">界面会有较大变化,选项更多,数据更丰富,需要了解更多基础知识才能灵活使用。</text>
107
+    </view>
108
+    <view class="panel21 FlexRow">
109
+      <view class="panel211 FlexRow">
110
+        <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum2_1.png" />
111
+      </view>
112
+      <text class="text4">日常、紧急两种模式分开设置,模式启用才生效。</text>
113
+    </view>
114
+    <view class="panel21 FlexRow">
115
+      <view class="panel211 FlexRow">
116
+        <image class="mg4_iconNum2_1" src="{{ImagePath}}web/mg4_iconNum3_1.png" />
117
+      </view>
118
+      <text class="text4">任务限量的新旧题卡配比可自定义设置。</text>
119
+    </view>
120
+    <view class="panel21Footer panel21 FlexRow">
121
+      <view class="panel211 FlexRow">
122
+        <image class="mg4_iconNum4_1" src="{{ImagePath}}web/mg4_iconNum4_1.png" />
123
+      </view>
124
+      <text class="text4">可随时换回「基础版」,请放心使用。</text>
125
+    </view>
126
+  </view>
127
+</view>

+ 170 - 0
pages/plan/taskHelp.wxss

@@ -0,0 +1,170 @@
1
+.container{
2
+  background-color: #E8E6E4;
3
+}
4
+
5
+.mg4_textH1_2{
6
+  width:340rpx;
7
+  height:193rpx;
8
+  justify-content: flex-start;
9
+  align-self: flex-start;
10
+  margin: 100rpx 0 0 60rpx;
11
+}
12
+
13
+.text1{
14
+  font-weight: 400;
15
+  font-size: 24rpx;
16
+  color: #2E2E2E;
17
+  width:610rpx;
18
+  margin-top: 60rpx;
19
+}
20
+
21
+.panel1{
22
+  background: #FFFFFF;
23
+  border-radius: 20rpx;
24
+  width:690rpx;
25
+  margin-top: 68rpx;
26
+  justify-content: flex-start;
27
+}
28
+
29
+.panel11{
30
+  width:610rpx;
31
+  justify-content: space-between;
32
+  margin-top: 60rpx;
33
+}
34
+
35
+.panel12{
36
+  width:34rpx;
37
+  height:34rpx;
38
+  background: #EB5C28;
39
+  border-radius: 50%;
40
+  margin-right: 20rpx;
41
+}
42
+
43
+.text2{
44
+  font-size: 36rpx;
45
+  color: #4D4D4D;
46
+}
47
+
48
+.mg4_iconFold_2{
49
+  width:20rpx;
50
+  height:14rpx;
51
+}
52
+
53
+.panel1Line{
54
+  width:610rpx;
55
+  height:1rpx;
56
+  background-color: #e3e3e3;
57
+  margin: 60rpx 0 0 0;
58
+}
59
+
60
+.panel13{
61
+  width:610rpx;
62
+  font-size:24rpx;
63
+  color: #4D4D4D;
64
+  flex-wrap: wrap;
65
+}
66
+
67
+.text5{
68
+  font-size: 28rpx;
69
+  width:100%;
70
+  margin-top: 40rpx;
71
+}
72
+.text6{
73
+  color: #2e2e2e;
74
+  width:100%;
75
+  margin-top: 30rpx;
76
+}
77
+.text7{
78
+  width:100%;
79
+  font-weight: 400;
80
+  margin-top: 20rpx;
81
+}
82
+
83
+.text8{
84
+  width:100%;
85
+  font-weight: 400;
86
+  margin-top: 40rpx;
87
+}
88
+
89
+.panel131{
90
+  width:280rpx;
91
+  margin: 40rpx 0 0 0;
92
+  justify-content: flex-start;
93
+  align-items: flex-start;
94
+}
95
+
96
+.panel1310{
97
+  margin: 40rpx 50rpx 0 0;
98
+}
99
+
100
+.mg4_iconTools_2{
101
+  width:28rpx;
102
+  height:28rpx;
103
+  margin-right: 20rpx;
104
+}
105
+
106
+.text9{
107
+  width:280rpx;
108
+  font-weight: 400;
109
+  margin-top: 14rpx;
110
+}
111
+
112
+.button1{
113
+  width:610rpx;
114
+  line-height:120rpx;
115
+  background: #F2F2F2;
116
+  border-radius: 20rpx;
117
+  font-size: 36rpx;
118
+  color: #EB5C28;
119
+  text-align: center;
120
+  margin:60rpx 0 40rpx 0;
121
+}
122
+
123
+.panel2{
124
+  align-items: flex-start;
125
+  margin-bottom: 60rpx;
126
+}
127
+.text3{
128
+  font-size: 36rpx;
129
+  color: #4D4D4D;
130
+  margin: 60rpx 0 30rpx 40rpx;
131
+}
132
+
133
+.panel21{
134
+  width:100%;
135
+  justify-content: flex-start;
136
+  margin-bottom: 20rpx;
137
+  align-items: flex-start;
138
+}
139
+
140
+.panel21Footer{
141
+  margin-bottom: 60rpx;
142
+}
143
+
144
+.panel211{
145
+  width: 30rpx;
146
+  height:30rpx;
147
+  background: #4d4d4d;
148
+  border-radius: 10rpx;
149
+  margin: 0 0 0 40rpx;
150
+}
151
+
152
+.mg4_iconNum1_1{
153
+  width: 6rpx;
154
+  height:12rpx;
155
+}
156
+.mg4_iconNum2_1{
157
+  width: 8rpx;
158
+  height:12rpx;
159
+}
160
+.mg4_iconNum4_1{
161
+  width: 10rpx;
162
+  height:12rpx;
163
+}
164
+
165
+.text4{
166
+  width:560rpx;
167
+  font-size: 22rpx;
168
+  font-weight: 400;
169
+  margin-left: 20rpx;
170
+}

+ 1 - 1
pages/share/shareindex.wxml

@@ -61,7 +61,7 @@
61 61
 
62 62
       <view class="panel2201 panel22 FlexColumn" wx:if="{{IsYearReport}}">
63 63
         <image lazy-load="true" class="qmjl_main_pic_5" src="{{ImagePath}}web/qmjl_main_pic_5.png"></image>
64
-        <view class="panel2201text1">2022年度勤勉接力统计于2022年12月30日结束。去年,您一共接力——{{Info.ShareNumberYear}}次。(有疑问请微信私聊天乐)</view>  
64
+        <view class="panel2201text1">2022年度勤勉接力统计于2022年12月30日结束。去年,您一共接力——{{Info.ShareNumberYearPrev}}次。(有疑问请微信私聊天乐)</view>  
65 65
         
66 66
         <block wx:if="{{Info.Award>0}}">
67 67
         <text class="panel2201text2">恭喜您\n获得{{Info.Award}}天有效期奖励</text>  

+ 15 - 0
pages/share/shareitem.js

@@ -162,6 +162,9 @@ Page({
162 162
 
163 163
     var url1 = that.data.Info.MilestoneImage;
164 164
     var url3 = app.globalData.userInfo.AvatarUrl;
165
+    if (url3=="../images/universalpic_face_default_blue_120x120.png")
166
+      url3="https://miaguo-1253256735.file.myqcloud.com/web/universalpic_face_default_blue_120x120.png";
167
+
165 168
     var _uid = common.Encrypt(app.globalData.userInfo.UserID);
166 169
     if (_uid.indexOf("/") >= 0)
167 170
       _uid = common.ReplaceAllString(_uid, "/", "___");
@@ -174,6 +177,9 @@ Page({
174 177
       wx.hideLoading();
175 178
     }, 20000);
176 179
 
180
+    // console.log(url1);
181
+    // console.log(url3);
182
+    // console.log(url4);
177 183
     main.DownloadFile(url1,0,function (tempFilePath1) {
178 184
       main.DownloadFile(url3,0,function (tempFilePath3) {
179 185
         main.DownloadFile(url4,0,function (tempFilePath4) {
@@ -262,6 +268,10 @@ Page({
262 268
     var url1 = that.data.Info.Image.replace("_b_", "_d_");
263 269
     var url2 = that.data.Info.WordImage;
264 270
     var url3 = app.globalData.userInfo.AvatarUrl;
271
+
272
+    if (url3=="../images/universalpic_face_default_blue_120x120.png")
273
+      url3="https://miaguo-1253256735.file.myqcloud.com/web/universalpic_face_default_blue_120x120.png";
274
+
265 275
     var _uid = common.Encrypt(app.globalData.userInfo.UserID);
266 276
     if (_uid.indexOf("/") >= 0)
267 277
       _uid = common.ReplaceAllString(_uid, "/", "___");
@@ -274,6 +284,11 @@ Page({
274 284
       wx.hideLoading();
275 285
     }, 20000);
276 286
 
287
+    // console.log(url1);
288
+    // console.log(url2);
289
+    // console.log(url3);
290
+    // console.log(url4);
291
+
277 292
     main.DownloadFile(url1,0,function (tempFilePath1) {
278 293
       main.DownloadFile(url2,0,function (tempFilePath2) {
279 294
         main.DownloadFile(url3,0,function (tempFilePath3) {

+ 2 - 2
pages/template/Fan.wxml

@@ -6,7 +6,7 @@
6 6
       <view class="sx2" style="clip: rect(0, {{FanSize/2}}rpx, {{FanSize}}rpx, 0);transform: rotate({{Angle2}}deg);{{BGColor}}">
7 7
       </view>
8 8
     </view>
9
-    <view class="shanxingSmall" style="width:{{FanSize-FanSize/FanScale}}rpx;height:{{FanSize-FanSize/FanScale}}rpx;line-height:{{FanSize-FanSize/FanScale}}rpx;left:{{FanSize/(FanScale*2)}}rpx;top:{{FanSize/(FanScale*2)}}rpx;">
9
+    <view class="shanxingSmall" style="width:{{FanSize-FanSize/FanScale}}rpx;height:{{FanSize-FanSize/FanScale}}rpx;line-height:{{FanSize-FanSize/FanScale}}rpx;left:{{FanSize/(FanScale*2)}}rpx;top:{{FanSize/(FanScale*2)}}rpx;font-size:{{(FanSize-FanSize/FanScale)*0.5}}rpx;">
10 10
       <block wx:if="{{ShowNumber}}">{{ShowNumber}}</block>
11 11
     </view>
12 12
   </view>
@@ -20,7 +20,7 @@
20 20
       <view class="sx2" style="clip: rect(0, {{FanSize2/2}}rpx, {{FanSize2}}rpx, 0);transform: rotate({{Angle22}}deg);{{BGColor2}}">
21 21
       </view>
22 22
     </view>
23
-    <view class="shanxingSmall" style="width:{{FanSize2-FanSize2/FanScale2}}rpx;height:{{FanSize2-FanSize2/FanScale2}}rpx;line-height:{{FanSize2-FanSize2/FanScale2}}rpx;left:{{FanSize2/(FanScale2*2)}}rpx;top:{{FanSize2/(FanScale2*2)}}rpx;">
23
+    <view class="shanxingSmall" style="width:{{FanSize2-FanSize2/FanScale2}}rpx;height:{{FanSize2-FanSize2/FanScale2}}rpx;line-height:{{FanSize2-FanSize2/FanScale2}}rpx;left:{{FanSize2/(FanScale2*2)}}rpx;top:{{FanSize2/(FanScale2*2)}}rpx;font-size:{{(FanSize2-FanSize2/FanScale2)*0.5}}rpx;">
24 24
       <block wx:if="{{ShowNumber2}}">{{ShowNumber2}}</block>
25 25
     </view>
26 26
   </view>

+ 1 - 0
pages/template/Fan.wxss

@@ -25,6 +25,7 @@
25 25
   left: 14rpx;
26 26
   top: 14rpx;
27 27
   font-family: 'Roboto-Black';
28
+  text-align: center;
28 29
 }
29 30
 
30 31
 .sx1 {

+ 2 - 3
pages/template/FanObject.js

@@ -20,12 +20,11 @@ var fanObject = {
20 20
       FanScale: fanScale,
21 21
       Color1: color1,
22 22
       Color2: color2,
23
-      ShowNumber: ShowNumber,
23
+      ShowNumber: ShowNumber.toString(),
24 24
     });
25 25
 
26 26
   },
27 27
   init2: function (that, rateResult2, fanSize2, fanScale2, color12, color22, ShowNumber2) {
28
-    
29 28
     var rate2 = rateResult2;
30 29
     var angle12 = (360 * rate2), angle22 = 0, bgColor2 = "background-color:" + color22;
31 30
     if (rate2 > 0.5) {
@@ -45,7 +44,7 @@ var fanObject = {
45 44
       FanScale2: fanScale2,
46 45
       Color12: color12,
47 46
       Color22: color22,
48
-      ShowNumber2: ShowNumber2,
47
+      ShowNumber2: ShowNumber2.toString(),
49 48
     });
50 49
 
51 50
   }

+ 0 - 1
pages_test/test/index.js

@@ -31,7 +31,6 @@ Page({
31 31
       });
32 32
     });
33 33
 
34
-
35 34
     canPress = true;
36 35
   },
37 36
   onShow: function () {

+ 5 - 4
project.private.config.json

@@ -12,7 +12,7 @@
12 12
         {
13 13
           "name": "pages/index/index",
14 14
           "pathName": "pages/index/index",
15
-          "query": "type=paycustom&PayUserID=1&DayNumber=365&Price=199&Remark=test",
15
+          "query": "type=tips",
16 16
           "launchMode": "default",
17 17
           "scene": 1007
18 18
         },
@@ -37,8 +37,8 @@
37 37
           "scene": null
38 38
         },
39 39
         {
40
-          "name": "pages/main/orderform",
41
-          "pathName": "pages/main/orderform",
40
+          "name": "pages/plan/taskFull",
41
+          "pathName": "pages/plan/taskFull",
42 42
           "query": "",
43 43
           "launchMode": "default",
44 44
           "scene": null
@@ -46,5 +46,6 @@
46 46
       ]
47 47
     }
48 48
   },
49
-  "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html"
49
+  "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
50
+  "libVersion": "2.28.1"
50 51
 }

Разлика између датотеке није приказан због своје велике величине
+ 6 - 6
utils/constant.js


+ 20 - 15
utils/main.js

@@ -1230,7 +1230,7 @@ function getPinyinNormal(pinyin) {
1230 1230
 function getHanzi(callback) {
1231 1231
   var that = this;
1232 1232
   wx.showLoading({
1233
-    title: '请稍候',
1233
+    title: '资料更新',
1234 1234
     mask: true,
1235 1235
   });
1236 1236
 
@@ -1264,7 +1264,7 @@ function getServerSoundErrorArr(){
1264 1264
 function getEnglish(callback) {
1265 1265
   var that = this;
1266 1266
   wx.showLoading({
1267
-    title: '请稍候',
1267
+    title: '资料更新',
1268 1268
     mask: true,
1269 1269
   });
1270 1270
 
@@ -1300,7 +1300,9 @@ function getEnglish(callback) {
1300 1300
 function UploadUserConfig(callback) {
1301 1301
   var that = this;
1302 1302
   var param1 = {};
1303
+  param1.TaskSetting = wx.getStorageSync("TaskSetting");
1303 1304
   param1.CardType = wx.getStorageSync("CardType");
1305
+  param1.BasicCardLimit = wx.getStorageSync("BasicCardLimit");
1304 1306
   param1.CardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew");
1305 1307
   param1.CardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory");
1306 1308
   param1.CardMaxNumberNewUrgent = wx.getStorageSync("CardMaxNumberNewUrgent");
@@ -1351,19 +1353,21 @@ function getUserConfig() {
1351 1353
     if (data && !data.CardType)
1352 1354
       data.CardType = 0;
1353 1355
 
1354
-    wx.setStorageSync("CardType", data.CardType);
1355
-    wx.setStorageSync("CardMaxNumberNew", data.CardMaxNumberNew);
1356
-    wx.setStorageSync("CardMaxNumberHistory", data.CardMaxNumberHistory);
1357
-    wx.setStorageSync("CardMaxNumberNewUrgent", data.CardMaxNumberNewUrgent);
1358
-    wx.setStorageSync("CardMaxNumberHistoryUrgent", data.CardMaxNumberHistoryUrgent);
1359
-    wx.setStorageSync("SortTypeIndex", data.SortTypeIndex);
1360
-    wx.setStorageSync("MemoryLevel", data.MemoryLevel);
1361
-    wx.setStorageSync("ClickType", data.ClickType);
1362
-    wx.setStorageSync("SecondConfigArray", data.SecondConfigArray.split(","));
1363
-    wx.setStorageSync("ColorIndexArr", data.ColorIndexArr.split(","));
1364
-    wx.setStorageSync("FolderOrderStr", data.FolderOrder);
1365
-    wx.setStorageSync("IsFolderPractice", data.IsFolderPractice);
1366
-    wx.setStorageSync("IsAutoSound", data.IsAutoSound);
1356
+      wx.setStorageSync("TaskSetting", data.TaskSetting);
1357
+      wx.setStorageSync("CardType", data.CardType);
1358
+      wx.setStorageSync("BasicCardLimit", data.BasicCardLimit);
1359
+      wx.setStorageSync("CardMaxNumberNew", data.CardMaxNumberNew);
1360
+      wx.setStorageSync("CardMaxNumberHistory", data.CardMaxNumberHistory);
1361
+      wx.setStorageSync("CardMaxNumberNewUrgent", data.CardMaxNumberNewUrgent);
1362
+      wx.setStorageSync("CardMaxNumberHistoryUrgent", data.CardMaxNumberHistoryUrgent);
1363
+      wx.setStorageSync("SortTypeIndex", data.SortTypeIndex);
1364
+      wx.setStorageSync("MemoryLevel", data.MemoryLevel);
1365
+      wx.setStorageSync("ClickType", data.ClickType);
1366
+      wx.setStorageSync("SecondConfigArray", data.SecondConfigArray.split(","));
1367
+      wx.setStorageSync("ColorIndexArr", data.ColorIndexArr.split(","));
1368
+      wx.setStorageSync("FolderOrderStr", data.FolderOrder);
1369
+      wx.setStorageSync("IsFolderPractice", data.IsFolderPractice);
1370
+      wx.setStorageSync("IsAutoSound", data.IsAutoSound);
1367 1371
 
1368 1372
     var symbol1 = [];
1369 1373
     if (data.SymbolList) {
@@ -1839,6 +1843,7 @@ function downloadFile(url,isShowLoading,callback){
1839 1843
       wx.hideLoading();
1840 1844
     }, 5000);
1841 1845
   }
1846
+  //console.log(url);
1842 1847
   wx.downloadFile({
1843 1848
     url: url,
1844 1849
     success(resDownload) {