chengjie 6 years ago
parent
commit
0807c79e34
85 changed files with 1391 additions and 457 deletions
  1. 5 2
      app.js
  2. 4 0
      app.json
  3. BIN
      marketing/images/program_screenshot_promotion.png
  4. 1 1
      marketing/main/extenduser.js
  5. 1 1
      marketing/main/index.js
  6. BIN
      pages/images/help_picture_chooseadvice.png
  7. BIN
      pages/images/help_picture_clickshow_01.png
  8. BIN
      pages/images/help_picture_clickshow_02.png
  9. BIN
      pages/images/help_picture_clickshow_03.png
  10. BIN
      pages/images/help_picture_fourcolor.png
  11. BIN
      pages/images/help_picture_themecolor.png
  12. BIN
      pages/images/program_screenshot_bindaccount.png
  13. BIN
      pages/images/program_screenshot_checklist.png
  14. BIN
      pages/images/program_screenshot_lesson_a01.png
  15. BIN
      pages/images/program_screenshot_lesson_b01.png
  16. BIN
      pages/images/program_screenshot_mustread.png
  17. BIN
      pages/images/program_screenshot_usermanual.png
  18. BIN
      pages/images/promotion_leaflet_c01.png
  19. BIN
      pages/images/promotion_leaflet_c02.png
  20. BIN
      pages/images/promotion_leaflet_c03.png
  21. BIN
      pages/images/promotion_poster01.png
  22. BIN
      pages/images/salesactivity_a05_usermanual_banner.png
  23. BIN
      pages/images/study_index_banner.png
  24. BIN
      pages/images/study_index_banner_close.png
  25. BIN
      pages/images/universalpic_marks_quotation_begin.png
  26. BIN
      pages/images/universalpic_marks_quotation_end.png
  27. BIN
      pages/images/usermanual_index_coupon.png
  28. BIN
      pages/images/usermanual_index_handshake.png
  29. BIN
      pages/images/usermanual_index_light.png
  30. BIN
      pages/images/usermanual_index_link.png
  31. BIN
      pages/images/usermanual_index_wallet.png
  32. BIN
      pages/images/usermanual_index_writing.png
  33. 7 0
      pages/index/index.js
  34. 104 0
      pages/index/test.js
  35. 3 0
      pages/index/test.json
  36. 19 0
      pages/index/test.wxml
  37. 65 0
      pages/index/test.wxss
  38. 272 216
      pages/main/add.js
  39. 21 17
      pages/main/add.wxml
  40. 21 19
      pages/main/add.wxss
  41. 11 0
      pages/main/default.js
  42. 3 0
      pages/main/default.wxml
  43. 19 0
      pages/main/default.wxss
  44. 4 2
      pages/main/detail.js
  45. 3 3
      pages/main/searchCard.js
  46. 2 3
      pages/main/searchCard.wxml
  47. 14 0
      pages/main/searchWeb2.js
  48. 192 0
      pages/main/symbolsetting.js
  49. 3 0
      pages/main/symbolsetting.json
  50. 23 0
      pages/main/symbolsetting.wxml
  51. 78 0
      pages/main/symbolsetting.wxss
  52. 3 36
      pages/main/systemsetting.js
  53. 4 27
      pages/main/systemsetting.wxml
  54. 1 1
      pages/other/binding.js
  55. 52 0
      pages/other/help.js
  56. 3 0
      pages/other/help.json
  57. 9 0
      pages/other/help.wxml
  58. 28 0
      pages/other/help.wxss
  59. 1 1
      pages/other/homework.js
  60. 42 24
      pages/other/lesson.js
  61. 16 5
      pages/other/lessonlist.js
  62. 21 14
      pages/other/lessonlist.wxml
  63. 18 1
      pages/other/lessonlist.wxss
  64. 1 0
      pages/other/newuser.js
  65. 3 3
      pages/other/newuser.wxml
  66. 42 0
      pages/other/tips.js
  67. 3 0
      pages/other/tips.json
  68. 23 0
      pages/other/tips.wxml
  69. 34 0
      pages/other/tips.wxss
  70. 5 1
      pages/other/userbook.js
  71. 87 43
      pages/other/userbook.wxml
  72. 67 12
      pages/other/userbook.wxss
  73. 5 1
      pages/other/webview.js
  74. 1 0
      pages/plan/clicktype.js
  75. 2 2
      pages/plan/clicktype.wxml
  76. 1 0
      pages/plan/clicktype.wxss
  77. 1 0
      pages/plan/colorplan.js
  78. 1 1
      pages/plan/colorplan.wxml
  79. 1 0
      pages/plan/memoryLevel.js
  80. 1 1
      pages/plan/memoryLevel.wxml
  81. 1 0
      pages/plan/recommend.js
  82. 1 1
      pages/plan/recommend.wxml
  83. 1 1
      pages/plan/setting.js
  84. 16 2
      project.config.json
  85. 21 16
      utils/util.js

+ 5 - 2
app.js

@@ -26,8 +26,8 @@ App({
26 26
     }
27 27
   },
28 28
   globalData: {
29
-    Version: "1.3.7",
30
-    IsProduction: true,
29
+    Version: "1.4.0",
30
+    IsProduction: false,
31 31
     ShareTitle: "高效学习从秒过开始",
32 32
     SharePath: "pages/index/index",
33 33
     ShareImage: '../images/program_screenshot_main.png',
@@ -68,5 +68,8 @@ App({
68 68
     ClickType:0,//点击方案
69 69
     SecondConfigArray:[0,0,0],//选择记忆水平建议
70 70
     GotoUrl:"",//首页跳转页面
71
+    SymbolArray: "+-×÷=<>≤≥*/·≈≠±“”()[]{}《》「」%‰°℃º¹²³⁴ⁿ₁₂₃₄﹫①②③④⑤⑥⑦⑧⑨⑩½⅓⅔¼¾⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞∵∴π|‖∠⊥☐△▽☆♤♧♡♢⊙√ㄨ←↑→↓↔↖↗↘↙āáǎàōóǒòēéěèīíǐìūúǔùǖǘǚǜüê$¥〒¢£∈∪∩⊆⊂⊇⊃∞",
72
+    SymbolMain:"+-×÷=",
73
+    SelectUserData: [2, 250]   //选择查看的用户
71 74
   }
72 75
 })

+ 4 - 0
app.json

@@ -1,6 +1,7 @@
1 1
 {
2 2
   "pages": [
3 3
     "pages/index/index",
4
+    "pages/index/test",
4 5
     "pages/index/accredit",
5 6
     "pages/index/openSetting",
6 7
 
@@ -16,6 +17,7 @@
16 17
     "pages/main/searchWeb",
17 18
     "pages/main/detail",
18 19
     "pages/main/systemsetting",
20
+    "pages/main/symbolsetting",
19 21
     
20 22
     "pages/plan/recommend",
21 23
     "pages/plan/clicktype",
@@ -39,6 +41,8 @@
39 41
     "pages/other/userbook",
40 42
     "pages/other/activity",
41 43
     "pages/other/coupon",
44
+    "pages/other/tips",
45
+    "pages/other/help",
42 46
     "pages/other/pay"
43 47
     
44 48
   ],

BIN
marketing/images/program_screenshot_promotion.png


+ 1 - 1
marketing/main/extenduser.js

@@ -115,7 +115,7 @@ Page({
115 115
     return {
116 116
       title: app.globalData.ShareTitle,
117 117
       path: app.globalData.SharePath + '?type=marketing&UserID=' + app.globalData.userInfo.UserID,
118
-      imageUrl: "../images/program_screenshot_promotion.png",
118
+      imageUrl: app.globalData.uploadImageUrl+"web/program_screenshot_promotion.png",
119 119
     }
120 120
   },
121 121
 });

+ 1 - 1
marketing/main/index.js

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

BIN
pages/images/help_picture_chooseadvice.png


BIN
pages/images/help_picture_clickshow_01.png


BIN
pages/images/help_picture_clickshow_02.png


BIN
pages/images/help_picture_clickshow_03.png


BIN
pages/images/help_picture_fourcolor.png


BIN
pages/images/help_picture_themecolor.png


BIN
pages/images/program_screenshot_bindaccount.png


BIN
pages/images/program_screenshot_checklist.png


BIN
pages/images/program_screenshot_lesson_a01.png


BIN
pages/images/program_screenshot_lesson_b01.png


BIN
pages/images/program_screenshot_mustread.png


BIN
pages/images/program_screenshot_usermanual.png


BIN
pages/images/promotion_leaflet_c01.png


BIN
pages/images/promotion_leaflet_c02.png


BIN
pages/images/promotion_leaflet_c03.png


BIN
pages/images/promotion_poster01.png


BIN
pages/images/salesactivity_a05_usermanual_banner.png


BIN
pages/images/study_index_banner.png


BIN
pages/images/study_index_banner_close.png


BIN
pages/images/universalpic_marks_quotation_begin.png


BIN
pages/images/universalpic_marks_quotation_end.png


BIN
pages/images/usermanual_index_coupon.png


BIN
pages/images/usermanual_index_handshake.png


BIN
pages/images/usermanual_index_light.png


BIN
pages/images/usermanual_index_link.png


BIN
pages/images/usermanual_index_wallet.png


BIN
pages/images/usermanual_index_writing.png


+ 7 - 0
pages/index/index.js

@@ -74,6 +74,7 @@ Page({
74 74
         else
75 75
           app.globalData.LessonPage = 1;
76 76
 
77
+        var url="";
77 78
         if (app.globalData.LessonID === "all") {
78 79
           url = '../other/lessonlist';
79 80
         }
@@ -115,6 +116,12 @@ Page({
115 116
           gotoUrl: "../other/webview?PageID=" + options.PageID,
116 117
         });
117 118
       }
119
+      else if (options.type == "help") {
120
+        this.setData({
121
+          gotoType: "other",
122
+          gotoUrl: "../other/help?IsShare=1&id=" + options.ID+"&idchild="+options.IDChild,
123
+        });
124
+      }
118 125
     }
