chengjie 7 年之前
父节点
当前提交
b77ea7653d

+ 1 - 1
app.js

@@ -11,7 +11,7 @@ App({
11 11
     this.globalData.systemInfo = wx.getSystemInfoSync();
12 12
   },
13 13
   globalData: {
14
-    Version: "1.1.6",
14
+    Version: "1.1.8",
15 15
     IsProduction: true,
16 16
     ProgramID: 106,
17 17
     AppID: "wx313a8f2c0741efe1",

+ 1 - 2
app.json

@@ -6,8 +6,7 @@
6 6
     "pages/main/detail",
7 7
     "pages/main/search",
8 8
     "pages/main/setcombine",
9
-    "pages/about/about",
10
-    "pages/about/cooperation",
9
+    "pages/main/review",
11 10
     "pages/about/payfinished",
12 11
     "pages/about/paylist",
13 12
     "pages/about/newuserlist",

二进制
images/02004.gif


二进制
images/0521.png


+ 0 - 45
pages/about/about.js

@@ -1,45 +0,0 @@
1
-import common from '../../utils/util';
2
-import server from '../../utils/main';
3
-
4
-const app = getApp();
5
-
6
-Page({
7
-  data: {
8
-    ListProgram: [],
9
-  },
10
-  onLoad: function (options) {
11
-    this.setData({
12
-      ListProgram: server.getProgramList(),
13
-    });
14
-
15
-    if (options.id == "Cooperation") {
16
-      wx.pageScrollTo({
17
-        scrollTop: 905
18
-      });
19
-    }
20
-
21
-  },
22
-  switchProgram: function (e) {
23
-    wx.navigateToMiniProgram({
24
-      appId: e.currentTarget.dataset.appid,
25
-      path: e.currentTarget.dataset.path,
26
-      extraData: {
27
-      },
28
-      success(res) {
29
-        // 打开成功
30
-      }
31
-    });
32
-  },
33
-  getAppID: function (e) {
34
-    wx.navigateTo({
35
-      url: "../about/cooperation"
36
-    });
37
-  },
38
-  onShareAppMessage: function () {
39
-    return {
40
-      title: app.globalData.ShareTitle,
41
-      path: 'pages/index/index?UserID=' + app.globalData.userInfo.UserID,
42
-      imageUrl: '../../images/07001.png',
43
-    }
44
-  },
45
-})

+ 0 - 7
pages/about/about.wxml

@@ -1,7 +0,0 @@
1
-<view class="container FlexColumn">
2
-  <image src="../../images/06001.png" class="bg" />
3
-  <view style='height:100rpx;'></view>
4
-
5
-  <view class="btn" wx:for="{{ListProgram}}" wx:key="index" style='left:{{item.left}}rpx;top:{{item.top}}rpx;' bindtap='switchProgram' data-appid="{{item.appId}}" data-path="{{item.path}}"></view>
6
-  <view class="getAppID" bindtap='getAppID' ></view>
7
-</view>

+ 0 - 24
pages/about/about.wxss

@@ -1,24 +0,0 @@
1
-.container {
2
-  background-color: #F5E2BE;
3
-  justify-content: flex-start;
4
-  color: #872439;
5
-}
6
-
7
-.bg{
8
-  width:630rpx;
9
-  height:2683rpx;
10
-  margin-top: 40rpx;
11
-}
12
-
13
-.btn{
14
-  width:216rpx;
15
-  height:284rpx;
16
-  position: absolute;
17
-}
18
-.getAppID{
19
-  width:630rpx;
20
-  height:130rpx;
21
-  position: absolute;
22
-  top:2163rpx;
23
-  left:60rpx;
24
-}

+ 0 - 88
pages/about/cooperation.js

@@ -1,88 +0,0 @@
1
-import common from '../../utils/util';
2
-import server from '../../utils/main';
3
-
4
-const app = getApp();
5
-
6
-Page({
7
-  data: {
8
-    IsInput: true,
9
-    Name: "",
10
-    Contact: "",
11
-    ChannelID: 0,
12
-  },
13
-  onLoad: function (options) {
14
-    this.setData({
15
-      IsInput: true,
16
-      Name: "",
17
-      Contact: "",
18
-      AppID: app.globalData.AppID,
19
-      Height: common.getSystemHeight(),
20
-    });
21
-  },
22
-  bindKeyInput1: function (e) {
23
-    this.setData({
24
-      Name: e.detail.value
25
-    })
26
-  },
27
-  bindKeyInput2: function (e) {
28
-    this.setData({
29
-      Contact: e.detail.value
30
-    })
31
-  },
32
-  save: function () {
33
-    if (this.data.Name.length > 0 && this.data.Contact.length > 0) {
34
-      if (common.IsChinese(this.data.Contact)) {
35
-        wx.showToast({
36
-          title: '请输入有效信息',
37
-          icon: 'success',
38
-          duration: 2000
39
-        })
40
-      }
41
-      else {
42
-        var that = this;
43
-        server.getData('AddChannel?Name='
44
-          + this.data.Name + '&Contact='
45
-          + this.data.Contact + '&ProgramID='
46
-          + app.globalData.ProgramID + '&UserID='
47
-          + app.globalData.userInfo.UserID, function (data) {
48
-            if (data) {
49
-              that.setData({
50
-                IsInput: false,
51
-                ChannelID: data.insertId,
52
-              });
53
-            }
54
-          });
55
-      }
56
-    }
57
-    else {
58
-      wx.showToast({
59
-        title: '请输入有效信息',
60
-        icon: 'success',
61
-        duration: 2000
62
-      })
63
-    }
64
-  },
65
-  setClipboardData: function () {
66
-    wx.setClipboardData({
67
-      data: '小程序AppID:' + app.globalData.AppID + ' 小程序启动Path:pages/index/index?SourceID=' + this.data.ChannelID,
68
-      success: function (res) {
69
-        wx.getClipboardData({
70
-          success: function (res) {
71
-            wx.showToast({
72
-              title: '存入剪贴板',
73
-              icon: 'success',
74
-              duration: 2000
75
-            })
76
-          }
77
-        })
78
-      }
79
-    })
80
-  },
81
-  onShareAppMessage: function () {
82
-    return {
83
-      title: app.globalData.ShareTitle,
84
-      path: 'pages/index/index?UserID=' + app.globalData.userInfo.UserID,
85
-      imageUrl: '../../images/07001.png',
86
-    }
87
-  },
88
-});

+ 0 - 6
pages/about/cooperation.json

@@ -1,6 +0,0 @@
1
-{
2
-  "navigationBarBackgroundColor": "#F5E2BE",
3
-  "navigationBarTitleText": "业务合作",
4
-  "backgroundColor": "#F5E2BE",
5
-  "enablePullDownRefresh": false
6
-}

+ 0 - 54
pages/about/cooperation.wxml

@@ -1,54 +0,0 @@
1
-<view class="container FlexColumn" style='height:{{Height}}rpx;'>
2
-  <view class="panel1"></view>
3
-  <view class="panel4 FlexRow">
4
-    <image class="image06002" src="../../images/06002.png" />
5
-  </view>
6
-
7
-
8
-  <view class="text1">关联你的公众号</view>
9
-  <view class="line"></view>
10
-  <view class="panel2 FlexColumn" wx:if="{{IsInput}}">
11
-    <view class="text2">请登记</view>
12
-    <view class="panel3 FlexColumn">
13
-      <view class="text3">您的公众号名称</view>
14
-      <view class="input1 FlexRow">
15
-        <input class="input1_1" placeholder="" maxlength="30" focus="true" bindinput='bindKeyInput1' />
16
-      </view>
17
-    </view>
18
-    <view class="panel3 FlexColumn">
19
-      <view class="text3">能够联络到您的微信号</view>
20
-      <view class="input1 FlexRow">
21
-        <input class="input1_1" placeholder="" maxlength="30" bindinput='bindKeyInput2' />
22
-      </view>
23
-    </view>
24
-    <view class="text4">请完整、正确填写,非公众号经营者请勿登记。</view>
25
-    <view class="btn" bindtap="save">
26
-      <view class="btn1">登记</view>
27
-    </view>
28
-    <view class="text5">以上信息保密,仅供合作联系之用。</view>
29
-
30
-  </view>
31
-
32
-  <view class="panel2 FlexColumn" wx:if="{{!IsInput}}">
33
-    <view class="text2">请记录</view>
34
-    <view class="panel3 FlexColumn">
35
-      <view class="text3">小程序APPID</view>
36
-      <text class="input2" bindtap='setClipboardData'>{{AppID}}</text>
37
-    </view>
38
-    <view class="panel3 FlexColumn">
39
-      <view class="text3">在path中填写</view>
40
-      <view class="input3 input2 FlexRow" bindtap='setClipboardData'>
41
-        <text>pages/index/index</text>
42
-        <text class="red">?SourceID={{ChannelID}}</text>
43
-      </view>
44
-    </view>
45
-
46
-    <view class="text6">红色部分请勿遗漏,便于了解相互转化</view>
47
-    <view class="text8" bindtap='setClipboardData'>复制到剪贴板</view>
48
-    <view class="line2"></view>
49
-    <text class="text7">由于微信规则限制,在满500个名额后,将为具有优质内容的或提供教育相关资源的公众号优先保留关联席位,敬请海涵。</text>
50
-
51
-  </view>
52
-
53
-
54
-</view>

+ 0 - 157
pages/about/cooperation.wxss

@@ -1,157 +0,0 @@
1
-.container {
2
-  background-color: #DFC7A4;
3
-  justify-content: flex-start;
4
-  color: #1E1E1E;
5
-  font-weight: 500;
6
-}
7
-
8
-.panel1{
9
-  width: 100%;
10
-  height:163rpx;
11
-  background-color: #F5E2BE;
12
-}
13
-
14
-.panel4{
15
-  width: 100%;
16
-  height:263rpx;
17
-  position: absolute;
18
-  top:0;
19
-}
20
-
21
-.image06002{
22
-  width:310rpx;
23
-  height:263rpx;
24
-}
25
-
26
-.text1{
27
-  font-size:36rpx;
28
-  margin-top:160rpx;
29
-  font-weight: 600;
30
-}
31
-
32
-.line{
33
-  width: 252rpx;
34
-  height:12rpx;
35
-  background-color: #1E1E1E;
36
-  margin-top:16rpx;
37
-}
38
-
39
-.panel2{
40
-  width: 100%;
41
-  margin-top:16rpx;
42
-  justify-content: flex-start;
43
-}
44
-
45
-.text2{
46
-  font-size:28rpx;
47
-  margin-top:0rpx;
48
-}
49
-
50
-.panel3{
51
-  width: 600rpx;
52
-  height:132rpx;
53
-  margin-top:40rpx;
54
-  justify-content: flex-start;
55
-  align-items: flex-start;
56
-}
57
-
58
-.text3{
59
-  font-size:24rpx;
60
-  margin-left:20rpx;
61
-  font-weight: 400;
62
-}
63
-.input1{
64
-  background-color: #fff;
65
-  border-radius: 14rpx;
66
-  width: 600rpx;
67
-  height:90rpx;
68
-  margin-top: 10rpx;
69
-}
70
-.input1_1{
71
-  font-size:36rpx;
72
-  font-weight: 400;
73
-  width: 540rpx;
74
-  height:90rpx;
75
-  line-height: 90rpx;
76
-}
77
-
78
-.text4{
79
-  font-size:24rpx;
80
-  color:#A20602;
81
-  margin-top:88rpx;
82
-}
83
-
84
-
85
-.btn {
86
-  width: 600rpx;
87
-  height: 104rpx;
88
-  background-color: #035834;
89
-  border-radius: 14rpx;
90
-  margin-top: 20rpx;
91
-}
92
-
93
-.btn1 {
94
-  width: 100%;
95
-  height: 90rpx;
96
-  background-color: #03AF69;
97
-  border-radius: 14rpx;
98
-  position:relative;
99
-  top:0;
100
-  font-size: 36rpx;
101
-  text-align: center;
102
-  line-height: 90rpx;
103
-  color:#fff;
104
-}
105
-
106
-.text5{
107
-  font-size:24rpx;
108
-  margin-top:20rpx;
109
-  font-weight: 400;
110
-}
111
-
112
-.input2{
113
-  background-color: #CDB797;
114
-  border-radius: 14rpx;
115
-  font-size:36rpx;
116
-  width: 600rpx;
117
-  height:90rpx;
118
-  line-height: 90rpx;
119
-  margin-top: 10rpx;
120
-  text-align: center;
121
-}
122
-
123
-.input3{
124
-  font-size:30rpx;
125
-}
126
-
127
-.red{
128
-  color:#A20602;
129
-}
130
-
131
-
132
-.text6{
133
-  font-size:20rpx;
134
-  margin-top:10rpx;
135
-  margin-left: 230rpx;
136
-}
137
-
138
-
139
-.text8{
140
-  font-size:28rpx;
141
-  margin-top:70rpx;
142
-  color:#A20602;
143
-}
144
-
145
-.line2{
146
-  width: 600rpx;
147
-  height:3rpx;
148
-  background-color: #593613;
149
-  margin-top:30rpx;
150
-}
151
-
152
-.text7{
153
-  font-size:24rpx;
154
-  margin-top:40rpx;
155
-  font-weight: 400;
156
-  width: 560rpx;
157
-}

+ 2 - 2
pages/about/payfinished.wxml

@@ -4,8 +4,8 @@
4 4
   <text class="text1">{{Text1}}</text>
5 5
 
6 6
   <block wx:if="{{OrderType=='accredit'}}">
7
-    <view class="btn" bindtap="goto">
8
-      <button open-type="getUserInfo" class="btn1">{{Text2}}</button>
7
+    <view class="btn">
8
+      <button open-type="getUserInfo" class="btn1" bindgetuserinfo='goto'>{{Text2}}</button>
9 9
     </view>
10 10
   </block>
11 11
   <block wx:if="{{OrderType!='accredit'}}">

+ 12 - 14
pages/main/detail.js

@@ -21,12 +21,13 @@ Page({
21 21
     IntervalSecondIndex: 2,//播放间隔秒数索引
22 22
     IsImageError: false,
23 23
     SpeakerArray: [{ name: "温柔姐姐(推荐)", value: "woman", isShow: true }, { name: "爽朗哥哥", value: "man", isShow: false }, { name: "古韵叔叔", value: "oldman", isShow: false }, { name: "可爱妹妹", value: "sister", isShow: false }],
24
-    pinyinCss:"",
24
+    pinyinCss: "",
25 25
   },
26 26
   onLoad: function (options) {
27 27
     var bookID = options.bookid || 0;
28 28
     var unitID = options.unitid || 0;
29 29
     var wordID = options.wordid || 0;
30
+    var indexID = options.indexID || 0;
30 31
 
31 32
     this.audioCtx = wx.createAudioContext('myAudio');
32 33
     hanziNumber = 0;
@@ -81,7 +82,7 @@ Page({
81 82
                     if (that.data.WordType == "normal")
82 83
                       that.init();
83 84
                     else if (that.data.WordType == "review")
84
-                      that.initReview();
85
+                      that.initReview(indexID);
85 86
                     else if (that.data.WordType == "search")
86 87
                       that.initSearch();
87 88
                   });
@@ -102,7 +103,7 @@ Page({
102 103
     if (systemInfo.model) {
103 104
       if (systemInfo.model.indexOf("iPad") >= 0) {
104 105
         this.setData({
105
-          pinyinCss:"pinyinCssIpad",
106
+          pinyinCss: "pinyinCssIpad",
106 107
         })
107 108
       }
108 109
     }
@@ -111,7 +112,7 @@ Page({
111 112
   onShow: function (e) {
112 113
     if (app.globalData.IsSaveCustom) {
113 114
       isEditSetting.push("saveCustom");
114
-      app.globalData.IsSaveCustom=false;
115
+      app.globalData.IsSaveCustom = false;
115 116
     }
116 117
   },
117 118
   onUnload: function () {
@@ -211,7 +212,7 @@ Page({
211 212
       title: "练习"
212 213
     });
213 214
   },
214
-  initReview: function () {
215
+  initReview: function (indexID) {
215 216
     var arrReview = wx.getStorageSync("ReviewList");
216 217
     for (var l = 0; l < arrReview.length; l++) {
217 218
       var item = arrReview[l];
@@ -232,9 +233,9 @@ Page({
232 233
     if (wordArr) {
233 234
       for (var k = 0; k < wordArr.length; k++) {
234 235
         for (var n = 0; n < wordArr[k].List.length; n++) {
235
-          for (var i = 0; i < result.length;i++){
236
+          for (var i = 0; i < result.length; i++) {
236 237
             if (wordArr[k].List[n].ID == result[i].ID) {
237
-              result[i].CombineWords=wordArr[k].List[n].CombineWords;
238
+              result[i].CombineWords = wordArr[k].List[n].CombineWords;
238 239
               break;
239 240
             }
240 241
           }
@@ -251,6 +252,7 @@ Page({
251 252
 
252 253
     this.setData({
253 254
       List: result,
255
+      CurrentIndex: indexID,
254 256
     });
255 257
 
256 258
     this.restart(this.data.CurrentIndex);
@@ -807,13 +809,9 @@ Page({
807 809
           WordID: this.data.List[this.data.CurrentIndex].ID,
808 810
           Status: status,
809 811
         }, function (data) {
810
-
811
-          server.getData('GetHanziReviewList?UserID=' + app.globalData.userInfo.UserID, function (data) {
812
-            if (data) {
813
-              wx.setStorageSync("ReviewList", data);
814
-            }
815
-          });
816
-
812
+          if (data) {
813
+            wx.setStorageSync("ReviewList", data);
814
+          }
817 815
         });
818 816
       }
819 817
     }

+ 35 - 27
pages/main/index.js

@@ -41,7 +41,7 @@ Page({
41 41
             IsAccredit: true,
42 42
           });
43 43
         }
44
-        else{
44
+        else {
45 45
           //付费用户请去授权
46 46
           if (app.globalData.userInfo.IsMember == 1) {
47 47
             wx.navigateTo({
@@ -108,7 +108,7 @@ Page({
108 108
               }
109 109
             })
110 110
           }
111
-          else{
111
+          else {
112 112
             that.getUserInfo();
113 113
           }
114 114
         }
@@ -126,10 +126,10 @@ Page({
126 126
           success: function (res) {
127 127
             var userID = app.globalData.userInfo.UserID;
128 128
             app.globalData.userInfo = res.userInfo;
129
-            app.globalData.userInfo.UserID=userID;
129
+            app.globalData.userInfo.UserID = userID;
130 130
             app.globalData.userInfo.NickName = app.globalData.userInfo.nickName;
131 131
             app.globalData.userInfo.AvatarUrl = app.globalData.userInfo.avatarUrl;
132
-            
132
+
133 133
             // that.hasGetShareInfo(app.globalData.userInfo);
134 134
             that.setData({
135 135
               IsAccredit: true,
@@ -140,7 +140,7 @@ Page({
140 140
             app.globalData.userInfo.Code = res0.code;
141 141
             app.globalData.userInfo.iv = res.iv;
142 142
             app.globalData.userInfo.encryptedData = res.encryptedData;
143
-            
143
+
144 144
             that.login(app.globalData.userInfo);
145 145
           },
146 146
           fail: function (res) {
@@ -183,7 +183,7 @@ Page({
183 183
         UserSource: app.globalData.userSource,
184 184
         SourceID: app.globalData.SourceID,
185 185
         LastUserSource: app.globalData.userSource,
186
-        iv:param.iv,
186
+        iv: param.iv,
187 187
         encryptedData: param.encryptedData,
188 188
       }, function (data) {
189 189
 
@@ -193,7 +193,7 @@ Page({
193 193
   getData: function () {
194 194
     var that = this;
195 195
     server.getData('GetHanziRecordData?UserID=' + app.globalData.userInfo.UserID + "&Version=" + app.globalData.Version, function (data) {
196
-      
196
+
197 197
       if (data) {
198 198
 
199 199
         if (!data.DayNumber)
@@ -204,7 +204,7 @@ Page({
204 204
         var reviewCount = 0;
205 205
         if (data.ReviewList)
206 206
           reviewCount = data.ReviewList.length;
207
-        
207
+
208 208
         hanziNumber = 0;
209 209
         var arr = JSON.parse(wx.getStorageSync("HanziAll"));
210 210
         for (var k = 0; k < data.FinishedList.length; k++) {
@@ -232,8 +232,8 @@ Page({
232 232
               break;
233 233
           }
234 234
         }
235
-        if (!hanziNumber){
236
-          hanziNumber=0;
235
+        if (!hanziNumber) {
236
+          hanziNumber = 0;
237 237
         }
238 238
         that.setData({
239 239
           DayNumber: data.DayNumber,
@@ -251,9 +251,9 @@ Page({
251 251
         wx.setStorageSync("ReviewList", data.ReviewList);
252 252
 
253 253
         common.getStorageValue(that, "IsMemberForeverRemind", 0, function () {
254
-          if (that.data.IsMemberForeverRemind == 0 
255
-            && that.data.NewUserNumber >= app.globalData.NewUserNumberMax 
256
-            && that.data.NewUserNumber<999999) {
254
+          if (that.data.IsMemberForeverRemind == 0
255
+            && that.data.NewUserNumber >= app.globalData.NewUserNumberMax
256
+            && that.data.NewUserNumber < 999999) {
257 257
             that.setData({
258 258
               IsMemberForeverRemind: 1,
259 259
             });
@@ -280,7 +280,7 @@ Page({
280 280
     if (!UnitCustom) {
281 281
       var that = this;
282 282
       server.getData('GetHanziCustomList?UserID=' + app.globalData.userInfo.UserID, function (data) {
283
-        if (data && data.length>0) {
283
+        if (data && data.length > 0) {
284 284
           for (var n = 0; n < data.length; n++) {
285 285
             if (data[n].List)
286 286
               data[n].List = JSON.parse(data[n].List);
@@ -322,17 +322,25 @@ Page({
322 322
       url: "../main/search",
323 323
     });
324 324
   },
325
-  gotoAbout: function (e) {
326
-    var id = e.currentTarget.dataset.id;
327
-    wx.navigateTo({
328
-      url: "../about/about?id=" + id
329
-    });
330
-  },
331 325
   gotoReview: function () {
332
-    var id = "review";
333
-    wx.navigateTo({
334
-      url: '../main/detail?Type=' + id,
335
-    });
326
+    if (this.data.IsShow == 1 && this.data.IsMember == 0) {
327
+      var query = wx.createSelectorQuery();
328
+      query.select('.payInfo').boundingClientRect();
329
+      query.selectViewport().scrollOffset();
330
+      query.exec(function (res) {
331
+        var top = res[0].top + res[1].scrollTop
332
+
333
+        wx.pageScrollTo({
334
+          scrollTop: top,
335
+          duration: 500
336
+        });
337
+      });
338
+    }
339
+    else {
340
+      wx.navigateTo({
341
+        url: '../main/review',
342
+      });
343
+    }
336 344
   },
337 345
   gotoNewUser: function () {
338 346
     wx.navigateTo({
@@ -340,7 +348,7 @@ Page({
340 348
     });
341 349
   },
342 350
   gotoPayList: function () {
343
-    if (this.data.IsMember == 0 && !this.data.IsFirstDay && this.data.NewUserNumber >= this.data.NewUserNumberMax){
351
+    if (this.data.IsMember == 0 && !this.data.IsFirstDay && this.data.NewUserNumber >= this.data.NewUserNumberMax) {
344 352
       this.setData({
345 353
         IsMemberForeverRemind: 0,
346 354
       });
@@ -348,7 +356,7 @@ Page({
348 356
         scrollTop: 1380,
349 357
       });
350 358
     }
351
-    else{
359
+    else {
352 360
       this.gotoMemberCenter();
353 361
     }
354 362
   },
@@ -370,7 +378,7 @@ Page({
370 378
       isPaying = true;
371 379
       var that = this;
372 380
       var money = app.globalData.PayMoney;
373
-      server.payMoney(3, money,null, function () {
381
+      server.payMoney(3, money, null, function () {
374 382
         wx.navigateTo({
375 383
           url: '../about/payfinished?type=single',
376 384
         });

+ 2 - 4
pages/main/index.wxml

@@ -114,7 +114,7 @@
114 114
         <button open-type="getUserInfo" class="btn1">开启统计</button>
115 115
       </view>
116 116
 
117
-      <view class="btn5 btn3 btn" wx:if="{{ReviewCount==0}}">
117
+      <view class="btn5 btn3 btn" wx:if="{{ReviewCount==0}}" bindtap="gotoReview">
118 118
         <view class="btn4 btn1">复习</view>
119 119
       </view>
120 120
       <view class="btn8 btn6 btn" wx:if="{{ReviewCount>0}}" bindtap="gotoReview">
@@ -178,9 +178,7 @@
178 178
     <view class="index5_1 FlexRow">
179 179
       <view class="feedback" bindtap='gotoFeedback'>意见反馈</view>
180 180
       <view class="line"></view>
181
-      <view class="feedback1 feedback" bindtap='gotoAbout' data-id='Cooperation'>关联您的公众号</view>
182
-      <view class="line"></view>
183
-      <view class="feedback" bindtap='gotoAbout'>业务合作</view>
181
+      <view class="feedback" bindtap='gotoFeedback'>业务合作</view>
184 182
     </view>
185 183
     <view class="index5_2">唱意教育旗下产品
186 184
     </view>

+ 12 - 8
pages/main/list.js

@@ -6,7 +6,6 @@ var isPaying = false;
6 6
 
7 7
 Page({
8 8
   data: {
9
-
10 9
   },
11 10
   onLoad: function (options) {
12 11
     var bookID = options.id;
@@ -19,6 +18,9 @@ Page({
19 18
       IsShowPayInfo: false,
20 19
       IsShow: app.globalData.IsShow,
21 20
     });
21
+
22
+    common.getStorageValue(this, "IsRemind", true, function () { });
23
+
22 24
   },
23 25
   onShow: function () {
24 26
     this.init();
@@ -54,7 +56,7 @@ Page({
54 56
           for (var k = 0; k < item.Words.length; k++) {
55 57
             item.Words[k].ReviewCss = "";
56 58
             for (var l = 0; l < arrReview.length; l++) {
57
-              if (arrReview[l].WordID == item.Words[k].ID) {
59
+              if (arrReview[l].ID == item.Words[k].ID) {
58 60
                 item.Words[k].ReviewCss = "boxSelect";
59 61
                 break;
60 62
               }
@@ -77,10 +79,10 @@ Page({
77 79
       }
78 80
     }
79 81
     var imgNum = this.data.BookID;
80
-    if (imgNum==5)
81
-      imgNum="11";
82
+    if (imgNum == 5)
83
+      imgNum = "11";
82 84
     else
83
-      imgNum="0"+imgNum;
85
+      imgNum = "0" + imgNum;
84 86
     this.setData({
85 87
       List: result.Units,
86 88
       topImage: "../../images/040" + imgNum + ".png"
@@ -105,7 +107,9 @@ Page({
105 107
         NavClass1: "nav2",
106 108
         NavClass2: "nav1",
107 109
         IsShowNav1: false,
108
-      })
110
+        IsRemind:false
111
+      });
112
+      wx.setStorageSync('IsRemind', false);
109 113
     }
110 114
   },
111 115
   goto: function (e) {
@@ -172,7 +176,7 @@ Page({
172 176
       isPaying = true;
173 177
       var that = this;
174 178
       var money = app.globalData.PayMoney;
175
-      server.payMoney(3, money,null, function () {
179
+      server.payMoney(3, money, null, function () {
176 180
         wx.navigateTo({
177 181
           url: '../about/payfinished?type=single',
178 182
         });
@@ -192,7 +196,7 @@ Page({
192 196
       IsShowPayInfo: false,
193 197
     });
194 198
   },
195
-  gotoIndex:function(){
199
+  gotoIndex: function () {
196 200
     wx.setStorageSync("indexNav", 2);
197 201
     wx.navigateBack({
198 202
       delta: 1

+ 3 - 2
pages/main/list.wxml

@@ -63,7 +63,8 @@
63 63
   </block>
64 64
 
65 65
 </view>
66
-
66
+<image src='../../images/02004.gif' class="hand" wx:if="{{IsRemind}}" />
67
+  
67 68
 <view class="PayInfo container FlexColumn" style='height:{{Height}}rpx;' wx:if="{{IsShowPayInfo}}">
68 69
   <view class="btn">
69 70
     <view class="btn1 FlexColumn" catchtap="getPay">
@@ -84,4 +85,4 @@
84 85
   <view class="close FlexColumn" catchtap='close'>
85 86
     <image src='../../images/02024.png' class="closeImage" />
86 87
   </view>
87
-</view>
88
+</view>

+ 8 - 0
pages/main/list.wxss

@@ -258,3 +258,11 @@
258 258
   margin-top: 30rpx;
259 259
 }
260 260
 
261
+.hand{
262
+  width:60rpx;
263
+  height:90rpx;
264
+  position: fixed;
265
+  right:158rpx;
266
+  top:405rpx;
267
+  z-index: 100;
268
+}

+ 74 - 0
pages/main/review.js

@@ -0,0 +1,74 @@
1
+import common from '../../utils/util';
2
+import server from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+    IsEdit: false,
9
+    SelectedCount: 0,
10
+  },
11
+  onLoad: function (options) {
12
+    this.setData({
13
+      Height: common.getSystemHeight(),
14
+    });
15
+  },
16
+  onShow:function(){
17
+    this.initReview();
18
+  },
19
+  initReview: function () {
20
+    var arrReview = wx.getStorageSync("ReviewList");
21
+    if (!arrReview)
22
+      arrReview = [];
23
+    this.setData({
24
+      IsEdit: false,
25
+      List: arrReview,
26
+    });
27
+  },
28
+  startEdit: function () {
29
+    this.setData({
30
+      IsEdit: true,
31
+    });
32
+  },
33
+  gotoReview: function (e) {
34
+    var id = e.currentTarget.dataset.id;
35
+    var cotegory = "review";
36
+    wx.navigateTo({
37
+      url: '../main/detail?Type=' + cotegory + '&indexID=' + id,
38
+    });
39
+  },
40
+  selectedHanzi: function (e) {
41
+    var id = e.currentTarget.dataset.id;
42
+    this.data.List[id].IsSelected = !this.data.List[id].IsSelected;
43
+    var SelectedCount = 0;
44
+    for (var i = 0; i < this.data.List.length; i++) {
45
+      if (this.data.List[i].IsSelected)
46
+        SelectedCount++;
47
+    }
48
+    this.setData({
49
+      List: this.data.List,
50
+      SelectedCount: SelectedCount,
51
+    });
52
+  },
53
+  cancelHanzi: function () {
54
+    var that = this;
55
+    var arr = [];
56
+    for (var i = 0; i < this.data.List.length; i++) {
57
+      if (this.data.List[i].IsSelected)
58
+        arr.push(this.data.List[i].ID);
59
+    }
60
+    server.postData('UpdateHanziReview', {
61
+      UserID: app.globalData.userInfo.UserID,
62
+      WordID: arr.join(","),
63
+      Status: "deleteAll",
64
+    }, function (data) {
65
+      if (data) {
66
+        wx.setStorageSync("ReviewList", data);
67
+        that.initReview();
68
+        wx.showToast({
69
+          title: '删除成功',
70
+        })
71
+      }
72
+    });
73
+  },
74
+});

+ 2 - 2
pages/about/about.json

@@ -1,6 +1,6 @@
1 1
 {
2 2
   "navigationBarBackgroundColor": "#F5E2BE",
3
-  "navigationBarTitleText": "关于",
4
-  "backgroundColor": "#F5E2BE",
3
+  "navigationBarTitleText": "复习",
4
+  "backgroundColor": "#f0f0f0",
5 5
   "enablePullDownRefresh": false
6 6
 }

+ 41 - 0
pages/main/review.wxml

@@ -0,0 +1,41 @@
1
+<!-- 有数据 -->
2
+<view class="container FlexColumn" wx:if="{{!IsEdit && List.length>0}}" style='min-height:{{Height}}rpx;'>
3
+  <view class="panel FlexRow">
4
+    <view class="title">复习内容</view>
5
+    <view class="btn" bindtap='startEdit'>整理</view>
6
+  </view>
7
+  <view class="panel2 panel FlexRow" wx:for="{{List}}" wx:key="index" bindtap='gotoReview' data-id="{{index}}">
8
+    <view class="Name">{{item.Name}}</view>
9
+    <image src='../../images/Arrow.png' class="Arrow" />
10
+  </view>
11
+  <view style='height:150rpx'></view>
12
+  <view class="bottom" bindtap='gotoReview' data-id="0">复习全部</view>
13
+</view>
14
+
15
+<!-- 无数据 -->
16
+<view class="container FlexColumn" wx:if="{{!IsEdit && List.length==0}}" style='min-height:{{Height}}rpx;'>
17
+  <view class="FlexColumn">
18
+    <view class="panelNull1">没有内容</view>
19
+    <text class="panelNull2">练习时给需要复习的汉字打记号\n点击这个图标</text>
20
+    <image src='../../images/0521.png' class="img0521" />
21
+  </view>
22
+</view>
23
+
24
+<!-- 整理 -->
25
+<view class="container FlexColumn" wx:if="{{IsEdit}}" style='min-height:{{Height}}rpx;'>
26
+  <view class="panel FlexRow">
27
+    <view class="title">选择要取消复习的内容</view>
28
+    <view></view>
29
+  </view>
30
+  <view class="panel3 panel2 panel FlexRow" wx:for="{{List}}" wx:key="index" bindtap='selectedHanzi' data-id="{{index}}">
31
+    <image src='../../images/SelectNo.png' wx:if="{{!item.IsSelected}}" class="universalpic_select_on_black" />
32
+    <image src='../../images/SelectYes.png' wx:if="{{item.IsSelected}}" class="universalpic_select_on_black" />
33
+  
34
+    <view class="Name">{{item.Name}}</view>
35
+  </view>
36
+  <view style='height:150rpx'></view>
37
+  <view class="bottom2 bottom FlexColumn" bindtap='cancelHanzi'>
38
+    <view>取消复习</view>
39
+    <view class="text1">已选 {{SelectedCount}} 个汉字</view>
40
+  </view>
41
+</view>

+ 93 - 0
pages/main/review.wxss

@@ -0,0 +1,93 @@
1
+.container {
2
+  background-color: #f0f0f0;
3
+  justify-content: flex-start;
4
+  font-weight: 500;
5
+}
6
+
7
+.panel{
8
+  width:100%;
9
+  justify-content: space-between;
10
+}
11
+
12
+.title{
13
+  margin: 50rpx 0 30rpx 30rpx;
14
+  font-size:32rpx;
15
+}
16
+
17
+.btn{
18
+  margin: 50rpx 30rpx 25rpx 0;
19
+  font-size:24rpx;
20
+  color:#fff;
21
+  background-color: #0792E4;
22
+  border-radius: 8rpx;
23
+  text-align: center;
24
+  line-height: 50rpx;
25
+  width: 108rpx;
26
+}
27
+
28
+.panel2{
29
+  background-color: #fff;
30
+  margin-bottom: 1rpx;
31
+  height:100rpx;
32
+}
33
+
34
+.Name{
35
+  margin-left: 30rpx;
36
+  font-size:28rpx;
37
+  font-weight: 400;
38
+}
39
+
40
+.Arrow{
41
+  width:16rpx;
42
+  height:26rpx;
43
+  margin-right: 30rpx;
44
+}
45
+
46
+.bottom{
47
+  position: fixed;
48
+  bottom:0;
49
+  font-size:48rpx;
50
+  color:#fff;
51
+  background-color: #FF7245;
52
+  text-align: center;
53
+  line-height: 120rpx;
54
+  width: 100%;
55
+}
56
+
57
+
58
+.panelNull1{
59
+  font-size: 48rpx;
60
+  margin-top: 422rpx;
61
+}
62
+.panelNull2{
63
+  font-size: 24rpx;
64
+  margin: 20rpx 0 30rpx 0;
65
+  font-weight: 400;
66
+  text-align: center;
67
+}
68
+.img0521{
69
+  width:64rpx;
70
+  height:68rpx;
71
+}
72
+
73
+
74
+.panel3{
75
+  justify-content: flex-start;
76
+}
77
+
78
+.universalpic_select_on_black{
79
+  width:30rpx;
80
+  height:30rpx;
81
+  margin-left: 30rpx;
82
+}
83
+
84
+.bottom2{
85
+  background-color: #E5321C;
86
+  justify-content: center;
87
+  height:140rpx;
88
+  line-height: 46rpx;
89
+}
90
+
91
+.text1{
92
+  font-size:24rpx;
93
+}

+ 19 - 2
project.config.json

@@ -8,7 +8,7 @@
8 8
 		"newFeature": true
9 9
 	},
10 10
 	"compileType": "miniprogram",
11
-	"libVersion": "1.9.93",
11
+	"libVersion": "2.0.1",
12 12
 	"appid": "wx313a8f2c0741efe1",
13 13
 	"projectname": "%E8%AF%86%E5%AD%97",
14 14
 	"isGameTourist": false,
@@ -30,7 +30,7 @@
30 30
 			"list": []
31 31
 		},
32 32
 		"miniprogram": {
33
-			"current": -1,
33
+			"current": 12,
34 34
 			"list": [
35 35
 				{
36 36
 					"id": -1,
@@ -91,6 +91,23 @@
91 91
 					"name": "新用户",
92 92
 					"pathName": "pages/about/newuserlist",
93 93
 					"query": ""
94
+				},
95
+				{
96
+					"id": -1,
97
+					"name": "复习",
98
+					"pathName": "pages/main/review",
99
+					"query": ""
100
+				},
101
+				{
102
+					"id": -1,
103
+					"name": "复习",
104
+					"pathName": "pages/main/index",
105
+					"query": ""
106
+				},
107
+				{
108
+					"id": -1,
109
+					"name": "复习",
110
+					"pathName": "pages/main/review"
94 111
 				}
95 112
 			]
96 113
 		}