chengjie 6 yıl önce
ebeveyn
işleme
ee9277a916

+ 2 - 1
app.js

@@ -25,7 +25,7 @@ App({
25 25
     }
26 26
   },
27 27
   globalData: {
28
-    Version: "1.0.0.26",
28
+    Version: "1.0.1",
29 29
     IsProduction: true,
30 30
     ShareTitle: "可以用来记忆一切的工具",
31 31
     SharePath: "pages/index/index",
@@ -60,5 +60,6 @@ App({
60 60
     SearchItem: {},//资料搜索项信息,用于资料搜索时用
61 61
     TempFieldNumber:0,//资料搜索时的段落编号
62 62
     TempSearcchBackNumber:3,//资料搜索时返回的页面数
63
+    MemoryLevel:0,//记忆水平
63 64
   }
64 65
 })

+ 2 - 0
app.json

@@ -1,6 +1,7 @@
1 1
 {
2 2
   "pages": [
3 3
     "pages/index/index",
4
+    "pages/index/notice",
4 5
     "pages/index/accredit",
5 6
     "pages/main/default",
6 7
     "pages/main/cardInfo",
@@ -14,6 +15,7 @@
14 15
     "pages/main/searchWeb",
15 16
     "pages/main/detail",
16 17
     "pages/main/colorplan",
18
+    "pages/main/memoryLevel",
17 19
     "pages/main/setting"
18 20
   ],
19 21
   "window": {

BIN
pages/images/universalpic_card_gray_26x26.png


BIN
pages/images/universalpic_checked_white_22x17.png


+ 10 - 1
pages/index/accredit.js

@@ -6,6 +6,7 @@ var urlRedirectTo = "";
6 6
 
7 7
 Page({
8 8
   data: {
9
+    ShowNotice:false,
9 10
   },
10 11
   onLoad: function (options) {
11 12
     urlRedirectTo = options.url;
@@ -97,7 +98,15 @@ Page({
97 98
       app.globalData.userInfo.Province = data.Province;
98 99
       app.globalData.userInfo.Country = data.Country;
99 100
       
100
-      that.buildInitData();
101
+      if (data.IsMember){
102
+        app.globalData.userInfo.Country=data.IsMember;
103
+        that.buildInitData();
104
+      }
105
+      else{
106
+        wx.navigateBack({
107
+          delta: 1
108
+        });
109
+      }
101 110
     });
102 111
   },
103 112
   buildInitData: function () {

+ 4 - 4
pages/index/accredit.wxml

@@ -5,13 +5,13 @@
5 5
 
6 6
   <view class="btn">
7 7
     <button open-type="getUserInfo" bindgetuserinfo="goto" class="btn1 FlexRow">
8
-    <image src="../images/universalpic_share_white_52x40.png" class="universalpic_share_white_52x40" />
8
+      <image src="../images/universalpic_share_white_52x40.png" class="universalpic_share_white_52x40" />
9
+
10
+      <view>用微信一键登录</view>
9 11
 
10
-    <view>用微信一键登录</view>
11
-    
12 12
     </button>
13 13
   </view>
14 14
 
15 15
   <view class="text3">本产品仅对受邀用户开放
16 16
   </view>
17
-</view>
17
+</view>

+ 0 - 1
pages/index/index.js

@@ -208,7 +208,6 @@ Page({
208 208
             that.getTaskTodayList();
209 209
           }
210 210
           that.getBaiduToken();
211
-
212 211
         }
213 212
       });
214 213
 

+ 16 - 0
pages/index/notice.js

@@ -0,0 +1,16 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+  },
9
+  onLoad: function (options) {
10
+    this.setData({
11
+      Containnerheight: main.getWindowHeight(),
12
+    });
13
+
14
+    wx.hideShareMenu();
15
+  },
16
+});

+ 3 - 0
pages/index/notice.json

@@ -0,0 +1,3 @@
1
+{
2
+  "navigationBarTitleText": "通知"
3
+}

+ 6 - 0
pages/index/notice.wxml

@@ -0,0 +1,6 @@
1
+<view class="container FlexColumn" style='height:{{Containnerheight}}rpx;'>
2
+  <view class="text1">Sorry</view>
3
+  <text class="text2">目前,本产品仅对受邀用户开放。\n
4
+  如您是秒过学习群的朋友,\n
5
+  请与群主联系开通。</text>
6
+</view>

+ 22 - 0
pages/index/notice.wxss

@@ -0,0 +1,22 @@
1
+.container {
2
+  background-color: #fff;
3
+  font-weight: 500;
4
+  position: fixed;
5
+  top:0;
6
+  justify-content: flex-start;
7
+}
8
+
9
+.text1{
10
+  position: fixed;
11
+  top:380rpx;
12
+  font-size:68rpx;
13
+  font-weight: 400;
14
+}
15
+.text2{
16
+  position: fixed;
17
+  top:515rpx;
18
+  font-size:28rpx;
19
+  font-weight: 400;
20
+  line-height: 20rpx;
21
+  text-align: center;
22
+}

+ 40 - 0
pages/main/add.js

