chengjie лет назад: 5
Родитель
Сommit
c6b0e39766

+ 1 - 2
app.js

@@ -1,6 +1,6 @@
1 1
 App({
2 2
   globalData: {
3
-    Version: "1.5.19",
3
+    Version: "1.5.24",
4 4
     IsProduction: true,
5 5
     ShareTitle: "高效学习从秒过开始",
6 6
     SharePath: "pages/index/index",
@@ -13,7 +13,6 @@ App({
13 13
     serverUrlLocalhost: "http://localhost:3020/apiData/",
14 14
     audioUrlBaidu: "https://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=abcdxxx&tok=[token]&tex=[word]&vol=9&per=0&spd=3&pit=5",
15 15
     audioUrlYoudao: "https://dict.youdao.com/dictvoice?rate=5&le=auto&audio=",
16
-    pinyinUrl: "https://pinyin.kylx365.com/sounds/[pinyin].m4a",
17 16
     uploadImageUrl: "https://miaguo-1253256735.file.myqcloud.com/",
18 17
     BaiduToken: "",//百度开发平台token
19 18
     IsIOS: true,

+ 4 - 0
pages/main/add.wxss

@@ -187,6 +187,10 @@
187 187
   height:20rpx;
188 188
 }
189 189
 
190
+.panelItem .textLine {
191
+  text-decoration: underline;
192
+}
193
+
190 194
 .panelItem .textHighlighter {
191 195
   color:#fff;
192 196
   background-color: #1E1E1E;

+ 13 - 23
pages/main/searchCardList.js

@@ -108,21 +108,6 @@ Page({
108 108
       }
109 109
     }
110 110
 
111
-    // if (that.data.IsToday==1){
112
-    //   var tempList=[];
113
-    //   for (var i = 0; i < list.length; i++) {
114
-    //     var item = list[i];
115
-    //     var limitTimeStr = common.formatDateCHS(item.LimitTime);
116
-    //     var today = common.formatDateCHS(common.formatTime(new Date()));
117
-    //     if (limitTimeStr <= today) {
118
-    //       tempList.push(list[i]);
119
-    //     }
120
-    //   }
121
-    //   list=tempList;
122
-    //   app.globalData.CardList=list;
123
-    // }
124
-
125
-
126 111
     if (!that.data.IsCollect && !that.data.IsToday && !that.data.Search) {
127 112
       main.getData("GetUserCardCount?UserID=" + app.globalData.userInfo.UserID, function (data) {
128 113
         if (data) {
@@ -180,30 +165,35 @@ Page({
180 165
     }
181 166
 
182 167
     function replaceString(str) {
183
-      str = str.replace(/\[读]/g, "");
184
-      str = str.replace(/\[\/读\]/g, "");
185
-      str = str.replace(/\[图]/g, "");
186
-      str = str.replace(/\[\/图\]/g, "");
168
+      //str = str.replace(/\[读]/g, "");
169
+      //str = str.replace(/\[\/读\]/g, "");
170
+      //str = str.replace(/\[图]/g, "");
171
+      //str = str.replace(/\[\/图\]/g, "");
187 172
 
188 173
       var str2 = "";
189 174
       if (str.indexOf("[读") >= 0) {
190 175
         str2 = str.substr(str.indexOf("[读"));
191
-        str2 = str2.substring(0, str2.indexOf("]") + 1);
176
+        str2 = str2.substring(0, str2.indexOf("/读]") + 3);
192 177
       }
193 178
       str = str.replace(str2, "");
179
+
194 180
       if (str.indexOf("[读") >= 0) {
195 181
         str2 = str.substr(str.indexOf("[读"));
196
-        str2 = str2.substring(0, str2.indexOf("]") + 1);
182
+        str2 = str2.substring(0, str2.indexOf("/读]") + 3);
197 183
       }
198 184
       str = str.replace(str2, "");
199 185
 
200 186
       var str3 = "";
201 187
       if (str.indexOf("[图") >= 0) {
202 188
         str3 = str.substr(str.indexOf("[图"));
203
-        str3 = str3.substring(0, str3.indexOf("]") + 1);
189
+        str3 = str3.substring(0, str3.indexOf("/图]") + 3);
190
+      }
191
+      str = str.replace(str3, "");
192
+      if (str.indexOf("[图") >= 0) {
193
+        str3 = str.substr(str.indexOf("[图"));
194
+        str3 = str3.substring(0, str3.indexOf("/图]") + 3);
204 195
       }
205 196
       str = str.replace(str3, "");
206
-
207 197
 
208 198
       str = str.replace(/\[线]/g, "");
209 199
       str = str.replace(/\[\/线\]/g, "");

+ 17 - 1
pages/main/searchWeb2.js

@@ -37,6 +37,20 @@ Page({
37 37
       }
38 38
     }
39 39
 
40
+    if (data.ENG && data.ENG.ExamplesSentences){
41
+      for (var i = 0; i < data.ENG.ExamplesSentences.length; i++) {
42
+        var item = data.ENG.ExamplesSentences[i];
43
+        var obj=[{ContentType:0,Content:""},{ContentType:1,Content:item[0]},{ContentType:2,Content:""},{ContentType:3,Content:""}];
44
+        var obj2=main.changeStringToView(obj);
45
+        var str=obj2.Field[1][0].Content;
46
+        item.push(str);
47
+        
48
+        
49
+        item[1]=common.ReplaceAllString(item[1],"<b>","");
50
+        item[1]=common.ReplaceAllString(item[1],"</b>","");
51
+      }
52
+    }
53
+
40 54
     that.setData({
41 55
       Result: data,
42 56
     })
@@ -194,9 +208,11 @@ Page({
194 208
                 str = "\n\n" + str;
195 209
               }
196 210
             }
197
-              
211
+
198 212
             list[i].Content[item.Number].Content += str;
199 213
 
214
+            if (list[i].Content[item.Number].Content.indexOf("\n\n")==0)
215
+              list[i].Content[item.Number].Content=list[i].Content[item.Number].Content.substr(2);
200 216
           }
201 217
           break;
202 218
         }

+ 30 - 0
pages/main/searchWeb2.wxml

@@ -353,6 +353,36 @@
353 353
     <view class='lineFooter'></view>
354 354
   </block>
355 355
 
356
+  <!-- 例句 -->
357
+  <block wx:if="{{Result.ENG.ExamplesSentences && Result.ENG.ExamplesSentences.length>0}}">
358
+    <view class="panelTitle FlexRow">
359
+      <view class="panelTitle1">例句</view>
360
+    </view>
361
+    <view class="panelItem FlexRow">
362
+      <block wx:if="{{Result.ENG.ExamplesSentences && Result.ENG.ExamplesSentences.length>0}}" wx:for="{{Result.ENG.ExamplesSentences}}" wx:key="*this">
363
+        <view class="panelItemFrame2 FlexRow">
364
+          <view class="text3">第{{index+1}}句</view>
365
+        </view>
366
+        <view class="{{CSS['ENG_ExamplesSentences_'+index+'_0'].Css1}} panelItemFrame FlexRow" bindtap='getInputData' data-type="normal" data-content="{{item[0]}}" data-css="ENG_ExamplesSentences_{{index}}_0">
367
+          <view class="{{CSS['ENG_ExamplesSentences_'+index+'_0'].Css2}} panelSelect0">{{CSS['ENG_ExamplesSentences_'+index+'_0'].Number}}</view>
368
+          <view class="text1">
369
+            <block wx:for="{{item[2]}}" wx:key="contentIndex" wx:for-item="contentItem">
370
+              <text wx:if="{{contentItem.key=='normal'}}">{{contentItem.value}}</text>
371
+              <text class="textLine" wx:if="{{contentItem.key=='line'}}">{{contentItem.value}}</text>
372
+            </block>
373
+          </view>
374
+        </view>        
375
+        <view class="{{CSS['ENG_ExamplesSentences_'+index+'_1'].Css1}} panelItemFrame FlexRow" bindtap='getInputData' data-type="normal" data-content="{{item[1]}}" data-css="ENG_ExamplesSentences_{{index}}_1">
376
+          <view class="{{CSS['ENG_ExamplesSentences_'+index+'_1'].Css2}} panelSelect0">{{CSS['ENG_ExamplesSentences_'+index+'_1'].Number}}</view>
377
+          <view class="text1">
378
+            {{item[1]}}
379
+          </view>
380
+        </view>
381
+      </block>
382
+    </view>
383
+    <view class='lineFooter'></view>
384
+  </block>
385
+
356 386
   <view style='height:150rpx;'></view>
357 387
 
358 388
   <view class='panelSave' bindtap="addData">添加</view>

+ 13 - 0
pages/main/searchWeb2.wxss

@@ -60,6 +60,15 @@
60 60
 .panelItemFrame1 {
61 61
   margin: 30rpx 10rpx 0 30rpx;
62 62
 }
63
+.panelItemFrame2 {
64
+  width: 100%;
65
+  justify-content: flex-start;
66
+  margin: 30rpx 0 0 0;
67
+}
68
+.text3{
69
+  font-size:24rpx;
70
+  margin-left: 30rpx;
71
+}
63 72
 
64 73
 .Select1 {
65 74
   border:1rpx solid #0071EF;
@@ -190,4 +199,8 @@
190 199
 .universalpic_read_mark_black_20x20{
191 200
   width:21rpx;
192 201
   height:20rpx;
202
+}
203
+
204
+.textLine {
205
+  text-decoration: underline;
193 206
 }

+ 0 - 5
pages/plan/setting.js

@@ -9,7 +9,6 @@ var arrUserID = app.globalData.SelectUserData;
9 9
 
10 10
 Page({
11 11
   data: {
12
-    CardNumber: [],
13 12
     IsShowChange: false,
14 13
     RecommendName: "启用",
15 14
     ChildUserID: 0,
@@ -36,15 +35,11 @@ Page({
36 35
   onLoad: function () {
37 36
     var that = this;
38 37
 
39
-    for (var i = 5; i <= 200; i++) {
40
-      that.data.CardNumber.push(i);
41
-    }
42 38
     var taskNumber = app.globalData.TaskToday.ListNew.length + app.globalData.TaskToday.ListReview.length + app.globalData.TaskToday.ListHistory.length;
43 39
     var cardEveryTime = 1 + Math.round(app.globalData.TaskToday.CardEveryTime / 60 * taskNumber);
44 40
     
45 41
     that.setData({
46 42
       Containnerheight: main.getWindowHeight(),
47
-      CardNumber: that.data.CardNumber,
48 43
       MinSecond: 10,
49 44
       TimeSecond: 60,
50 45
       TaskNumber: taskNumber,

+ 12 - 7
pages/plan/taskLimit.js

@@ -5,18 +5,23 @@ const app = getApp();
5 5
 
6 6
 Page({
7 7
   data: {
8
-    CardNumber: [],
8
+    CardNumberNew: [],
9
+    CardNumberOld: [],
9 10
   },
10 11
   onLoad: function (options) {
11 12
     var that = this;
12 13
 
13 14
     for (var i = 5; i <= 200; i++) {
14
-      that.data.CardNumber.push(i);
15
+      that.data.CardNumberNew.push(i);
16
+    }
17
+    for (var i = 5; i <= 500; i++) {
18
+      that.data.CardNumberOld.push(i);
15 19
     }
16 20
 
17 21
     that.setData({
18 22
       Containnerheight: main.getWindowHeight(),
19
-      CardNumber: that.data.CardNumber,
23
+      CardNumberNew: that.data.CardNumberNew,
24
+      CardNumberOld: that.data.CardNumberOld,
20 25
     });
21 26
 
22 27
     that.init();
@@ -38,18 +43,18 @@ Page({
38 43
     this.data.CardMaxNumberNewIndex = e.detail.value;
39 44
     this.setData({
40 45
       CardMaxNumberNewIndex: this.data.CardMaxNumberNewIndex,
41
-      CardMaxNumberNew: this.data.CardNumber[this.data.CardMaxNumberNewIndex],
46
+      CardMaxNumberNew: this.data.CardNumberNew[this.data.CardMaxNumberNewIndex],
42 47
     });
43
-    wx.setStorageSync("CardMaxNumberNew", this.data.CardNumber[this.data.CardMaxNumberNewIndex]);
48
+    wx.setStorageSync("CardMaxNumberNew", this.data.CardNumberNew[this.data.CardMaxNumberNewIndex]);
44 49
     main.UploadUserConfig();
45 50
   },
46 51
   bindUpdateCardNumberHistoryMax: function (e) {
47 52
     this.data.CardMaxNumberHistoryIndex = e.detail.value;
48 53
     this.setData({
49 54
       CardMaxNumberHistoryIndex: this.data.CardMaxNumberHistoryIndex,
50
-      CardMaxNumberHistory: this.data.CardNumber[this.data.CardMaxNumberHistoryIndex],
55
+      CardMaxNumberHistory: this.data.CardNumberOld[this.data.CardMaxNumberHistoryIndex],
51 56
     });
52
-    wx.setStorageSync("CardMaxNumberHistory", this.data.CardNumber[this.data.CardMaxNumberHistoryIndex]);
57
+    wx.setStorageSync("CardMaxNumberHistory", this.data.CardNumberOld[this.data.CardMaxNumberHistoryIndex]);
53 58
     main.UploadUserConfig();
54 59
   },
55 60
   

+ 2 - 2
pages/plan/taskLimit.wxml

@@ -18,7 +18,7 @@
18 18
   <view class="panelItem FlexRow">
19 19
     <view class="panelItem1">新题卡数量上限</view>
20 20
     <view class="panelItem2 FlexRow">
21
-      <picker bindchange="bindUpdateCardNumberNewMax" value="{{CardMaxNumberNewIndex}}" range="{{CardNumber}}">
21
+      <picker bindchange="bindUpdateCardNumberNewMax" value="{{CardMaxNumberNewIndex}}" range="{{CardNumberNew}}">
22 22
         <view class="picker">
23 23
           {{CardMaxNumberNew}}张
24 24
         </view>
@@ -32,7 +32,7 @@
32 32
   <view class="panelItem FlexRow">
33 33
     <view class="panelItem1">旧题卡数量上限</view>
34 34
     <view class="panelItem2 FlexRow">
35
-      <picker bindchange="bindUpdateCardNumberHistoryMax" value="{{CardMaxNumberHistoryIndex}}" range="{{CardNumber}}">
35
+      <picker bindchange="bindUpdateCardNumberHistoryMax" value="{{CardMaxNumberHistoryIndex}}" range="{{CardNumberOld}}">
36 36
         <view class="picker">
37 37
           {{CardMaxNumberHistory}}张
38 38
         </view>

+ 3 - 4
pages/template/cardShow.wxml

@@ -58,15 +58,14 @@
58 58
     <view class="editFieldNull2"></view>
59 59
     <view id="ViewField{{itemParent}}" class="panelField2 FlexColumn" wx:for="{{[2,3]}}" wx:key="indexParent" wx:for-index="indexParent" wx:for-item="itemParent" wx:if="{{Field[itemParent].length>0 && IsShowAnswer[itemParent-2]}}" style='background-color:{{Color.BackColor2}};'>
60 60
       <view class="panelField21 panelItem FlexRow" style='color:{{Color.FieldColor}};'>
61
-        <!-- <image class="universalpic_starting_tc01_26x26" src='../images/universalpic_starting_tc0{{Color.ID}}_26x26.png' /> -->
62 61
         <text class='textDot' wx:if="{{Field[itemParent][0].Type!='normal' && Field[itemParent][0].Type!='line'}}" style='color:{{Color.LineColor}};'>●</text>
63 62
         <block wx:for="{{Field[itemParent]}}" wx:key="index">
64
-          <text class="textReturn" wx:if="{{index>0 && item.Type=='return'}}"></text>
65
-          <view class="textBr" wx:if="{{index>0 && item.Type=='br'}}"></view>
63
+          <text class="textReturn" wx:if="{{item.Type=='return'}}"></text>
64
+          <view class="textBr" wx:if="{{item.Type=='br'}}"></view>
66 65
 
67 66
           <text class="textNormal2 textNormal" selectable="true" space='ensp' wx:if="{{item.Type=='normal'}}">
68 67
               <text class='textDot' wx:if="{{index==0}}" style='color:{{Color.LineColor}};'>●</text>
69
-          <text>{{item.Content}}</text>
68
+              <text>{{item.Content}}</text>
70 69
           </text>
71 70
 
72 71
           <text class="textNormal2 FlexRow" selectable="true" space='ensp' wx:if="{{item.Type=='line'}}">

+ 8 - 9
pages/test/index.js

@@ -153,16 +153,15 @@ Page({
153 153
             Finish: 0,
154 154
             Total: 16,
155 155
             Image: "../images/examine_subject_a009.png"
156
+          }, {
157
+            ID: 10,
158
+            Type: "Shizi",
159
+            Name: "语文识字",
160
+            Name2: "下学期",
161
+            Finish: 0,
162
+            Total: 16,
163
+            Image: "../images/examine_subject_a010.png"
156 164
           }, 
157
-          // {
158
-          //   ID: 10,
159
-          //   Type: "Shizi",
160
-          //   Name: "语文识字",
161
-          //   Name2: "下学期",
162
-          //   Finish: 0,
163
-          //   Total: 16,
164
-          //   Image: "../images/examine_subject_a010.png"
165
-          // }, 
166 165
         ]
167 166
         },
168 167
         {

+ 14 - 3
utils/cryptojs.js

@@ -1,7 +1,18 @@
1 1
 var Crypto = exports.Crypto = require('./lib/Crypto').Crypto;
2 2
 
3
-[ 'BlockModes'
4
-, 'AES'
5
-].forEach( function (path) {
3
+['BlockModes', 'AES'].forEach(function (path) {
6 4
 	require('./lib/' + path);
7 5
 });
6
+
7
+
8
+var obj = {
9
+	"CHN": {
10
+		"HanZi": "还自广陵",
11
+		"Author": "秦观",
12
+		"Dynasty": "[宋]",
13
+		"PeomContent": ["天寒水鸟自相依,十百为群戏落晖。 过尽行人都不起,忽闻水响一齐飞。"],
14
+		"PeomContentIsLong": false,
15
+		"Translation": ["大冷天里,水鸟为了暖和挤在一起,十几只几百只一起,在快要落山的太阳光下游戏。路上的人走来走去,它们都不躲开,忽然听到水里哗啦一声响,它们吓一跳,“轰”的一下一齐飞了起来。"],
16
+		"ShiciTitle": "《还自广陵》"
17
+	}
18
+}

+ 15 - 29
utils/main.js

@@ -236,7 +236,7 @@ function changeViewToString(content) {
236 236
     str = ""
237 237
   else {
238 238
     str = str.replace(/\n\n\n/g, "\n\n");
239
-    if (str.indexOf("\n") == 0) {
239
+    if (str.indexOf("\n") == 0 && str.indexOf("[")==1) {
240 240
       str = str.substr(1);
241 241
     }
242 242
     if (str.lastIndexOf("\n") == str.length - 1) {
@@ -303,10 +303,12 @@ function changeStringToView(field) {
303 303
         var str = field[j].Content.toString();
304 304
 
305 305
         str = DecryptUrl(str);
306
-
307
-        str = str.replace(/\[读/g, "\n[读");
306
+        
307
+        if (str.indexOf("[读")>0)
308
+          str = str.replace(/\[读/g, "\n[读");
308 309
         str = str.replace(/\[图/g, "\n[图");
309
-        str = str.replace(/\[音/g, "\n[音");
310
+        if (str.indexOf("[音")>0)
311
+          str = str.replace(/\[音/g, "\n[音");
310 312
         str = str.replace(/\[\/读\]/g, "[\/读]\n");
311 313
         str = str.replace(/\[\/图\]/g, "[\/图]\n");
312 314
         str = str.replace(/\[\/音\]/g, "[\/音]\n");
@@ -485,12 +487,13 @@ function changeStringToView(field) {
485 487
         }
486 488
 
487 489
         //去掉前回车换行
488
-        while (arrResult[0].Type == "return" ||
489
-          arrResult[0].Type == "br") {
490
-          arrResult.shift();
491
-          if (arrResult.length == 0)
492
-            break;
493
-        }
490
+        // while (arrResult[0].Type == "return" ||
491
+        //   arrResult[0].Type == "br") {
492
+        //   arrResult.shift();
493
+        //   if (arrResult.length == 0)
494
+        //     break;
495
+        // }
496
+
494 497
         //去掉后回车换行
495 498
         for (var i = arrResult.length - 1; i >= 0; i--) {
496 499
           if (arrResult[i].Type == "return" ||
@@ -689,7 +692,8 @@ function updateSearchList(obj) {
689 692
     arr = [];
690 693
 
691 694
   if (obj.Type == "shici") {
692
-    obj.Key=obj.Value.CHN.ShiciTitle;
695
+    if (obj.Value.CHN.ShiciTitle)
696
+      obj.Key=obj.Value.CHN.ShiciTitle;
693 697
     if (obj.Key.indexOf("《") == 0)
694 698
       obj.Key = obj.Key.substring(1, obj.Key.length - 1);
695 699
   }
@@ -1028,23 +1032,6 @@ function getShareImageBackColor() {
1028 1032
   return arr[common.random(0, arr.length - 1)];
1029 1033
 }
1030 1034
 
1031
-function getPinyin(pinyin) {
1032
-  var result = [];
1033
-  var arr = constant.arrPinyin;
1034
-  var pinyinArray = pinyin.split(" ");
1035
-  for (var j = 0; j < pinyinArray.length; j++) {
1036
-    for (var i = 0; i < arr.length; i++) {
1037
-      if (arr[i][1] == pinyinArray[j]) {
1038
-        var url = app.globalData.pinyinUrl;
1039
-        url = url.replace("[pinyin]", arr[i][0]);
1040
-        result.push(url);
1041
-        break;
1042
-      }
1043
-    }
1044
-  }
1045
-  return result.join(",");
1046
-}
1047
-
1048 1035
 function getPinyinNormal(pinyin) {
1049 1036
   var result = "";
1050 1037
   var arr = constant.arrPinyin;
@@ -1101,7 +1088,6 @@ module.exports = {
1101 1088
   changeViewToString: changeViewToString,
1102 1089
   encryptUrl: EncryptUrl,
1103 1090
   decryptUrl: DecryptUrl,
1104
-  getPinyin: getPinyin,
1105 1091
   saveTempImage: saveTempImage,
1106 1092
   getTempImage: getTempImage,
1107 1093
   getTaskTodayList: getTaskTodayList,