119 126
     this.setData({
120 127
       IsRefresh: false,

+ 104 - 0
pages/index/test.js

@@ -0,0 +1,104 @@
1
+Page({
2
+  data:{
3
+    optionList:[
4
+      {
5
+        name: "标题1",
6
+        subname: "副标题1"
7
+      }, {
8
+        name: "标题2",
9
+        subname: "副标题2"
10
+      }, {
11
+        name: "标题3",
12
+        subname: "副标题3"
13
+      }, {
14
+        name: "标题4",
15
+        subname: "副标题4"
16
+      },
17
+    ],
18
+    kelong: {
19
+      top: 0,
20
+      xt: '',
21
+      name: '',
22
+      subname: ''
23
+    },
24
+    replace: {
25
+      xt: '',
26
+      name: '',
27
+      subname: ''
28
+    },
29
+  },
30
+  dragStart: function (e) {
31
+    var that = this
32
+    var kelong = that.data.kelong
33
+    var i = e.currentTarget.dataset.index
34
+    kelong.name = this.data.optionList[i].name
35
+    kelong.subname = this.data.optionList[i].subname
36
+
37
+    var query = wx.createSelectorQuery();
38
+    //选择id
39
+    query.select('.listbox').boundingClientRect(function (rect) {
40
+      // console.log(rect.top)
41
+      kelong.top = e.changedTouches[0].clientY - rect.top - 30
42
+      that.setData({
43
+        kelong: kelong,
44
+        showkelong: true
45
+      })
46
+    }).exec();
47
+  },
48
+  dragMove: function (e) {
49
+    var that = this
50
+    var i = e.currentTarget.dataset.index
51
+    var query = wx.createSelectorQuery();
52
+    var kelong = that.data.kelong
53
+    var listnum = that.data.optionList.length
54
+    var optionList = that.data.optionList
55
+    query.select('.listbox').boundingClientRect(function (rect) {
56
+      kelong.top = e.changedTouches[0].clientY - rect.top - 30
57
+      if (kelong.top < -60) {
58
+        kelong.top = -60
59
+      } else if (kelong.top > rect.height) {
60
+        kelong.top = rect.height - 60
61
+      }
62
+      that.setData({
63
+        kelong: kelong,
64
+      })
65
+
66
+      console.log(kelong.top);
67
+    }).exec();
68
+
69
+    
70
+  },
71
+  dragEnd: function (e) {
72
+    var that = this
73
+    var i = e.currentTarget.dataset.index
74
+    var query = wx.createSelectorQuery();
75
+    var kelong = that.data.kelong
76
+    var listnum = that.data.optionList.length
77
+    var optionList = that.data.optionList
78
+    query.select('.listbox').boundingClientRect(function (rect) {
79
+      kelong.top = e.changedTouches[0].clientY - rect.top - 30
80
+      if (kelong.top < -20) {
81
+        wx.showModal({
82
+          title: '删除提示',
83
+          content: '确定要删除此条记录?',
84
+          confirmColor: '#e4463b'
85
+        })
86
+      }
87
+      var target = parseInt(kelong.top / 60)
88
+      var replace = that.data.replace
89
+      if (target >= 0) {
90
+        replace.xt = optionList[target].xt
91
+        replace.name = optionList[target].name
92
+        replace.subname = optionList[target].subname
93
+        optionList[target].name = optionList[i].name
94
+        optionList[target].subname = optionList[i].subname
95
+        optionList[i].name = replace.name
96
+        optionList[i].subname = replace.subname
97
+      }
98
+      that.setData({
99
+        optionList: optionList,
100
+        showkelong: false
101
+      })
102
+    }).exec();
103
+  },
104
+})

+ 3 - 0
pages/index/test.json

@@ -0,0 +1,3 @@
1
+{
2
+  "usingComponents": {}
3
+}

+ 19 - 0
pages/index/test.wxml

@@ -0,0 +1,19 @@
1
+<view class='listbox'>
2
+    <view class='kelong list' hidden='{{!showkelong}}' style='top:{{kelong.top}}px'>
3
+      <view class='index'>?</view>
4
+      <view class='info'>
5
+        <view class="name">{{kelong.name}}</view>
6
+        <view class='sub-name'>{{kelong.subname}}</view>
7
+      </view>
8
+      <view class='moreiconpl'>三</view>
9
+    </view>
10
+
11
+    <view class='list FlexRow' wx:for="{{optionList}}" wx:key="">
12
+      <view class='index'>{{index+1}}</view>
13
+      <view class='info'>
14
+        <view class="name">{{item.name}}</view>
15
+        <view class='sub-name'>{{item.subname}}</view>
16
+      </view>
17
+      <view class='moreiconpl' data-index='{{index}}' catchtouchstart='dragStart' catchtouchmove='dragMove' catchtouchend='dragEnd'>三</view>
18
+    </view>
19
+  </view>

+ 65 - 0
pages/index/test.wxss

@@ -0,0 +1,65 @@
1
+.map-list .list {
2
+  position: relative;
3
+  height: 120rpx;
4
+  width: 100%;
5
+  justify-content: space-between;
6
+}
7
+
8
+.map-list .kelong {
9
+  position: absolute;
10
+}
11
+
12
+.map-list .list::after {
13
+  content: '';
14
+  width: 660rpx;
15
+  height: 2rpx;
16
+  background-color: #eee;
17
+  position: absolute;
18
+  right: 0;
19
+  bottom: 0;
20
+}
21
+
22
+.map-list .list .xt {
23
+  display: block;
24
+  width: 95rpx;
25
+  height: 77rpx;
26
+  position: absolute;
27
+  left: 93rpx;
28
+  top: 20rpx;
29
+}
30
+
31
+.map-list .list .more {
32
+  display: block;
33
+  width: 48rpx;
34
+  height: 38rpx;
35
+  position: absolute;
36
+  right: 30rpx;
37
+  top: 40rpx;
38
+}
39
+
40
+.map-list .list .info {
41
+  display: block;
42
+  width: 380rpx;
43
+  height: 80rpx;
44
+  position: absolute;
45
+  left: 220rpx;
46
+  top: 20rpx;
47
+  font-size: 30rpx;
48
+}
49
+
50
+.map-list .list .info .sub-name {
51
+  font-size: 28rpx;
52
+  white-space: nowrap;
53
+  overflow: hidden;
54
+  text-overflow: ellipsis;
55
+  color: #646567;
56
+}
57
+
58
+.map-list .list .index {
59
+  color: #e4463b;
60
+  font-size: 32rpx;
61
+  font-weight: bold;
62
+  position: absolute;
63
+  left: 35rpx;
64
+  top: 40rpx;
65
+}

File diff suppressed because it is too large
+ 272 - 216
pages/main/add.js


+ 21 - 17
pages/main/add.wxml

@@ -7,7 +7,7 @@
7 7
       <image src='../images/universalpic_card_gray_26x26.png' class="universalpic_card_gray_26x26" />
8 8
     </view>
9 9
   </view>
10
-  <view style='height:120rpx' wx:if="{{UpdateType=='add' || UpdateType=='add2'}}"></view>
10
+  <view style='height:120rpx'></view>
11 11
   <view class="panelTitle FlexRow">
12 12
     <view class="panelTitle1">段落</view>
13 13
   </view>
@@ -69,17 +69,25 @@
69 69
   </block>
70 70
   <view class='lineFooter'></view>
71 71
 
72
-  <view class="panelTimePlan FlexRow" bindtap="showPracticeTime">
72
+  <view class="panelTimePlan FlexRow" bindtap="showPracticeTime" wx:if="{{IsShowPracticeTimeStart}}">
73 73
     <view class="panelItem1 FlexRow">
74 74
       <image src='../images/universalpic_clock_gray_24x24.png' class="universalpic_clock_gray_24x24" />
75 75
       <view>练习时间</view>
76 76
     </view>
77 77
     <view class="panelItem2 FlexRow">
78
-      <view class="panelTimePlan1" hidden="{{PracticeTimeStr!='智能安排'}}">{{PracticeTimeStr}}</view>
79
-      <view class="panelTimePlan2" hidden="{{PracticeTimeStr=='智能安排'}}">{{PracticeTimeStr}}</view>
80
-      <!-- <switch class='panelTimePlan2' checked="{{IsTodayStudy}}" bindchange="switch1Change" /> -->
78
+      <view class="panelTimePlan1">{{PracticeTimeStr2}}</view>
79
+      <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
80
+    </view>
81
+  </view>
82
+  
83
+  <view class="panelTimePlan0 panelTimePlan FlexRow" bindtap="showPracticeTime" wx:if="{{!IsShowPracticeTimeStart}}">
84
+    <view class="panelItem1 FlexRow">
85
+      <image src='../images/universalpic_clock_white_24x24.png' class="universalpic_clock_gray_24x24" />
86
+      <view>练习时间</view>
87
+    </view>
88
+    <view class="panelItem2 FlexRow">
89
+      <view class="panelTimePlan2 panelTimePlan1">{{PracticeTimeStr2}}</view>
81 90
       <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
82
-
83 91
     </view>
84 92
   </view>
85 93
   <view style='height:300rpx;'></view>
@@ -101,9 +109,9 @@
101 109
     <view class='numberContainerFooter101 FlexRow'>
102 110
       <image class="universalpic_bell_black_30x30" src='../images/universalpic_bell_black_30x30.png' />
103 111
       <view class='numberContainerFooter11 FlexColumn'>
104
-        <view class='numberContainerFooter111'>练习时间</view>
112
+        <view class='numberContainerFooter111'>调整练习时间</view>
105 113
         <view class='numberContainerFooter112 FlexRow'>
106
-          <view class='{{item.CSS}} numberContainerFooter1121' wx:for="{{PracticeTimeArr}}" wx:key="index" catchtap='onPracticeTime' data-value='{{item.Name}}'>{{item.Name}}</view>
114
+          <view class='numberContainerFooter1121' wx:for="{{PracticeTimeArr}}" wx:key="index" catchtap='onPracticeTime' data-value='{{item.Name}}'>{{item.Name}}</view>
107 115
         </view>
108 116
       </view>
109 117
     </view>
@@ -165,15 +173,11 @@
165 173
   <view class='panelBtnItem FlexColumn'>
166 174
     <scroll-view scroll-x="true" class="panelBtnSmall" bindscroll="bindscrollHandler">
167 175
       <view class="btn0"></view>
168
-      <view class="btn1 btn" bindtap="addSymbol" wx:for="{{MathSymbolCommon}}" wx:key="index" data-id="{{item}}" data-type="common">{{item}}</view>
169
-      <view class="btn" bindtap="addSymbol" data-id="(     )">
170
-        <image class="universalpic_editbar_brackets_gray" src='../images/universalpic_editbar_brackets_gray.png' />
171
-      </view>
172
-      <view class="btn" bindtap="addSymbol" data-id="_____">
173
-        <image class="universalpic_editbar_underline_gray" src='../images/universalpic_editbar_underline_gray.png' />
174
-      </view>
175
-      <view class="btn" bindtap="addSymbol" wx:for="{{BtnArray}}" wx:key="index" data-id="{{item}}">{{item}}</view>
176
-      
176
+      <view class="btn1 btn" bindtap="addSymbol" wx:for="{{SymbolCommon}}" wx:key="index" data-id="{{item.Name1}}" data-type="common">{{item.Name2}}</view>
177
+      <view class="btn" bindtap="addSymbol" data-id="(     )">( )</view>
178
+      <view class="btn" bindtap="addSymbol" data-id="_____">_</view>
179
+      <view class="btn" bindtap="addSymbol" wx:for="{{SymbolMain}}" wx:key="index" data-id="{{item}}">{{item}}</view>
180
+      <view class="btn2 btn" bindtap="gotoSymbol">更多</view>
177 181
     </scroll-view>
178 182
     <view class='lineFooter'></view>
179 183
     <view class='panelBtn FlexRow'>

+ 21 - 19
pages/main/add.wxss

@@ -50,24 +50,21 @@
50 50
   border-bottom: 1rpx solid #d2d2d2;
51 51
 }
52 52
 
53
-
54
-.panelTimePlan .panelTimePlan2 {
55
-  margin-left: 30rpx;
53
+.panelTimePlan0 {
54
+  background-color: #0071EF;
55
+  color:#fff;
56 56
 }
57 57
 
58
-.panelTimePlan .panelTimePlan1{
58
+.panelTimePlan1{
59 59
   color:#787878;
60
-  font-weight: 500;
61
-}
62
-.panelTimePlan .panelTimePlan2{
63
-  border: 2rpx solid #0071EF;
64
-  border-radius: 22rpx;
65 60
   font-size: 28rpx;
66
-  font-weight: 500;
67
-  color: #0071EF;
68
-  text-align: center;
69
-  line-height: 45rpx;
70
-  padding: 0 20rpx;
61
+  font-weight: 400;
62
+  width:220rpx;
63
+  text-align: right;
64
+}
65
+
66
+.panelTimePlan2{
67
+  color:#fff;
71 68
 }
72 69
 
73 70
 .universalpic_clock_gray_24x24{
@@ -144,7 +141,6 @@
144 141
 
145 142
 .panelItem2 {
146 143
   margin-right: 30rpx;
147
-  color: #1e1e1e;
148 144
   font-weight: 400;
149 145
 }
150 146
 
@@ -474,7 +470,7 @@
474 470
   /* font-family: 'Roboto-Black'; */
475 471
   width: 80rpx;
476 472
   background-color: #fff;
477
-  border: 1rpx solid #9b9b9b;
473
+  border: 1rpx solid #fff;
478 474
   color: #787878;
479 475
   border-radius: 10rpx;
480 476
   text-align: center;
@@ -482,12 +478,19 @@
482 478
   height: 80rpx;
483 479
   margin-top: 20rpx;
484 480
   margin-right: 10rpx;
485
-  font-size: 36rpx;
481
+  font-size: 28rpx;
482
+  font-weight: 700;
486 483
   display: inline-block;
487 484
 }
488 485
 
489 486
 .panelBtnSmall .btn1 {
487
+  border: 1rpx solid #f0f0f0;
490 488
   background-color: #f0f0f0;
489
+  color: #1e1e1e;
490
+}
491
+
492
+.panelBtnSmall .btn2 {
493
+  font-size: 24rpx;
491 494
 }
492 495
 
493 496
 .universalpic_editbar_brackets_gray {
@@ -601,7 +604,7 @@
601 604
 }
602 605
 .numberContainerFooter101{
603 606
   width:100%;
604
-  height: 337rpx;
607
+  height: 357rpx;
605 608
   justify-content: flex-start;
606 609
   align-items: flex-start;
607 610
 }
@@ -672,7 +675,6 @@
672 675
   justify-content: flex-start;
673 676
 }
674 677
 
675
-
676 678
 .RecorderPanel11{
677 679
   width:100%;
678 680
   justify-content: space-between;

+ 11 - 0
pages/main/default.js

@@ -10,6 +10,7 @@ Page({
10 10
     DayNumber: 0,
11 11
     TodayTaskNumber: 0,
12 12
     IsStart: 0,
13
+    IsShowMarketing: 1,
13 14
   },
14 15
   onPullDownRefresh: function () {
15 16
     wx.redirectTo({
@@ -110,6 +111,10 @@ Page({
110 111
         }
111 112
       }
112 113
     });
114
+    wx.setNavigationBarColor({
115
+      frontColor: "#ffffff",
116
+      backgroundColor: "#3157BA",
117
+    });
113 118
   },
114 119
   init:function(){
115 120
     //题卡主题色
@@ -190,6 +195,12 @@ Page({
190 195
       url: './searchCard',
191 196
     });
192 197
   },
198
+  closeMarketing:function(){
199
+    this.setData({
200
+      IsShowMarketing:2,
201
+    });
202
+    wx.setStorageSync("IsShowMarketing",2);
203
+  },
193 204
   onShareAppMessage: function () {
194 205
     return {
195 206
       title: app.globalData.ShareTitle,

+ 3 - 0
pages/main/default.wxml

@@ -15,6 +15,9 @@
15 15
 
16 16
   <view class='panelBottom FlexColumn'>
17 17
 
18
+    <image class="study_index_banner_close" src='../images/study_index_banner_close.png' bindtap="closeMarketing" wx:if="{{IsShowMarketing==1}}"/>
19
+    <image class="study_index_banner" src='../images/study_index_banner.png' bindtap="goto" data-url="../../marketing/main/index" wx:if="{{IsShowMarketing==1}}" />
20
+    
18 21
     <image class="study_index_footer" src='../images/study_index_footer.png' />
19 22
 
20 23
     <view class='panelBottom1 FlexRow'>

+ 19 - 0
pages/main/default.wxss

@@ -36,6 +36,7 @@
36 36
   margin-top: 60rpx;
37 37
 }
38 38
 
39
+
39 40
 .study_index_start {
40 41
   width: 377rpx;
41 42
   height: 240rpx;
@@ -55,6 +56,24 @@
55 56
   bottom: 0;
56 57
   width: 100%;
57 58
 }
59
+
60
+
61
+.study_index_banner_close{
62
+  width: 50rpx;
63
+  height: 50rpx;
64
+  z-index: 100;
65
+  align-self: flex-end;
66
+  margin-right: 20rpx;
67
+  margin-bottom: -50rpx;
68
+}
69
+
70
+.study_index_banner{
71
+  width: 360rpx;
72
+  height: 148rpx;
73
+  align-self: flex-end;
74
+  margin-right: 20rpx;
75
+}
76
+
58 77
 .study_index_footer{
59 78
   width: 100%;
60 79
   height:130rpx;

+ 4 - 2
pages/main/detail.js

@@ -543,7 +543,7 @@ Page({
543 543
       duration = 0;
544 544
     finishCard.Duration = timeHistory + duration;
545 545
 
546
-    //console.log("CardTime:"+finishCard.Duration);
546
+    console.log("CardTime:"+finishCard.Duration);
547 547
 
548 548
     timeHistory = 0;
549 549
     that.timeCompute();
@@ -585,6 +585,8 @@ Page({
585 585
         Recommend: 0,
586 586
         IsMore: false,
587 587
       });
588
+      clearTimeout(timeoutEveryCard);
589
+      
588 590
       that.setSoundFile(1);
589 591
       main.UpdateMiaoguoCardTodayAll(true, function () {
590 592
         listTaskFinished = [];
@@ -634,7 +636,7 @@ Page({
634 636
     timeoutEveryCard=setTimeout(function(){
635 637
       //计算暂停时已经用掉的时长
636 638
       timeHistory += common.diffDate("s", timeStart, new Date());
637
-      //console.log("timeHistory:"+timeHistory);
639
+      console.log("timeHistory:"+timeHistory);
638 640
       wx.showModal({
639 641
         title: '提醒',
640 642
         content: '您已等待了' + app.globalData.CardWaitTimeMax+'分钟',

+ 3 - 3
pages/main/searchCard.js

@@ -46,12 +46,12 @@ Page({
46 46
       url: './searchCard1',
47 47
     })
48 48
   },
49
-  gotoSystemsetting: function(e) {
49
+  gotoUserbook: function (e) {
50 50
     wx.navigateTo({
51
-      url: './systemsetting',
51
+      url: '../other/userbook',
52 52
     })
53 53
   },
54
-  
54
+
55 55
   getList: function (e) {
56 56
     wx.showLoading({
57 57
       title: '请稍候',

+ 2 - 3
pages/main/searchCard.wxml

@@ -55,11 +55,10 @@
55 55
       </view>
56 56
     </view>
57 57
     <view class='lineFooter'></view>
58
-
59 58
     <view class='panelBtn FlexColumn'>
60
-      <view class="panelItem FlexRow" bindtap="gotoSystemsetting">
59
+      <view class="panelItem FlexRow" bindtap="gotoUserbook">
61 60
         <view class="panelItem1">
62
-          系统设置
61
+          用户手册
63 62
         </view>
64 63
         <view class="panelItem2 FlexRow">
65 64
           <image class="universalpic_indicator_right_gray" src='../images/universalpic_indicator_right_gray.png' />

+ 14 - 0
pages/main/searchWeb2.js

@@ -188,9 +188,23 @@ Page({
188 188
   },
189 189
   changeBishun:function(e){
190 190
     var id=e.currentTarget.dataset.id;
191
+
192
+    if (id === "0"){
193
+      for (var i = 0; i < 6; i++) {
194
+        delete this.data.CSS["CHN_BiShunArr2_" + i];
195
+      }
196
+    }
197
+    else if (id === "1") {
198
+      for (var i = 0; i < 6; i++) {
199
+        delete this.data.CSS["CHN_KaitiArr_" + i];
200
+      }
201
+    }
202
+
191 203
     this.setData({
192 204
       ShowKaiti: id,
205
+      CSS:this.data.CSS,
193 206
     });
207
+
194 208
   },
195 209
   openHelp: function () {
196 210
     this.setData({

+ 192 - 0
pages/main/symbolsetting.js

@@ -0,0 +1,192 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+var xOffset = 0;
6
+var yOffset = 0;
7
+var xStart = 0;
8
+var yStart = 0;
9
+var xEnd = 0;
10
+var yEnd = 0;
11
+
12
+Page({
13
+  data: {
14
+    ImagePath: app.globalData.uploadImageUrl,
15
+    Copy: {
16
+      top: 0,
17
+      left: 0,
18
+      Name: '',
19
+    },
20
+  },
21
+  onLoad: function(options) {
22
+    var that = this;
23
+    that.setData({
24
+      Containnerheight: main.getWindowHeight(),
25
+      ShowCopy: false,
26
+    });
27
+
28
+    // if (app.globalData.IsIOS) {
29
+    //   xOffset = -140;
30
+    //   yOffset = -40;
31
+    // } else if (app.globalData.IsAndroid) {
32
+    //   xOffset = 100;
33
+    //   yOffset = 0;
34
+    // }
35
+
36
+    common.getStorageValue(that, "SymbolMain", app.globalData.SymbolMain, function() {
37
+      var arr = [];
38
+      for (var i = 0; i < app.globalData.SymbolArray.length; i++) {
39
+        var obj = {};
40
+        obj.Name = app.globalData.SymbolArray[i];
41
+        for (var j = 0; j < that.data.SymbolMain.length; j++) {
42
+          if (obj.Name === that.data.SymbolMain[j]) {
43
+            obj.CSS = "btn2";
44
+          }
45
+        }
46
+        arr.push(obj);
47
+      }
48
+      that.setData({
49
+        SymbolArray: arr,
50
+      });
51
+
52
+      var query = wx.createSelectorQuery();
53
+      query.select('#btn0').boundingClientRect();
54
+      query.selectViewport().scrollOffset();
55
+      query.exec(function (rect) {
56
+        xStart = rect[0].left;
57
+        yStart = rect[0].top;
58
+        console.log("xStart:" + xStart);
59
+        console.log("yStart:" + yStart);
60
+
61
+      });
62
+      var query = wx.createSelectorQuery();
63
+      query.select('#btn' + (arr.length-1)).boundingClientRect();
64
+      query.selectViewport().scrollOffset();
65
+      query.exec(function (rect) {
66
+        xEnd = rect[0].left;
67
+        yEnd = rect[0].top;
68
+        console.log("xEnd:" + xEnd);
69
+        console.log("yEnd:" + yEnd);
70
+
71
+      });
72
+    });
73
+  },
74
+  // selectSymbol:function(e){
75
+  //   var that=this;
76
+  //   var name=e.currentTarget.dataset.name;
77
+  //   var SymbolMain="";
78
+  //   for (var i = 0; i < that.data.SymbolArray.length; i++) {
79
+  //     if (that.data.SymbolArray[i].Name===name) {
80
+  //       if (!that.data.SymbolArray[i].CSS)
81
+  //         that.data.SymbolArray[i].CSS = "btn2";
82
+  //       else
83
+  //         that.data.SymbolArray[i].CSS = "";
84
+  //     }
85
+
86
+  //     if (that.data.SymbolArray[i].CSS)
87
+  //       SymbolMain += that.data.SymbolArray[i].Name;
88
+  //   }
89
+  //   that.setData({
90
+  //     SymbolArray: that.data.SymbolArray,
91
+  //   });
92
+
93
+  //   wx.setStorageSync("SymbolMain", SymbolMain);
94
+  // },
95
+  dragStart: function(e) {
96
+    var that = this
97
+    var index = e.currentTarget.dataset.index;
98
+    var Copy = that.data.Copy;
99
+    Copy.Name = this.data.SymbolArray[index].Name;
100
+
101
+    for (var i = 0; i < that.data.SymbolArray.length; i++) {
102
+      if (i == index) {
103
+        that.data.SymbolArray[i].CSS = "btnClear";
104
+      }
105
+    }
106
+
107
+    var query = wx.createSelectorQuery();
108
+    query.select('#btn' + index).boundingClientRect();
109
+    query.selectViewport().scrollOffset();
110
+    query.exec(function(rect) {
111
+
112
+      Copy.top = (rect[0].top + rect[1].scrollTop);
113
+      console.log("Copy.top:" + Copy.top);
114
+      console.log("e.changedTouches[0].pageY_Start:" + e.changedTouches[0].pageY );
115
+      yOffset = e.changedTouches[0].pageY  - Copy.top;
116
+      Copy.left = rect[0].left ;
117
+      xOffset = e.changedTouches[0].pageX  - Copy.left;
118
+      console.log("yOffset:" + yOffset);
119
+
120
+      that.setData({
121
+        Copy: Copy,
122
+        ShowCopy: true,
123
+        SymbolArray: that.data.SymbolArray,
124
+      })
125
+    });
126
+  },
127
+  dragMove: function(e) {
128
+    console.log("e.changedTouches[0].pageY_Move:" + e.changedTouches[0].pageY);
129
+    var that = this
130
+    var index = e.currentTarget.dataset.index;
131
+    var Copy = that.data.Copy;
132
+
133
+    Copy.top = e.changedTouches[0].pageY  - yOffset;
134
+    Copy.left = e.changedTouches[0].pageX  - xOffset;
135
+    if (Copy.top < yStart-5)
136
+      Copy.top = yStart-5;
137
+    if (Copy.top > yEnd+5)
138
+      Copy.top = yEnd + 5;
139
+    if (Copy.left < -14)
140
+      Copy.left = -14;
141
+    if (Copy.left > 321)
142
+      Copy.left = 321;
143
+
144
+    that.setData({
145
+      Copy: Copy,
146
+      ShowCopy: true
147
+    });
148
+
149
+  },
150
+  dragEnd: function(e) {
151
+    var that = this
152
+    var index = e.currentTarget.dataset.index;
153
+    var Copy = that.data.Copy;
154
+
155
+    console.log(Copy.left + "," + Copy.top);
156
+
157
+    var x = Math.round((Copy.left - xStart) / 52);
158
+    var y = Math.round((Copy.top - yStart) / 52);
159
+
160
+    var index2 = y * 7 + x;
161
+    console.log("index2:" + index2);
162
+
163
+    for (var i = 0; i < that.data.SymbolArray.length; i++) {
164
+      if (i == index) {
165
+        that.data.SymbolArray.splice(i,1);
166
+      }
167
+    }
168
+    for (var i = 0; i < that.data.SymbolArray.length; i++) {
169
+      if (i == index2) {
170
+        var obj={};
171
+        obj.CSS = "";
172
+        obj.Name = Copy.Name;
173
+        that.data.SymbolArray.splice(i, 0,obj);
174
+      }
175
+    }
176
+    
177
+
178
+    that.setData({
179
+      Copy: Copy,
180
+      ShowCopy: false,
181
+      SymbolArray: that.data.SymbolArray,
182
+    });
183
+    wx.setStorageSync("SymbolMain", that.data.SymbolArray);
184
+  },
185
+  onShareAppMessage: function() {
186
+    return {
187
+      title: app.globalData.ShareTitle,
188
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
189
+      imageUrl: app.globalData.ShareImage,
190
+    }
191
+  },
192
+})

+ 3 - 0
pages/main/symbolsetting.json

@@ -0,0 +1,3 @@
1
+{
2
+  "navigationBarTitleText": "符号"
3
+}

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


+ 78 - 0
pages/main/symbolsetting.wxss

@@ -0,0 +1,78 @@
1
+.container{
2
+  background-color: #fff;
3
+}
4
+
5
+
6
+.panelTitle{
7
+  width:100%;
8
+  justify-content: space-between;
9
+  background-color: #f0f0f0;
10
+}
11
+.panelTitle .panelTitle1{
12
+  font-size:32rpx;
13
+  margin-left: 30rpx;
14
+  margin-bottom: 30rpx;
15
+
16
+  margin-top: 50rpx;
17
+}
18
+
19
+.panelItem0{
20
+  width:100%;
21
+}
22
+
23
+.panelItem{
24
+  width:720rpx;
25
+  margin-top:30rpx; 
26
+  font-size:28rpx;
27
+  justify-content: flex-start;
28
+  background-color: #fff;
29
+  flex-wrap: wrap;
30
+}
31
+
32
+
33
+.btn {
34
+  width: 80rpx;
35
+  height:80rpx;
36
+  background-color: #fff;
37
+  border: 2rpx solid #9b9b9b;
38
+  color: #787878;
39
+  border-radius: 10rpx;
40
+  text-align: center;
41
+  line-height: 80rpx;
42
+  margin: 8rpx;
43
+  font-size: 36rpx;
44
+  font-weight: 700;
45
+}
46
+
47
+.btn2 {
48
+  border: 4rpx solid #0071EF;
49
+  width: 74rpx;
50
+  height:74rpx;
51
+}
52
+.btnClear {
53
+  border: 4rpx solid #fff;
54
+  width: 74rpx;
55
+  height:74rpx;
56
+  color:#fff;
57
+}
58
+.btnCopy {
59
+  position: absolute;
60
+  z-index: 10;
61
+}
62
+
63
+.help_picture_mathsymbol{
64
+  width:688rpx;
65
+  height:347rpx;
66
+  margin: 40rpx 0;
67
+}
68
+
69
+.panelTitle0{
70
+  background-color: #fff;
71
+  border-top:20rpx solid #f0f0f0;
72
+}
73
+
74
+.text1 {
75
+  font-size:24rpx;
76
+  width:690rpx;
77
+  font-weight: 400;
78
+}

+ 3 - 36
pages/main/systemsetting.js

@@ -5,49 +5,16 @@ const app = getApp();
5 5
 
6 6
 Page({
7 7
   data: {
8
-    List: [],
9
-    IsPay: true,
10 8
     IsShow: 0,
11 9
   },
12 10
   onLoad: function (options) {
13 11
     var that = this;
14
-    var childUserID = 0;
15
-    if (app.globalData.userInfo.ChildUserID && app.globalData.userInfo.ChildUserID != undefined)
16
-      childUserID = app.globalData.userInfo.ChildUserID;
17
-    var productServiceTime = common.formatDateCHS(common.formatTime(new Date(app.globalData.userInfo.ProductServiceTime)));
18
-    var today15 = common.formatDateCHS(common.formatTime(common.addDate("d", 15, new Date())));
19
-    var isPay = true;
20
-    if (productServiceTime > today15) {
21
-      isPay = false;
22
-    }
23
-
12
+    
24 13
     that.setData({
25 14
       Containnerheight: main.getWindowHeight(),
26 15
       ProgramName: app.globalData.ProgramName,
27 16
       Version: app.globalData.Version,
28
-      ProductServiceTime: productServiceTime,
29
-      IsPay: isPay,
30 17
       IsShow: app.globalData.userInfo.IsShow,
31
-      ChildUserID: childUserID,
32
-    });
33
-  },
34
-  gotoPay: function () {
35
-    var payindex = 3;
36
-    if (app.globalData.userInfo.IsFinishTask == 1)
37
-      payindex = 2;
38
-
39
-    wx.navigateTo({
40
-      url: '../other/pay?paypanel=1&payindex=' + payindex,
41
-    });
42
-  },
43
-  gotoBinding: function () {
44
-    wx.navigateTo({
45
-      url: '../other/binding',
46
-    })
47
-  },
48
-  gotoUserbook:function(){
49
-    wx.navigateTo({
50
-      url: '../other/userbook',
51 18
     });
52 19
   },
53 20
   updateMember: function () {
@@ -55,9 +22,9 @@ Page({
55 22
       url: '../index/index',
56 23
     })
57 24
   },
58
-  gotoMarketingUserList: function (e) {
25
+  gotoSymbol: function (e) {
59 26
     wx.navigateTo({
60
-      url: '../../marketing/main/index',
27
+      url: '../main/symbolsetting',
61 28
     });
62 29
   },
63 30
   onShareAppMessage: function () {

+ 4 - 27
pages/main/systemsetting.wxml

@@ -1,39 +1,16 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
-  <block wx:if="{{IsShow==1}}">
3
-    <view class="panelTitle FlexRow">
4
-      <view class="panelTitle1">用户</view>
5
-      <view class="panelTitle2"></view>
6
-    </view>
7
-    <view class="panelItem FlexRow" bindtap='gotoUserbook'>
8
-      <view class="panelItem1">用户手册</view>
9
-      <view class="panelItem2 FlexRow">
10
-        <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
11
-      </view>
12
-    </view>
13
-    <view class="lineWidthAll FlexRow">
14
-      <view class="lineWidth720"></view>
15
-    </view>
16
-    <view class="panelItem FlexRow" bindtap='gotoMarketingUserList' wx:if="{{IsShow==1}}">
17
-      <view class="panelItem1">推广计划</view>
18
-      <view class="panelItem2 FlexRow">
19
-        <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
20
-      </view>
21
-    </view>
22
-  </block>
23
-  <view class='lineFooter'></view>
24
-
2
+  
25 3
   <view class="panelTitle FlexRow">
26 4
     <view class="panelTitle1">通用</view>
27 5
     <view class="panelTitle2"></view>
28 6
   </view>
29
-  <view class="panelItem FlexRow" bindtap='gotoBinding'>
30
-    <view class="panelItem1">帐号绑定</view>
7
+  <view class="panelItem FlexRow" bindtap='gotoSymbol'>
8
+    <view class="panelItem1">符号</view>
31 9
     <view class="panelItem2 FlexRow">
32 10
       <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
33 11
     </view>
34 12
   </view>
35
-
36
-
13
+  <view class='lineFooter'></view>
37 14
   <view class="panelItem00 panelItem FlexRow" bindtap='updateMember'>
38 15
     重启小程序
39 16
   </view>

+ 1 - 1
pages/other/binding.js

@@ -114,7 +114,7 @@ Page({
114 114
       return {
115 115
         title: app.globalData.userInfo.NickName,
116 116
         path: path,
117
-        imageUrl: "../images/program_screenshot_bindaccount.png",
117
+        imageUrl: app.globalData.uploadImageUrl +"web/program_screenshot_bindaccount.png",
118 118
       }
119 119
     }
120 120
   },

+ 52 - 0
pages/other/help.js

@@ -0,0 +1,52 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+var id=0;
6
+var idchild=0;
7
+
8
+Page({
9
+  data: {
10
+    List: [],
11
+    ImagePath: app.globalData.uploadImageUrl,
12
+  },
13
+  onLoad: function (options) {
14
+    var that = this;
15
+    id=options.id;
16
+    idchild=options.idchild;
17
+
18
+    var list = wx.getStorageSync("MiaoguoTipsList");
19
+
20
+    that.setData({
21
+      Containnerheight: main.getWindowHeight(),
22
+      Item:list[options.id].List[options.idchild],
23
+      IsShare:options.IsShare,
24
+    });
25
+
26
+    wx.setNavigationBarColor({
27
+      frontColor: "#000000",
28
+      backgroundColor: "#ffffff",
29
+    });
30
+    
31
+  },
32
+  goto: function (e) {
33
+    if (this.data.IsShare==1){
34
+      var url = e.currentTarget.dataset.url;
35
+      wx.redirectTo({
36
+        url: url,
37
+      });
38
+    }
39
+    else{
40
+      wx.navigateBack({
41
+        delta: 1,
42
+      });
43
+    }
44
+  },
45
+  onShareAppMessage: function () {
46
+    return {
47
+      title: "《秒过学习法》小贴士",
48
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID + '&type=help&ID=' + id + '&IDChild=' + idchild,
49
+      imageUrl: app.globalData.uploadImageUrl+'web/'+this.data.Item.Cover,
50
+    }
51
+  },
52
+})

+ 3 - 0
pages/other/help.json

@@ -0,0 +1,3 @@
1
+{
2
+  "navigationBarTitleText": "帮助"
3
+}

+ 9 - 0
pages/other/help.wxml

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

+ 28 - 0
pages/other/help.wxss

@@ -0,0 +1,28 @@
1
+.container{
2
+  background-color: #F8F8F8;
3
+}
4
+
5
+.panelTop{
6
+  width:100%;
7
+  height:120rpx;
8
+  border-bottom: 1rpx solid #f0f0f0;
9
+  background-color: #fff;
10
+  justify-content: flex-start;
11
+  position: fixed;
12
+  top:0;
13
+}
14
+
15
+.btn{
16
+  width:172rpx;
17
+  line-height:80rpx;
18
+  margin-left: 20rpx;
19
+  border-radius: 10rpx;
20
+  border:1rpx solid #9B9B9B;
21
+  color:#787878;
22
+  font-size:28rpx;
23
+  text-align: center;
24
+}
25
+
26
+.img{
27
+  width:100%;
28
+}

+ 1 - 1
pages/other/homework.js

@@ -93,7 +93,7 @@ Page({
93 93
     return {
94 94
       title: "作业清单",
95 95
       path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID +'&type=homework',
96
-      imageUrl: "../images/program_screenshot_checklist.png",
96
+      imageUrl: app.globalData.uploadImageUrl +"web/program_screenshot_checklist.png",
97 97
     }
98 98
   },
99 99
 })

+ 42 - 24
pages/other/lesson.js

@@ -38,36 +38,48 @@ Page({
38 38
     backgroundAudioManager.onEnded(that.bindEnded);
39 39
 
40 40
     imageUrlPrefix = app.globalData.uploadImageUrl + "lesson/lesson" + LessonID + "/";
41
-    main.getData("GetMiaoguoLesson?Lesson=" + LessonID + "&time=" + new Date().getTime(), function (data) {
42
-      var id = that.data.LessonPage;
43
-      if (id < 10)
44
-        id = "0" + id;
41
+    
42
+    that.getData(LessonID,function(data){
43
+      if (data){
44
+        var id = that.data.LessonPage;
45
+        if (id < 10)
46
+          id = "0" + id;
45 47
 
46
-      var imageUrl = "../images/program_screenshot_lesson_a01.png";
47
-      if (that.data.LessonID=="5")
48
-        imageUrl ="../images/program_screenshot_lesson_b01.png";
49
-        
50
-      that.setData({
51
-        ArrTirtle: data.List,
52
-        IsPause: true,
53
-        ShareImageUrl:imageUrl,
54
-        AudioSrc: imageUrlPrefix + "sounds/"+that.data.LessonPage+".m4a",
55
-        ImageUrl: imageUrlPrefix + "%E5%B9%BB%E7%81%AF%E7%89%87" + id+".jpg",
56
-      });
57
-
58
-      if (that.data.LessonPage>1){
59 48
         that.setData({
60
-          IsPause: false,
49
+          ArrTirtle: data.List,
50
+          IsPause: true,
51
+          AudioSrc: imageUrlPrefix + "sounds/" + that.data.LessonPage + ".m4a",
52
+          ImageUrl: imageUrlPrefix + "%E5%B9%BB%E7%81%AF%E7%89%87" + id + ".jpg",
61 53
         });
62
-        backgroundAudioManager.title = that.data.ArrTirtle[that.data.LessonPage - 1].Title;
63
-        backgroundAudioManager.src = that.data.AudioSrc;
64
-      }
65 54
 
55
+        if (that.data.LessonPage > 1) {
56
+          that.setData({
57
+            IsPause: false,
58
+          });
59
+          backgroundAudioManager.title = that.data.ArrTirtle[that.data.LessonPage - 1].Title;
60
+          backgroundAudioManager.src = that.data.AudioSrc;
61
+        }
62
+      }
66 63
     });
64
+    
67 65
     currentContent = [];
68 66
     app.globalData.LessonID = 0;
69 67
     app.globalData.LessonPage = 0;
70 68
   },
69
+  getData:function(LessonID,callback){
70
+    var list = wx.getStorageSync("LessonList");
71
+    if (list){
72
+      callback(list[LessonID-1]);
73
+    }
74
+    else{
75
+      main.getData("GetMiaoguoLesson2?Lesson=" + LessonID + "&time=" + new Date().getTime(), function (data) {
76
+        if (data)
77
+          callback(data[LessonID-1]);
78
+        else
79
+          callback();
80
+      });
81
+    }
82
+  },
71 83
   onUnload: function () {
72 84
     this.InsertMiaoguoUserLesson();
73 85
   },
@@ -141,14 +153,20 @@ Page({
141 153
   },
142 154
   onShareAppMessage: function () {
143 155
     var title ="《秒过学习法》课程";
144
-    var imageUrl = this.data.ShareImageUrl;
145
-    if (this.data.LessonID==5){
146
-      title="《秒过学习法》结业致辞"
156
+    var imageUrl = "";
157
+    if (this.data.LessonID == 5) {
158
+      title = "《秒过学习法》结业致辞";
159
+      imageUrl = this.data.ArrTirtle[0].ImageUrl;
147 160
     }
148 161
     else if (this.data.LessonPage>0){
149 162
       title = this.data.ArrTirtle[this.data.LessonPage - 1].Title;
163
+      imageUrl = this.data.ArrTirtle[this.data.LessonPage - 1].ImageUrl;
164
+      if (this.data.LessonID==1)
165
+        imageUrl = this.data.ArrTirtle[0].ImageUrl;
150 166
     }
151 167
 
168
+    imageUrl=app.globalData.uploadImageUrl+"web/"+imageUrl;
169
+
152 170
     return {
153 171
       title: title,
154 172
       path: app.globalData.SharePath + '?type=lesson&LessonID=' + this.data.LessonID + '&LessonPage=' + this.data.LessonPage+'&UserID=' + app.globalData.userInfo.UserID,

+ 16 - 5
pages/other/lessonlist.js

@@ -5,6 +5,7 @@ const app = getApp();
5 5
 
6 6
 Page({
7 7
   data: {
8
+    ImagePath: app.globalData.uploadImageUrl,
8 9
   },
9 10
   onLoad: function () {
10 11
     var that = this;
@@ -15,25 +16,35 @@ Page({
15 16
     });
16 17
 
17 18
     var userid = app.globalData.userInfo.UserID;
18
-    main.getData("GetMiaoguoCheckList?UserID=" + userid, function (data) {
19
+    main.getData("GetMiaoguoLesson2?UserID=" + userid, function (data) {
19 20
       if (data) {
21
+        
22
+        var arr=[];
23
+        for(var i=0;i<4;i++)
24
+          arr.push(data[i]);
25
+
20 26
         that.setData({
21
-          List: data.List,
27
+          List: arr,
22 28
         });
29
+
30
+        wx.setStorageSync("LessonList", data);
23 31
       }
24 32
     });
25 33
   },
26 34
   gotoLesson: function (e) {
27 35
     var id = e.currentTarget.dataset.id;
36
+    var idchild="";
37
+    if (e.currentTarget.dataset.idchild && id>1)
38
+      idchild = '&LessonPage=' +e.currentTarget.dataset.idchild;
28 39
     wx.navigateTo({
29
-      url: '../other/lesson?LessonID=' + id,
40
+      url: '../other/lesson?LessonID=' + id +idchild,
30 41
     });
31 42
   },
32 43
   onShareAppMessage: function () {
33 44
     return {
34
-      title: app.globalData.ShareTitle,
45
+      title: "《秒过学习法》教学课程",
35 46
       path: app.globalData.SharePath + '?type=lesson&LessonID=all&UserID=' + app.globalData.userInfo.UserID,
36
-      imageUrl: "../images/program_screenshot_lesson_a01.png",
47
+      imageUrl: app.globalData.uploadImageUrl+"web/program_screenshot_lesson_a00.png",
37 48
     }
38 49
   },
39 50
 })

+ 21 - 14
pages/other/lessonlist.wxml

@@ -1,23 +1,30 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
-  <image class="trial_lesson_header" src='../images/trial_lesson_header.png' />
3
-        
2
+  <image class="trial_lesson_header" src='{{ImagePath}}web/trial_lesson_header.png' />
3
+
4 4
   <view class="main FlexColumn">
5
-    <block wx:for="{{[List[3],List[4],List[5],List[6]]}}" wx:key="index">
6
-      <view class="lineWidthAll FlexRow" wx:if="{{index>0}}">
7
-        <view class="lineWidth720"></view>
5
+    <block wx:for="{{List}}" wx:key="index">
6
+      <view class="panelTitle FlexRow" bindtap="gotoLesson" data-id="{{index+1}}">
7
+        <view class="panelTitle1">{{item.Text}}</view>
8
+        <view class="panelTitle2">{{item.Time}}</view>
8 9
       </view>
9
-
10
-      <view class="panelItem FlexRow" bindtap="gotoLesson" data-id="{{index+1}}">
11
-        <view class='panelItem1 FlexColumn'>
12
-          <view class="panelTitle10">{{item.Title}}</view>
13
-          <view class="panelTitle111">{{item.Remark}}</view>
10
+      <block wx:for="{{item.List}}" wx:key="index2" wx:for-item="itemChild" wx:for-index="indexChild" wx:if="{{itemChild.Cover==1}}">
11
+        <view class="lineWidthAll FlexRow" wx:if="{{indexChild>0}}">
12
+          <view class="lineWidth720"></view>
14 13
         </view>
15
-        <view class="panelItem2 FlexRow">
16
-          <image class="universalpic_indicator_right_gray" src='../images/universalpic_indicator_right_gray.png' />
14
+
15
+        <view class="panelItem FlexRow" bindtap="gotoLesson" data-id="{{index+1}}" data-idchild="{{indexChild+1}}">
16
+          <view class='panelItem1 FlexColumn'>
17
+            <view class="panelTitle10">{{itemChild.Title}}</view>
18
+          </view>
19
+          <view class="panelItem2 FlexRow">
20
+            <image class="universalpic_indicator_right_gray" src='../images/universalpic_indicator_right_gray.png' />
21
+          </view>
17 22
         </view>
18
-      </view>
23
+
24
+      </block>
25
+      <view class='lineFooter'></view>
19 26
 
20 27
     </block>
21
-    <view class='lineFooter'></view>
22 28
   </view>
29
+  <view style="height:100rpx;"></view>
23 30
 </view>

+ 18 - 1
pages/other/lessonlist.wxss

@@ -7,11 +7,28 @@
7 7
   width: 100%;
8 8
 }
9 9
 
10
+.panelTitle{
11
+  width:100%;
12
+  margin-top: 50rpx;
13
+  justify-content: space-between;
14
+}
15
+.panelTitle .panelTitle1{
16
+  font-size:32rpx;
17
+  margin-left: 30rpx;
18
+  margin-bottom: 30rpx;
19
+}
20
+.panelTitle .panelTitle2{
21
+  font-size:24rpx;
22
+  margin-right: 30rpx;
23
+  margin-bottom: 30rpx;
24
+  font-weight: 400;
25
+}
26
+
10 27
 .panelItem {
11 28
   width: 100%;
12 29
   justify-content: space-between;
13 30
   font-size: 28rpx;
14
-  height: 134rpx;
31
+  height: 101rpx;
15 32
   background-color: #fff;
16 33
 }
17 34
 

+ 1 - 0
pages/other/newuser.js

@@ -6,6 +6,7 @@ var app = getApp();
6 6
 Page({
7 7
   data: {
8 8
     PanelShow: 0,
9
+    ImagePath: app.globalData.uploadImageUrl,
9 10
   },
10 11
   onLoad: function (options) {
11 12
     var that = this;

+ 3 - 3
pages/other/newuser.wxml

@@ -1,9 +1,9 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2 2
 
3 3
   <block wx:if="{{PanelShow==0}}">
4
-    <image class="promotion_leaflet_c01" src='../images/promotion_leaflet_c01.png' />
5
-    <image class="promotion_leaflet_c02" src='../images/promotion_leaflet_c02.png' />
6
-    <image class="promotion_leaflet_c03" src='../images/promotion_leaflet_c03.png' />
4
+    <image class="promotion_leaflet_c01" src='{{ImagePath}}web/promotion_leaflet_c01.png' />
5
+    <image class="promotion_leaflet_c02" src='{{ImagePath}}web/promotion_leaflet_c02.png' />
6
+    <image class="promotion_leaflet_c03" src='{{ImagePath}}web/promotion_leaflet_c03.png' />
7 7
     <view class="panelBottom FlexRow">
8 8
       <view class="panelBottom1 FlexColumn" wx:if="{{!StartDate}}">
9 9
         <view class='text7'>16天手把手</view>

+ 42 - 0
pages/other/tips.js

@@ -0,0 +1,42 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+    List: [],
9
+  },
10
+  onLoad: function (options) {
11
+    var that = this;
12
+    
13
+    that.setData({
14
+      Containnerheight: main.getWindowHeight(),
15
+    });
16
+    that.init();
17
+  },
18
+  init: function (e) {
19
+    var that=this;
20
+    main.getData("GetMiaoguoTipsList", function (data) {
21
+      that.setData({
22
+        List: data,
23
+      });
24
+      wx.setStorageSync("MiaoguoTipsList", data);
25
+    });
26
+  },
27
+  goto: function (e) {
28
+    var id = e.currentTarget.dataset.id;
29
+    var idchild = e.currentTarget.dataset.idchild;
30
+
31
+    wx.navigateTo({
32
+      url: './help?id='+id+'&idchild='+idchild,
33
+    });
34
+  },
35
+  onShareAppMessage: function () {
36
+    return {
37
+      title: app.globalData.ShareTitle,
38
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
39
+      imageUrl: app.globalData.uploadImageUrl +"web/program_screenshot_tips.png",
40
+    }
41
+  },
42
+})

+ 3 - 0
pages/other/tips.json

@@ -0,0 +1,3 @@
1
+{
2
+  "navigationBarTitleText": "小贴士"
3
+}

+ 23 - 0
pages/other/tips.wxml

@@ -0,0 +1,23 @@
1
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
+  <block wx:for="{{List}}" wx:key="index">
3
+    <view class="panelTitle FlexRow">
4
+      <view class="panelTitle1">{{item.Headline}}</view>
5
+      <view class="panelTitle2"></view>
6
+    </view>
7
+
8
+    <block wx:for="{{item.List}}" wx:for-item="itemChild" wx:for-index="indexChild" wx:key="index2">
9
+    <view class="lineWidthAll FlexRow" wx:if="{{indexChild>0}}">
10
+      <view class="lineWidth720"></view>
11
+    </view>
12
+    <view class="panelItem FlexRow" bindtap='goto' data-id="{{index}}" data-idchild="{{indexChild}}">
13
+      <view class="panelItem1">{{itemChild.Title}}</view>
14
+      <view class="panelItem2 FlexRow">
15
+        <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
16
+      </view>
17
+    </view>
18
+    </block>
19
+    <view class='lineFooter'></view>
20
+  </block>
21
+  <view style='width:100%;height:100rpx;'></view>
22
+
23
+</view>

+ 34 - 0
pages/other/tips.wxss

@@ -0,0 +1,34 @@
1
+.panelTitle{
2
+  width:100%;
3
+  margin-top: 50rpx;
4
+  justify-content: space-between;
5
+}
6
+.panelTitle .panelTitle1{
7
+  font-size:32rpx;
8
+  margin-left: 30rpx;
9
+  margin-bottom: 30rpx;
10
+}
11
+
12
+.panelItem{
13
+  width:100%;
14
+  justify-content: space-between;
15
+  font-size:28rpx;
16
+  height:100rpx;
17
+  background-color: #fff;
18
+}
19
+
20
+.panelItem .panelItem1{
21
+  margin-left: 30rpx;
22
+  font-weight: 400;
23
+}
24
+.panelItem .panelItem2{
25
+  margin-right: 30rpx;
26
+  color:#787878;
27
+  font-weight: 400;
28
+}
29
+
30
+.Arrow{
31
+  width:16rpx;
32
+  height:26rpx;
33
+  margin-left: 30rpx;
34
+}

+ 5 - 1
pages/other/userbook.js

@@ -76,6 +76,10 @@ Page({
76 76
 
77 77
     that.init();
78 78
 
79
+    wx.setNavigationBarColor({
80
+      frontColor: "#ffffff",
81
+      backgroundColor: "#FF9F33",
82
+    });
79 83
   },
80 84
   init: function () {
81 85
     var that = this;
@@ -148,7 +152,7 @@ Page({
148 152
     return {
149 153
       title: "《秒过学习法》用户手册",
150 154
       path: app.globalData.SharePath + '?type=userbook&UserID=' + app.globalData.userInfo.UserID,
151
-      imageUrl: "../images/program_screenshot_usermanual.png",
155
+      imageUrl: app.globalData.uploadImageUrl +"web/program_screenshot_usermanual.png",
152 156
     }
153 157
   },
154 158
 })

+ 87 - 43
pages/other/userbook.wxml

@@ -1,10 +1,10 @@
1 1
 <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2 2
   <block wx:if="{{PanelShow===-1}}">
3
-      <text class="text1">老用户\n请先关注公众号</text>
4
-      <text class="text2">手动关注公众号《秒过学习法》</text>
5
-      <view class="btn" bindtap='copyManager' data-copytype="公众号">复制公众号</view>
3
+    <text class="text1">老用户\n请先关注公众号</text>
4
+    <text class="text2">手动关注公众号《秒过学习法》</text>
5
+    <view class="btn" bindtap='copyManager' data-copytype="公众号">复制公众号</view>
6 6
   </block>
7
-  
7
+
8 8
   <block wx:if="{{PanelShow===0}}">
9 9
     <view class='text1'>尚未报名</view>
10 10
     <text class='text2'>首先打开公众号《秒过学习法》完成报名\n然后刷新状态</text>
@@ -17,38 +17,92 @@
17 17
         <image class='avatar' src="{{AvatarUrl}}" />
18 18
         <view class="nickname">{{NickName}}</view>
19 19
       </view>
20
-      <view></view>
21
-    </view>
22
-    <view class="panel10 panel1 FlexRow" wx:if="{{IsMember==1 && (ClassDayNumber>=16 || IsPay==1)}}">
23
-      <view class="left">有效期</view>
24
-      <view class="right FlexColumn">
25
-        <view class="panel11">{{ProductServiceTime}}</view>
20
+      <view class="right FlexRow" bindtap="goto" data-url="../main/systemsetting">
21
+        <image class='universalpic_setup_white_50x50' src="../images/universalpic_setup_white_50x50.png" />
22
+        <view>设置</view>
26 23
       </view>
27 24
     </view>
28
-    <view class="panel1 FlexRow" wx:if="{{IsMember==1 && (!(ClassDayNumber>=16 || IsPay==1) || (ClassDayNumber<0  && IsPay==0))}}">
25
+    <view class="panel10 panel1 FlexRow" wx:if="{{IsMember==1 && (ClassDayNumber>=0 || IsPay==1)}}">
29 26
       <view class="left">有效期</view>
30 27
       <view class="right FlexColumn">
31 28
         <view class="panel11">{{ProductServiceTime}}</view>
32
-        <view class="panel12">新手包16天体验</view>
33 29
       </view>
34 30
     </view>
35
-    <view class="panel2 FlexRow" wx:if="{{IsShow==1 && IsPay==1}}">
36
-      <view class="panel21 FlexColumn" bindtap="goto" data-url="../other/pay?PayType=5&EndDate={{ClassTimeEnd}}">
37
-        <image class="usermanual_index_wallet" src='../images/usermanual_index_wallet.png' />
31
+    <view class="panel2 FlexRow" wx:if="{{IsShow==1 && ClassDayNumber>=0 && ((ClassDayNumber<16 && IsPay==0) || IsPay==1)}}">
32
+      <view class="panel21 FlexColumn" bindtap="goto" data-url="../other/pay?PayType=5&EndDate={{ClassTimeEnd}}" wx:if="{{ClassDayNumber>=16 && (IsPay==0 || IsLoseEfficacy==1) }}">
33
+        <image class="usermanual_index_handshake" src='../images/usermanual_index_wallet.png' />
38 34
         <view>去续费</view>
39 35
       </view>
40
-      <view class="line2"></view>
41
-      <view class="panel21 FlexColumn" bindtap="goto" data-url="../other/coupon">
42
-        <image class="usermanual_index_wallet" src='../images/usermanual_index_coupon.png' />
36
+
37
+      <view class="panel21 FlexColumn" bindtap="goto" data-url="../other/coupon" wx:if="{{IsPay==1 && !IsLoseEfficacy}}">
38
+        <image class="usermanual_index_handshake" src='../images/usermanual_index_coupon.png' />
43 39
         <view>优惠券</view>
44 40
       </view>
41
+
42
+
43
+      <view class="panel21 FlexColumn" bindtap="goto" data-url="../../marketing/main/index" wx:if="{{IsPay==1 && !IsLoseEfficacy}}">
44
+        <image class="usermanual_index_handshake" src='../images/usermanual_index_handshake.png' />
45
+        <view>推广计划</view>
46
+      </view>
47
+
48
+      <view class="panel21 FlexColumn" bindtap="goto" data-url="../other/homework?EndTime={{ClassTimeEnd}}">
49
+        <image class="usermanual_index_handshake" src='../images/usermanual_index_writing.png' />
50
+        <view>作业清单</view>
51
+      </view>    
52
+
53
+      <view class="panel21 FlexColumn" bindtap="goto" data-url="./binding">
54
+        <image class="usermanual_index_handshake" src='../images/usermanual_index_link.png' />
55
+        <view>帐号绑定</view>
56
+      </view>
45 57
     </view>
46 58
     <view class='lineFooter'></view>
47
-    <view class="panelTitle FlexRow" wx:if="{{IsShow==1 && PanelShow===2 && ClassDayNumber>=0 && (ClassDayNumber<16 || IsPay==0)}}">
59
+    <view class="panel3 FlexRow" wx:if="{{IsShow==1 && ClassDayNumber>=0 && ((ClassDayNumber<16 && IsPay==0) || !IsLoseEfficacy)}}">
60
+      <view class="panel31 FlexColumn" bindtap="goto" data-url="../other/webview?PageID=0" wx:if="{{ClassDayNumber<16}}">
61
+        <view>新手包指南</view>
62
+      </view>
63
+      <view class="panel31 FlexColumn" bindtap="goto" data-url="../other/webview?PageID=8" wx:if="{{ClassDayNumber>=16}}">
64
+        <view>小组须知</view>
65
+      </view>
66
+      <view class="panel31 FlexColumn" bindtap="goto" data-url="../other/lessonlist">
67
+        <view>课程</view>
68
+      </view>
69
+      <view class="panel31 FlexColumn" bindtap="goto" data-url="./tips">
70
+        <view>小贴士</view>
71
+      </view>
72
+    </view>
73
+
74
+    <block wx:if="{{IsShow==1 && PanelShow===2 && ClassDayNumber>=16 && (IsPay==0 || IsLoseEfficacy==1) }}">
75
+      <view class='line'></view>
76
+      <view class="panelItem2 panelItem FlexColumn">
77
+        <text class="text11">使用期限已过期!续费后可立即恢复使用。</text>
78
+      </view>
79
+      <view class='lineFooter'></view>
80
+    </block>
81
+
82
+    <view class="panelItem3 panelItem FlexColumn" wx:if="{{PanelShow===2 && ClassDayNumber<0}}">
83
+      <view class="text41 text4">
84
+        您的开班时间:{{ClassTimeStart}}-{{ClassTimeEnd}}。
85
+      </view>
86
+      <view class="text4">
87
+        用户手册用于发布课程、优惠活动等最新消息。目前,尚未正式启用。更多消息,开班后请再过来看看。
88
+      </view>
89
+      <view class="text42 text4">
90
+        开班当日,会通过公众号向您发送资料和通知,请勿取消关注。
91
+      </view>
92
+    </view>
93
+
94
+    <view class="panelTitle FlexRow" wx:if="{{IsShow==1 && PanelShow===2 && ClassDayNumber>=0 && !IsLoseEfficacy}}">
48 95
       <view class="panelTitle1">会员活动</view>
49 96
       <view class="panelTitle2"></view>
50 97
     </view>
51 98
 
99
+    <block wx:if="{{IsShow==1 && PanelShow===2 && ClassDayNumber>0 && IsPay==1 && !IsLoseEfficacy}}">
100
+      <view class="panelItem FlexColumn">
101
+        <image class="salesactivity_a05_usermanual_banner" src='../images/salesactivity_a05_usermanual_banner.png' bindtap="goto" data-url="../../marketing/main/index" />
102
+        <view class="marketingDetail" bindtap="goto" data-url="../../pages/other/webview?PageID=7"></view>
103
+      </view>
104
+    </block>
105
+
52 106
     <block wx:if="{{IsShow==1 && PanelShow===2 && ClassDayNumber>=16 && IsPay==0}}">
53 107
       <view class="panelItem FlexColumn">
54 108
         <image class="salesactivity_a04_usermanual_banner_header" src='{{ImagePath}}web/salesactivity_a04_usermanual_banner_header.png' />
@@ -90,32 +144,22 @@
90 144
       </view>
91 145
     </block>
92 146
 
147
+    <view class="panelItem FlexColumn" wx:if="{{PanelShow===1}}">
148
+      <text class="text3">开班事宜需要通过微信与您沟通。请添加班务员微信,否则无法继续为您服务。班务员服务时间:上午10点都晚上8点。\n\n班务员微信号:changyibzr</text>
149
+      <view class="btn" bindtap='copyManager'>复制微信号</view>
150
+      <text class="text3">添加后请等待确认。这需要一点时间。之后通过微信和您联系。</text>
151
+      <view class="btn4 btn" bindtap='gotoIndex'>刷新状态</view>
152
+    </view>
153
+
93 154
     <view class="panelTitle FlexRow">
94 155
       <view class="panelTitle1">最新消息</view>
95 156
       <view class="panelTitle2"></view>
96 157
     </view>
97 158
 
98
-    <view class="panelItem2 panelItem FlexColumn" wx:if="{{IsShow==1 && PanelShow===2 && ClassDayNumber>=16 && (IsPay==0 || IsLoseEfficacy==1) }}">
99
-      <text class="text11">您的有效期已过期。请尽快续费。续费后可立即恢复使用。</text>
100
-    </view>
101
-
102
-    <view class="panelItem FlexColumn" wx:if="{{PanelShow===1}}">
103
-      <text class="text3">感谢您的报名。您还没有加入在线辅导班群。请尽快联系秒过班务员为您安排开班事宜。\n\n联系方法,请添加班务员微信号:changyibzr</text>
104
-      <view class="btn" bindtap='copyManager'>复制微信号</view>
105
-      <text class="text3">如已添加,请稍等片刻,班务员正在为您办理相关手续,这需要一点时间。办完后将通过微信和您联系。</text>
106
-      <view class="btn" bindtap='gotoIndex'>刷新状态</view>
107
-    </view>
108
-
109
-    <view class="panelItem FlexColumn" wx:if="{{PanelShow===2 && ClassDayNumber<0}}">
110
-      <view class="text4">
111
-      您的开班时间:{{ClassTimeStart}}-{{ClassTimeEnd}}。
112
-      </view>
113
-      <view class="text4">
114
-      用户手册用于发布课程、优惠活动等最新消息。目前,尚未正式启用。更多消息,开班后请再过来看看。
115
-      </view>
116
-      <view class="text4">
117
-      开班当日,会通过公众号向您发送资料和通知,请勿取消关注。
118
-      </view>
159
+    <view class="panelItem FlexColumn" wx:if="{{PanelShow===2 && (ClassDayNumber>=16 && IsPay==1 && !IsLoseEfficacy) }}" bindtap="goto" data-url="../other/webview?PageID=8">
160
+      <image class="news_mustread" src='{{ImagePath}}web/news_lesson_b02.png' />
161
+      <view class="text7">新闻</view>
162
+      <view class="text8">秒过学习小组须知</view>
119 163
     </view>
120 164
 
121 165
     <view class="panelItem FlexColumn" wx:if="{{PanelShow===2 && (ClassDayNumber>=15 || IsPay==1) }}" bindtap="goto" data-url="../other/lesson?LessonID=5">
@@ -124,20 +168,20 @@
124 168
       <view class="text8">养孩子是一场Team Working,有你、有我、有秒过</view>
125 169
     </view>
126 170
 
127
-    <view class="panelItem FlexColumn" wx:for="{{ArrInformation}}" wx:key="index" wx:if="{{PanelShow===2  && ((ClassDayNumber>=item.PageID && ClassDayNumber<16) || IsPay==1) }}" bindtap="goto" data-url="../other/webview?PageID={{item.PageID}}">
171
+    <view class="panelItem FlexColumn" wx:for="{{ArrInformation}}" wx:key="index" wx:if="{{PanelShow===2  && ((ClassDayNumber>=item.PageID && ClassDayNumber<16) || (IsPay==1 && !IsLoseEfficacy)) }}" bindtap="goto" data-url="../other/webview?PageID={{item.PageID}}">
128 172
       <image class="news_lesson_a01" src='{{ImagePath}}web/news_kwk_0{{item.PageID}}.png' />
129 173
       <view class="text7">{{item.text1}}</view>
130 174
       <view class="text8">{{item.text2}}</view>
131 175
       <view class="text10">{{item.text3}}</view>
132 176
     </view>
133 177
 
134
-    <view class="panelItem FlexColumn" wx:if="{{PanelShow===2 && ((ClassDayNumber>=0 && ClassDayNumber<16) || IsPay==1) }}" bindtap="goto" data-url="../other/lessonlist">
178
+    <view class="panelItem FlexColumn" wx:if="{{PanelShow===2 && ((ClassDayNumber>=0 && ClassDayNumber<16) || (IsPay==1 && !IsLoseEfficacy)) }}" bindtap="goto" data-url="../other/lessonlist">
135 179
       <image class="news_lesson_a01" src='{{ImagePath}}web/news_lesson_a01.png' />
136 180
       <view class="text7">课程</view>
137 181
       <view class="text8">4节课程告诉您,家长做什么可以迅速提高孩子的成绩</view>
138 182
     </view>
139 183
 
140
-    <view class="panelItem FlexColumn" wx:if="{{PanelShow===2 && ((ClassDayNumber>=0 && ClassDayNumber<16) || IsPay==1) }}" bindtap="goto" data-url="../other/webview?PageID=0">
184
+    <view class="panelItem FlexColumn" wx:if="{{ ((PanelShow===1 || PanelShow===2) && !IsLoseEfficacy) || (IsPay==1 && !IsLoseEfficacy) }}" bindtap="goto" data-url="../other/webview?PageID=0">
141 185
       <image class="news_mustread" src='{{ImagePath}}web/news_mustread.png' />
142 186
       <view class="text7">新闻</view>
143 187
       <view class="text8">新手包使用指南</view>

+ 67 - 12
pages/other/userbook.wxss

@@ -55,9 +55,14 @@
55 55
 .right {
56 56
   margin-right: 30rpx;
57 57
   margin-top: 30rpx;
58
-  align-items: flex-end;
58
+  font-size: 28rpx;
59
+  color:#fff;
60
+}
61
+.universalpic_setup_white_50x50{
62
+  width:30rpx;
63
+  height:30rpx;
64
+  margin-right: 10rpx;
59 65
 }
60
-
61 66
 .panel11 {
62 67
   color: #787878;
63 68
 }
@@ -73,15 +78,10 @@
73 78
   justify-content: space-between;
74 79
   border-top:1rpx solid #e3e3e3;
75 80
 }
76
-.usermanual_index_wallet {
77
-  width: 50rpx;
78
-  height: 50rpx;
79
-}
80
-
81 81
 .panel21{
82
-  width:374rpx;
82
+  flex:1;
83 83
   height:171rpx;
84
-  font-size:28rpx;
84
+  font-size:24rpx;
85 85
   font-weight: 400;
86 86
 }
87 87
 .line2{
@@ -89,6 +89,26 @@
89 89
   height:171rpx;
90 90
   background-color: #e3e3e3;
91 91
 }
92
+
93
+
94
+.panel3{
95
+  width:100%;
96
+  border-top: 50rpx solid #f0f0f0;
97
+  background-color: #f0f0f0;
98
+}
99
+.panel31{
100
+  width:220rpx;
101
+  height:93rpx;
102
+  font-size: 24rpx;
103
+  border-radius: 10rpx;
104
+  text-align: center;
105
+  line-height: 93rpx;
106
+  color: #1E1E1E;
107
+  background-color: #fff;
108
+  border: 2rpx solid #9b9b9b;
109
+  margin: 0 8rpx;
110
+}
111
+
92 112
 .panelTitle {
93 113
   width: 100%;
94 114
   justify-content: space-between;
@@ -108,16 +128,18 @@
108 128
   position: relative;
109 129
 }
110 130
 
131
+.panelItem3{
132
+  border-top:20rpx solid #f0f0f0;
133
+}
134
+
111 135
 .line {
112 136
   width: 100%;
113 137
   height: 20rpx;
114 138
   background-color: #f0f0f0;
115 139
 }
116 140
 
117
-
118 141
 .panelItem2 {
119 142
   width: 100%;
120
-  background-color: #B3443B;
121 143
   height:93rpx;
122 144
   justify-content: center;
123 145
 }
@@ -128,8 +150,9 @@
128 150
   font-size:24rpx;
129 151
 }
130 152
 .text11 {
131
-  color:#fff;
153
+  color: #B3443B;
132 154
   font-size:24rpx;
155
+  font-weight: 500;
133 156
 }
134 157
 
135 158
 .btn {
@@ -145,11 +168,23 @@
145 168
   margin: 40rpx 0 10rpx 0;
146 169
 }
147 170
 
171
+.btn4 {
172
+  border: 2rpx solid #fff;
173
+  margin: 60rpx 0 40rpx 0;
174
+}
175
+
148 176
 .text4 {
149 177
   width: 690rpx;
150 178
   margin-top: 20rpx;
151 179
 }
152 180
 
181
+.text41 {
182
+  margin-top: 40rpx;
183
+}
184
+.text42 {
185
+  margin-bottom: 40rpx;
186
+}
187
+
153 188
 .salesactivity_a01_usermanual_banner_header {
154 189
   width: 100%;
155 190
   height: 403rpx;
@@ -241,3 +276,23 @@
241 276
   width: 100%;
242 277
   height: 523rpx;
243 278
 }
279
+
280
+.usermanual_index_handshake{
281
+  width: 40rpx;
282
+  height: 40rpx;
283
+  margin-bottom: 10rpx;
284
+}
285
+
286
+.salesactivity_a05_usermanual_banner{
287
+  width:100%;
288
+  height:280rpx;
289
+  border-bottom: 20rpx solid #f0f0f0;
290
+}
291
+
292
+.marketingDetail{
293
+  position: absolute;
294
+  top:60rpx;
295
+  right:70rpx;
296
+  width:200rpx;
297
+  height:70rpx;
298
+}

+ 5 - 1
pages/other/webview.js

@@ -21,9 +21,13 @@ Page({
21 21
     var path = "/pages/index/index?type=webview&PageID="+this.data.PageID;
22 22
     var title ="《秒过学习法》课外课";
23 23
     if (this.data.PageID==="0"){
24
-      imageUrl = "../images/program_screenshot_mustread.png";
24
+      imageUrl = app.globalData.uploadImageUrl +"web/program_screenshot_mustread.png";
25 25
       title="《秒过学习法》家长必读";
26 26
     }
27
+    else if (this.data.PageID === "8"){
28
+      imageUrl = app.globalData.uploadImageUrl + "web/program_screenshot_grouprule.png";
29
+      title = "秒过家长社群小组须知";
30
+    }
27 31
     return {
28 32
       title: title,
29 33
       path: path,

+ 1 - 0
pages/plan/clicktype.js

@@ -5,6 +5,7 @@ const app = getApp();
5 5
 
6 6
 Page({
7 7
   data: {
8
+    ImagePath: app.globalData.uploadImageUrl,
8 9
     List: [
9 10
       {
10 11
         Name: "使用专属按钮",

+ 2 - 2
pages/plan/clicktype.wxml

@@ -6,7 +6,7 @@
6 6
     </view>
7 7
     <view class="panelItem2">初始时,“学习中”的题卡仅显示段落1(通常是题目),您可以选择用何种操作方式显示段落2、段落3(通常是答案和备忘)和“记忆评价”。</view>
8 8
 
9
-    <image class="help_picture_clickshow_01" src='../images/help_picture_clickshow_01.png' />
9
+    <image class="help_picture_clickshow_01" src='{{ImagePath}}web/help_picture_clickshow_01.png' />
10 10
 
11 11
   </view>
12 12
   <view class='lineFooter'></view>
@@ -25,7 +25,7 @@
25 25
         </view>
26 26
         <view class='panelSelected1 FlexColumn'>
27 27
           <view class='text1'>{{item.Name}}</view>
28
-          <image wx:if="{{item.Image}}" src='../images/{{item.Image}}.png' class="{{item.Image}}" />
28
+          <image wx:if="{{item.Image}}" src='{{ImagePath}}web/{{item.Image}}.png' class="{{item.Image}}" />
29 29
           <view style="height:10rpx;" wx:if="{{!item.Image}}"></view>
30 30
         </view>
31 31
       </view>

+ 1 - 0
pages/plan/clicktype.wxss

@@ -2,6 +2,7 @@
2 2
   width: 100%;
3 3
   margin-top: 50rpx;
4 4
   justify-content: flex-start;
5
+  background-color: #fff;
5 6
 }
6 7
 
7 8
 .panelTitle0 {

+ 1 - 0
pages/plan/colorplan.js

@@ -5,6 +5,7 @@ const app = getApp();
5 5
 
6 6
 Page({
7 7
   data: {
8
+    ImagePath: app.globalData.uploadImageUrl,
8 9
   },
9 10
   onLoad: function (options) {
10 11
     var that = this;

+ 1 - 1
pages/plan/colorplan.wxml

@@ -6,7 +6,7 @@
6 6
     </view>
7 7
     <view class="panelItem2">选择题卡的主题色。该功能的原理是利用“多变的环境对记忆的增效作用”,采用颜色元素,打破人体通过视觉对信息布局的识别形成记忆关系后产生的环境依赖。所以,推荐多选或全选颜色,比如根据您对颜色的喜好去除不喜欢的颜色,保留相对有吸引力的颜色就好。在选中多种颜色的情况下,系统将在每次学习时随机选择一款颜色。</view>
8 8
 
9
-    <image class="help_picture_themecolor" src='../images/help_picture_themecolor.png' />
9
+    <image class="help_picture_themecolor" src='{{ImagePath}}web/help_picture_themecolor.png' />
10 10
 
11 11
   </view>
12 12
   <view class='lineFooter'></view>

+ 1 - 0
pages/plan/memoryLevel.js

@@ -5,6 +5,7 @@ const app = getApp();
5 5
 
6 6
 Page({
7 7
   data: {
8
+    ImagePath: app.globalData.uploadImageUrl,
8 9
   },
9 10
   onLoad: function () {
10 11
     var that = this;

+ 1 - 1
pages/plan/memoryLevel.wxml

@@ -6,7 +6,7 @@
6 6
     </view>
7 7
     <view class="panelItem2">“记忆评价”是位于“学习中”界面底部的一行4色按钮。从左向最右分别是:红色、黄色、绿色和蓝色,它们的作用如下图:</view>
8 8
 
9
-    <image class="help_picture_fourcolor" src='../images/help_picture_fourcolor.png' />
9
+    <image class="help_picture_fourcolor" src='{{ImagePath}}web/help_picture_fourcolor.png' />
10 10
     <text class="panelItem1">请您根据孩子答题时的表现,从AI给出的选项中选择对应的“记忆评价”。\n
11 11
 为了方便辨识,您可根据自己的喜好选择一款更舒服的命名方式。名称虽有不同,但其背后的功能是一致的。</text>
12 12
   </view>

+ 1 - 0
pages/plan/recommend.js

@@ -6,6 +6,7 @@ const DefaultSecondArray=[5,40,60];
6 6
 
7 7
 Page({
8 8
   data: {
9
+    ImagePath: app.globalData.uploadImageUrl,
9 10
     IsChangeRecommend: true,
10 11
     SecondConfig: [{
11 12
       Key: "蓝色",

+ 1 - 1
pages/plan/recommend.wxml

@@ -7,7 +7,7 @@
7 7
     <text class="panelItem2">在孩子没有错答的情况下,面对“记忆评价”的黄、绿、蓝色选项时,如果您不知道该选哪个,该功能可为您提供计时参考。计时的用意,是把“回答问题的速度”的快慢用做衡量熟练程度的额外指标,在排除环境因素造成的影响后,为您提供一种简单易行的参考。\n
8 8
 请在已了解“记忆评价”的基础上启用,在尚未入门的情况下可能会干扰到您对整体功能的理解。\n
9 9
 在“学习中”它将以如下形式出现:</text>
10
-    <image class="help_picture_chooseadvice" src='../images/help_picture_chooseadvice.png' />
10
+    <image class="help_picture_chooseadvice" src='{{ImagePath}}web/help_picture_chooseadvice.png' />
11 11
 
12 12
   </view>
13 13
   <view class='lineFooter'></view>

+ 1 - 1
pages/plan/setting.js

@@ -5,7 +5,7 @@ const app = getApp();
5 5
 const arrSortType = ["自由安排", "到期时间较早的题卡", "到期时间较近的题卡"];
6 6
 const arrClickType = ["专属按钮", "点击空白", "两种方式"];
7 7
 var arrUserName = ["程晟涵", "临时"];
8
-var arrUserID = [2, 568];
8
+var arrUserID = app.globalData.SelectUserData;
9 9
 
10 10
 Page({
11 11
   data: {

+ 16 - 2
project.config.json

@@ -49,7 +49,7 @@
49 49
 			"list": []
50 50
 		},
51 51
 		"miniprogram": {
52
-			"current": 6,
52
+			"current": 8,
53 53
 			"list": [
54 54
 				{
55 55
 					"id": 0,
@@ -97,7 +97,21 @@
97 97
 					"id": 6,
98 98
 					"name": "pages/index/index",
99 99
 					"pathName": "pages/index/index",
100
-					"query": "type=marketing&UserID=1",
100
+					"query": "type=help&ID=1&IDChild=2&UserID=1",
101
+					"scene": null
102
+				},
103
+				{
104
+					"id": 7,
105
+					"name": "pages/main/symbolsetting",
106
+					"pathName": "pages/main/symbolsetting",
107
+					"query": "",
108
+					"scene": null
109
+				},
110
+				{
111
+					"id": -1,
112
+					"name": "pages/index/test",
113
+					"pathName": "pages/index/test",
114
+					"query": "",
101 115
 					"scene": null
102 116
 				}
103 117
 			]

+ 21 - 16
utils/util.js

@@ -1,22 +1,27 @@
1 1
 var Crypto = require('cryptojs.js').Crypto;
2 2
 var app = getApp();
3 3
 
4
-function formatTime(date,format,isShort) {
5
-  var year = date.getFullYear()
6
-  var month = date.getMonth() + 1
7
-  var day = date.getDate()
4
+function formatTime(date, format, isShort) {
5
+  if (date) {
6
+    date = new Date(ReplaceAllString(date.toString(),"-","/"));
7
+    var year = date.getFullYear()
8
+    var month = date.getMonth() + 1
9
+    var day = date.getDate()
8 10
 
9
-  var hour = date.getHours()
10
-  var minute = date.getMinutes()
11
-  var second = date.getSeconds()
11
+    var hour = date.getHours()
12
+    var minute = date.getMinutes()
13
+    var second = date.getSeconds()
12 14
 
13
-  if (!format)
14
-    format="-";
15
+    if (!format)
16
+      format = "/";
15 17
 
16
-  if (isShort)
17
-    return [year, month, day].map(formatNumber).join(format);
18
+    if (isShort)
19
+      return [year, month, day].map(formatNumber).join(format);
20
+    else
21
+      return [year, month, day].map(formatNumber).join(format) + ' ' + [hour, minute, second].map(formatNumber).join(':');
22
+  }
18 23
   else
19
-    return [year, month, day].map(formatNumber).join(format) + ' ' + [hour, minute, second].map(formatNumber).join(':')
24
+    return "";
20 25
 }
21 26
 
22 27
 function checkIsArray(obj) {
@@ -30,7 +35,7 @@ function formatDateCHS(date) {
30 35
     var month = date.substr(5, 2);
31 36
     var day = date.substr(8, 2);
32 37
 
33
-    if (year<="1900")
38
+    if (year <= "1900")
34 39
       return "";
35 40
     else
36 41
       return year + "年" + month + "月" + day + "日";
@@ -43,7 +48,7 @@ function formatDateENG(date, format) {
43 48
   if (date) {
44 49
     date = date.toString();
45 50
     if (!format)
46
-      format = "-";
51
+      format = "/";
47 52
     date = date.replace("年", format);
48 53
     date = date.replace("月", format);
49 54
     date = date.replace("日", "");
@@ -122,8 +127,8 @@ function RandomArray(arr) {
122 127
     maxCount++;
123 128
   }
124 129
   while (arrResult.length < arr.length && maxCount < 1000);
125
-  for(var i=0;i<arr.length;i++)
126
-    arr[i]=arrResult[i];
130
+  for (var i = 0; i < arr.length; i++)
131
+    arr[i] = arrResult[i];
127 132
   return arrResult;
128 133
 }
129 134