@@ -23,9 +23,15 @@ Page({
23 23
   onLoad: function (options) {
24 24
     wx.hideShareMenu();
25 25
     var that = this;
26
+
27
+    var type2=0;
28
+    if (options.type2)
29
+      type2=options.type2;
30
+
26 31
     that.setData({
27 32
       Containnerheight: main.getWindowHeight(),
28 33
       UpdateType: options.type,
34
+      ShowType:type2,
29 35
       MiaoguoCardID: options.id,
30 36
     });
31 37
 
@@ -382,6 +388,40 @@ Page({
382 388
     });
383 389
     
384 390
   },
391
+  onGotoList:function(){
392
+    var that = this;
393
+    if (that.data.Field[1] != "" && that.data.Field[2] != "" && that.data.Field[2] != "") {
394
+      wx.showModal({
395
+        title: '尚未保存',
396
+        content: '即将前往“全部题卡”,但当前题卡尚未保存,按继续将放弃保存。',
397
+        confirmText:'继续',
398
+        success(res) {
399
+          if (res.confirm) {
400
+            goto();
401
+          }
402
+        }
403
+      });
404
+    }
405
+    else{
406
+      goto();
407
+    }
408
+
409
+    function goto(){
410
+      wx.showLoading({
411
+        title: '请稍候',
412
+      });
413
+      var url = 'GetMiaoguoCardList?UserID=' + app.globalData.userInfo.UserID;
414
+      main.getData(url, function (data) {
415
+        wx.hideLoading();
416
+        if (data) {
417
+          app.globalData.CardList = data.List;
418
+          wx.redirectTo({
419
+            url: './searchCardList?type=0&Count=' + data.Count,
420
+          })
421
+        }
422
+      });
423
+    }
424
+  },
385 425
 
386 426
 
387 427
   //段落编辑**************************

+ 11 - 5
pages/main/add.wxml

@@ -9,7 +9,7 @@
9 9
       <switch class='panelTimePlan2' checked="{{IsTodayStudy}}" bindchange="switch1Change" />
10 10
     </view>
11 11
   </view>
12
-  <view style='height:120rpx'></view>
12
+  <view style='height:120rpx' wx:if="{{UpdateType=='add' || UpdateType=='add2'}}"></view>
13 13
   <view class="panelTitle FlexRow">
14 14
     <view class="panelTitle1">段落</view>
15 15
   </view>
@@ -62,7 +62,6 @@
62 62
   </block>
63 63
   <view class='lineFooter'></view>
64 64
 
65
-  <!-- <view class="panelTimePlanRemark" wx:if="{{UpdateType=='add' || UpdateType=='add2'}}">指定该题卡必定出现在今天任务中,可能增加额外的任务量</view> -->
66 65
   <view style='height:300rpx;'></view>
67 66
 
68 67
   <view class='panelSave FlexRow'>
@@ -71,10 +70,17 @@
71 70
     </view>
72 71
     <view class='panelSave0' bindtap="saveCard">保存</view>
73 72
 
74
-    <view class="panelSave2 panelSave1 FlexRow" bindtap="onPreview">
75
-      预览
73
+    <view class='panelSave00 FlexRow'>
74
+      <view class="panelSave4 panelSave2 panelSave1" bindtap="onPreview" wx:if="{{ShowType==1}}">
75
+        预览
76
+      </view>
77
+      <view class="panelSave2 panelSave1" bindtap="onPreview" wx:if="{{ShowType==0}}">
78
+        预览
79
+      </view>
80
+      <view class="panelSave3 panelSave1 FlexRow" bindtap="onGotoList" wx:if="{{ShowType==0}}">
81
+        <image src='../images/universalpic_card_gray_26x26.png' class="universalpic_card_gray_26x26" />
82
+      </view>
76 83
     </view>
77
-    
78 84
   </view>
79 85
 </view>
80 86
 

+ 28 - 5
pages/main/add.wxss

@@ -204,7 +204,7 @@
204 204
   z-index: 10;
205 205
   color: #0071ef;
206 206
   justify-content: space-between;
207
-  border-top: 1rpx solid #d2d2d2;
207
+  border-top: 2rpx solid #d2d2d2;
208 208
 }
209 209
 
210 210
 .panelSave .panelSave1 {
@@ -216,11 +216,34 @@
216 216
   line-height: 80rpx;
217 217
   height:80rpx;
218 218
   border-radius: 10rpx;
219
-  font-size:24rpx;
219
+  font-size:28rpx;
220 220
   margin:0 20rpx;
221 221
 }
222
+
223
+.panelSave .panelSave00 {
224
+  justify-content: flex-end;
225
+  margin:0 20rpx;
226
+}
227
+
222 228
 .panelSave .panelSave2 {
223 229
   width: 108rpx;
230
+  margin:0;
231
+}
232
+
233
+.panelSave .panelSave3 {
234
+  width: 80rpx;
235
+  margin:0;
236
+}
237
+
238
+.panelSave .panelSave4 {
239
+  width: 148rpx;
240
+  margin:0;
241
+}
242
+
243
+
244
+.universalpic_card_gray_26x26{
245
+  width: 26rpx;
246
+  height:26rpx;
224 247
 }
225 248
 
226 249
 .add {
@@ -230,10 +253,10 @@
230 253
 }
231 254
 
232 255
 .panelSave .panelSave0{
233
-  width:400rpx;
256
+  width:290rpx;
234 257
   line-height:100rpx;
235 258
   text-align: center;
236
-  margin-right: 40rpx;
259
+  margin:0;
237 260
 }
238 261
 
239 262
 .panelSave .line1 {
@@ -335,7 +358,7 @@
335 358
 .clear {
336 359
   width: 108rpx;
337 360
   height: 80rpx;
338
-  color: #0071ef;
361
+  color:#787878;
339 362
   background-color: #fff;
340 363
   border: 1rpx solid #9b9b9b;
341 364
   text-align: center;

+ 1 - 1
pages/main/colorplan.wxml

@@ -1,7 +1,7 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2 2
   <view style='height:50rpx'></view>
3 3
   <view class="panelItem FlexRow">
4
-    <view class="panelItem1">每次更换色</view>
4
+    <view class="panelItem1">每次更换色</view>
5 5
     <view class="panelItem2 FlexRow">
6 6
       <switch checked="{{IsChangeColor}}" bindchange="switch1Change" />
7 7
     </view>

+ 7 - 0
pages/main/default.js

@@ -31,6 +31,13 @@ Page({
31 31
     wx.getSetting({
32 32
       success(res) {
33 33
         if (res.authSetting['scope.userInfo']) {
34
+
35
+          if (!app.globalData.userInfo.IsMember && app.globalData.userInfo.IsShow==1){
36
+            wx.navigateTo({
37
+              url: '../index/notice',
38
+            });
39
+          }
40
+
34 41
           that.setData({
35 42
             IsAccredit: true,
36 43
           });

+ 2 - 2
pages/main/default.wxml

@@ -21,7 +21,7 @@
21 21
         <view class='text5'>学习</view>
22 22
       </view>
23 23
       <view class='line1'></view>
24
-      <view class='panelBottom11 FlexColumn' bindtap="goto" data-url="add?type=add&id=0">
24
+      <view class='panelBottom11 FlexColumn' bindtap="goto" data-url="add?type=add&type2=1&id=0">
25 25
         <image class="program_tabbar_task_default" src='../images/program_tabbar_add_default.png' />
26 26
         <view>添加</view>
27 27
       </view>
@@ -33,4 +33,4 @@
33 33
 
34 34
     </view>
35 35
   </view>
36
-</view>
36
+</view>

+ 40 - 46
pages/main/detail.js

@@ -39,7 +39,7 @@ Page({
39 39
   onLoad: function () {
40 40
     wx.hideShareMenu();
41 41
     var that = this;
42
-    var height = app.globalData.systemInfo.screenHeight * 2-110;
42
+    var height = app.globalData.systemInfo.screenHeight * 2-90;
43 43
     var height2=750;
44 44
     if (app.globalData.IsIPad){
45 45
       height=960;
@@ -61,6 +61,7 @@ Page({
61 61
 
62 62
     this.getColor();
63 63
 
64
+    this.getMemoryLevel();
64 65
     
65 66
   },
66 67
   onShow: function () {
@@ -224,38 +225,16 @@ Page({
224 225
       return list;
225 226
     }
226 227
 
227
-    function replaceStr(data) {
228
-      var result = "";
229
-      if (data.indexOf("d") > 0) {
230
-        var dayNum = Number(data.replace("d", ""));
231
-        if (dayNum >= 365) {
232
-          var year1 = Math.floor(dayNum / 365);
233
-          var year = year1 + Math.round(10 * (dayNum - year1 * 365) / 365) / 10;
234
-          result = year + "年";
235
-        } else {
236
-          if (dayNum > 31) {
237
-            var month1 = Math.floor(dayNum / 30);
238
-            var month = month1 + Math.round(10 * (dayNum - month1 * 30) / 30) / 10;
239
-            result = month + "月";
240
-          } else
241
-            result = data.replace("d", "天");
242
-        }
243
-
244
-      } else if (data.indexOf("m") > 0)
245
-        result = "<" + data.replace("m", "分钟");
246
-      return result;
247
-    }
248
-
249 228
     function updateNumberStr(list) {
250 229
       for (var i = 0; i < list.length; i++) {
251 230
         if (list[i].Number0)
252
-          list[i].Number0Str = replaceStr(list[i].Number0);
231
+          list[i].Number0Str = main.getMemoryLevel(app.globalData.MemoryLevel,0,list[i].Number0);
253 232
         if (list[i].Number1)
254
-          list[i].Number1Str = replaceStr(list[i].Number1);
233
+          list[i].Number1Str = main.getMemoryLevel(app.globalData.MemoryLevel, 1, list[i].Number1);
255 234
         if (list[i].Number2)
256
-          list[i].Number2Str = replaceStr(list[i].Number2);
235
+          list[i].Number2Str = main.getMemoryLevel(app.globalData.MemoryLevel, 2, list[i].Number2);
257 236
         if (list[i].Number3)
258
-          list[i].Number3Str = replaceStr(list[i].Number3);
237
+          list[i].Number3Str = main.getMemoryLevel(app.globalData.MemoryLevel, 3, list[i].Number3);;
259 238
       }
260 239
       return list;
261 240
     }
@@ -289,11 +268,6 @@ Page({
289 268
       });
290 269
     }
291 270
   },
292
-  onAddQuestion: function () {
293
-    wx.navigateTo({
294
-      url: './add'
295
-    });
296
-  },
297 271
   gotoEdit: function () {
298 272
     var that = this;
299 273
     //console.log(res.tapIndex);
@@ -301,7 +275,7 @@ Page({
301 275
     list.push(TaskList[0]);
302 276
     app.globalData.CardList=list;
303 277
     wx.navigateTo({
304
-      url: './add?type=edit&id=' + TaskList[0].MiaoguoCardID,
278
+      url: './add?type=edit&type2=1&id=' + TaskList[0].MiaoguoCardID,
305 279
     });
306 280
   },
307 281
   onFontSize: function () {
@@ -429,16 +403,16 @@ Page({
429 403
         //若是新增,则10m 1d 4d
430 404
         if (TaskList[0].IsNew) {
431 405
           TaskList[0].Number0 = "10m";
432
-          TaskList[0].Number0Str = "<10分钟";
406
+          TaskList[0].Number0Str = main.getMemoryLevel(app.globalData.MemoryLevel, 0, TaskList[0].Number0);
433 407
 
434 408
           delete TaskList[0].Number1;
435 409
           delete TaskList[0].Number1Str;
436 410
 
437 411
           TaskList[0].Number2 = "1d";
438
-          TaskList[0].Number2Str = "1天";
412
+          TaskList[0].Number2Str = main.getMemoryLevel(app.globalData.MemoryLevel, 2, TaskList[0].Number2);
439 413
 
440 414
           TaskList[0].Number3 = "4d";
441
-          TaskList[0].Number3Str = "4天";
415
+          TaskList[0].Number3Str = main.getMemoryLevel(app.globalData.MemoryLevel, 3, TaskList[0].Number3);
442 416
           TaskList[0].FirstTime = null;
443 417
           TaskList[0].LastTime = null;
444 418
 
@@ -446,13 +420,13 @@ Page({
446 420
         //若是历史的,则10m 1d
447 421
         else if (TaskList[0].IsHistory) {
448 422
           TaskList[0].Number0 = "10m";
449
-          TaskList[0].Number0Str = "<10分钟";
423
+          TaskList[0].Number0Str = main.getMemoryLevel(app.globalData.MemoryLevel, 0, TaskList[0].Number0);
450 424
 
451 425
           delete TaskList[0].Number1;
452 426
           delete TaskList[0].Number1Str;
453 427
 
454 428
           TaskList[0].Number2 = "1d";
455
-          TaskList[0].Number2Str = "1天";
429
+          TaskList[0].Number2Str = main.getMemoryLevel(app.globalData.MemoryLevel, 2, TaskList[0].Number2);
456 430
 
457 431
           delete TaskList[0].Number3;
458 432
           delete TaskList[0].Number3Str;
@@ -623,20 +597,32 @@ Page({
623 597
     }
624 598
 
625 599
     var arr = url.split(",");
600
+    this.audioCtx=[];
626 601
     for (var i = 0; i < arr.length; i++) {
627 602
       this.audioCtx.push(wx.createAudioContext('myAudio' + i));
628 603
     }
604
+
629 605
     var index = 0;
630
-    intervalSound = setInterval(function () {
606
+    if (arr.length>1){
607
+      intervalSound = setInterval(function () {
608
+        that.audioCtx[index].setSrc(arr[index]);
609
+        that.audioCtx[index].play();
610
+
611
+        index++;
612
+        if (index >= arr.length) {
613
+          clearInterval(intervalSound);
614
+        }
615
+      }, 1000);
616
+    }
617
+    else{
618
+      if (arr[index].indexOf("http")>0)
619
+        arr[index] = arr[index].substr(arr[index].indexOf("http"));
620
+      arr[index] = arr[index].replace("http","https");
621
+
622
+      console.log("play:" + arr[index]);
631 623
       that.audioCtx[index].setSrc(arr[index]);
632 624
       that.audioCtx[index].play();
633
-
634
-      index++;
635
-      if (index >= arr.length) {
636
-        clearInterval(intervalSound);
637
-      }
638
-    }, 1000);
639
-    
625
+    }
640 626
 
641 627
     var fieldid = e.currentTarget.dataset.fieldid;
642 628
     var content = TaskList[0].ContentNew.Field[fieldid];
@@ -746,6 +732,14 @@ Page({
746 732
       delta: 1,
747 733
     });
748 734
   },
735
+  getMemoryLevel: function () {
736
+    var index = wx.getStorageSync("MemoryLevel");
737
+    if (!index) {
738
+      index = 0;
739
+      wx.setStorageSync("MemoryLevel", index);
740
+    }
741
+    app.globalData.MemoryLevel = index;
742
+  },
749 743
   onShareAppMessage: function () {
750 744
     return {
751 745
       title: app.globalData.ShareTitle,

+ 47 - 0
pages/main/memoryLevel.js

@@ -0,0 +1,47 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+  },
9
+  onLoad: function () {
10
+    wx.hideShareMenu();
11
+    var that = this;
12
+    that.setData({
13
+      Containnerheight: main.getWindowHeight(),
14
+    });
15
+    that.init(app.globalData.MemoryLevel);
16
+  },
17
+  init:function(index){
18
+    var that = this;
19
+    var list = main.getMemoryLevelAll();
20
+    for (var i = 0; i < list.length; i++) {
21
+      if (i == index) {
22
+        list[i].SelectedCss = "selected";
23
+      }
24
+      else {
25
+        list[i].SelectedCss = "";
26
+      }
27
+    }
28
+
29
+    that.setData({
30
+      Containnerheight: main.getWindowHeight(),
31
+      List: list,
32
+    });
33
+  },
34
+  onSelected:function(e){
35
+    var index=e.currentTarget.dataset.index;
36
+    this.init(index);
37
+    wx.setStorageSync("MemoryLevel", index);
38
+    app.globalData.MemoryLevel=index;
39
+  },
40
+  onShareAppMessage: function () {
41
+    return {
42
+      title: app.globalData.ShareTitle,
43
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
44
+      imageUrl: app.globalData.ShareImage,
45
+    }
46
+  },
47
+});

+ 4 - 0
pages/main/memoryLevel.json

@@ -0,0 +1,4 @@
1
+{
2
+  "navigationBarTitleText": "辨识方案",
3
+  "backgroundColor": "#F0F0F0"
4
+}

+ 56 - 0
pages/main/memoryLevel.wxml

@@ -0,0 +1,56 @@
1
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
+  <view class="panelTitle FlexRow">
3
+    <view class="panelTitle1">用途说明</view>
4
+  </view>
5
+  <view class="panelItem FlexRow">
6
+    <view class="panelItem1">在“学习中”,界面底部有一行4色(红、黄、绿、蓝)按钮供家长根据孩子答题时的表现选择对应的“记忆评价”。可根据您的习惯,选择“记忆评价栏”的格式(各种格式的功能是相同的)。</view>
7
+  </view>
8
+  <view class='panel FlexColumn'>
9
+    <view class="panelTitle2 panelTitle FlexRow">
10
+      <view class="panelTitle1">易懂方式,用“答题的熟练度”表达</view>
11
+    </view>
12
+
13
+    <view class='{{item.SelectedCss}} panelSelected FlexRow' wx:for="{{List}}" wx:key="index" wx:if="{{index<3}}" bindtap="onSelected" data-index="{{index}}">
14
+      <view class='panelSelected0 FlexRow' hidden="{{!item.SelectedCss}}">
15
+        <image src='../images/universalpic_checked_white_22x17.png' class="universalpic_checked_white_22x17" />
16
+      </view>
17
+      <view class='panelSelected00 panelSelected0' hidden="{{item.SelectedCss}}">
18
+      </view>
19
+      <view class='panelSelected1 FlexColumn'>
20
+        <view class='text1'>{{item.Key}}</view>
21
+        <view class='panelSelected11 FlexRow'>
22
+          <view class='panelSelected111 FlexColumn' wx:for="{{[0,1,2,3]}}" wx:key="index" wx:for-item="itemChild">
23
+            <view class='Answer{{itemChild}} color'></view>
24
+            <view class='text2'>{{item.Value[itemChild]}}</view>
25
+          </view>
26
+        </view>
27
+      </view>
28
+    </view>
29
+
30
+    <view class="panelTitle3 panelTitle FlexRow">
31
+      <view class="panelTitle1">科学方式,用“时间间隔”表达</view>
32
+    </view>
33
+
34
+    <view class='{{item.SelectedCss}} panelSelected FlexRow' wx:for="{{List}}" wx:key="index" wx:if="{{index==3}}" bindtap="onSelected" data-index="{{index}}">
35
+      <view class='panelSelected0 FlexRow' hidden="{{!item.SelectedCss}}">
36
+        <image src='../images/universalpic_checked_white_22x17.png' class="universalpic_checked_white_22x17" />
37
+      </view>
38
+      <view class='panelSelected00 panelSelected0' hidden="{{item.SelectedCss}}">
39
+      </view>
40
+      <view class='panelSelected1 FlexColumn'>
41
+        <view class='text1'>{{item.Key}}</view>
42
+        <view class='panelSelected11 FlexRow'>
43
+          <view class='panelSelected111 FlexColumn' wx:for="{{[0,1,2,3]}}" wx:key="index" wx:for-item="itemChild">
44
+            <view class='Answer{{itemChild}} color'></view>
45
+            <view class='text2'>{{item.Value[itemChild]}}</view>
46
+          </view>
47
+        </view>
48
+      </view>
49
+    </view>
50
+
51
+    <view class="panelItem FlexRow">
52
+      <view class="panelItem2">【官方推荐】记忆间隔版是对“记忆评价”的直观和科学的理解方式。它的重点是,告知该题卡根据正常记忆规律可在多长时间后再现。由此,家长可依据孩子答题时不同程度的表现进行判断,希望该题卡在多久后再次练习。建议,越熟练的间隔越久,越生疏的间隔越短。</view>
53
+    </view>
54
+  </view>
55
+  <view style='height:100rpx'></view>
56
+</view>

+ 127 - 0
pages/main/memoryLevel.wxss

@@ -0,0 +1,127 @@
1
+.container {
2
+  background-color: #f0f0f0;
3
+  color:#1e1e1e;
4
+  font-weight: 500;
5
+  justify-content: flex-start;
6
+}
7
+
8
+.panelTitle{
9
+  width:100%;
10
+  margin-top: 50rpx;
11
+  justify-content: flex-start;
12
+}
13
+.panelTitle .panelTitle1{
14
+  font-size:32rpx;
15
+  margin-left: 30rpx;
16
+  margin-bottom: 30rpx;
17
+}
18
+
19
+.panelItem{
20
+  width:100%;
21
+}
22
+
23
+.panelItem .panelItem1{
24
+  width:690rpx;
25
+  margin: 0 0 50rpx 0;
26
+  font-weight: 400;
27
+  font-size:24rpx;
28
+}
29
+
30
+.panel{
31
+  width:100%;
32
+  background-color: #fff;
33
+}
34
+
35
+.panelTitle .panelTitle2{
36
+  margin-top: 30rpx;
37
+}
38
+.panelTitle .panelTitle3{
39
+  margin-top: 20rpx;
40
+}
41
+
42
+.panelItem .panelItem2{
43
+  width:690rpx;
44
+  margin: 0 0 30rpx 0;
45
+  font-weight: 400;
46
+  font-size:24rpx;
47
+  color:#787878;
48
+}
49
+
50
+.panelSelected{
51
+  width:690rpx;
52
+  height:174rpx;
53
+  border-radius: 10rpx;
54
+  border:1rpx solid #9B9B9B;
55
+  margin-bottom: 30rpx;
56
+}
57
+
58
+.panelSelected .panelSelected0{
59
+  border-radius: 50%;
60
+  width:34rpx;
61
+  height:34rpx;
62
+  background-color: #0071EF;
63
+  border: 3rpx solid #0071EF;
64
+  margin-left: 30rpx;
65
+  
66
+} 
67
+.universalpic_checked_white_22x17{
68
+  width:22rpx;
69
+  height:17rpx;
70
+}
71
+.panelSelected .panelSelected00{
72
+  background-color: #F8F8F8;
73
+  border: 3rpx solid #D2D2D2;
74
+}
75
+
76
+.panelSelected .panelSelected1{
77
+  width:600rpx;
78
+  align-items: flex-start;
79
+  margin-left: 20rpx;
80
+}
81
+
82
+
83
+.panelSelected .panelSelected11{
84
+  justify-content: flex-start;
85
+}
86
+
87
+.panelSelected .panelSelected111{
88
+  align-items: flex-start;
89
+    margin-right: 10rpx;
90
+}
91
+
92
+.panelSelected .text1{
93
+  font-size:29rpx;
94
+  font-weight: 400;
95
+  margin-bottom: 20rpx;
96
+}
97
+.panelSelected .text2{
98
+  font-size:24rpx;
99
+  font-weight: 400;
100
+}
101
+
102
+.color{
103
+  width:130rpx;
104
+  height:10rpx;
105
+  margin-bottom: 10rpx;
106
+}
107
+.Answer0 {
108
+  background-color: #FE6659;
109
+}
110
+
111
+.Answer1 {
112
+  background-color: #FFBC00;
113
+}
114
+
115
+.Answer2 {
116
+  background-color: #329468;
117
+}
118
+
119
+.Answer3 {
120
+  background-color: #0A60BE;
121
+}
122
+
123
+.selected{
124
+  border:5rpx solid #0071EF;
125
+  width:686rpx;
126
+  height:170rpx;
127
+}

+ 97 - 79
pages/main/preview.js

@@ -4,6 +4,8 @@ import main from '../../utils/main';
4 4
 const app = getApp();
5 5
 var iTimeout = 0, intervalSound = 0, intervalRefresh = 0;
6 6
 var arrImage = [];
7
+var isCopying = false;
8
+var isPlaying = false;
7 9
 
8 10
 Page({
9 11
   data: {
@@ -13,6 +15,7 @@ Page({
13 15
     wx.hideShareMenu();
14 16
 
15 17
     var that = this;
18
+    isCopying = false;
16 19
     var id = 0;
17 20
     if (options.id)
18 21
       id = options.id;
@@ -91,7 +94,7 @@ Page({
91 94
 
92 95
     var isTodayPractice = true;
93 96
     var task = app.globalData.TaskToday;
94
-    if (task && task.ListNew && (task.ListNew.length > 0 || task.ListHistory.length>0 || task.ListReview.length>0)) {
97
+    if (task && task.ListNew && (task.ListNew.length > 0 || task.ListHistory.length > 0 || task.ListReview.length > 0)) {
95 98
       for (var i = 0; i < task.ListNew.length; i++) {
96 99
         if (task.ListNew[i].MiaoguoCardID == that.data.MiaoguoCardID) {
97 100
           isTodayPractice = false;
@@ -216,100 +219,115 @@ Page({
216 219
     });
217 220
   },
218 221
   copyCard: function () {
219
-    wx.showLoading({
220
-      title: '处理中',
221
-    });
222
-    var that = this;
223
-    var url = "CollectMiaoguoCard?";
224
-    url += "MiaoguoCardID=" + that.data.MiaoguoCardID;
225
-    url += "&UserIDSource=" + app.globalData.introducer;
226
-    url += "&UserIDTarget=" + app.globalData.userInfo.UserID;
222
+    if (!isCopying) {
223
+      isCopying = true;
224
+      setTimeout(function () {
225
+        isCopying = false;
226
+      }, 15000);
227 227
 
228
-    main.getData(url, function (data) {
229
-      wx.hideLoading();
228
+      wx.showLoading({
229
+        title: '处理中',
230
+      });
231
+      var that = this;
232
+      var url = "CollectMiaoguoCard?";
233
+      url += "MiaoguoCardID=" + that.data.MiaoguoCardID;
234
+      url += "&UserIDSource=" + app.globalData.introducer;
235
+      url += "&UserIDTarget=" + app.globalData.userInfo.UserID;
230 236
 
231
-      var title = "题卡已存在!";
232
-      var image = "universalpic_wrong_white_120x120";
233
-      if (data == 1) {
234
-        title = "已保存";
235
-        image = "universalpic_saved_white_120x120";
236
-      }
237
-      wx.showToast({
238
-        title: title,
239
-        mask: true,
240
-        image: "../images/" + image + ".png",
241
-        duration: 2000,
242
-        success: function () {
243
-          that.setData({
244
-            IsExistCard: true,
245
-          });
237
+      main.getData(url, function (data) {
238
+        wx.hideLoading();
239
+
240
+        var title = "题卡已存在!";
241
+        var image = "universalpic_wrong_white_120x120";
242
+        if (data == 1) {
243
+          title = "已保存";
244
+          image = "universalpic_saved_white_120x120";
246 245
         }
246
+        wx.showToast({
247
+          title: title,
248
+          mask: true,
249
+          image: "../images/" + image + ".png",
250
+          duration: 2000,
251
+          success: function () {
252
+            that.setData({
253
+              IsExistCard: true,
254
+            });
255
+          }
256
+        });
247 257
       });
248
-    });
258
+    }
259
+
249 260
   },
250 261
   playSound: function (e) {
251
-    var that = this;
252
-    var str = e.currentTarget.dataset.content;
253
-    var url;
254
-    if (str.indexOf("英 [") >= 0 || str.indexOf("美 [") >= 0) {
255
-      str = str.replace("英 [", "[");
256
-      str = str.replace("美 [", "[");
257
-      url = e.currentTarget.dataset.soundmark;
258
-    }
259
-    else if (e.currentTarget.dataset.soundmark && e.currentTarget.dataset.soundmark != "undefined") {
260
-      var soundmark = e.currentTarget.dataset.soundmark;
261
-      if (soundmark && soundmark.indexOf("http") < 0) {
262
-        url = app.globalData.audioUrlBaidu;
263
-        url = url.replace("[token]", app.globalData.BaiduToken);
264
-        url = url.replace("[word]", soundmark);
262
+    if (!isPlaying) {
263
+      isPlaying = true;
264
+      setTimeout(function () {
265
+        isPlaying = false;
266
+      }, 3000);
267
+
268
+      var that = this;
269
+      var str = e.currentTarget.dataset.content;
270
+      var url;
271
+      if (str.indexOf("英 [") >= 0 || str.indexOf("美 [") >= 0) {
272
+        str = str.replace("英 [", "[");
273
+        str = str.replace("美 [", "[");
274
+        url = e.currentTarget.dataset.soundmark;
275
+      }
276
+      else if (e.currentTarget.dataset.soundmark && e.currentTarget.dataset.soundmark != "undefined") {
277
+        var soundmark = e.currentTarget.dataset.soundmark;
278
+        if (soundmark && soundmark.indexOf("http") < 0) {
279
+          url = app.globalData.audioUrlBaidu;
280
+          url = url.replace("[token]", app.globalData.BaiduToken);
281
+          url = url.replace("[word]", soundmark);
282
+        }
283
+        else {
284
+          url = soundmark;
285
+        }
265 286
       }
266 287
       else {
267
-        url = soundmark;
288
+        url = app.globalData.audioUrlBaidu;
289
+        url = url.replace("[token]", app.globalData.BaiduToken);
290
+        url = url.replace("[word]", str);
268 291
       }
269
-    }
270
-    else {
271
-      url = app.globalData.audioUrlBaidu;
272
-      url = url.replace("[token]", app.globalData.BaiduToken);
273
-      url = url.replace("[word]", str);
274
-    }
275
-
276
-    var arr = url.split(",");
277
-    for (var i = 0; i < arr.length; i++) {
278
-      this.audioCtx.push(wx.createAudioContext('myAudio' + i));
279
-    }
280
-    var index = 0;
281
-    intervalSound = setInterval(function () {
282
-      that.audioCtx[index].setSrc(arr[index]);
283
-      that.audioCtx[index].play();
284 292
 
285
-      index++;
286
-      if (index >= arr.length) {
287
-        clearInterval(intervalSound);
293
+      var arr = url.split(",");
294
+      for (var i = 0; i < arr.length; i++) {
295
+        this.audioCtx.push(wx.createAudioContext('myAudio' + i));
288 296
       }
289
-    }, 1000);
297
+      var index = 0;
298
+      intervalSound = setInterval(function () {
299
+        that.audioCtx[index].setSrc(arr[index]);
300
+        that.audioCtx[index].play();
290 301
 
291
-    var fieldid = e.currentTarget.dataset.fieldid;
292
-    var content = that.data.Field[fieldid];
293
-    var selectIndex = 0;
294
-    for (var i = 0; i < content.length; i++) {
295
-      if (content[i].Type == 'sound') {
296
-        if (content[i].Content == e.currentTarget.dataset.content) {
297
-          content[i].SoundImageName = "gif";
298
-          selectIndex = i;
299
-          break;
302
+        index++;
303
+        if (index >= arr.length) {
304
+          clearInterval(intervalSound);
305
+        }
306
+      }, 1000);
307
+
308
+      var fieldid = e.currentTarget.dataset.fieldid;
309
+      var content = that.data.Field[fieldid];
310
+      var selectIndex = 0;
311
+      for (var i = 0; i < content.length; i++) {
312
+        if (content[i].Type == 'sound') {
313
+          if (content[i].Content == e.currentTarget.dataset.content) {
314
+            content[i].SoundImageName = "gif";
315
+            selectIndex = i;
316
+            break;
317
+          }
300 318
         }
301 319
       }
302
-    }
303
-    that.setData({
304
-      Field: that.data.Field,
305
-    });
306
-    iTimeout = setTimeout(function () {
307
-      content[selectIndex].SoundImageName = "png";
308
-      that.data.Field[fieldid] = content;
309 320
       that.setData({
310 321
         Field: that.data.Field,
311 322
       });
312
-    }, 2000);
323
+      iTimeout = setTimeout(function () {
324
+        content[selectIndex].SoundImageName = "png";
325
+        that.data.Field[fieldid] = content;
326
+        that.setData({
327
+          Field: that.data.Field,
328
+        });
329
+      }, 2000);
330
+    }
313 331
   },
314 332
   onMore: function () {
315 333
     var that = this;
@@ -324,7 +342,7 @@ Page({
324 342
         }
325 343
         else if (res.tapIndex == 1) {
326 344
           wx.navigateTo({
327
-            url: './add?type=edit2&id=' + that.data.MiaoguoCardID,
345
+            url: './add?type=edit2&type2=1&id=' + that.data.MiaoguoCardID,
328 346
           });
329 347
         }
330 348
         else if (res.tapIndex == 2) {

+ 2 - 1
pages/main/preview.wxss

@@ -221,7 +221,7 @@
221 221
 }
222 222
 
223 223
 .btn21 {
224
-  width: 180rpx;
224
+  width: 160rpx;
225 225
   height: 80rpx;
226 226
   font-size: 24rpx;
227 227
   color: #0071ef;
@@ -232,6 +232,7 @@
232 232
   background-color: #fff;
233 233
   border:1rpx solid #9B9B9B;
234 234
   border-radius: 10rpx;
235
+  margin: 0;
235 236
 }
236 237
 
237 238
 .btn21::after {

+ 1 - 1
pages/main/searchCard.wxml

@@ -24,7 +24,7 @@
24 24
         <view>学习</view>
25 25
       </view>
26 26
       <view class='line1'></view>
27
-      <view class='panelBottom11 FlexColumn' bindtap="goto" data-url="add?type=add&id=0">
27
+      <view class='panelBottom11 FlexColumn' bindtap="goto" data-url="add?type=add&type2=1&id=0">
28 28
         <image class="program_tabbar_task_default" src='../images/program_tabbar_add_default.png' />
29 29
         <view>添加</view>
30 30
       </view>

+ 1 - 0
pages/main/searchCard1.wxss

@@ -38,6 +38,7 @@
38 38
   font-weight: 400;
39 39
   color:#1e1e1e;
40 40
   width:600rpx;
41
+  height:40rpx;
41 42
 }
42 43
 
43 44
 .panelBtn{

+ 1 - 1
pages/main/searchCardList.js

@@ -178,7 +178,7 @@ Page({
178 178
   },
179 179
   addCard: function () {
180 180
     wx.redirectTo({
181
-      url: './add?type=add&id=0',
181
+      url: './add?type=add&type2=1&id=0',
182 182
     });
183 183
   },
184 184
   onShareAppMessage: function () {

+ 24 - 8
pages/main/searchWeb.js

@@ -32,11 +32,14 @@ Page({
32 32
             break;
33 33
           case 'shici':
34 34
             arr[i].TypeName = '诗词';
35
+            if (arr[i].Key.indexOf("《") < 0 && arr[i].Key.indexOf("》") < 0 )
36
+              arr[i].Key="《"+arr[i].Key+"》";
35 37
             break;
36 38
           case 'eng':
37
-            arr[i].TypeName = '外语';
39
+            arr[i].TypeName = '翻译';
38 40
             break;
39 41
         }
42
+
40 43
         list.push(arr[i]);
41 44
       }
42 45
     }
@@ -52,19 +55,32 @@ Page({
52 55
   },
53 56
   onSearchHistory: function (e) {
54 57
     var index = Number(e.currentTarget.dataset.index);
55
-    var obj={};
56
-    for(var i=0;i<this.data.SelectList.length;i++){
57
-      if (i==index){
58
-        obj=this.data.SelectList[i];
59
-        break;
60
-      }
61
-    }
58
+    var obj=this.data.SelectList[index];
62 59
     main.updateSearchList(obj);
63 60
     app.globalData.TempSearcchBackNumber=2;
64 61
     wx.navigateTo({
65 62
       url: './searchWeb2',
66 63
     });
67 64
   },
65
+  deleteItem: function (e) {
66
+    var that = this;
67
+    var index = e.currentTarget.dataset.index;
68
+
69
+    wx.showModal({
70
+      title: '提醒',
71
+      content: '看过记录要删除吗?',
72
+      success(res) {
73
+        if (res.confirm) {
74
+          that.data.SelectList.splice(index, 1);
75
+          that.setData({
76
+            SelectList:that.data.SelectList,
77
+          });
78
+          wx.setStorageSync("SearchWord3", that.data.SelectList);
79
+        }
80
+      }
81
+    });
82
+
83
+  },
68 84
   onShareAppMessage: function () {
69 85
     return {
70 86
       title: app.globalData.ShareTitle,

+ 2 - 2
pages/main/searchWeb.wxml

@@ -15,10 +15,10 @@
15 15
     <view class="lineWidthAll FlexRow" wx:if="{{index>0}}">
16 16
       <view class="lineWidth720"></view>
17 17
     </view>
18
-    <view class="panelItemSearch FlexColumn"  bindtap='onSearchHistory' data-index="{{index}}">
18
+    <view class="panelItemSearch FlexColumn"  bindtap='onSearchHistory' bindlongpress='deleteItem' data-index="{{index}}">
19 19
       <view class="panelItemSearch1 FlexRow">
20 20
         <view class="panelItemSearch11">
21
-          {{item.Key}}
21
+          {{item.Author}} {{item.Key}}
22 22
         </view>
23 23
         <view class="panelItemSearch12 FlexRow" wx:if="{{item.Type=='shici' || item.Type=='eng'}}">
24 24
           {{item.TypeName}}

+ 5 - 3
pages/main/searchWeb.wxss

@@ -76,11 +76,13 @@
76 76
 }
77 77
 
78 78
 .panelItemSearch .panelItemSearch11{
79
-  width:624rpx;
79
+  width:600rpx;
80
+  height: 40rpx;
80 81
   font-size:28rpx;
81 82
   font-weight: 400;
82 83
   margin-left: 30rpx;
83
-  margin-top: 30rpx
84
+  margin-top: 30rpx;
85
+  overflow-x: hidden;
84 86
 }
85 87
 
86 88
 
@@ -92,7 +94,7 @@
92 94
   width:60rpx;
93 95
   color:#0071EF;
94 96
   margin-right: 30rpx;
95
-  margin-top: 34rpx
97
+  margin-top: 32rpx
96 98
 }
97 99
 
98 100
 .panelItemSearch .panelItemSearch2{

+ 2 - 2
pages/main/searchWeb1.js

@@ -18,7 +18,7 @@ Page({
18 18
     }, {
19 19
       Key: 'success', Type: 'zici', TypeName: '字词'
20 20
     },{
21
-        Key: 'Study hard and make progress every day.', Type: 'eng', TypeName: '外语'
21
+        Key: 'Study hard and make progress every day.', Type: 'eng', TypeName: '翻译'
22 22
     },
23 23
     ]
24 24
   },
@@ -166,7 +166,7 @@ Page({
166 166
           }
167 167
           if (data.ENG && !data.CHN) {
168 168
             obj.Type = "eng";
169
-            obj.TypeName="外语";
169
+            obj.TypeName ="翻译";
170 170
           }
171 171
           
172 172
           main.updateSearchList(obj);

+ 1 - 0
pages/main/searchWeb1.wxss

@@ -33,6 +33,7 @@
33 33
   font-weight: 400;
34 34
   color:#1e1e1e;
35 35
   width:600rpx;
36
+  height:40rpx;
36 37
 }
37 38
 
38 39
 .panelBtn{

+ 7 - 1
pages/main/searchWeb2.js

@@ -78,6 +78,12 @@ Page({
78 78
             }
79 79
           }
80 80
         }
81
+
82
+        if (data.CHN.Dynasty)
83
+          data.CHN.Dynasty="["+data.CHN.Dynasty+"]";
84
+
85
+        if (data.CHN.HanZi.indexOf("《") < 0 && data.CHN.HanZi.indexOf("》") < 0)
86
+          data.CHN.HanZi = "《" + data.CHN.HanZi + "》";
81 87
       }
82 88
     }
83 89
 
@@ -193,7 +199,7 @@ Page({
193 199
               }
194 200
             }
195 201
             else {
196
-              if (item.Tag == "原文" || item.Tag == "译文"){
202
+              if (item.Tag == "诗词" || item.Tag == "译文"){
197 203
                 if (common.checkIsArray(item.Content) 
198 204
                   && common.checkIsArray(item.Content[0])){
199 205
                   for (var j = 0; j < item.Content.length; j++) {

+ 9 - 9
pages/main/searchWeb2.wxml

@@ -139,13 +139,13 @@
139 139
   <!-- 诗词原文 -->
140 140
   <block wx:if="{{Result.CHN.PeomContent && Result.CHN.PeomContent.length>0}}">
141 141
     <view class="panelTitle FlexRow">
142
-      <view class="panelTitle1">原文</view>
142
+      <view class="panelTitle1">诗词</view>
143 143
     </view>
144 144
     <view class="panelItem FlexRow">
145 145
 
146
-      <!-- 每段原文较短 -->
146
+      <!-- 每段诗词原文较短 -->
147 147
       <block wx:if="{{!Result.CHN.PeomContentIsLong}}" >
148
-      <view class="{{CSS.CHN_PeomContent.Css1}} panelItemFrame FlexRow" bindtap='getInputData' data-type="normal" data-content="{{Result.CHN.PeomContent}}" data-css="CHN_PeomContent" data-tag="原文">
148
+      <view class="{{CSS.CHN_PeomContent.Css1}} panelItemFrame FlexRow" bindtap='getInputData' data-type="normal" data-content="{{Result.CHN.PeomContent}}" data-css="CHN_PeomContent" data-tag="诗词">
149 149
         <view class="{{CSS.CHN_PeomContent.Css2}} panelSelect0">{{CSS.CHN_PeomContent.Number}}</view>
150 150
         <text class="text1">
151 151
           <block wx:for="{{Result.CHN.PeomContent}}" wx:key="index" wx:for-item="item1">
@@ -158,7 +158,7 @@
158 158
 
159 159
       <!-- 每段原文较长,且有多段 -->
160 160
       <block wx:if="{{Result.CHN.PeomContentIsLong && Result.CHN.PeomContent.length>1}}">
161
-        <view class="{{CSS['CHN_PeomContent_'+index].Css1}} panelItemFrame FlexRow" wx:for="{{Result.CHN.PeomContent}}" wx:key="index" bindtap='getInputData' data-type="normal" data-content="{{item}}" data-css="CHN_PeomContent_{{index}}" data-tag="原文">
161
+        <view class="{{CSS['CHN_PeomContent_'+index].Css1}} panelItemFrame FlexRow" wx:for="{{Result.CHN.PeomContent}}" wx:key="index" bindtap='getInputData' data-type="normal" data-content="{{item}}" data-css="CHN_PeomContent_{{index}}" data-tag="诗词">
162 162
           <view class="{{CSS['CHN_PeomContent_'+index].Css2}} panelSelect0">{{CSS['CHN_PeomContent_'+index].Number}}</view>
163 163
           <view class="text1">
164 164
             <block wx:for="{{item}}" wx:key="indexChild" wx:for-item="item2">{{item2}}</block>
@@ -166,9 +166,9 @@
166 166
         </view>
167 167
       </block>
168 168
 
169
-      <!-- 每句原文较长,且有单段 -->
169
+      <!-- 每句诗词原文较长,且有单段 -->
170 170
       <block wx:if="{{Result.CHN.PeomContentIsLong && Result.CHN.PeomContent.length==1}}">
171
-        <view class="{{CSS['CHN_PeomContent_'+index].Css1}} panelItemFrame FlexRow" wx:for="{{Result.CHN.PeomContent[0]}}" wx:if="{{item}}" wx:key="index" bindtap='getInputData' data-type="normal" data-content="{{item}}" data-css="CHN_PeomContent_{{index}}" data-tag="原文">
171
+        <view class="{{CSS['CHN_PeomContent_'+index].Css1}} panelItemFrame FlexRow" wx:for="{{Result.CHN.PeomContent[0]}}" wx:if="{{item}}" wx:key="index" bindtap='getInputData' data-type="normal" data-content="{{item}}" data-css="CHN_PeomContent_{{index}}" data-tag="诗词">
172 172
           <view class="{{CSS['CHN_PeomContent_'+index].Css2}} panelSelect0">{{CSS['CHN_PeomContent_'+index].Number}}</view>
173 173
           <view class="text1">
174 174
             {{item}}
@@ -187,7 +187,7 @@
187 187
       <view class="panelTitle1">译文</view>
188 188
     </view>
189 189
     <view class="panelItem FlexRow">
190
-      <!-- 每段原文较短 -->
190
+      <!-- 每段诗词原文较短 -->
191 191
       <block wx:if="{{!Result.CHN.PeomContentIsLong}}" >
192 192
       <view class="{{CSS.CHN_Translation.Css1}} panelItemFrame FlexRow" bindtap='getInputData' data-type="normal" data-content="{{Result.CHN.Translation}}" data-css="CHN_Translation" data-tag="译文">
193 193
         <view class="{{CSS.CHN_Translation.Css2}} panelSelect0">{{CSS.CHN_Translation.Number}}</view>
@@ -200,7 +200,7 @@
200 200
       </view>
201 201
       </block>
202 202
 
203
-      <!-- 每段原文较长,且有多段 -->
203
+      <!-- 每段诗词原文较长,且有多段 -->
204 204
       <block wx:if="{{Result.CHN.PeomContentIsLong && Result.CHN.Translation.length>1}}">
205 205
         <view class="{{CSS['CHN_Translation_'+index].Css1}} panelItemFrame FlexRow" wx:for="{{Result.CHN.Translation}}" wx:key="index" bindtap='getInputData' data-type="normal" data-content="{{item}}" data-css="CHN_Translation_{{index}}" data-tag="译文">
206 206
           <view class="{{CSS['CHN_Translation_'+index].Css2}} panelSelect0">{{CSS['CHN_Translation_'+index].Number}}</view>
@@ -210,7 +210,7 @@
210 210
         </view>
211 211
       </block>
212 212
 
213
-      <!-- 每句原文较长,且有单段 -->
213
+      <!-- 每句诗词原文较长,且有单段 -->
214 214
       <block wx:if="{{Result.CHN.PeomContentIsLong && Result.CHN.Translation.length==1}}">
215 215
         <view class="{{CSS.CHN_Translation.Css1}} panelItemFrame FlexRow" bindtap='getInputData' data-type="normal" data-content="{{Result.CHN.Translation[0]}}" data-css="CHN_Translation" data-tag="译文">
216 216
         <view class="{{CSS.CHN_Translation.Css2}} panelSelect0">{{CSS.CHN_Translation.Number}}</view>

+ 25 - 0
pages/main/setting.js

@@ -72,6 +72,8 @@ Page({
72 72
         ColorName: color.Name,
73 73
       });
74 74
     }
75
+
76
+    this.getMemoryLevel();
75 77
   },
76 78
   bindUpdateCardNumberNewMax: function (e) {
77 79
     this.data.CardMaxNumberNewIndex = e.detail.value;
@@ -131,11 +133,34 @@ Page({
131 133
       url: './colorplan',
132 134
     })
133 135
   },
136
+  setMemoryLevel: function () {
137
+    wx.navigateTo({
138
+      url: './memoryLevel',
139
+    })
140
+  },
134 141
   updateMember:function(){
135 142
     wx.reLaunch({
136 143
       url: '../index/index',
137 144
     })
138 145
   },
146
+  getMemoryLevel: function () {
147
+    var that=this;
148
+    var index = wx.getStorageSync("MemoryLevel");
149
+    if (!index) {
150
+      index = 0;
151
+      wx.setStorageSync("MemoryLevel", index);
152
+    }
153
+    app.globalData.MemoryLevel = index;
154
+    var list = main.getMemoryLevelAll();
155
+    for (var i = 0; i < list.length; i++) {
156
+      if (i == index) {
157
+        that.setData({
158
+          MemoryLevelName:list[i].Key,
159
+        });
160
+        break;
161
+      }
162
+    }
163
+  },
139 164
   onShareAppMessage: function () {
140 165
     return {
141 166
       title: app.globalData.ShareTitle,

+ 19 - 2
pages/main/setting.wxml

@@ -1,7 +1,7 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2 2
   <view class="panelTitle FlexRow">
3 3
     <view class="panelTitle1">初始任务量</view>
4
-    <view class="panelTitle2">每天{{CardMaxNumberNew+CardMaxNumberHistory}}张题卡</view>
4
+    <view class="panelTitle2"></view>
5 5
   </view>
6 6
   <view class="panelItem FlexRow">
7 7
     <view class="panelItem1">新题卡上限</view>
@@ -29,6 +29,9 @@
29 29
     </view>
30 30
   </view>
31 31
   <view class='lineFooter'></view>
32
+  
33
+  <view class="panelEveryDay">每天{{CardMaxNumberNew+CardMaxNumberHistory}}张题卡</view>
34
+
32 35
   <view class="panelTitle FlexRow">
33 36
     <view class="panelTitle1">学习内容</view>
34 37
     <view class="panelTitle2"></view>
@@ -43,12 +46,26 @@
43 46
     </view>
44 47
   </view>
45 48
   <view class='lineFooter'></view>
49
+  <view class="panelTitle FlexRow">
50
+    <view class="panelTitle1">记忆评价</view>
51
+    <view class="panelTitle2"></view>
52
+  </view>
53
+  <view class="panelItem FlexRow" bindtap='setMemoryLevel'>
54
+    <view class="panelItem1">辨识方案</view>
55
+    <view class="panelItem2 FlexRow">
56
+      <view class="picker">
57
+        {{MemoryLevelName}}
58
+      </view>
59
+      <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
60
+    </view>
61
+  </view>
62
+  <view class='lineFooter'></view>
46 63
   <view class="panelTitle FlexRow">
47 64
     <view class="panelTitle1">辅助</view>
48 65
     <view class="panelTitle2"></view>
49 66
   </view>
50 67
   <view class="panelItem FlexRow" bindtap='setColorPlan'>
51
-    <view class="panelItem1">学习中的主题色</view>
68
+    <view class="panelItem1">“学习中”界面主题色</view>
52 69
     <view class="panelItem2 FlexRow">
53 70
       <view class="picker">
54 71
         {{ColorName}}

+ 14 - 0
pages/main/setting.wxss

@@ -59,4 +59,18 @@
59 59
   margin-top: 50rpx;
60 60
   font-size:20rpx;
61 61
   text-align: center;
62
+}
63
+
64
+.panelEveryDay{
65
+  height:45rpx;
66
+  border-radius: 22rpx;
67
+  background-color: #fff;
68
+  border:1rpx solid #287BE8;
69
+  text-align: center;
70
+  line-height: 45rpx;
71
+  font-size:28rpx;
72
+  color:#0071EF;
73
+  align-self: flex-start;
74
+  margin: 30rpx 0 0 30rpx;
75
+  padding: 0 20rpx;
62 76
 }

+ 10 - 2
project.config.json

@@ -9,7 +9,8 @@
9 9
 		"postcss": true,
10 10
 		"minified": true,
11 11
 		"newFeature": true,
12
-		"autoAudits": false
12
+		"autoAudits": false,
13
+		"checkInvalidKey": true
13 14
 	},
14 15
 	"compileType": "miniprogram",
15 16
 	"libVersion": "2.6.4",
@@ -39,7 +40,7 @@
39 40
 			"list": []
40 41
 		},
41 42
 		"miniprogram": {
42
-			"current": 0,
43
+			"current": 2,
43 44
 			"list": [
44 45
 				{
45 46
 					"id": 0,
@@ -54,6 +55,13 @@
54 55
 					"pathName": "pages/main/uploadinmage",
55 56
 					"query": "",
56 57
 					"scene": null
58
+				},
59
+				{
60
+					"id": -1,
61
+					"name": "记忆评价",
62
+					"pathName": "pages/main/memoryLevel",
63
+					"query": "",
64
+					"scene": null
57 65
 				}
58 66
 			]
59 67
 		}

+ 126 - 68
utils/main.js

@@ -478,6 +478,129 @@ function getTaskTodayList(callback) {
478 478
   });
479 479
 }
480 480
 
481
+
482
+function getTempImage(serverUrl) {
483
+  if (serverUrl.indexOf("miaguo-1253256735") >= 0) {
484
+    var list = wx.getStorageSync("TempImageList");
485
+    if (!list)
486
+      list = [];
487
+    for (var i = 0; i < list.length; i++) {
488
+      if (list[i].ServerUrl == serverUrl) {
489
+        return list[i].TempUrl;
490
+        break;
491
+      }
492
+    }
493
+  }
494
+  return serverUrl;
495
+}
496
+
497
+function saveTempImage(serverUrl, tempUrl) {
498
+  var list = wx.getStorageSync("TempImageList");
499
+  if (!list)
500
+    list = [];
501
+  var b = false;
502
+  for (var i = 0; i < list.length; i++) {
503
+    if (list[i].ServerUrl == serverUrl) {
504
+      list[i].TempUrl = tempUrl;
505
+      b = true;
506
+      break;
507
+    }
508
+  }
509
+  if (!b) {
510
+    list.push({ "ServerUrl": serverUrl, "TempUrl": tempUrl });
511
+  }
512
+
513
+  if (list>200){
514
+    list.pop();
515
+  }
516
+  wx.setStorageSync("TempImageList", list);
517
+}
518
+
519
+function updateSearchList(obj){
520
+  var arr = wx.getStorageSync("SearchWord3");
521
+  if (!arr)
522
+    arr = [];
523
+  
524
+  if (obj.Type=="shici"){
525
+    if (obj.Key.indexOf("《")==0)
526
+      obj.Key=obj.Key.substring(1,obj.Key.length-1);
527
+  }
528
+  for (var i = 0; i < arr.length; i++) {
529
+    if (arr[i].Key == obj.Key
530
+      && arr[i].Type == obj.Type
531
+      && arr[i].Author == obj.Author) {
532
+      obj.Value = arr[i].Value;
533
+      arr.splice(i, 1);
534
+      break;
535
+    }
536
+  }
537
+  arr.unshift(obj);
538
+
539
+  if (arr.length > 100) {
540
+    arr.pop();
541
+  }
542
+  wx.setStorageSync("SearchWord3", arr);
543
+  
544
+  app.globalData.SearchItem = obj.Value;
545
+}
546
+
547
+function checkIsIPhoneX(){
548
+  var isIphoneX = false;
549
+  if (app.globalData.systemInfo.model.indexOf("iPhone X")>=0
550
+    || app.globalData.systemInfo.model.indexOf("iPhone X") >= 0) {
551
+    isIphoneX = true;
552
+  }
553
+  return isIphoneX;
554
+}
555
+
556
+function getMemoryLevelAll() {
557
+  return [
558
+    {
559
+      Key: "长文版",
560
+      Value: ["答错重来", "困难犹豫", "短暂思考", "脱口而出"]
561
+    }, {
562
+      Key: "短文版",
563
+      Value: ["答错", "生疏", "一般", "流利"]
564
+    }, {
565
+      Key: "特色版",
566
+      Value: ["不过", "难过", "通过", "秒过"]
567
+    }, {
568
+      Key: "记忆间隔版",
569
+      Value: ["<10分钟", "2天", "4天", "8天"]
570
+    },
571
+  ];
572
+}
573
+
574
+function getMemoryLevel(index, number, time) {
575
+  var arr=getMemoryLevelAll();
576
+  if (index<3)
577
+    return arr[index].Value[number];
578
+  else
579
+    return replaceStr(time);
580
+
581
+  function replaceStr(data) {
582
+    var result = "";
583
+    if (data.indexOf("d") > 0) {
584
+      var dayNum = Number(data.replace("d", ""));
585
+      if (dayNum >= 365) {
586
+        var year1 = Math.floor(dayNum / 365);
587
+        var year = year1 + Math.round(10 * (dayNum - year1 * 365) / 365) / 10;
588
+        result = year + "年";
589
+      } else {
590
+        if (dayNum > 31) {
591
+          var month1 = Math.floor(dayNum / 30);
592
+          var month = month1 + Math.round(10 * (dayNum - month1 * 30) / 30) / 10;
593
+          result = month + "月";
594
+        } else
595
+          result = data.replace("d", "天");
596
+      }
597
+
598
+    } else if (data.indexOf("m") > 0)
599
+      result = "<" + data.replace("m", "分钟");
600
+    return result;
601
+  }
602
+}
603
+
481 604
 function getDetailColor(index) {
482 605
   var arr = [
483 606
     {//随机
@@ -615,78 +738,11 @@ function getDetailColor(index) {
615 738
   if (index > 0)
616 739
     return arr[index];
617 740
   else if (index == 0)
618
-    return arr[common.random(1, arr.length - 1)];
741
+    return arr[common.random(2, arr.length - 1)];
619 742
   else if (index == -1)
620 743
     return arr;
621 744
 }
622 745
 
623
-function getTempImage(serverUrl) {
624
-  if (serverUrl.indexOf("miaguo-1253256735") >= 0) {
625
-    var list = wx.getStorageSync("TempImageList");
626
-    if (!list)
627
-      list = [];
628
-    for (var i = 0; i < list.length; i++) {
629
-      if (list[i].ServerUrl == serverUrl) {
630
-        return list[i].TempUrl;
631
-        break;
632
-      }
633
-    }
634
-  }
635
-  return serverUrl;
636
-}
637
-
638
-function saveTempImage(serverUrl, tempUrl) {
639
-  var list = wx.getStorageSync("TempImageList");
640
-  if (!list)
641
-    list = [];
642
-  var b = false;
643
-  for (var i = 0; i < list.length; i++) {
644
-    if (list[i].ServerUrl == serverUrl) {
645
-      list[i].TempUrl = tempUrl;
646
-      b = true;
647
-      break;
648
-    }
649
-  }
650
-  if (!b) {
651
-    list.push({ "ServerUrl": serverUrl, "TempUrl": tempUrl });
652
-  }
653
-
654
-  if (list>200){
655
-    list.pop();
656
-  }
657
-  wx.setStorageSync("TempImageList", list);
658
-}
659
-
660
-function updateSearchList(obj){
661
-  var arr = wx.getStorageSync("SearchWord3");
662
-  if (!arr)
663
-    arr = [];
664
-  for (var i = 0; i < arr.length; i++) {
665
-    if (arr[i].Key == obj.Key
666
-      && arr[i].Type == obj.Type
667
-      && arr[i].Author == obj.Author) {
668
-      obj.Value = arr[i].Value;
669
-      arr.splice(i, 1);
670
-      break;
671
-    }
672
-  }
673
-  arr.unshift(obj);
674
-
675
-  if (arr.length > 100) {
676
-    arr.pop();
677
-  }
678
-  wx.setStorageSync("SearchWord3", arr);
679
-  app.globalData.SearchItem = obj.Value;
680
-}
681
-
682
-function checkIsIPhoneX(){
683
-  var isIphoneX = false;
684
-  if (app.globalData.systemInfo.model.indexOf("iPhone X")>=0
685
-    || app.globalData.systemInfo.model.indexOf("iPhone X") >= 0) {
686
-    isIphoneX = true;
687
-  }
688
-  return isIphoneX;
689
-}
690 746
 
691 747
 function getPinyin(pinyin) {
692 748
   var result = [];
@@ -2211,4 +2267,6 @@ module.exports = {
2211 2267
   getTaskTodayList: getTaskTodayList,
2212 2268
   updateSearchList: updateSearchList,
2213 2269
   checkIsIPhoneX: checkIsIPhoneX,
2270
+  getMemoryLevelAll: getMemoryLevelAll,
2271
+  getMemoryLevel: getMemoryLevel,
2214 2272
 }