chengjie 4 vuotta sitten
vanhempi
commit
8c7c6d9af6
100 muutettua tiedostoa jossa 2845 lisäystä ja 484 poistoa
  1. 24 6
      app.json
  2. 47 0
      app.wxss
  3. BIN
      pages/images/CombinedShape1.png
  4. BIN
      pages/images/directory_main_pic_9.png
  5. BIN
      pages/images/icon_back2top_1.png
  6. BIN
      pages/images/icon_chart_4.png
  7. BIN
      pages/images/icon_check_3.png
  8. BIN
      pages/images/icon_flag_1.png
  9. BIN
      pages/images/icon_light_1.png
  10. BIN
      pages/images/icon_nextpage_2.png
  11. BIN
      pages/images/icon_nextpage_5.png
  12. BIN
      pages/images/icon_nextpage_6.png
  13. BIN
      pages/images/icon_nextpage_7.png
  14. BIN
      pages/images/icon_player_1.png
  15. BIN
      pages/images/icon_player_2.png
  16. BIN
      pages/images/icon_punctuation_1.png
  17. BIN
      pages/images/icon_punctuation_2.png
  18. BIN
      pages/images/icon_relay_1.png
  19. BIN
      pages/images/icon_reload_1.png
  20. BIN
      pages/images/icon_report_1.png
  21. BIN
      pages/images/icon_report_2.png
  22. BIN
      pages/images/icon_transfer_1.png
  23. 0 0
      pages/images/promotion_face_circle.png
  24. BIN
      pages/images/qmjl_main_pic_1.png
  25. BIN
      pages/images/qmjl_main_pic_2.png
  26. BIN
      pages/images/qmjl_main_pic_3.png
  27. BIN
      pages/images/qmjl_main_pic_4.png
  28. BIN
      pages/images/qmjl_trophy_01.png
  29. 5 5
      pages/index/index.js
  30. 1 1
      pages/index/test.wxss
  31. 6 6
      pages/main/cardmain.js
  32. 12 5
      pages/main/cardmain.wxml
  33. 243 186
      pages/main/cardmain.wxss
  34. 1 1
      pages/main/default.wxml
  35. 12 148
      pages/main/detail.js
  36. 55 13
      pages/main/detail.wxml
  37. 120 21
      pages/main/detail.wxss
  38. 1 2
      pages/main/preview.js
  39. 1 1
      pages/main/preview.wxss
  40. 1 1
      pages/plan/clicktype.wxss
  41. 1 1
      pages/plan/colorplan.wxss
  42. 1 32
      pages/plan/setting.js
  43. 1 1
      pages/plan/sortRule.wxss
  44. 2 45
      pages/plan/studyplan.js
  45. 1 1
      pages/plan/studyplandetail.wxml
  46. 23 0
      pages/share/cardlist.js
  47. 5 0
      pages/share/cardlist.json
  48. 72 0
      pages/share/cardlist.wxml
  49. 203 0
      pages/share/cardlist.wxss
  50. 54 0
      pages/share/milestone.js
  51. 7 0
      pages/share/milestone.json
  52. 50 0
      pages/share/milestone.wxml
  53. 152 0
      pages/share/milestone.wxss
  54. 119 0
      pages/share/shareindex.js
  55. 6 0
      pages/share/shareindex.json
  56. 119 0
      pages/share/shareindex.wxml
  57. 382 0
      pages/share/shareindex.wxss
  58. 456 0
      pages/share/shareitem.js
  59. 6 0
      pages/share/shareitem.json
  60. 109 0
      pages/share/shareitem.wxml
  61. 320 0
      pages/share/shareitem.wxss
  62. 54 0
      pages/share/sharewall.js
  63. 6 0
      pages/share/sharewall.json
  64. 28 0
      pages/share/sharewall.wxml
  65. 134 0
      pages/share/sharewall.wxss
  66. 0 2
      pages/template/Fan.js
  67. 0 1
      pages/template/Fan.json
  68. 4 4
      pages/template/cardShow.wxml
  69. 1 1
      pages_agent/marketing/shareuser.js
  70. 0 0
      pages_test/images/examine_clipboard_200x200.png
  71. 0 0
      pages_test/images/examine_clipboard_80x80.png
  72. 0 0
      pages_test/images/examine_subject_a001.png
  73. 0 0
      pages_test/images/examine_subject_a002.png
  74. 0 0
      pages_test/images/examine_subject_a003.png
  75. 0 0
      pages_test/images/examine_subject_a004.png
  76. 0 0
      pages_test/images/examine_subject_a005.png
  77. 0 0
      pages_test/images/examine_subject_a006.png
  78. 0 0
      pages_test/images/examine_subject_a007.png
  79. 0 0
      pages_test/images/examine_subject_a008.png
  80. 0 0
      pages_test/images/examine_subject_a009.png
  81. 0 0
      pages_test/images/examine_subject_a010.png
  82. 0 0
      pages_test/images/examine_subject_a011.png
  83. 0 0
      pages_test/images/examine_subject_a012.png
  84. 0 0
      pages_test/images/examine_subject_a013.png
  85. 0 0
      pages_test/images/examine_subject_a014.png
  86. 0 0
      pages_test/images/examine_subject_a015.png
  87. 0 0
      pages_test/images/examine_subject_a016.png
  88. 0 0
      pages_test/images/examine_subject_a017.png
  89. 0 0
      pages_test/images/examine_subject_a018.png
  90. 0 0
      pages_test/images/examine_subject_b001.png
  91. 0 0
      pages_test/images/examine_subject_b002.png
  92. 0 0
      pages_test/images/examine_subject_b003.png
  93. 0 0
      pages_test/images/examine_subject_b004.png
  94. 0 0
      pages_test/images/examine_subject_b005.png
  95. 0 0
      pages_test/images/examine_subject_c001.png
  96. 0 0
      pages_test/images/examine_subject_c002.png
  97. 0 0
      pages_test/images/examine_subject_c003.png
  98. 0 0
      pages_test/images/examine_subject_c004.png
  99. 0 0
      pages_test/images/examine_subjecticon_01.png
  100. 0 0
      pages/images/examine_willread_gray_22x22.png

+ 24 - 6
app.json

@@ -1,6 +1,14 @@
1 1
 {
2 2
   "pages": [
3
+
3 4
     "pages/index/index",
5
+
6
+    "pages/share/cardlist",
7
+    
8
+    "pages/share/shareitem",
9
+    "pages/share/shareindex",
10
+    "pages/share/sharewall",
11
+    "pages/share/milestone",
4 12
     "pages/main/health",
5 13
     "pages/main/folderEdit",
6 14
     "pages/main/folderIcon",
@@ -17,12 +25,6 @@
17 25
     "pages/index/accredit",
18 26
     "pages/other/openSetting",
19 27
 
20
-    "pages/test/index",
21
-    "pages/test/list",
22
-    "pages/test/item",
23
-    "pages/test/wordlist",
24
-    "pages/test/report",
25
-
26 28
     "pages/main/default",
27 29
     "pages/main/cardInfo",
28 30
     "pages/main/cardInfoDetail",
@@ -91,6 +93,16 @@
91 93
         "marketing/award",
92 94
         "marketing/index"
93 95
       ]
96
+    },
97
+    {
98
+      "root": "pages_test",
99
+      "pages": [
100
+        "test/index",
101
+        "test/list",
102
+        "test/item",
103
+        "test/wordlist",
104
+        "test/report"
105
+      ]
94 106
     }
95 107
   ],
96 108
   "preloadRule": {
@@ -99,6 +111,12 @@
99 111
       "packages": [
100 112
         "pages_agent"
101 113
       ]
114
+    },
115
+    "pages_test/test/index": {
116
+      "network": "all",
117
+      "packages": [
118
+        "pages_test"
119
+      ]
102 120
     }
103 121
   },
104 122
   "requiredBackgroundModes": [

+ 47 - 0
app.wxss

@@ -108,6 +108,53 @@
108 108
   border-bottom-right-radius: 20rpx;
109 109
 }
110 110
 
111
+/* 帮助*************** */
112
+
113
+.panelHelpCommon{
114
+  background-image: linear-gradient(180deg, #CAEDFD 0%, #C1E8FC 14%, #B9E3FB 29%, #B2DDFB 43%, #ABD8FA 57%, #A5D2F9 71%, #A0CCF8 86%, #9CC6F7 100%);
115
+  border-radius: 20rpx;
116
+  width:710rpx;
117
+  height:130rpx;
118
+  justify-content: space-between;
119
+}
120
+
121
+.panelHelpCommon11{
122
+  width:70rpx;
123
+  background: #FFFFFF;
124
+  border-radius: 50%;
125
+  height:70rpx;
126
+  margin-left: 30rpx;
127
+}
128
+
129
+
130
+.panelHelpCommonIcon{
131
+  width:22rpx;
132
+  height:30rpx;
133
+}
134
+
135
+.panelHelpCommon12{
136
+  align-items: flex-start;
137
+  margin-left: 30rpx;
138
+}
139
+
140
+.panelHelpCommonText1{
141
+  opacity: 0.9;
142
+  font-size: 22rpx;
143
+  color: #12457C;
144
+}
145
+
146
+.panelHelpCommonText2{
147
+  opacity: 0.9;
148
+  font-size: 28rpx;
149
+  color: #12457C;
150
+}
151
+
152
+.panelHelpCommonNextPage{
153
+  width:16rpx;
154
+  height:26rpx;
155
+  margin-right: 30rpx;
156
+}
157
+/* ******** */
111 158
 
112 159
 @font-face {
113 160
     font-family: 'Roboto-Black';

BIN
pages/images/CombinedShape1.png


BIN
pages/images/directory_main_pic_9.png


BIN
pages/images/icon_back2top_1.png


BIN
pages/images/icon_chart_4.png


BIN
pages/images/icon_check_3.png


BIN
pages/images/icon_flag_1.png


BIN
pages/images/icon_light_1.png


BIN
pages/images/icon_nextpage_2.png


BIN
pages/images/icon_nextpage_5.png


BIN
pages/images/icon_nextpage_6.png


BIN
pages/images/icon_nextpage_7.png


BIN
pages/images/icon_player_1.png


BIN
pages/images/icon_player_2.png


BIN
pages/images/icon_punctuation_1.png


BIN
pages/images/icon_punctuation_2.png


BIN
pages/images/icon_relay_1.png


BIN
pages/images/icon_reload_1.png


BIN
pages/images/icon_report_1.png


BIN
pages/images/icon_report_2.png


BIN
pages/images/icon_transfer_1.png


pages_agent/images/promotion_face_circle.png → pages/images/promotion_face_circle.png


BIN
pages/images/qmjl_main_pic_1.png


BIN
pages/images/qmjl_main_pic_2.png


BIN
pages/images/qmjl_main_pic_3.png


BIN
pages/images/qmjl_main_pic_4.png


BIN
pages/images/qmjl_trophy_01.png


+ 5 - 5
pages/index/index.js

@@ -259,11 +259,11 @@ Page({
259 259
           wx.removeStorageSync("UserName");
260 260
 
261 261
           // //测试****************
262
-          // var url = '../other/newuser';
263
-          // wx.redirectTo({
264
-          //   url: url,
265
-          // });
266
-          // return;
262
+          var url = '../share/shareindex';
263
+          wx.redirectTo({
264
+            url: url,
265
+          });
266
+          return;
267 267
           // //测试****************
268 268
 
269 269
           if (that.data.gotoType == "share") {

+ 1 - 1
pages/index/test.wxss

@@ -25,6 +25,6 @@ view, text {
25 25
  .navbar-wrap .column.fixed {
26 26
   position: fixed;
27 27
 
28
-  border-bottom: solid 1px #1e1e1e;
28
+  border-bottom: solid 1rpx #1e1e1e;
29 29
  }
30 30
   

+ 6 - 6
pages/main/cardmain.js

@@ -7,7 +7,7 @@ Page({
7 7
   data: {
8 8
     ImagePath: app.globalData.uploadImageUrl,
9 9
     IsIPhoneX: app.globalData.IsIPhoneX,
10
-    IsYearReport:true,
10
+    IsYearReport:false,
11 11
     IsShowOrder:false,
12 12
     IsIPad:app.globalData.IsIPad,
13 13
   },
@@ -22,11 +22,11 @@ Page({
22 22
 
23 23
     var year=new Date(app.globalData.userInfo.CreateTime).getFullYear();
24 24
     //console.log(year);
25
-    if (new Date().getFullYear()>=2021 && year<2020){
26
-      that.setData({
27
-        IsYearReport: true,
28
-      });
29
-    }
25
+    // if (new Date().getFullYear()>=2021 && year<2020){
26
+    //   that.setData({
27
+    //     IsYearReport: true,
28
+    //   });
29
+    // }
30 30
    
31 31
   },
32 32
   onPullDownRefresh: function () {

+ 12 - 5
pages/main/cardmain.wxml

@@ -68,10 +68,17 @@
68 68
       <image class="zhishijianyan_70x75" src='../images/wangzhan_70x75.png' />
69 69
     </view>
70 70
   </view>
71
+  <!-- 年度报告 -->
71 72
   <block wx:if="{{IsYearReport}}">
72 73
     <image class="report_2021-banner" src='{{ImagePath}}web/report_2021-banner.png' bindtap="goto" data-url="../other/annualreport" />
73 74
   </block>
74
-
75
+  <view class="panelShare FlexRow">
76
+    <view class="panelShare1 FlexColumn">
77
+      <view class="text1">勤勉接力</view>
78
+      <view class="text2">激励自己见证成长</view>
79
+    </view>
80
+    <image class="directory_main_pic_9" src='../images/directory_main_pic_9.png' bindtap="goto" data-url="../../pages/share/shareindex" />
81
+  </view>
75 82
   <view class="panelItem6 FlexRow" wx:if="{{FolderArr}}">
76 83
     <view class="panelItem61 FlexColumn">
77 84
       <view>题卡卡单</view>
@@ -115,19 +122,19 @@
115 122
 
116 123
   <view class='panelBottom FlexColumn' catchtap="">
117 124
     <view class='panelBottom1 FlexRow'>
118
-      <view class='panelBottom11 FlexColumn' catchtap="gotoReLaunch" data-url="../test/index">
125
+      <view class='panelBottom11 FlexColumn' catchtap="gotoReLaunch" data-url="../../pages_test/test/index">
119 126
         <view>检验</view>
120 127
       </view>
121
-      <view class='panelBottom11 FlexColumn' catchtap="gotoReLaunch" data-url="../main/default">
128
+      <view class='panelBottom11 FlexColumn' catchtap="gotoReLaunch" data-url="../../pages/main/default">
122 129
         <view>练习</view>
123 130
       </view>
124
-      <view class='panelBottom11 FlexColumn' catchtap="goto" data-url="../main/add?type=add&id=0">
131
+      <view class='panelBottom11 FlexColumn' catchtap="goto" data-url="../../pages/main/add?type=add&id=0">
125 132
         <image class="tabbar_add_red_70x70" src='../images/tabbar_add_red_70x70.png' />
126 133
       </view>
127 134
       <view class='panelBottom11 FlexColumn'>
128 135
         <view class='text5'>题卡</view>
129 136
       </view>
130
-      <view class='panelBottom11 FlexColumn' catchtap="goto" data-url="../other/userbook">
137
+      <view class='panelBottom11 FlexColumn' catchtap="goto" data-url="../../pages/other/userbook">
131 138
         <view>手册</view>
132 139
       </view>
133 140
     </view>

+ 243 - 186
pages/main/cardmain.wxss

@@ -1,4 +1,4 @@
1
-.panel{
1
+.panel {
2 2
   width: 100%;
3 3
 }
4 4
 
@@ -34,232 +34,250 @@
34 34
   background-color: #fff;
35 35
   margin: 30rpx 0;
36 36
 }
37
+
37 38
 .panelTemp1 {
38 39
   margin-left: 30rpx;
39 40
   justify-content: flex-start;
40 41
   font-weight: 400;
41
-  font-size:28rpx;
42
-  height:140rpx;
42
+  font-size: 28rpx;
43
+  height: 140rpx;
43 44
 }
44
-.avatar{
45
-  width:80rpx;
46
-  height:80rpx;
45
+
46
+.avatar {
47
+  width: 80rpx;
48
+  height: 80rpx;
47 49
   background-color: #D8D8D8;
48 50
   border-radius: 10rpx;
49 51
 }
50
-.text6{
51
-  font-size:28rpx;
52
+
53
+.text6 {
54
+  font-size: 28rpx;
52 55
   margin-left: 20rpx;
53 56
 }
54 57
 
55 58
 /* 中部样式************************* */
56
-.panelItem2{
57
-  width:100%;
59
+.panelItem2 {
60
+  width: 100%;
58 61
   background-color: #fff;
59 62
 }
60
-.panelItem21{
61
-  width:172rpx;
62
-  height:180rpx;
63
-  font-size:28rpx;
64
-  color:#1e1e1e;
63
+
64
+.panelItem21 {
65
+  width: 172rpx;
66
+  height: 180rpx;
67
+  font-size: 28rpx;
68
+  color: #1e1e1e;
65 69
 }
66
-.tabbar_allcards_56x50{
67
-  width:56rpx;
68
-  height:50rpx;
70
+
71
+.tabbar_allcards_56x50 {
72
+  width: 56rpx;
73
+  height: 50rpx;
69 74
   margin-bottom: 10rpx;
70 75
 }
71
-.panelItem3{
76
+
77
+.panelItem3 {
72 78
   margin-top: 30rpx;
73 79
 }
74
-.panelItem31{
75
-  width:355rpx;
76
-  height:190rpx;
80
+
81
+.panelItem31 {
82
+  width: 355rpx;
83
+  height: 190rpx;
77 84
   background-color: #fff;
78 85
   border-top-left-radius: 20rpx;
79 86
   border-bottom-left-radius: 20rpx;
80 87
   justify-content: space-between;
81 88
 }
82
-.panelItem32{
83
-  width:355rpx;
84
-  height:190rpx;
89
+
90
+.panelItem32 {
91
+  width: 355rpx;
92
+  height: 190rpx;
85 93
   background-color: #fff;
86 94
   border-top-right-radius: 20rpx;
87 95
   border-bottom-right-radius: 20rpx;
88 96
   justify-content: space-between;
89 97
 }
90 98
 
91
-.panelItem311{
99
+.panelItem311 {
92 100
   align-items: flex-start;
93
-  font-size:32rpx;
94
-  color:#1e1e1e;
101
+  font-size: 32rpx;
102
+  color: #1e1e1e;
95 103
   margin-left: 40rpx;
96 104
 }
97
-.panelItem3111{
105
+
106
+.panelItem3111 {
98 107
   font-family: 'Roboto-Black';
99
-  font-size:36rpx;
108
+  font-size: 36rpx;
100 109
 }
101
-.richang_80x90{
102
-  width:80rpx;
103
-  height:90rpx;
110
+
111
+.richang_80x90 {
112
+  width: 80rpx;
113
+  height: 90rpx;
104 114
   margin-right: 30rpx;
105 115
 }
106 116
 
107
-.panelItem41{
108
-  width:345rpx;
109
-  height:180rpx;
117
+.panelItem41 {
118
+  width: 345rpx;
119
+  height: 180rpx;
110 120
   background-color: #fff;
111 121
   border-radius: 20rpx;
112
-  margin:0 10rpx;
122
+  margin: 0 10rpx;
113 123
   justify-content: space-between;
114 124
 }
115
-.panelItem411{
116
-  font-size:20rpx;
117
-  color:#4D4D4D;
118
-  margin-top:4rpx;
125
+
126
+.panelItem411 {
127
+  font-size: 20rpx;
128
+  color: #4D4D4D;
129
+  margin-top: 4rpx;
119 130
 }
120 131
 
121
-.panelItem5{
122
-  width:710rpx;
123
-  height:105rpx;
132
+.panelItem5 {
133
+  width: 710rpx;
134
+  height: 105rpx;
124 135
   background-color: #fff;
125 136
   border-radius: 20rpx;
126 137
   justify-content: space-between;
127 138
   margin: 30rpx 0 0 0;
128 139
 }
129 140
 
130
-.panelItem51{
131
-  color:#1E1E1E;
132
-  font-size:32rpx;
141
+.panelItem51 {
142
+  color: #1E1E1E;
143
+  font-size: 32rpx;
133 144
   margin-left: 40rpx;
134 145
 }
135
-.panelItem511{
136
-  color:#4d4d4d;
137
-  font-size:20rpx;
146
+
147
+.panelItem511 {
148
+  color: #4d4d4d;
149
+  font-size: 20rpx;
138 150
   margin-left: 30rpx;
139 151
 }
140
-.zhishijianyan_70x75{
141
-  width:70rpx;
142
-  height:76rpx;
152
+
153
+.zhishijianyan_70x75 {
154
+  width: 70rpx;
155
+  height: 76rpx;
143 156
   margin-right: 30rpx;
144 157
 }
145 158
 
146
-.report_2021-banner{
147
-  width:710rpx;
148
-  height:180rpx;
159
+.report_2021-banner {
160
+  width: 710rpx;
161
+  height: 180rpx;
149 162
   margin: 30rpx 0 0 0;
150 163
 }
151 164
 
152
-
153
-.panelItem6{
154
-  width:100%;
165
+.panelItem6 {
166
+  width: 100%;
155 167
   background-color: #fff;
156 168
   justify-content: space-between;
157 169
   margin: 30rpx 0 0 0;
158
-  color:#4d4d4d;
170
+  color: #4d4d4d;
159 171
 }
160 172
 
161
-.panelItem61{
162
-  color:#1E1E1E;
163
-  font-size:32rpx;
173
+.panelItem61 {
174
+  color: #1E1E1E;
175
+  font-size: 32rpx;
164 176
   margin: 60rpx 0 0 30rpx;
165 177
   align-items: flex-start;
166 178
 }
167 179
 
168
-.panelItem611{
169
-  font-size:20rpx;
180
+.panelItem611 {
181
+  font-size: 20rpx;
170 182
   margin: 4rpx 0 10rpx 0;
171 183
 }
172 184
 
173 185
 
174
-.panelItem62{
186
+.panelItem62 {
175 187
   margin: 60rpx 30rpx 0 0;
176 188
 }
177 189
 
178
-.panelItem621{
179
-  width:80rpx;
180
-  height:80rpx;
190
+.panelItem621 {
191
+  width: 80rpx;
192
+  height: 80rpx;
181 193
   margin: 0 0 0 10rpx;
182 194
 }
183 195
 
184
-.universalpic_add_black_34x34{
185
-  width:34rpx;
186
-  height:34rpx;
196
+.universalpic_add_black_34x34 {
197
+  width: 34rpx;
198
+  height: 34rpx;
187 199
   margin-bottom: 10rpx;
188 200
 }
189
-.universalpic_add_black_22x22{
190
-  width:22rpx;
191
-  height:22rpx;
201
+
202
+.universalpic_add_black_22x22 {
203
+  width: 22rpx;
204
+  height: 22rpx;
192 205
 }
193 206
 
194
-.universalpic_arrow_updown_black_26x22{
195
-  width:26rpx;
196
-  height:22rpx;
207
+.universalpic_arrow_updown_black_26x22 {
208
+  width: 26rpx;
209
+  height: 22rpx;
197 210
 }
198 211
 
199
-.panelItem7{
200
-  width:100%;
212
+.panelItem7 {
213
+  width: 100%;
201 214
   justify-content: flex-start;
202 215
   align-items: flex-start;
203 216
   flex-wrap: wrap;
204 217
   background-color: #fff;
205 218
 }
206 219
 
207
-.panelFolder{
208
-  width:345rpx;
209
-  height:210rpx;
220
+.panelFolder {
221
+  width: 345rpx;
222
+  height: 210rpx;
210 223
   border-radius: 10rpx;
211
-  margin:20rpx 0 0 20rpx;
224
+  margin: 20rpx 0 0 20rpx;
212 225
 }
213
-.universalpic_add_black_34x34{
214
-  width:34rpx;
215
-  height:34rpx;
226
+
227
+.universalpic_add_black_34x34 {
228
+  width: 34rpx;
229
+  height: 34rpx;
216 230
 }
217 231
 
218
-.panelFolder0{
219
-  width:341rpx;
220
-  height:388rpx;
232
+.panelFolder0 {
233
+  width: 341rpx;
234
+  height: 388rpx;
221 235
   background-color: #F8F8F8;
222 236
   justify-content: flex-start;
223 237
 }
224 238
 
225
-.panelFolder1{
226
-  width:100%;
227
-  height:210rpx;
239
+.panelFolder1 {
240
+  width: 100%;
241
+  height: 210rpx;
228 242
   background-color: #6B727C;
229 243
   border-top-left-radius: 10rpx;
230 244
   border-top-right-radius: 10rpx;
231 245
 }
232
-.panelFolder2{
233
-  border:2rpx solid #e3e3e3;
246
+
247
+.panelFolder2 {
248
+  border: 2rpx solid #e3e3e3;
234 249
 }
235
-.panelItem72{
250
+
251
+.panelItem72 {
236 252
   width: 305rpx;
237
-  height:80rpx;
238
-  margin-top:30rpx;
239
-  font-size:28rpx;
253
+  height: 80rpx;
254
+  margin-top: 30rpx;
255
+  font-size: 28rpx;
240 256
   font-weight: 400;
241 257
   overflow: hidden;
242 258
 }
243
-.panelItem73{
244
-  width:100%;
259
+
260
+.panelItem73 {
261
+  width: 100%;
245 262
   justify-content: flex-end;
246
-  margin:10rpx 0 30rpx 0;
263
+  margin: 10rpx 0 30rpx 0;
247 264
   align-content: flex-end;
248 265
 }
249
-.universalpic_card_gray_22x22{
250
-  width:22rpx;
251
-  height:22rpx;
252
-  margin-right:10rpx;
266
+
267
+.universalpic_card_gray_22x22 {
268
+  width: 22rpx;
269
+  height: 22rpx;
270
+  margin-right: 10rpx;
253 271
 }
254 272
 
255
-.panelItem731{
273
+.panelItem731 {
256 274
   font-family: 'Roboto-Black';
257
-  font-size:24rpx;
258
-  color:#787878;
259
-  margin-right:20rpx;
275
+  font-size: 24rpx;
276
+  color: #787878;
277
+  margin-right: 20rpx;
260 278
 }
261 279
 
262
-.panelHeight160{
280
+.panelHeight160 {
263 281
   width: 100%;
264 282
   height: 160rpx;
265 283
   background-color: #fff;
@@ -271,49 +289,55 @@
271 289
   bottom: 0;
272 290
   width: 100%;
273 291
 }
292
+
274 293
 .panelBottom1 {
275 294
   width: 100%;
276 295
   background-color: #fff;
277
-  border-top:1rpx solid #d2d2d2;
296
+  border-top: 1rpx solid #d2d2d2;
278 297
 }
279 298
 
280 299
 .panelBottom11 {
281
-  color:#9B9B9B;
282
-  height:98rpx;
283
-  width:150rpx;
284
-  font-size:36rpx;
300
+  color: #9B9B9B;
301
+  height: 98rpx;
302
+  width: 150rpx;
303
+  font-size: 36rpx;
285 304
 }
286 305
 
287 306
 .panelBottom12 {
288
-  color:#9B9B9B;
289
-  height:98rpx;
290
-  width:300rpx;
291
-  font-size:36rpx;
307
+  color: #9B9B9B;
308
+  height: 98rpx;
309
+  width: 300rpx;
310
+  font-size: 36rpx;
292 311
 }
293 312
 
294
-.text5{
295
-  color:#1e1e1e;
313
+.text5 {
314
+  color: #1e1e1e;
296 315
 }
297
-.text51{
298
-  width:220rpx;
316
+
317
+.text51 {
318
+  width: 220rpx;
299 319
   text-align: right;
300 320
 }
301
-.universalpic_indicator_right_gray{
302
-  width:16rpx;
303
-  height:26rpx;
321
+
322
+.universalpic_indicator_right_gray {
323
+  width: 16rpx;
324
+  height: 26rpx;
304 325
   margin-left: 30rpx;
305
-  margin-right:30rpx;
326
+  margin-right: 30rpx;
306 327
 }
307
-.universalpic_fav_default_gray_26x24{
308
-  width:26rpx;
309
-  height:24rpx;
328
+
329
+.universalpic_fav_default_gray_26x24 {
330
+  width: 26rpx;
331
+  height: 24rpx;
310 332
   margin-right: 20rpx;
311 333
 }
312
-.iphone10plus{
313
-  width:100%;
314
-  height:30rpx;
334
+
335
+.iphone10plus {
336
+  width: 100%;
337
+  height: 30rpx;
315 338
   background-color: #fff;
316 339
 }
340
+
317 341
 .tabbar_add_red_70x70 {
318 342
   width: 70rpx;
319 343
   height: 70rpx;
@@ -321,123 +345,156 @@
321 345
 
322 346
 /* *********************** */
323 347
 
324
-.HelpContainer{
325
-  background-color:rgba(0,0,0,0.16);
348
+.HelpContainer {
349
+  background-color: rgba(0, 0, 0, 0.16);
326 350
   position: fixed;
327
-  top:0;
351
+  top: 0;
328 352
   z-index: 100;
329 353
 }
330 354
 
331
-.HelpContainer .HelpPanel1{
355
+.HelpContainer .HelpPanel1 {
332 356
   position: fixed;
333
-  width:100%;
334
-  bottom:0;
357
+  width: 100%;
358
+  bottom: 0;
335 359
   background-color: #F8F8F8;
336
-  border-top:1rpx solid #b6b6b6;
360
+  border-top: 1rpx solid #b6b6b6;
337 361
 }
338 362
 
339
-.HelpContainer .HelpPanel11{
340
-  width:100%;
363
+.HelpContainer .HelpPanel11 {
364
+  width: 100%;
341 365
   height: 100rpx;
342 366
   justify-content: space-between;
343
-  border-bottom:1rpx solid #d2d2d2;
367
+  border-bottom: 1rpx solid #d2d2d2;
344 368
 }
345 369
 
346
-.HelpContainer .HelpPanel111{
347
-  width:80rpx;
348
-  height:80rpx;
370
+.HelpContainer .HelpPanel111 {
371
+  width: 80rpx;
372
+  height: 80rpx;
349 373
   margin-left: 20rpx;
350 374
 }
351 375
 
352
-.universalpic_close_black_24x24{
353
-  width:24rpx;
354
-  height:24rpx;
376
+.universalpic_close_black_24x24 {
377
+  width: 24rpx;
378
+  height: 24rpx;
355 379
 }
356 380
 
357 381
 /* ************************** */
358 382
 
359
-.PanelOrder{
383
+.PanelOrder {
360 384
   width: 100%;
361 385
   background-color: #F8F8F8;
362 386
 }
363 387
 
364
-.PanelOrder1{
388
+.PanelOrder1 {
365 389
   width: 100%;
366 390
   justify-content: flex-start;
367
-  color:#4D4D4D;
391
+  color: #4D4D4D;
368 392
 }
369 393
 
370
-.PanelOrder11{
394
+.PanelOrder11 {
371 395
   font-size: 32rpx;
372 396
   margin: 60rpx 0 0 30rpx;
373 397
 }
374 398
 
375
-.PanelOrder2{
399
+.PanelOrder2 {
376 400
   width: 100%;
377 401
 }
378 402
 
379
-.PanelOrderBtn{
403
+.PanelOrderBtn {
380 404
   border-radius: 10rpx;
381
-  height:80rpx;
382
-  line-height:80rpx;
405
+  height: 80rpx;
406
+  line-height: 80rpx;
383 407
   min-width: 155rpx;
384
-  font-size:24rpx;
408
+  font-size: 24rpx;
385 409
   text-align: center;
386
-  border:2rpx solid #dcdcdc;
410
+  border: 2rpx solid #dcdcdc;
387 411
   margin: 0 15rpx;
388 412
   background-color: #fff;
389
-  color:#1e1e1e;
413
+  color: #1e1e1e;
390 414
 }
391 415
 
392
-.PanelOrderBtn0{
393
-  width:350rpx;
416
+.PanelOrderBtn0 {
417
+  width: 350rpx;
394 418
 }
395 419
 
396
-.PanelOrderBtn2{
397
-  width:330rpx;
420
+.PanelOrderBtn2 {
421
+  width: 330rpx;
398 422
 }
399 423
 
400
-.PanelOrderBtn4{
401
-  width:690rpx;
402
-  height:100rpx;
403
-  font-size:24rpx;
424
+.PanelOrderBtn4 {
425
+  width: 690rpx;
426
+  height: 100rpx;
427
+  font-size: 24rpx;
404 428
   justify-content: space-between;
405 429
   margin-bottom: 30rpx;
406 430
 }
407 431
 
408
-.PanelOrderBtn3{
432
+.PanelOrderBtn3 {
409 433
   margin: 0 5rpx;
410 434
 }
411 435
 
412
-.PanelOrder31{
436
+.PanelOrder31 {
413 437
   font-size: 24rpx;
414 438
   margin: 30rpx 0 20rpx 30rpx;
415
-  color:#4D4D4D;
439
+  color: #4D4D4D;
416 440
   font-weight: 400;
417 441
 }
418
-.PanelOrder32{
442
+
443
+.PanelOrder32 {
419 444
   margin-left: 240rpx;
420 445
 }
421
-.PanelOrderLine60{
422
-  height:60rpx;
423
-  width:100%;
446
+
447
+.PanelOrderLine60 {
448
+  height: 60rpx;
449
+  width: 100%;
424 450
 }
425
-.PanelOrderLine30{
426
-  height:30rpx;
427
-  width:100%;
451
+
452
+.PanelOrderLine30 {
453
+  height: 30rpx;
454
+  width: 100%;
428 455
 }
429 456
 
430
-.PanelOrderBtnText{
457
+.PanelOrderBtnText {
431 458
   margin: 0 30rpx;
432 459
 }
433 460
 
434
-.PanelBtnSelect{
461
+.PanelBtnSelect {
435 462
   background-color: #5282FA;
436
-  color:#fff;
437
-  font-size:32rpx;
463
+  color: #fff;
464
+  font-size: 32rpx;
465
+}
466
+
467
+.folderImage {
468
+  width: 150rpx;
469
+  height: 150rpx;
470
+}
471
+
472
+.panelShare {
473
+  width: 710rpx;
474
+  height: 180rpx;
475
+  margin-top: 30rpx;
476
+  background: #FFDE5A;
477
+  border-radius: 20rpx;
478
+  justify-content: space-between;
479
+}
480
+
481
+.panelShare1 {
482
+  align-items: flex-start;
483
+  margin-left: 40rpx;
484
+}
485
+
486
+.text1 {
487
+  font-size: 32rpx;
488
+  color: #1E1E1E;
489
+}
490
+
491
+.text2 {
492
+  font-size: 20rpx;
493
+  color: #1E1E1E;
438 494
 }
439 495
 
440
-.folderImage{
441
-  width:150rpx;
442
-  height:150rpx;
496
+.directory_main_pic_9 {
497
+  width: 410rpx;
498
+  height: 180rpx;
499
+  border-radius: 0 20rpx 20rpx 0;
443 500
 }

+ 1 - 1
pages/main/default.wxml

@@ -22,7 +22,7 @@
22 22
     <image class="study_index_footer" src='../images/practise_index_footer.png' />
23 23
 
24 24
     <view class='panelBottom1 FlexRow'>
25
-      <view class='panelBottom11 FlexColumn' catchtap="gotoReLaunch" data-url="../test/index">
25
+      <view class='panelBottom11 FlexColumn' catchtap="gotoReLaunch" data-url="../../pages_test/test/index">
26 26
         <view>检验</view>
27 27
       </view>
28 28
       <view class='panelBottom11 FlexColumn'>

+ 12 - 148
pages/main/detail.js

@@ -51,7 +51,6 @@ Page({
51 51
     IsAutoSoundStart: false, //是否开始自动播放
52 52
     Title: "",
53 53
     FontSizeArray: constant.arrFontSize,
54
-    IsBuildReport:false,
55 54
   },
56 55
   onReady: function () {
57 56
     var that = this;
@@ -86,7 +85,6 @@ Page({
86 85
     }
87 86
 
88 87
     that.setData({
89
-      IsBuildReport:false,
90 88
       Containnerheight: height,
91 89
       Containnerheight2: height - height2,
92 90
       IsShowAnswer: [0, 0],
@@ -922,25 +920,17 @@ Page({
922 920
         if (duration > 0) {
923 921
           duration = Math.round(duration / 60);
924 922
         }
925
-
926
-        var speed1 = 0;
927
-        if (data.Duration > 0)
928
-          speed1 = Math.round(100 * data.Count / (data.Duration / 60)) / 100;
929
-
930
-        var speed2 = 0 + "秒";
931
-        if (data.Count > 0)
932
-          speed2 = common.getMinuteSecond(Math.round(data.Duration / data.Count), true);
933
-
934
-
923
+        
935 924
         app.globalData.TaskToday.DayNumber = data.DayNumber;
936 925
         that.setData({
937 926
           TodayTime: duration,
938
-          Speed1: speed1 + "张题卡",
939
-          Speed2: speed2,
940 927
           Title: "报告",
928
+          DayNumber:data.DayNumber,
929
+          CardCount:data.CardCount,
930
+          PracticeCount:data.PracticeCount,
941 931
         });
942 932
 
943
-        if (speed1 == "0张题卡" && speed2 == "0秒" && duration.toString() == "1") {
933
+        if (data.CardCount==0 && duration.toString() == "1") {
944 934
           wx.showModal({
945 935
             title: '提醒',
946 936
             showCancel: false,
@@ -1153,139 +1143,6 @@ Page({
1153 1143
       MemoryLevel: index,
1154 1144
     });
1155 1145
   },
1156
-
1157
-  buildShareImage: function () {
1158
-    var that = this;
1159
-
1160
-    that.setData({
1161
-      IsBuildReport:true,
1162
-    });
1163
-    wx.showLoading({
1164
-      title: '生成中',
1165
-    });
1166
-    setTimeout(function () {
1167
-      wx.hideLoading();
1168
-    }, 5000);
1169
-    //console.log(app.globalData.userInfo.AvatarUrl);
1170
-    var avatarUrl = app.globalData.userInfo.AvatarUrl;
1171
-    avatarUrl = avatarUrl.substring(0, avatarUrl.lastIndexOf("/") + 1);
1172
-    avatarUrl = avatarUrl + "0";
1173
-    //console.log(avatarUrl);
1174
-
1175
-    wx.downloadFile({
1176
-      url: avatarUrl, 
1177
-      success(resDownload) {
1178
-        // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
1179
-        if (resDownload.statusCode === 200) {
1180
-
1181
-          const query = wx.createSelectorQuery();
1182
-          query.select('#shareCanvas')
1183
-            .fields({
1184
-              node: true,
1185
-              size: true
1186
-            })
1187
-            .exec((res) => {
1188
-              const canvas = res[0].node;
1189
-              const ctx = canvas.getContext('2d');
1190
-
1191
-              const dpr = wx.getSystemInfoSync().pixelRatio;
1192
-              canvas.width = res[0].width * dpr;
1193
-              canvas.height = res[0].height * dpr;
1194
-              ctx.scale(dpr, dpr);
1195
-
1196
-              var img = canvas.createImage();
1197
-              img.src = resDownload.tempFilePath;
1198
-              img.onerror = err =>{
1199
-                  console.log(err);
1200
-              };
1201
-              img.onload = e => {
1202
-                ctx.drawImage(img, 0, 0, 360, 360);
1203
-                var img2 = canvas.createImage();
1204
-                img2.src = "../images/universalpic_screenshot_jl_bgimage_360x360.png";
1205
-                img2.onload = e => {
1206
-                  ctx.drawImage(img2, 0, 0, 360, 360);
1207
-
1208
-                  ctx.fillStyle = main.getShareImageBackColor();
1209
-                  
1210
-                  ctx.fillRect(360, 0, 240, 360);
1211
-
1212
-                  ctx.fillStyle = "#ffffff";
1213
-                  ctx.font = "24px";
1214
-                  ctx.fillText(app.globalData.userInfo.NickName, 30, 306);
1215
-
1216
-                  var today = common.formatTime(new Date(), ".", true);
1217
-                  ctx.font = "18px";
1218
-                  ctx.fillText(today, 30, 335);
1219
-
1220
-                  ctx.font = "20px";
1221
-                  ctx.fillText("秒过学习", 390, 40);
1222
-                  ctx.font = "44px";
1223
-                  ctx.fillText("勤勉接力", 390, 88);
1224
-                  ctx.font = "20px";
1225
-                  ctx.fillText("见证成长", 390, 140);
1226
-
1227
-                  ctx.font = "68px";
1228
-                  if (!that.data.TodayTime)
1229
-                    that.data.TodayTime = 0;
1230
-
1231
-                  ctx.fillText(that.data.TodayTime, 390, 209);
1232
-
1233
-                  ctx.font = "normal 500 68px caption";
1234
-                  var metrics = ctx.measureText(that.data.TodayTime.toString());
1235
-                  //console.log(JSON.stringify(metrics));
1236
-
1237
-                  var h = 209;
1238
-                  if (app.globalData.IsIOS)
1239
-                    h = 206;
1240
-                  ctx.font = "normal 500 32px caption";
1241
-                  ctx.fillText("分钟", 393 + Math.round(metrics.width), h);
1242
-
1243
-
1244
-                  ctx.font = "20px";
1245
-                  ctx.fillText("迄今已接力", 390, 295);
1246
-
1247
-                  ctx.font = "32px";
1248
-                  ctx.fillText(app.globalData.TaskToday.DayNumber + "次", 390, 333);
1249
-                  //console.log("生成前");
1250
-                  setTimeout(function () {
1251
-                    //console.log("生成后1");
1252
-                    wx.canvasToTempFilePath({
1253
-                      x: 0,
1254
-                      y: 0,
1255
-                      width: 600,
1256
-                      height: 360,
1257
-                      destWidth: 600,
1258
-                      destHeight: 360,
1259
-                      canvas: canvas,
1260
-                      success: function (res2) {
1261
-                        wx.hideLoading();
1262
-                        //console.log("生成后2");
1263
-                        wx.previewImage({
1264
-                          current: res2.tempFilePath, // 当前显示图片的http链接
1265
-                          urls: [res2.tempFilePath] // 需要预览的图片http链接列表
1266
-                        });
1267
-
1268
-                        main.getData("ShareMiaoguoTask?UserID=" + app.globalData.userInfo.UserID, function (data) {});
1269
-                      },
1270
-                      fail: function (e) {
1271
-                        wx.hideLoading();
1272
-                        //console.log("生成错误:"+e);
1273
-                      }
1274
-                    })
1275
-                  }, 500);
1276
-                };
1277
-              };
1278
-
1279
-            });
1280
-        } else {
1281
-          wx.hideLoading();
1282
-        }
1283
-      },
1284
-      fail: function (e) {
1285
-        wx.hideLoading();
1286
-      }
1287
-    });
1288
-  },
1289 1146
   saveCardType: function (event) {
1290 1147
     var that = this;
1291 1148
     var foldertype = event.currentTarget.dataset.foldertype;
@@ -1554,6 +1411,13 @@ Page({
1554 1411
       url: url,
1555 1412
     });
1556 1413
   },
1414
+  gotoTaskList: function (e) {
1415
+    var cardType = wx.getStorageSync("CardType");
1416
+    main.GotoTaskList(2,cardType);
1417
+  },
1418
+  resetTodayTask:function(){
1419
+    main.ResetTodayTask();
1420
+  },
1557 1421
   clearTimeoutEveryCard: function () {
1558 1422
     for(var i=0;i<timeoutEveryCard.length;i++){
1559 1423
       clearTimeout(timeoutEveryCard[i]);

+ 55 - 13
pages/main/detail.wxml

@@ -4,6 +4,9 @@
4 4
   <view slot="left" wx:if="{{NumberNew+NumberReview+NumberHistory>0}}">
5 5
     <view bindtap="onClose" class="square">退出练习</view>
6 6
   </view>
7
+  <view class="CombinedShape1 FlexRow" bindtap='onClose' slot="left" wx:if="{{NumberNew+NumberReview+NumberHistory==0}}">
8
+    <image src="../images/CombinedShape1.png" class='CombinedShape11' />
9
+  </view>
7 10
   <view slot="center" bindtap="showNumberContainner" class='panelNumber FlexRow'>
8 11
     <block wx:if="{{!Title}}">
9 12
       <view class="FlexColumn">
@@ -181,23 +184,66 @@
181 184
   <block wx:if="{{NumberNew+NumberReview+NumberHistory==0}}">
182 185
     <view class='panelLast FlexColumn'
183 186
       style='height:{{Containnerheight}}rpx;background-color:{{Color.BackColor}};top:{{topBarHeight}}rpx;'>
184
-      <view class='text1{{IsIPad}}'>做完了</view>
187
+      <view class='text1{{IsIPad}}' style='color:{{Color.LineColor}};'>练完了</view>
185 188
       <view class="panelLastTime FlexColumn">
186
-        <view style='color:{{Color.FrontColor1}};'>今日练习总共用时</view>
187
-        <view class="time1 FlexRow" style='color:{{Color.LineColor}}'>
189
+        <view>今天复习了</view>
190
+        <view class="time1 FlexRow">
188 191
           <view class='time11'>{{TodayTime}}</view>
189
-          <view>分钟</view>
192
+          <view class='time11_1'>分钟</view>
190 193
         </view>
191 194
       </view>
192
-      <view class="panelLastTime FlexColumn">
195
+      <view class="panelLastTime2 FlexRow">
196
+        <view class="panelLastTime21 FlexColumn">
197
+          <view class="panelLastTime211">练习题卡</view>
198
+          <view class="time2 FlexRow">
199
+            <view class='time21'>{{CardCount}}</view>
200
+            <view class='time21_1'>张</view>
201
+          </view>
202
+        </view>
203
+        <view class="panelLastTime21 FlexColumn">
204
+          <view class="panelLastTime211">记忆评价</view>
205
+          <view class="time2 FlexRow">
206
+            <view class='time21'>{{PracticeCount}}</view>
207
+            <view class='time21_1'>次</view>
208
+          </view>
209
+        </view>
210
+      </view>
211
+      <view class="panelLastTime3">点击左上角返回首页</view>
212
+      <view class="panelLastTime4 FlexRow">
213
+        <view class="panelLastTime41">对本次练习用时的说明</view>
214
+        <image src='../images/universalpic_indicator_right_gray.png' class="Arrow" />
215
+      </view>
216
+
217
+      <view class="panelLastFooter FlexColumn">
218
+        <view class="panelLastFooter1 FlexRow">
219
+          <view class="panelLastFooter11 FlexColumn" bindtap="goto" data-url="../share/shareitem?TaskID=-1&Day={{DayNumber}}">
220
+            <view class="icon_reload_1"></view>
221
+            <view>勤勉接力</view>
222
+          </view>
223
+          <view class="panelLastFooter11 FlexColumn" catchtap="gotoTaskList">
224
+            <image src="../images/icon_report_1.png" class='icon_report_1' />
225
+            <view>详细报告</view>
226
+          </view>
227
+          <view class="panelLastFooter11 FlexColumn" catchtap="resetTodayTask">
228
+            <image src="../images/icon_reload_1.png" class='icon_reload_1' />
229
+            <view>重围任务量</view>
230
+          </view>
231
+        </view>
232
+        <view class="panelLastFooter2 FlexColumn" bindtap="goto" data-url="../share/shareitem?TaskID=-1&Day={{DayNumber}}">
233
+          <view class="panelLastFooter21">{{DayNumber}}</view>
234
+          <view>DAYS</view>
235
+        </view>
236
+      </view>
237
+      
238
+      <!-- <view class="panelLastTime FlexColumn">
193 239
         <view style='color:{{Color.FrontColor1}};'>单张题卡平均用时</view>
194 240
         <view class="time2" style='color:{{Color.LineColor}}'>{{Speed2}}</view>
195 241
       </view>
196 242
       <view class="panelLastTime FlexColumn">
197 243
         <view style='color:{{Color.FrontColor1}};'>每分钟可练习</view>
198 244
         <view class="time2" style='color:{{Color.LineColor}}'>{{Speed1}}</view>
199
-      </view>
200
-      <view class='panelLastFooter'>
245
+      </view> -->
246
+      <!-- <view class='panelLastFooter'>
201 247
         <view class="panelLastFooter1 FlexRow" bindtap='buildShareImage'>
202 248
           <image src="../images/universalpic_screenshot_gray_30x30.png" class='universalpic_screenshot_gray_30x30' />
203 249
           <view>群接力</view>
@@ -205,7 +251,7 @@
205 251
         <view class="panelLastFooter2 FlexRow" bindtap='onClose'>
206 252
           <view>关闭</view>
207 253
         </view>
208
-      </view>
254
+      </view> -->
209 255
     </view>
210 256
   </block>
211 257
   <!-- 今日任务量 -->
@@ -318,8 +364,7 @@
318 364
       <view class="FolderTitle"
319 365
         wx:if="{{IsFinallyCount && IsFinallyCount>0 && FolderList[0].FolderID==0 && FolderList[0].Total==0}}">点「关闭」练完它们
320 366
       </view>
321
-
322
-      <view style="height:60rpx"></view>
367
+      <view style="height:180rpx"></view>
323 368
     </scroll-view>
324 369
     <view class='numberContainerFooter105 FlexRow' style="background-color:{{Color.BackColor}};">
325 370
       <view class="numberContainerFooter1051 FlexColumn">
@@ -335,7 +380,4 @@
335 380
   </view>
336 381
 </view>
337 382
 
338
-<!-- <canvas style="width:600px;height:360px;background-color: {{Color.BackColor}};" canvas-id="shareCanvas"></canvas> -->
339
-<canvas wx:if="{{IsBuildReport}}" type="2d" style="width:600px;height:360px;background-color: {{Color.BackColor}};" id="shareCanvas"></canvas>
340
-
341 383
 <audio hidden='true' src="{{AudioSrc}}" id="myAudio" bindended="audioBindEnded" binderror="audioBindError"></audio>

+ 120 - 21
pages/main/detail.wxss

@@ -15,6 +15,17 @@ page{
15 15
   position: relative;
16 16
 }
17 17
 
18
+.CombinedShape1{
19
+  width:80rpx;
20
+  height:80rpx;
21
+  justify-content: flex-start;
22
+}
23
+
24
+.CombinedShape11{
25
+  width:19rpx;
26
+  height:34rpx;
27
+}
28
+
18 29
 /* 工具栏 */
19 30
 .panelTop {
20 31
   width: 100%;
@@ -505,58 +516,146 @@ page{
505 516
 
506 517
 
507 518
 .text1 {
508
-  margin: 100rpx 0 60rpx 40rpx;
509
-  font-size: 90rpx;
519
+  margin: 80rpx 0 60rpx 40rpx;
520
+  font-size: 144rpx;
510 521
 }
511 522
 
512 523
 .text1_iPad {
513
-  margin: 20rpx 0 60rpx 40rpx;
514
-  font-size: 90rpx;
524
+  margin: -80rpx 0 10rpx 40rpx;
525
+  font-size: 144rpx;
515 526
 }
516 527
 
517 528
 .panelLastTime {
518
-  font-size: 28rpx;
529
+  font-size: 36rpx;
519 530
   font-weight: 400;
520
-  color: #e3e3e3;
531
+  color: #d2d2d2;
521 532
   margin: 0 0 40rpx 40rpx;
522 533
   align-items: flex-start;
523 534
 }
524 535
 
525 536
 .panelLastTime .time1 {
526
-  font-size: 90rpx;
537
+  font-size: 28rpx;
527 538
 }
528 539
 .panelLastTime .time11 {
529
-  font-size: 108rpx;
540
+  font-size: 144rpx;
530 541
   font-family: 'Roboto-Black';
531 542
 }
543
+.panelLastTime .time11_1 {
544
+  margin-top: 70rpx;
545
+}
532 546
 
533
-.panelLastTime .time2 {
534
-  font-size: 36rpx;
547
+.panelLastTime2{
548
+  width:100%;
549
+}
550
+.panelLastTime2 .panelLastTime21{
551
+  width:345rpx;
552
+  height:212rpx;
553
+  background-color: rgba(0, 0, 0, 0.2);
554
+  border-radius:20rpx;
555
+  margin: 0 10rpx;
556
+  font-size:36rpx;
557
+  color:#d2d2d2;
558
+  font-weight: 400;
559
+  align-items: flex-start;
560
+}
561
+
562
+.panelLastTime2 .panelLastTime211{
563
+  margin-left: 70rpx;
564
+  font-weight: 400;
565
+}
566
+
567
+.panelLastTime2 .time2 {
568
+  margin-left: 70rpx;
569
+  justify-content: flex-start;
570
+}
571
+.panelLastTime2 .time21{
572
+  font-size: 96rpx;
535 573
   font-family: 'Roboto-Black';
536 574
 }
575
+.panelLastTime2 .time21_1{
576
+  margin: 30rpx 0 0 10rpx;
577
+}
578
+
579
+.panelLastTime3{
580
+  margin: 30rpx 0 0 50rpx;
581
+  font-size: 24rpx;
582
+  color:#d2d2d2;
583
+}
584
+
585
+.panelLastTime4{
586
+  width: 710rpx;
587
+  height:100rpx;
588
+  margin:60rpx 0 0 20rpx;
589
+  justify-content: space-between;
590
+  background-color: rgba(0, 0, 0, 0.2);
591
+  border-radius: 20rpx;
592
+}
593
+
594
+.panelLastTime4 .panelLastTime41{
595
+  font-size: 28rpx;
596
+  margin-left: 30rpx;
597
+  color:#f2f2f2;
598
+}
537 599
 
538 600
 .panelLastFooter {
539 601
   width: 100%;
540 602
   position: fixed;
541 603
   bottom: 0;
542
-  align-items: flex-start;
543
-  font-size: 36rpx;
604
+  justify-content: flex-end;
605
+  z-index: 100;
544 606
 }
545 607
 
546 608
 .panelLastFooter .panelLastFooter1 {
547
-  width: 100%;
548
-  height: 131rpx;
549
-  border-top: 1rpx solid rgba(0, 0, 0, 0.2);
550
-  justify-content: flex-start;
609
+  width: 730rpx;
610
+  height: 140rpx;
611
+  border-top-left-radius: 10rpx;
612
+  border-top-right-radius: 10rpx;
613
+  border-bottom-left-radius: 40rpx;
614
+  border-bottom-right-radius: 40rpx;
615
+  background-color: #181A21;
616
+  margin-bottom: 10rpx;
617
+  position: relative;
551 618
 }
552 619
 
553
-.panelLastFooter .panelLastFooter2 {
554
-  width: 100%;
555
-  border-top: 1rpx solid rgba(0, 0, 0, 0.2);
556
-  text-align: center;
557
-  line-height: 131rpx;
620
+.panelLastFooter .panelLastFooter11 {
621
+  width:243rpx;
622
+  height:140rpx;
623
+  font-size: 24rpx;
624
+  color:#D2D2D2;
625
+}
626
+
627
+.icon_reload_1{
628
+  width: 30rpx;
629
+  height: 30rpx;
630
+  margin-bottom: 20rpx;
631
+}
632
+
633
+.icon_report_1{
634
+  width: 24rpx;
635
+  height: 30rpx;
636
+  margin-bottom: 20rpx;
558 637
 }
559 638
 
639
+.panelLastFooter2{
640
+  background-image: linear-gradient(141deg, #746D6B 0%, #504846 100%);
641
+  border-radius: 10rpx;
642
+  font-family: Roboto-Black;
643
+  font-size: 16rpx;
644
+  color: rgba(255,255,255,0.50);
645
+  width:80rpx;
646
+  height:100rpx;
647
+  position: absolute;
648
+  bottom:90rpx;
649
+  left:92rpx;
650
+}
651
+
652
+.panelLastFooter2 .panelLastFooter21{
653
+  font-family: Roboto-Black;
654
+  font-size: 24rpx;
655
+  color: rgba(255,255,255,0.50);
656
+}
657
+
658
+
560 659
 .universalpic_undo_gray_26x20 {
561 660
   width: 26rpx;
562 661
   height: 19rpx;

+ 1 - 2
pages/main/preview.js

@@ -29,6 +29,7 @@ Page({
29 29
     innerAudioContext1.onPlay(() => {
30 30
       console.log('开始播放')
31 31
     });
32
+    
32 33
     innerAudioContext1.onError((res) => {
33 34
       console.log("innerAudioContext1.errMsg:" + res.errMsg);
34 35
       console.log("innerAudioContext1.errCode:" + res.errCode);
@@ -123,9 +124,7 @@ Page({
123 124
         TextSpace:"nbsp",
124 125
       });
125 126
     }
126
-
127 127
     
128
-
129 128
     if (options.PrintID){
130 129
       that.setData({
131 130
         PrintID:options.PrintID,

+ 1 - 1
pages/main/preview.wxss

@@ -415,7 +415,7 @@
415 415
 }
416 416
 
417 417
 .btn21::after {
418
-  border: 0px;
418
+  border: 0rpx;
419 419
 }
420 420
 
421 421
 

+ 1 - 1
pages/plan/clicktype.wxss

@@ -26,7 +26,7 @@
26 26
 
27 27
 .panelItemSelected {
28 28
   border: 5rpx solid #fff;
29
-  box-shadow: 0 0 0 3px #0071ef;
29
+  box-shadow: 0 0 0 3rpx #0071ef;
30 30
 }
31 31
 
32 32
 .panelItem01 {

+ 1 - 1
pages/plan/colorplan.wxss

@@ -33,7 +33,7 @@
33 33
 
34 34
 .panelItemSelected{
35 35
   border:5rpx solid #fff;
36
-  box-shadow:0 0 0 3px #0071EF;
36
+  box-shadow:0 0 0 3rpx #0071EF;
37 37
 }
38 38
 
39 39
 .panelItem01{

+ 1 - 32
pages/plan/setting.js

@@ -40,38 +40,7 @@ Page({
40 40
     });
41 41
   },
42 42
   resetTodayTask:function(){
43
-    wx.showModal({
44
-      title: '提醒',
45
-      content: '此操作无法撤销。确认重置今天的任务量吗?',
46
-      showCancel:true,
47
-      cancelText:"确定",
48
-      confirmColor:"#000000",
49
-      confirmText:"取消",
50
-      success (res) {
51
-        if (res.confirm) {
52
-          //console.log('用户点击取消');
53
-        } else if (res.cancel) {
54
-          //console.log('用户点击确定')
55
-          var url = "ResetMiaoguoCardTask?UserID=" + app.globalData.userInfo.UserID;
56
-          main.getData(url, function (data) {
57
-            if (data) {
58
-              wx.showModal({
59
-                title: '提醒',
60
-                content: '重置已完成。请重新开始今天的练习吧。',
61
-                showCancel:false,
62
-                confirmColor:"#000000",
63
-                confirmText:"返回首页",
64
-                success (res) {
65
-                  wx.navigateBack({
66
-                    delta: 2,
67
-                  });
68
-                }
69
-              });
70
-            }
71
-          });
72
-        }
73
-      }
74
-    });
43
+    main.ResetTodayTask();
75 44
   },
76 45
   onShareAppMessage: function () {
77 46
     return {

+ 1 - 1
pages/plan/sortRule.wxss

@@ -105,7 +105,7 @@
105 105
 
106 106
 .panelItemSelected {
107 107
   border: 5rpx solid #fff;
108
-  box-shadow: 0 0 0 3px #0071ef;
108
+  box-shadow: 0 0 0 3rpx #0071ef;
109 109
 }
110 110
 
111 111
 

+ 2 - 45
pages/plan/studyplan.js

@@ -194,51 +194,8 @@ Page({
194 194
     });
195 195
   },
196 196
   gotoTaskList: function (e) {
197
-    wx.showLoading({
198
-      title: '请稍候',
199
-    });
200
-    setTimeout(function () {
201
-      wx.hideLoading();
202
-    }, 5000);
203
-
204
-    var that = this;
205
-    //未练完的题卡
206
-    if (e.currentTarget.dataset.id == 1) {
207
-      main.getTaskTodayList(function (task) {
208
-        var list = [];
209
-        for (var i = 0; i < task.ListNew.length; i++) {
210
-          list.push(task.ListNew[i]);
211
-        }
212
-        for (var i = 0; i < task.ListHistory.length; i++) {
213
-          list.push(task.ListHistory[i]);
214
-        }
215
-        for (var i = 0; i < task.ListReview.length; i++) {
216
-          list.push(task.ListReview[i]);
217
-        }
218
-        app.globalData.CardList = list;
219
-        wx.navigateTo({
220
-          url: '../main/mainlist?type=1&Count=' + list.length,
221
-        });
222
-      });
223
-    } else {
224
-      var url = 'GetMiaoguoCardList2?UserID=' + app.globalData.userInfo.UserID + "&IsToday=2&CardType=" + that.data.CardType+"&OrderType=ac.LastTime desc";
225
-      main.getData(url, function (data) {
226
-        if (data) {
227
-          var list = [];
228
-
229
-          for (var i = 0; i < data.List.length; i++) {
230
-            data.List[i].LastTimeStr = common.formatDateCHS(data.List[i].LastTime);
231
-
232
-            list.push(data.List[i]);
233
-          }
234
-          app.globalData.CardList = list;
235
-          wx.navigateTo({
236
-            url: '../main/mainlist?type=2&Count=' + data.length,
237
-          });
238
-        }
239
-      });
240
-    }
241
-
197
+    var id=e.currentTarget.dataset.id;
198
+    main.GotoTaskList(id,this.data.CardType);
242 199
   },
243 200
   showHelp:function(e){
244 201
     var id=e.currentTarget.dataset.id;

+ 1 - 1
pages/plan/studyplandetail.wxml

@@ -11,7 +11,7 @@
11 11
 	</view>
12 12
 	<view class="panelItem0 panelItem FlexRow">
13 13
 		<template class="fan" is="fanTemplate" data="{{Angle1,Angle2,BGColor,FanSize,FanScale,Color1,Color2,ShowNumber}}">
14
-		</template>
14
+    </template>
15 15
 	</view>
16 16
 	<view class="panelItem FlexColumn">
17 17
 		<view class="panelItemSquare FlexRow">

+ 23 - 0
pages/share/cardlist.js

@@ -0,0 +1,23 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+  },
9
+  onLoad: function (options) {
10
+    var that = this;
11
+
12
+    that.setData({
13
+      Containnerheight: main.getWindowHeight(),
14
+    });
15
+  },
16
+  onShareAppMessage: function () {
17
+    return {
18
+      title: app.globalData.ShareTitle,
19
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
20
+      imageUrl: app.globalData.ShareImage,
21
+    }
22
+  },
23
+})

+ 5 - 0
pages/share/cardlist.json

@@ -0,0 +1,5 @@
1
+{
2
+  "navigationBarBackgroundColor": "#F2F2F2",
3
+  "navigationBarTextStyle": "black",
4
+  "navigationBarTitleText": "详细报告"
5
+}

+ 72 - 0
pages/share/cardlist.wxml

@@ -0,0 +1,72 @@
1
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
+  <view class="panelTop FlexRow">
3
+    <view class="text1">今天已练完</view>
4
+    <view class="panelTopRight FlexRow">
5
+      <view class="panelTopRight1 FlexRow">
6
+        <image class="icon_transfer_1" src="../images/icon_transfer_1.png"></image>
7
+      </view>
8
+      <view class="panelTopRight1 FlexRow">
9
+        <image class="icon_back2top_1" src="../images/icon_back2top_1.png"></image>
10
+      </view>
11
+    </view>
12
+  </view>
13
+  <view class="panelHeight"></view>
14
+
15
+  <view class="panelHelpCommon FlexRow">
16
+    <view class="panelHelpCommon1 FlexRow">
17
+      <view class="panelHelpCommon11 FlexRow">
18
+        <image class="panelHelpCommonIcon" src="../images/icon_light_1.png"></image>
19
+      </view>
20
+      <view class="panelHelpCommon12 FlexColumn">
21
+        <view class="panelHelpCommonText1">帮助</view>
22
+        <view class="panelHelpCommonText2">教您看懂详细报告,活学活用</view>
23
+      </view>
24
+    </view>
25
+    <image class="panelHelpCommonNextPage" src="../images/icon_nextpage_7.png"></image>
26
+  </view>
27
+
28
+  <view class="text2">1234张题卡</view>
29
+
30
+  <view class="panelCard FlexColumn">
31
+    <view class="cardText1">n. 管理,行政;</view>
32
+    <view class="cardText2">administration</view>
33
+    <view class="panelCard1 FlexRow">
34
+      <view class="panelCardLeft FlexRow">
35
+        <image class="universalpic_cardlist_gray_22x20" src="../images/universalpic_cardlist_gray_22x20.png"></image>
36
+        <view class="cardText3 cardText">卡单名称</view>
37
+        <image class="universalpic_star_yellow_20x20" src="../images/universalpic_star_yellow_20x20.png"></image>
38
+        <view class="cardText4 cardText">日常</view>
39
+      </view>
40
+      <view class="panelCardRight FlexRow">
41
+        <view class="panelCardLine"></view>
42
+        <view class="cardText5 cardText">到期</view>
43
+        <view class="cardText6 cardText">2020年02月03日</view>
44
+        <image class="universalpic_arrow_down_black_14x10" src="../images/universalpic_arrow_down_black_14x10.png"></image>
45
+      </view>
46
+    </view>
47
+    <view class="panelCardLine2"></view>
48
+    <view class="panelCard2 FlexRow" wx:for="{{[1,2,3]}}">
49
+      <view class="panelCardLeft FlexRow">
50
+        <view class="cardText7 cardText">1次</view>
51
+        <view class="cardTextColor"></view>
52
+        <view class="cardText7 cardText">点红</view>
53
+      </view>
54
+      <view class="panelCardRight FlexRow">
55
+        <view class="cardText8 cardText">10秒</view>
56
+      </view>
57
+    </view>
58
+    <view class="panelCardHeight"></view>
59
+  </view>
60
+
61
+  <view class="panelFooter FlexRow">
62
+    <view class="panelFooter1 FlexRow">
63
+      <image class="icon_chart_4" src="../images/icon_chart_4.png"></image>
64
+      <view class="panelFooterText">归类分析</view>
65
+    </view>
66
+  </view>
67
+</view>
68
+
69
+<!-- 选择分类 -->
70
+<view wx:if="{{true}}" class="container2 container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
71
+  <view class=""></view>
72
+</view>

+ 203 - 0
pages/share/cardlist.wxss

@@ -0,0 +1,203 @@
1
+.panelTop {
2
+  width: 100%;
3
+  justify-content: space-between;
4
+  height: 100rpx;
5
+  position: fixed;
6
+  top: 0;
7
+  background-color: #f2f2f2;
8
+  border-bottom: 1rpx solid #d2d2d2;
9
+}
10
+
11
+.text1 {
12
+  margin-left: 30rpx;
13
+  font-size: 28rpx;
14
+  color: #4D4D4D;
15
+}
16
+
17
+.panelTopRight {
18
+  margin-right: 20rpx;
19
+}
20
+
21
+.panelTopRight1 {
22
+  width: 80rpx;
23
+  height: 80rpx;
24
+}
25
+
26
+.icon_transfer_1 {
27
+  width: 32rpx;
28
+  height: 26rpx;
29
+}
30
+
31
+.icon_back2top_1 {
32
+  width: 26rpx;
33
+  height: 28rpx;
34
+}
35
+
36
+.panelHeight {
37
+  width: 100%;
38
+  height: 130rpx;
39
+}
40
+
41
+.text2 {
42
+  margin: 60rpx 0 10rpx 30rpx;
43
+  font-size: 32rpx;
44
+  color: #4D4D4D;
45
+  align-self: flex-start;
46
+}
47
+
48
+.panelCard {
49
+  background: #FFFFFF;
50
+  border-radius: 10rpx;
51
+  width: 710rpx;
52
+  min-height: 279rpx;
53
+  margin: 20rpx 0;
54
+  justify-content: flex-start;
55
+}
56
+
57
+.cardText1 {
58
+  font-size: 30rpx;
59
+  color: #1E1E1E;
60
+  width: 650rpx;
61
+  margin-top: 30rpx;
62
+}
63
+
64
+.cardText2 {
65
+  font-size: 22rpx;
66
+  color: #1E1E1E;
67
+  width: 650rpx;
68
+  margin-top: 8rpx;
69
+  font-weight: 400;
70
+}
71
+
72
+.panelCard1 {
73
+  width: 100%;
74
+  margin-top: 20rpx;
75
+  justify-content: space-between;
76
+}
77
+
78
+.panelCardLeft {
79
+  margin-left: 30rpx;
80
+  justify-content: flex-start;
81
+}
82
+
83
+.panelCardRight {
84
+  margin-right: 30rpx;
85
+  justify-content: flex-end;
86
+}
87
+
88
+.universalpic_cardlist_gray_22x20 {
89
+  width: 22rpx;
90
+  height: 20rpx;
91
+}
92
+
93
+.universalpic_star_yellow_20x20 {
94
+  width: 20rpx;
95
+  height: 20rpx;
96
+  margin-left: 20rpx;
97
+}
98
+
99
+.universalpic_arrow_down_black_14x10 {
100
+  width: 14rpx;
101
+  height: 10rpx;
102
+}
103
+
104
+.cardText {
105
+  font-size: 20rpx;
106
+  color: #787878;
107
+}
108
+
109
+.cardText3 {
110
+  width: 164rpx;
111
+  overflow: hidden;
112
+  margin-left: 10rpx;
113
+}
114
+
115
+.cardText4 {
116
+  margin-left: 20rpx;
117
+}
118
+
119
+.panelCardLine {
120
+  margin-right: 20rpx;
121
+  width: 2rpx;
122
+  height: 20rpx;
123
+  background-color: #d2d2d2;
124
+}
125
+
126
+.cardText5 {
127
+  margin-right: 15rpx;
128
+}
129
+
130
+.cardText6 {
131
+  margin-right: 10rpx;
132
+}
133
+
134
+.panelCardLine2 {
135
+  width: 650rpx;
136
+  height: 1rpx;
137
+  background-color: #e3e3e3;
138
+  margin: 30rpx 0 10rpx 0;
139
+}
140
+
141
+.panelCard2 {
142
+  width: 100%;
143
+  margin-top: 20rpx;
144
+  justify-content: space-between;
145
+}
146
+
147
+.cardText7 {
148
+  font-weight: 400;
149
+  font-size: 22rpx;
150
+  width: 70rpx;
151
+}
152
+
153
+.cardTextColor {
154
+  background: #FE6659;
155
+  border-radius: 4rpx;
156
+  width: 26rpx;
157
+  height: 16rpx;
158
+  margin-right: 10rpx;
159
+}
160
+
161
+.cardText8 {
162
+  font-weight: 400;
163
+  font-size: 22rpx;
164
+}
165
+
166
+.panelCardHeight {
167
+  height: 30rpx;
168
+}
169
+
170
+.panelFooter {
171
+  position: fixed;
172
+  bottom: 0;
173
+  width: 100%;
174
+  height: 130rpx;
175
+  z-index: 10;
176
+  background-color: #fff;
177
+  border-top: 1rpx solid #d2d2d2;
178
+}
179
+
180
+.panelFooter1 {
181
+  width: 720rpx;
182
+  height: 100rpx;
183
+  background: #5282FA;
184
+  border-radius: 20rpx;
185
+}
186
+
187
+.icon_chart_4 {
188
+  width: 30rpx;
189
+  height: 30rpx;
190
+}
191
+
192
+.panelFooterText {
193
+  font-size: 36rpx;
194
+  color: #FFFFFF;
195
+  margin-left: 20rpx;
196
+}
197
+
198
+.container2{
199
+  position: absolute;
200
+  top:0;
201
+  background-color: rgba(0,0,0,0.16);
202
+  z-index: 20;
203
+}

+ 54 - 0
pages/share/milestone.js

@@ -0,0 +1,54 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+import fanObj from '../template/FanObject';
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+
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 () {
19
+    var that = this;
20
+
21
+    var url = 'GetMilestoneList?UserID=' + app.globalData.userInfo.UserID;
22
+    main.getData(url, function (data) {
23
+
24
+      var arr = [];
25
+      for (var i = 0; i < data.MilestoneRemain.length; i++) {
26
+        var arrTemp = data.MilestoneRemain[i].Name.split("\n");
27
+        var obj = {};
28
+        obj.Name1 = arrTemp[0];
29
+        obj.Name2 = arrTemp[1];
30
+        arr.push(obj);
31
+      }
32
+      data.MilestoneRemain = arr;
33
+      that.setData({
34
+        Info: data,
35
+      });
36
+      fanObj.init(that, data.RemainRate, 80, 4.0, "#11CC33", "#D2D2D2", data.RemainRateStr);
37
+
38
+    });
39
+  },
40
+  gotoDetail:function(e){
41
+    var id=e.currentTarget.dataset.id;
42
+    wx.navigateTo({
43
+      url: "./shareitem?TaskID="+id,
44
+    });
45
+    
46
+  },
47
+  onShareAppMessage: function () {
48
+    return {
49
+      title: app.globalData.ShareTitle,
50
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
51
+      imageUrl: app.globalData.ShareImage,
52
+    }
53
+  },
54
+})

+ 7 - 0
pages/share/milestone.json

@@ -0,0 +1,7 @@
1
+{
2
+  "navigationBarBackgroundColor": "#ffffff",
3
+  "navigationBarTextStyle": "black",
4
+  "backgroundColorTop":"#ffffff",
5
+  "backgroundColor": "#ffffff",
6
+  "navigationBarTitleText": "里程碑"
7
+}

+ 50 - 0
pages/share/milestone.wxml

@@ -0,0 +1,50 @@
1
+<import src="../template/Fan.wxml" />
2
+
3
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
4
+  <view class="panel1 FlexColumn">
5
+    <view class="panelNull"></view>
6
+
7
+    <view class="panel12 FlexRow" wx:for="{{Info.MilestoneFinished}}" wx:key="*this" 
8
+      wx:if="{{index<Info.MilestoneFinished.length-1}}">
9
+      <view class="panel121 FlexColumn" style="{{item.Position}}"
10
+        bindtap="gotoDetail" data-id="{{item.ID}}">
11
+        <view class="text3 FlexRow" wx:if="{{item.Date}}" style="background-color: {{item.Color}};">
12
+          <view class="arrow"></view>
13
+          <view class="text31">{{item.Name}}</view>
14
+          <image class="arrow" src="../images/icon_nextpage_5.png"></image>
15
+        </view>
16
+        <view class="text4" wx:if="{{!item.Date}}">{{item.Name}}</view>
17
+        <view class="text2">{{item.Date}}</view>
18
+      </view>
19
+      <view class="FlexColumn">
20
+        <view class="line"></view>
21
+        <view class="circle"></view>
22
+      </view>
23
+    </view>
24
+
25
+    <view class="panel11 FlexColumn" bindtap="gotoDetail" data-id="{{Info.MilestoneFinished[Info.MilestoneFinished.length-1].ID}}">
26
+      <view class="line"></view>
27
+      <view class="circle"></view>
28
+      <view class="text1">{{Info.MilestoneFinished[Info.MilestoneFinished.length-1].Name}}</view>
29
+      <view class="text2">{{Info.MilestoneFinished[Info.MilestoneFinished.length-1].Date}}</view>
30
+    </view>
31
+
32
+    <template class="fan" is="fanTemplate" data="{{Angle1,Angle2,BGColor,FanSize,FanScale,Color1,Color2,ShowNumber}}">
33
+		</template>
34
+  </view>
35
+  <text class="text5">点击以上里程碑可生成群接力图片。</text>
36
+  <text class="text6">里程碑是勤勉接力的特别版。为了帮您记录这个特殊的日子,即使该天没有接力,也会帮您自动生成。</text>
37
+  <view class="line2"></view>
38
+  <view class="panel2 FlexColumn">
39
+    <view class="panel21 FlexRow">
40
+      <view class="text7">尚未达到的里程碑</view>
41
+    </view>
42
+
43
+    <view class="panel22 FlexRow">
44
+      <view class="panelItem FlexColumn" wx:for="{{Info.MilestoneRemain}}" wx:key="*this">
45
+        <view class="text8">{{item.Name1}}</view>
46
+        <view class="text9">{{item.Name2}}</view>
47
+      </view>
48
+    </view>
49
+  </view>
50
+</view>

+ 152 - 0
pages/share/milestone.wxss

@@ -0,0 +1,152 @@
1
+@import "../template/Fan.wxss";
2
+
3
+.container{
4
+  background-color: #fff;
5
+  color:#4D4D4D;
6
+}
7
+.panel1{
8
+  width:710rpx;
9
+  min-height:100rpx;
10
+  background: #F2F2F2;
11
+  border-radius: 20rpx;
12
+}
13
+.panelNull{
14
+  width:100%;
15
+  height:60rpx;
16
+}
17
+
18
+.line{
19
+  width:4rpx;
20
+  height:130rpx;
21
+  background-color: #d2d2d2;
22
+}
23
+
24
+.circle{
25
+  width:30rpx;
26
+  height:30rpx;
27
+  border-radius: 50%;
28
+  background-color: #d2d2d2;
29
+}
30
+
31
+.panel11{
32
+  margin-bottom: 60rpx;
33
+}
34
+
35
+.panel12{
36
+  position: relative;
37
+  width:100%;
38
+}
39
+
40
+.text1{
41
+  font-family: Roboto-Black;
42
+  font-size: 48rpx;
43
+  text-align: center;
44
+  margin-top: 20rpx;
45
+}
46
+.text2{
47
+  font-family: Roboto-Black;
48
+  font-size: 24rpx;
49
+  text-align: center;
50
+  margin-top: 10rpx;
51
+}
52
+
53
+.text3{
54
+  border-radius: 27rpx;
55
+  font-family: Roboto-Black;
56
+  font-size: 28rpx;
57
+  color: #FFFFFF;
58
+  text-align: center;
59
+  line-height:53rpx;
60
+  width: 218rpx;
61
+}
62
+.arrow{
63
+  width:12rpx;
64
+  height:18rpx;
65
+  margin: 0 10rpx;
66
+}
67
+
68
+.panel121{
69
+  position: absolute;
70
+  bottom:-50rpx;
71
+}
72
+
73
+.text4{
74
+  font-family: Roboto-Black;
75
+  font-size: 48rpx;
76
+}
77
+
78
+
79
+.fan{
80
+  width:80rpx;
81
+  height:80rpx;
82
+  background-color: #f2f2f2;
83
+  position: absolute;
84
+  top:162rpx;
85
+  left:336rpx;
86
+  z-index: 10;
87
+  text-align: center;
88
+  line-height: 80rpx;
89
+  font-size:20rpx;
90
+  justify-self: center;
91
+}
92
+
93
+.text5{
94
+  width:690rpx;
95
+  font-size:22rpx;
96
+  margin-top: 30rpx;
97
+}
98
+.text6{
99
+  width:690rpx;
100
+  font-size:22rpx;
101
+  margin: 10rpx 0 30rpx 0;
102
+}
103
+
104
+.line2{
105
+  width:690rpx;
106
+  height:1rpx;
107
+  background: #BCBCBC;
108
+}
109
+
110
+
111
+.panel2{
112
+  margin:60rpx 0 92rpx 0;
113
+  width: 100%;
114
+}
115
+.panel21{
116
+  justify-content: flex-start;
117
+  width: 100%;
118
+}
119
+
120
+.text7{
121
+  font-size: 36rpx;
122
+  color: #4D4D4D;
123
+  margin-left: 30rpx;
124
+}
125
+.panel22{
126
+  justify-content: flex-start;
127
+  width: 730rpx;
128
+  margin-top: 20rpx;
129
+  flex-wrap: wrap;
130
+}
131
+
132
+.panelItem{
133
+  background: #D2D2D2;
134
+  border-radius: 20rpx;
135
+  width:345rpx;
136
+  height:210rpx;
137
+  margin: 10rpx;
138
+}
139
+
140
+.text8{
141
+  font-family: Roboto-Black;
142
+  font-size: 48rpx;
143
+  color: #FFFFFF;
144
+  text-align: center;
145
+}
146
+
147
+.text9{
148
+  font-family: Roboto-Black;
149
+  font-size: 24rpx;
150
+  color: #FFFFFF;
151
+  text-align: center;
152
+}

+ 119 - 0
pages/share/shareindex.js

@@ -0,0 +1,119 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+
6
+Page({
7
+  data: {
8
+    Weeks:["周一","周二","周三","周四","周五","周六","周日"],
9
+    List:[],
10
+  },
11
+  onLoad: function (options) {
12
+    var that = this;
13
+    
14
+    that.setData({
15
+      Containnerheight: main.getWindowHeight(),
16
+    });
17
+
18
+    that.init();
19
+  }, 
20
+  init:function(){
21
+    var that = this;
22
+    var url = 'GetHardworkingList?UserID=' + app.globalData.userInfo.UserID;
23
+    main.getData(url, function (data) {
24
+      data.Today=common.formatDateCHS(common.formatTime(new Date()));
25
+      data.Days=[];
26
+      var days=that.getDays();
27
+      for(var j=0;j<days.length;j++){
28
+        var obj={};
29
+        obj.Name=days[j];
30
+        obj.BgColor="#f2f2f2";
31
+        obj.Color="#9B9B9B";
32
+        for(var i=0;i<data.CurrentMonth.length;i++){
33
+          if (data.CurrentMonth[i].Day==days[j]){
34
+              obj.BgColor="#d2d2d2";
35
+              obj.Color="#4D4D4D";
36
+              if (data.CurrentMonth[i].IsShare || data.CurrentMonth[i].Image){
37
+                obj.ID=data.CurrentMonth[i].ID;
38
+                obj.DayNumber=data.DayNumber;
39
+                  
40
+                if (data.CurrentMonth[i].Image){
41
+                  obj.Image=data.CurrentMonth[i].Image;
42
+                  obj.AphorismID=data.CurrentMonth[i].AphorismID;
43
+                  obj.Color="#FFFFFF";
44
+                }
45
+                else{
46
+                  obj.BgColor="#3D3D3D";
47
+                  obj.Color="#FFFFFF";
48
+                }
49
+                obj.IsShare=data.CurrentMonth[i].IsShare;
50
+                obj.Name=data.CurrentMonth[i].Day;
51
+              }
52
+              if (data.CurrentMonth[i].IsMilestone){
53
+                obj.BgColor=data.CurrentMonth[i].Color1;
54
+                obj.Name=data.CurrentMonth[i].Name;
55
+                obj.IsMilestone=data.CurrentMonth[i].IsMilestone;
56
+              }
57
+              break;
58
+          }
59
+        }
60
+        data.Days.push(obj);
61
+      }
62
+      
63
+
64
+      that.setData({
65
+        Info:data,
66
+      });
67
+
68
+      if (data.SevenDays.length==0){
69
+        wx.setNavigationBarColor({
70
+          backgroundColor: '#ffffff',
71
+          frontColor:"#000000",
72
+        });
73
+      }
74
+      else{
75
+        wx.setNavigationBarColor({
76
+          backgroundColor: '#FFD66E',
77
+          frontColor:"#000000",
78
+        });
79
+      }
80
+    });    
81
+  },
82
+  getDays:function(){
83
+    var calendar= common.initMonthCalendar(common.formatTime(new Date(),"-",true));
84
+    //console.log(calendar);
85
+    return calendar;
86
+  },
87
+  goto: function (e) {
88
+    var url=e.currentTarget.dataset.url;
89
+    wx.navigateTo({
90
+      url: url,
91
+    });
92
+  },
93
+  gotoDetail:function(e){
94
+    var id=e.currentTarget.dataset.id;
95
+    var ismilestone=e.currentTarget.dataset.ismilestone;
96
+    var aphorismid=e.currentTarget.dataset.aphorismid;
97
+    var isshare=e.currentTarget.dataset.isshare;
98
+    if (ismilestone || aphorismid){
99
+      wx.navigateTo({
100
+        url: "./shareitem?TaskID="+id+"&Day="+e.currentTarget.dataset.day,
101
+      });
102
+    }
103
+    else if (isshare){
104
+      wx.navigateTo({
105
+        url: "./shareitem?TaskID="+id+"&IsHistory=1&Day="+e.currentTarget.dataset.day,
106
+      });
107
+    }
108
+  },
109
+  showHelpImage: function (e) {
110
+    main.ShowHelpImage();
111
+  },
112
+  onShareAppMessage: function () {
113
+    return {
114
+      title: app.globalData.ShareTitle,
115
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
116
+      imageUrl: app.globalData.ShareImage,
117
+    }
118
+  },
119
+})

+ 6 - 0
pages/share/shareindex.json

@@ -0,0 +1,6 @@
1
+{
2
+  "navigationBarBackgroundColor": "#FFD66E",
3
+  "navigationBarTextStyle": "black",
4
+  "backgroundColorTop":"#FFD66E",
5
+  "navigationBarTitleText": "勤勉接力"
6
+}

+ 119 - 0
pages/share/shareindex.wxml

@@ -0,0 +1,119 @@
1
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
+  <block wx:if="{{Info.DayNumber>0}}">
3
+    <view class="panel1 FlexColumn">
4
+      <view class="panelBg"></view> -->
5
+      <text class="text1">I do\nmy best</text>
6
+      <view class="panel11 FlexRow">
7
+        <view class="text2">最近接力</view>
8
+        <view></view>
9
+      </view>
10
+      <scroll-view scroll-x class="panelCard FlexRow">
11
+        <view class="Card0"></view>
12
+
13
+        <view class="Card" style="{{item.Color2}}" 
14
+        wx:for="{{Info.SevenDays}}" wx:key="index" 
15
+        bindtap="gotoDetail" data-id="{{item.ID}}" data-aphorismid="{{item.AphorismID}}" data-day="{{item.DayNumber}}" 
16
+        data-ismilestone="{{item.IsMilestone}}">
17
+          <image wx:if="{{item.Image}}" lazy-load="true" class="CardImg" src="{{item.Image}}"></image>
18
+          <view class="img2 CardImg"></view>
19
+          <view class="CardText FlexColumn">
20
+            <view class="Card1">{{item.CreateTime}}</view>
21
+            <view class="Card2 FlexRow" wx:if="{{!item.Name}}">{{item.DayNumber}}<text class="Card3">th</text></view>
22
+            <view class="Card6 FlexRow" wx:if="{{item.Name}}">{{item.Name}}</view>
23
+            <view class="Card4 FlexColumn"><text class="">{{item.Content}}</text></view>
24
+          </view>
25
+        </view>
26
+
27
+        <view class="CardEnd" bindtap="goto" data-url="./sharewall">
28
+          <view class="CardEnd1 FlexColumn">
29
+            <image class="icon_flag_1" src="../images/icon_flag_1.png"></image>
30
+            <view class="Card5" >查看全部</view>
31
+          </view>
32
+        </view>
33
+      </scroll-view>
34
+    </view>
35
+
36
+    <view class="panel2 FlexColumn">
37
+      <view class="panel21 FlexRow">
38
+        <view class="text2">接力墙</view>
39
+      </view>
40
+      <view class="panel22 panel21 FlexColumn">
41
+        <view class="panelWeeks FlexRow">
42
+          <view class="week" wx:for="{{Weeks}}" wx:key="*this">{{item}}</view>
43
+        </view>
44
+        <view class="panelDays FlexRow">
45
+          <block wx:for="{{Info.Days}}" wx:key="*this">
46
+            <view class="day FlexColumn" wx:if="{{!item.IsMilestone}}" style="background-color: {{item.BgColor}};" 
47
+            bindtap="gotoDetail" data-id="{{item.ID}}" data-aphorismid="{{item.AphorismID}}"  data-day="{{item.DayNumber}}" data-isshare="{{item.IsShare}}">
48
+              <image wx:if="{{item.Image}}" lazy-load="true" class="img" src="{{item.Image}}"></image>
49
+              <view wx:if="{{item.Image}}" class="img2 img"></view>
50
+              <text class="text12" style="color:{{item.Color}};">{{item.Name}}</text>
51
+            </view>
52
+
53
+            <view class="day0 day FlexColumn" wx:if="{{item.IsMilestone}}" style="border-color:{{item.BgColor}};" bindtap="gotoDetail" data-id="{{item.ID}}" data-ismilestone="{{item.IsMilestone}}">
54
+              <text class="text12" style="color:{{item.BgColor}}">{{item.Name}}</text>
55
+            </view>
56
+          </block>
57
+
58
+
59
+        </view>
60
+        <view class="panel2Line"></view>
61
+        <view class="panel23">今天是{{Info.Today}}。</view>
62
+        <view class="panel23">本月:练习{{Info.CurrentMonth.length}}天,接力{{Info.ShareNumberMonth}}次,有{{Info.CurrentMonth.length-Info.ShareNumberMonth}}天没接力。</view>
63
+        <view class="panel2Line2"></view>
64
+        <view class="panel25 FlexRow">
65
+          <text class="text13">自{{Info.ShareFirstDay}}首次接力以来共接力</text>
66
+          <view class="panel251 FlexRow"><text class="text3">{{Info.ShareNumber}}</text><text class="text14">次</text></view>
67
+        </view>
68
+        <view class="panel26" bindtap="goto" data-url="./sharewall">
69
+          查看全部
70
+        </view>
71
+
72
+      </view>
73
+    </view>
74
+
75
+    <view class="panel2 FlexColumn">
76
+      <view class="panel21 FlexRow">
77
+        <view class="text2">我的里程碑</view>
78
+      </view>
79
+      <view class="panel220 panel22 panel21 FlexColumn">
80
+        <view class="panel221"></view>
81
+        <image class="qmjl_main_pic_1" src="../images/qmjl_main_pic_1.png"></image>
82
+        <text class="text4">距离下一个里程碑\n还要练习</text>
83
+        <view class="panel222 FlexRow">
84
+          <view class="text6"></view>
85
+          <view class="text5">{{Info.RemainingDays}}</view>
86
+          <view class="text6">天</view>
87
+        </view>
88
+        <view class="panel223 FlexRow">
89
+          <view class="text7">{{Info.MilestonePrev.Name}}</view>
90
+          <view class="text7">{{Info.MilestoneNext.Name}}</view>
91
+        </view>
92
+        <view class="panel224 FlexRow">
93
+          <view class="panel2241" style="width:{{Info.Rate}};"></view>
94
+        </view>
95
+        <view class="panel225" bindtap="goto" data-url="./milestone">
96
+          查看全部
97
+        </view>
98
+      </view>
99
+    </view>
100
+  </block>
101
+  <block wx:if="{{Info.DayNumber==0}}">
102
+    <text class="text10">暂无内容</text>
103
+    <text class="text11">请先完成第一次练习,并在做完后进行一次\n勤勉接力,然后回到这里看看</text>
104
+  </block>
105
+
106
+  <view class="panelHelpCommon_{{Info.DayNumber}} panelHelpCommon FlexRow" bindtap="showHelpImage">
107
+    <view class="panelHelpCommon1 FlexRow">
108
+      <view class="panelHelpCommon11 FlexRow">
109
+        <image class="panelHelpCommonIcon" src="../images/icon_light_1.png"></image>
110
+      </view>
111
+      <view class="panelHelpCommon12 FlexColumn">
112
+        <view class="panelHelpCommonText1">帮助</view>
113
+        <view class="panelHelpCommonText2">勤勉接力怎么玩?</view>
114
+      </view>
115
+    </view>
116
+    <image class="panelHelpCommonNextPage" src="../images/icon_nextpage_7.png"></image>
117
+  </view>
118
+  <view class="panelHeight"></view>
119
+</view>

+ 382 - 0
pages/share/shareindex.wxss

@@ -0,0 +1,382 @@
1
+.container{
2
+  background-color: #FFFFFF;
3
+}
4
+.panel1{
5
+  width:100%;
6
+  position: relative;
7
+  align-items: flex-start;
8
+}
9
+.panelBg{
10
+  position: absolute;
11
+  top:0;
12
+  width: 100%;
13
+  height:720rpx;
14
+  background-image: linear-gradient(180deg, #FFD66E 0%, #FFFFFF 100%);
15
+}
16
+.text1{
17
+  font-family: Roboto-Black;
18
+  font-size: 64rpx;
19
+  color: #2E2E2E;
20
+  z-index: 10;
21
+  margin-left: 30rpx;
22
+}
23
+
24
+.panel11{
25
+  margin-top: 30rpx;
26
+  width: 100%;
27
+  justify-content: space-between;
28
+  z-index: 10;
29
+}
30
+.text2{
31
+  font-size: 36rpx;
32
+  color: #4D4D4D;
33
+  margin-left: 30rpx;
34
+}
35
+
36
+.panelCard{
37
+  width:100%;
38
+  height:435rpx;
39
+  white-space: nowrap;
40
+  margin-top: 30rpx;
41
+  z-index: 10;
42
+}
43
+
44
+.Card0{
45
+  width:20rpx;
46
+  height:435rpx;
47
+  display: inline-block;
48
+}
49
+
50
+.Card{
51
+  width:580rpx;
52
+  height:435rpx;
53
+  display: inline-block;
54
+  margin: 0 20rpx 0 0;
55
+  position: relative;
56
+  border-radius: 20rpx;
57
+}
58
+
59
+.CardImg{
60
+  border-radius: 20rpx;
61
+  width:580rpx;
62
+  height:435rpx;
63
+}
64
+
65
+.CardText{
66
+  position: absolute;
67
+  top:0;
68
+  left:0;
69
+  width:580rpx;
70
+  height:435rpx;
71
+  color:#fff;
72
+  justify-content: flex-start;
73
+  align-items: flex-start;
74
+
75
+  display: flex;
76
+}
77
+.Card1{
78
+  font-family: Roboto-Black;
79
+  font-size: 28rpx;
80
+  text-shadow: 0 3rpx 0 rgba(0,0,0,0.20);
81
+  margin: 40rpx 0 0 40rpx;
82
+}
83
+.Card2{
84
+  font-family: Roboto-Black;
85
+  font-size: 72rpx;
86
+  text-shadow: 0 3rpx 0 rgba(0,0,0,0.20);
87
+  margin: 0 0 0 40rpx;
88
+}
89
+.Card3{
90
+  font-size: 24rpx;
91
+  text-shadow: 0 3rpx 0 rgba(0,0,0,0.20);
92
+  margin: 30rpx 0 0 10rpx;
93
+}
94
+.Card4{
95
+  margin: 72rpx 0 0 40rpx;
96
+  font-family: Roboto-Black;
97
+  font-size: 24rpx;
98
+  text-shadow: 0 3rpx 0 rgba(0,0,0,0.50);
99
+  width:500rpx;
100
+  height:165rpx;
101
+  text-align: left;
102
+  white-space:pre-wrap;
103
+  justify-content: flex-end;
104
+  align-items: flex-start;
105
+}
106
+.Card6{
107
+  font-family: Roboto-Black;
108
+  font-size: 72rpx;
109
+  text-shadow: 0 3rpx 0 rgba(0,0,0,0.20);
110
+  margin: 0 0 0 40rpx;
111
+}
112
+
113
+.CardEnd{
114
+  background-image: linear-gradient(135deg, #88817B 0%, #202529 100%);
115
+  display: inline-block;
116
+  margin: 0 20rpx 0 0;
117
+  border-radius: 20rpx;  
118
+  width:240rpx;
119
+  height:435rpx;
120
+  position: relative;
121
+}
122
+
123
+.CardEnd1{
124
+  width:240rpx;
125
+  height:435rpx;
126
+  position: absolute;
127
+}
128
+
129
+.icon_flag_1{
130
+  width:30rpx;
131
+  height:30rpx;
132
+  margin-bottom: 20rpx;
133
+}
134
+
135
+.Card5{
136
+  color: #FFFFFF;
137
+  text-shadow: 0 3rpx 0 rgba(0,0,0,0.50);
138
+  font-size: 28rpx;
139
+}
140
+
141
+.panel2{
142
+  margin:45rpx 0 60rpx 0;
143
+  width: 100%;
144
+}
145
+.panel21{
146
+  justify-content: flex-start;
147
+  width: 100%;
148
+}
149
+.panel22{
150
+  border-radius: 20rpx;
151
+  background-color: #F2F2F2;
152
+  margin-top: 30rpx;
153
+  width:710rpx;
154
+}
155
+.panelWeeks{
156
+  font-size: 20rpx;
157
+  color: #787878;
158
+  margin: 40rpx 0 30rpx 0;
159
+}
160
+.week{
161
+  font-size: 20rpx;
162
+  color: #787878;
163
+  margin: 0 28rpx 0 28rpx;
164
+}
165
+
166
+.panelDays{
167
+  width: 690rpx;
168
+  margin-left: 20rpx;
169
+  flex-wrap: wrap;
170
+  justify-content: flex-start;
171
+  align-items: flex-start;
172
+}
173
+.day{
174
+  margin: 0 28rpx 0 28rpx;
175
+  font-family: Roboto-Black;
176
+  color:#4D4D4D;
177
+  border-radius: 4rpx;
178
+  margin: 3rpx;
179
+  width:90rpx;
180
+  height:90rpx;
181
+  position: relative;
182
+}
183
+
184
+.day0{
185
+  background: #FFFFFF;
186
+  border: 6rpx solid #fff;
187
+  border-radius: 4rpx;
188
+  width:78rpx;
189
+  height:78rpx;
190
+}
191
+
192
+.img{
193
+  width:90rpx;
194
+  height:90rpx;
195
+  position: absolute;
196
+  border-radius: 4rpx;
197
+}
198
+
199
+.img2{
200
+  background-color: rgba(0,0,0,0.20);
201
+  border-radius: 4rpx;
202
+}
203
+
204
+.text12{
205
+  font-size: 24rpx;
206
+  color: #9B9B9B;
207
+  text-align: center;
208
+  z-index: 10;
209
+}
210
+
211
+
212
+.panel2Line{
213
+  background: #BCBCBC;
214
+  width: 650rpx;
215
+  height:1rpx;
216
+  margin: 40rpx 0 30rpx 0;
217
+}
218
+
219
+.panel2Line2{
220
+  background: #BCBCBC;
221
+  width: 650rpx;
222
+  height:1rpx;
223
+  margin: 20rpx 0 30rpx 0;
224
+}
225
+
226
+.panel23{
227
+  font-size: 24rpx;
228
+  color: #4D4D4D;
229
+  margin-bottom: 10rpx;
230
+  padding-left: 30rpx;
231
+  align-self: flex-start;
232
+}
233
+
234
+.panel25{
235
+  width:100%;
236
+  align-items: flex-start;
237
+  align-self: flex-start;
238
+  justify-content: space-between;
239
+}
240
+
241
+.text13{
242
+  margin-left: 30rpx;
243
+  font-size: 24rpx;
244
+  color: #4D4D4D;
245
+  
246
+}
247
+
248
+.panel251{
249
+  margin: 0 50rpx 0 0;
250
+  justify-content: flex-start;
251
+  align-items: flex-end;
252
+}
253
+
254
+.text3{
255
+  font-family: Roboto-Black;
256
+  font-size: 64rpx;
257
+  color: #4D4D4D;
258
+  margin-top: -20rpx;
259
+
260
+}
261
+.text14{
262
+  font-size: 20rpx;
263
+  color: #4D4D4D;
264
+  margin: 0 0 15rpx 4rpx;
265
+}
266
+
267
+.panel26{
268
+  width:500rpx;
269
+  line-height:90rpx;
270
+  background-color: #fff;
271
+  border-radius: 20rpx;
272
+  font-size: 36rpx;
273
+  color: #4D4D4D;
274
+  text-align: center;
275
+  margin: 30rpx 0 60rpx 0;
276
+}
277
+
278
+.panel220{
279
+  background-image: linear-gradient(180deg, #FBE8B0 0%, #FDE1AB 14%, #FED9A7 29%, #FFD2A3 43%, #FFCAA1 57%, #FFC3A0 71%, #FEBC9F 86%, #FCB59F 100%);
280
+  border-radius: 20rpx;
281
+  position: relative;
282
+}
283
+.panel221{
284
+  background: rgba(255,255,255,0.60);
285
+  border-radius: 50%;
286
+  width: 100rpx;
287
+  height:100rpx;
288
+  margin-top: 72rpx;
289
+}
290
+.qmjl_main_pic_1{
291
+  width:85rpx;
292
+  height:92rpx;
293
+  position: absolute;
294
+  top:49rpx;
295
+}
296
+
297
+.text4{
298
+  font-size: 32rpx;
299
+  color:#4D4D4D;
300
+  margin-top: 21rpx;
301
+  text-align: center;
302
+}
303
+
304
+
305
+.text5{
306
+  font-family: Roboto-Black;
307
+  font-size: 72rpx;
308
+  color: #4D4D4D;
309
+  text-align: center;
310
+  margin: 0 10rpx;
311
+}
312
+
313
+.text6{
314
+  font-size: 20rpx;
315
+  color: #4D4D4D;
316
+  margin-top: 30rpx;
317
+  width:20rpx;
318
+}
319
+
320
+.panel223{
321
+  margin-top: 50rpx;
322
+  width:500rpx;
323
+  justify-content: space-between;
324
+}
325
+
326
+.text7{
327
+  font-family: Roboto-Black;
328
+  font-size: 28rpx;
329
+  color: #4D4D4D;
330
+}
331
+
332
+.panel224{
333
+  background: #F0F0F0;
334
+  border-radius: 8rpx;
335
+  width:500rpx;
336
+  justify-content: flex-start;
337
+  margin-top: 10rpx;
338
+  height:16rpx;
339
+}
340
+
341
+.panel2241{
342
+  background: #F38121;
343
+  border-radius: 8rpx 0 0 8rpx;
344
+  height:16rpx;  
345
+}
346
+
347
+.panel225{
348
+  background: #FFFFFF;
349
+  border-radius: 20rpx;
350
+  font-size: 36rpx;
351
+  color: #4D4D4D;
352
+  text-align: center;
353
+  width:500rpx;
354
+  line-height: 90rpx;
355
+  margin: 60rpx 0;
356
+}
357
+
358
+
359
+.text10{
360
+  font-size: 36rpx;
361
+  color: #4D4D4D;
362
+  margin: 100rpx 0 0 30rpx;
363
+  align-self: flex-start;
364
+}
365
+.text11{
366
+  font-size: 24rpx;
367
+  color: #4D4D4D;
368
+  margin: 30rpx 0 0 30rpx;
369
+  align-self: flex-start;
370
+}
371
+
372
+.panelHelpCommon_0{
373
+  position: fixed;
374
+  left:20rpx;
375
+  bottom:60rpx;
376
+  margin: 0 0 0 0;
377
+}
378
+
379
+.panelHeight{
380
+  width:100%;
381
+  height:90rpx;
382
+}

+ 456 - 0
pages/share/shareitem.js

@@ -0,0 +1,456 @@
1
+import common from '../../utils/util';
2
+import main from '../../utils/main';
3
+
4
+const app = getApp();
5
+var innerAudioContext1;
6
+
7
+Page({
8
+  data: {
9
+    IPhoneX: "",
10
+    IsPlay: false,
11
+  },
12
+  onReady: function () {
13
+    var that = this;
14
+    innerAudioContext1 = wx.createInnerAudioContext();
15
+    innerAudioContext1.onPlay(() => {
16
+      console.log('开始播放');
17
+    });
18
+
19
+    innerAudioContext1.onEnded(() => {
20
+      console.log('停止播放');
21
+      that.playSound();
22
+    });
23
+
24
+    innerAudioContext1.onError((res) => {
25
+      console.log("innerAudioContext1.errMsg:" + res.errMsg);
26
+      console.log("innerAudioContext1.errCode:" + res.errCode);
27
+      main.getBaiduToken();
28
+      that.setData({
29
+        IsPlay: false,
30
+      });
31
+    });
32
+  },
33
+  onLoad: function (options) {
34
+    var that = this;
35
+    var ishistory = 0;
36
+    if (options.IsHistory)
37
+      ishistory = 1;
38
+    that.setData({
39
+      Containnerheight: main.getWindowHeight(),
40
+      IsHistory: ishistory,
41
+      IsBuildReport: false,
42
+      IsBuildReportHistory: false,
43
+    });
44
+
45
+    that.init(options.TaskID, options.Day, ishistory);
46
+
47
+  },
48
+
49
+  onUnload: function () {
50
+    if (innerAudioContext1) {
51
+      innerAudioContext1.stop();
52
+    }
53
+  },
54
+  init: function (taskid, day, isHistory) {
55
+    var that = this;
56
+
57
+    var url = 'GetShareItemInfo?IsHistory=' + isHistory + '&UserID=' + app.globalData.userInfo.UserID + "&TaskID=" + taskid;
58
+    main.getData(url, function (data) {
59
+      data.Day = day;
60
+      that.setData({
61
+        Info: data,
62
+      });
63
+
64
+      if (that.data.IsHistory) {
65
+        that.setData({
66
+          Avatar: app.globalData.userInfo.AvatarUrl,
67
+          NickName: app.globalData.userInfo.NickName,
68
+          BgColor: main.getShareImageBackColor(),
69
+        });
70
+      }
71
+    });
72
+
73
+    if (app.globalData.IsIPhoneX) {
74
+      that.setData({
75
+        IPhoneX: "_IPhoneX",
76
+      });
77
+    }
78
+
79
+    //如果没有生成过二维码,则生成
80
+    if (!app.globalData.userInfo.HasACode) {
81
+      var imageQRCode = "BuildMiaoguoQRCode?IsWeb=1&UserID=" + app.globalData.userInfo.UserID;
82
+      main.getData(imageQRCode, function (data) {});
83
+      app.globalData.userInfo.HasACode = 1;
84
+    }
85
+  },
86
+  showImageSource: function (e) {
87
+    var name = e.currentTarget.dataset.image;
88
+    name = name.replace("_b_", "_a_");
89
+    wx.previewImage({
90
+      current: name,
91
+      urls: [name],
92
+    });
93
+  },
94
+  playSound: function () {
95
+    var that = this;
96
+    that.data.IsPlay = !that.data.IsPlay;
97
+    that.setData({
98
+      IsPlay: that.data.IsPlay,
99
+    });
100
+    if (that.data.IsPlay) {
101
+      var str = "古往今来肺腑之言,常用名句收入囊中。\n";
102
+      str += "小朋友,你好。\n";
103
+      str += "今天来给你打气的是【" + that.data.Info.AuthorCn + "】\n";
104
+      str += "他要对你说:\n";
105
+      str += that.data.Info.Content + "\n";
106
+
107
+      str += that.data.Info.AuthorCn + "是谁?";
108
+      str += "他是" + that.data.Info.Country + "的" + that.data.Info.Title + "。\n";
109
+      str += "有兴趣的小朋友,可以了解一下他的故事。我们下次接力再见。";
110
+
111
+      var url = app.globalData.audioUrlBaidu;
112
+      url = url.replace("[token]", app.globalData.BaiduToken);
113
+      url = url.replace("[word]", str);
114
+      url = url.replace("spd=3", "spd=5");
115
+
116
+      url = encodeURI(url);
117
+      wx.showLoading({
118
+        title: '音频下载中',
119
+        mask: true,
120
+      });
121
+      var timeout = setTimeout(function () {
122
+        wx.hideLoading();
123
+      }, 30000);
124
+      //console.log(url);
125
+      wx.downloadFile({
126
+        url: url,
127
+        success(res) {
128
+          wx.hideLoading();
129
+          clearTimeout(timeout);
130
+
131
+          innerAudioContext1.src = res.tempFilePath;
132
+          innerAudioContext1.play();
133
+        },
134
+        fail(err) {
135
+          wx.hideLoading();
136
+        }
137
+      });
138
+    } else {
139
+      if (innerAudioContext1)
140
+        innerAudioContext1.stop();
141
+    }
142
+  },
143
+  //生成里程碑分享图片
144
+  buildShareImageMilestone: function () {
145
+    var that = this;
146
+
147
+    that.setData({
148
+      IsBuildReport: true,
149
+    });
150
+
151
+    var url1 = that.data.Info.MilestoneImage;
152
+    var url3 = app.globalData.userInfo.AvatarUrl;
153
+    var _uid = common.Encrypt(app.globalData.userInfo.UserID);
154
+    if (_uid.indexOf("/") >= 0)
155
+      _uid = common.ReplaceAllString(_uid, "/", "___");
156
+    var url4 = app.globalData.uploadImageUrl + "MiaoguoUser" + _uid + ".png";
157
+
158
+    main.DownloadFile(url1, function (tempFilePath1) {
159
+      main.DownloadFile(url3, function (tempFilePath3) {
160
+        main.DownloadFile(url4, function (tempFilePath4) {
161
+          const query = wx.createSelectorQuery();
162
+          query.select('#shareCanvas')
163
+            .fields({
164
+              node: true,
165
+              size: true
166
+            })
167
+            .exec((res) => {
168
+              
169
+                
170
+              const canvas = res[0].node;
171
+              const ctx = canvas.getContext('2d');
172
+
173
+              const dpr = wx.getSystemInfoSync().pixelRatio;
174
+              canvas.width = res[0].width * dpr;
175
+              canvas.height = res[0].height * dpr;
176
+              ctx.scale(dpr, dpr);
177
+
178
+              var img = canvas.createImage();
179
+              img.src = tempFilePath1;
180
+              img.onload = e => {
181
+                ctx.drawImage(img, 0, 0, 700, 1050);
182
+              };
183
+
184
+              setTimeout(function(){
185
+
186
+                ctx.fillStyle = "#ffffff";
187
+                ctx.shadowBlur=4;
188
+                ctx.shadowOffsetY=2;
189
+                ctx.shadowColor="rgba(0,0,0,0.3)";
190
+                ctx.fillRect(570, 70, 90, 90);
191
+  
192
+                var img3 = canvas.createImage();
193
+                img3.src = tempFilePath3;
194
+                img3.onload = e => {
195
+                  ctx.drawImage(img3, 575, 75, 80, 80);
196
+                };
197
+
198
+                var img4 = canvas.createImage();
199
+                img4.src = tempFilePath4;
200
+                img4.onload = e => {
201
+                  ctx.drawImage(img4, 530, 880, 140, 140);
202
+                };
203
+
204
+                ctx.fillStyle = "#f2f2f2";
205
+                ctx.font = "normal 500 24px caption";
206
+                ctx.fillText(that.data.Info.Content1, 56, 650);
207
+                ctx.fillText(that.data.Info.Content2, 56, 683);
208
+                ctx.fillText(that.data.Info.Content3, 56, 716);
209
+                
210
+                ctx.fillStyle = "#4d4d4d";
211
+                ctx.font = "normal 500 16px caption";
212
+                ctx.shadowBlur=0;
213
+                ctx.shadowOffsetY=0;
214
+                for(var i=0;i< that.data.Info.Content.length;i++)
215
+                  ctx.fillText(that.data.Info.Content[i], 50, 917+i*30);
216
+                
217
+                main.BuildImage(700, 1050, canvas, function () {
218
+                  main.getData("ShareMiaoguoTask?UserID=" + app.globalData.userInfo.UserID, function (data) {
219
+                    that.setData({
220
+                      IsBuildReport: false,
221
+                    });
222
+                  });
223
+                });
224
+
225
+              },500);
226
+            });
227
+        });
228
+      });
229
+    });
230
+  },
231
+  //生成分享图片
232
+  buildShareImage: function () {
233
+    var that = this;
234
+
235
+    that.setData({
236
+      IsBuildReport: true,
237
+    });
238
+
239
+    var url1 = that.data.Info.Image.replace("_b_", "_d_");
240
+    var url2 = that.data.Info.WordImage;
241
+    var url3 = app.globalData.userInfo.AvatarUrl;
242
+    var _uid = common.Encrypt(app.globalData.userInfo.UserID);
243
+    if (_uid.indexOf("/") >= 0)
244
+      _uid = common.ReplaceAllString(_uid, "/", "___");
245
+    var url4 = app.globalData.uploadImageUrl + "MiaoguoUser" + _uid + ".png";
246
+
247
+    main.DownloadFile(url1, function (tempFilePath1) {
248
+      main.DownloadFile(url2, function (tempFilePath2) {
249
+        main.DownloadFile(url3, function (tempFilePath3) {
250
+          main.DownloadFile(url4, function (tempFilePath4) {
251
+            const query = wx.createSelectorQuery();
252
+            query.select('#shareCanvas')
253
+              .fields({
254
+                node: true,
255
+                size: true
256
+              })
257
+              .exec((res) => {
258
+                const canvas = res[0].node;
259
+                const ctx = canvas.getContext('2d');
260
+
261
+                const dpr = wx.getSystemInfoSync().pixelRatio;
262
+                canvas.width = res[0].width * dpr;
263
+                canvas.height = res[0].height * dpr;
264
+                ctx.scale(dpr, dpr);
265
+
266
+                var img = canvas.createImage();
267
+                img.src = tempFilePath1;
268
+                img.onload = e => {
269
+                  ctx.drawImage(img, 0, 0, 700, 520);
270
+                };
271
+
272
+                var img2 = canvas.createImage();
273
+                img2.src = tempFilePath2;
274
+                img2.onload = e => {
275
+                  ctx.drawImage(img2, 0, 520, 700, 270);
276
+                };
277
+
278
+                ctx.fillStyle = "#ffffff";
279
+                ctx.fillRect(0, 790, 700, 260);
280
+
281
+                var img3 = canvas.createImage();
282
+                img3.src = tempFilePath3;
283
+                img3.onload = e => {
284
+                  ctx.drawImage(img3, 610, 807, 60, 60);
285
+                  var img5 = canvas.createImage();
286
+                  img5.src = "../../pages/images/promotion_face_circle.png";
287
+                  img5.onload = e => {
288
+                    ctx.drawImage(img5, 610, 807, 60, 60);
289
+                  };
290
+                };
291
+
292
+                var img4 = canvas.createImage();
293
+                img4.src = tempFilePath4;
294
+                img4.onload = e => {
295
+                  ctx.drawImage(img4, 530, 880, 140, 140);
296
+                };
297
+
298
+                ctx.fillStyle = "#4d4d4d";
299
+                ctx.fillRect(30, 836, 560, 2);
300
+
301
+                ctx.font = "normal 600 18px caption";
302
+                ctx.fillText("我的「秒过」勤勉接力", 30, 866);
303
+
304
+                ctx.font = "normal 600 18px caption";
305
+                ctx.fillText("坚持练习", 30, 911);
306
+
307
+                ctx.font = "normal 600 18px caption";
308
+                ctx.fillText("天", 30, 1016);
309
+
310
+                ctx.font = "normal 600 16px caption";
311
+                ctx.fillText("勇敢挑战", 266, 934);
312
+
313
+                ctx.font = "normal 600 16px caption";
314
+                ctx.fillText("个知识点", 266, 998);
315
+
316
+                ctx.font = "normal 600 16px caption";
317
+                ctx.fillText("专注复习", 370, 934);
318
+
319
+                ctx.font = "normal 600 16px caption";
320
+                ctx.fillText("分钟", 370, 998);
321
+
322
+                ctx.font = "normal 500 18px Roboto-Black";
323
+                ctx.fillText(that.data.Info.CreateTimeStr1, 30, 823);
324
+
325
+                ctx.font = "normal 500 96px Roboto-Black";
326
+                ctx.fillText(that.data.Info.Day, 30, 994);
327
+
328
+                ctx.font = "normal 500 36px Roboto-Black";
329
+                ctx.fillText(that.data.Info.CardTaskTotal, 266, 974);
330
+
331
+                ctx.font = "normal 500 36px Roboto-Black";
332
+                ctx.fillText(that.data.Info.DurationTotal, 370, 974);
333
+
334
+                main.BuildImage(700, 1050, canvas, function () {
335
+                  main.getData("ShareMiaoguoTask?UserID=" + app.globalData.userInfo.UserID, function (data) {
336
+                    that.setData({
337
+                      IsBuildReport: false,
338
+                    });
339
+                  });
340
+                });
341
+
342
+              });
343
+          });
344
+        });
345
+      });
346
+    });
347
+
348
+  },
349
+  //生成分享图片(历史)
350
+  buildShareImageHistory: function () {
351
+    var that = this;
352
+
353
+    that.setData({
354
+      IsBuildReportHistory: true,
355
+    });
356
+
357
+    var date = that.data.Info.CreateTimeStr1
358
+    var todayTime = that.data.Info.DurationMinute;
359
+    var dayNumber = that.data.Info.Day;
360
+
361
+    var avatarUrl = app.globalData.userInfo.AvatarUrl;
362
+    avatarUrl = avatarUrl.substring(0, avatarUrl.lastIndexOf("/") + 1);
363
+    avatarUrl = avatarUrl + "0";
364
+
365
+    main.DownloadFile(avatarUrl, function (tempFilePath) {
366
+      const query = wx.createSelectorQuery();
367
+      query.select('#shareCanvasHistory')
368
+        .fields({
369
+          node: true,
370
+          size: true
371
+        })
372
+        .exec((res) => {
373
+          const canvas = res[0].node;
374
+          const ctx = canvas.getContext('2d');
375
+
376
+          const dpr = wx.getSystemInfoSync().pixelRatio;
377
+          canvas.width = res[0].width * dpr;
378
+          canvas.height = res[0].height * dpr;
379
+          ctx.scale(dpr, dpr);
380
+
381
+          var img = canvas.createImage();
382
+          img.src = tempFilePath;
383
+          img.onerror = err => {
384
+            console.log(err);
385
+          };
386
+          img.onload = e => {
387
+            ctx.drawImage(img, 0, 0, 360, 360);
388
+            var img2 = canvas.createImage();
389
+            img2.src = "../images/universalpic_screenshot_jl_bgimage_360x360.png";
390
+            img2.onload = e => {
391
+              ctx.drawImage(img2, 0, 0, 360, 360);
392
+
393
+              ctx.fillStyle = that.data.BgColor;
394
+
395
+              ctx.fillRect(360, 0, 240, 360);
396
+
397
+              ctx.fillStyle = "#ffffff";
398
+              ctx.font = "normal 500 24px caption";
399
+              ctx.fillText(app.globalData.userInfo.NickName, 30, 306);
400
+
401
+              ctx.font = "normal 500 18px caption";
402
+              ctx.fillText(date, 30, 335);
403
+
404
+              ctx.font = "normal 500 20px caption";
405
+              ctx.fillText("秒过学习", 390, 40);
406
+              ctx.font = "normal 500 44px caption";
407
+              ctx.fillText("勤勉接力", 390, 88);
408
+              ctx.font = "normal 500 20px caption";
409
+              ctx.fillText("见证成长", 390, 140);
410
+
411
+              ctx.font = "normal 500 68px caption";
412
+              if (!todayTime)
413
+                todayTime = 0;
414
+
415
+              ctx.fillText(todayTime, 390, 209);
416
+
417
+              ctx.font = "normal 500 68px caption";
418
+              var metrics = ctx.measureText(todayTime.toString());
419
+              //console.log(JSON.stringify(metrics));
420
+
421
+              var h = 209;
422
+              if (app.globalData.IsIOS)
423
+                h = 206;
424
+              ctx.font = "normal 500 32px caption";
425
+              ctx.fillText("分钟", 393 + Math.round(metrics.width), h);
426
+
427
+
428
+              ctx.font = "normal 500 20px caption";
429
+              ctx.fillText("迄今已练习", 390, 295);
430
+
431
+              ctx.font = "normal 500 32px caption";
432
+              ctx.fillText(dayNumber + "天", 390, 333);
433
+
434
+              main.BuildImage(600, 360, canvas, function () {
435
+                that.setData({
436
+                  IsBuildReportHistory: false,
437
+                });
438
+              });
439
+            };
440
+          };
441
+        });
442
+    });
443
+  },
444
+
445
+  showHelpImage: function (e) {
446
+    main.ShowHelpImage();
447
+  },
448
+
449
+  onShareAppMessage: function () {
450
+    return {
451
+      title: app.globalData.ShareTitle,
452
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
453
+      imageUrl: app.globalData.ShareImage,
454
+    }
455
+  },
456
+})

+ 6 - 0
pages/share/shareitem.json

@@ -0,0 +1,6 @@
1
+{
2
+  "navigationBarBackgroundColor": "#FFFFFF",
3
+  "navigationBarTextStyle": "black",
4
+  "backgroundColorTop":"#FFFFFF",
5
+  "navigationBarTitleText": "勤勉接力"
6
+}

+ 109 - 0
pages/share/shareitem.wxml

@@ -0,0 +1,109 @@
1
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
+  <block wx:if="{{!IsHistory && !Info.MilestoneDayNumber}}">
3
+    <view class="panel1 FlexRow">
4
+      <view class="panel11 FlexColumn">
5
+        <view class="panel111 FlexRow">
6
+          <view class="text1">{{Info.Day}}</view>
7
+          <view class="text2">th</view>
8
+        </view>
9
+        <view class="text3">RELAY</view>
10
+      </view>
11
+      <view class="line1"></view>
12
+      <view class="panel12 FlexColumn">
13
+        <text class="text4">{{Info.CreateTimeStr2}}</text>
14
+        <text class="text5">复习之后小歇片刻,名言美景沁人心脾</text>
15
+      </view>
16
+    </view>
17
+    <image bindtap="showImageSource" data-image="{{Info.Image}}" class="panelImage1" lazy-load="true" mode="widthFix" src="{{Info.Image}}">
18
+    </image>
19
+    <view class="text6">{{Info.AuthorCn}}</view>
20
+    <view class="text7">来给你打气</view>
21
+    <image class="icon_punctuation_1" lazy-load="true" src="../images/icon_punctuation_1.png"></image>
22
+    <text class="text8">{{Info.Content}}</text>
23
+    <image class="icon_punctuation_2" lazy-load="true" src="../images/icon_punctuation_2.png"></image>
24
+    <view class="text9">Ta是谁?</view>
25
+    <view class="text10">{{Info.Country}}</view>
26
+    <view class="text11">{{Info.Title}}</view>
27
+    <view class="text12">{{Info.BirthAndDeath}}</view>
28
+    <image class="panelImage1" lazy-load="true" mode="widthFix" src="{{Info.AuthorImage}}"></image>
29
+    <text class="text13">{{Info.Remark}}</text>
30
+
31
+    <view class="panelFooter{{IPhoneX}} panelFooter FlexRow">
32
+      <view class="panelFooter1 FlexRow" bindtap="playSound">
33
+        <image wx:if="{{!IsPlay}}" class="icon_player_1" src="../images/icon_player_1.png"></image>
34
+        <image wx:if="{{IsPlay}}" class="icon_player_1" src="../images/icon_player_2.png"></image>
35
+        <view wx:if="{{!IsPlay}}" class="text14">播报</view>
36
+        <view wx:if="{{IsPlay}}" class="text14">停止</view>
37
+      </view>
38
+      <view class="panelFooter2 FlexRow" bindtap="buildShareImage">
39
+        <image class="icon_player_1" src="../images/icon_flag_1.png"></image>
40
+        <view class="text15">生成群接力图片</view>
41
+      </view>
42
+    </view>
43
+  </block>
44
+
45
+  <block wx:if="{{!IsHistory && Info.MilestoneDayNumber}}">
46
+    
47
+    <view class="panelMilestone FlexColumn" style="{{Info.Color}}">
48
+      <view class="panelMilestoneText1">祝贺您</view>
49
+      <view class="panelMilestoneText2 panelMilestoneText1">获得里程碑</view>
50
+      <view class="panelMilestoneText3">{{Info.Name[0]}}</view>
51
+      <view class="panelMilestoneText4 panelMilestoneText3">{{Info.Name[1]}}</view>
52
+      <view class="panelMilestoneText5">{{Info.Content1+Info.Content2+Info.Content3}}</view>
53
+    </view>
54
+
55
+    <view class="panelFooter{{IPhoneX}} panelFooter FlexRow">
56
+      <view class="panelFooter3 panelFooter2 FlexRow" bindtap="buildShareImageMilestone">
57
+        <image class="icon_player_1" src="../images/icon_flag_1.png"></image>
58
+        <view class="text15">生成群接力图片</view>
59
+      </view>
60
+    </view>
61
+  </block>
62
+
63
+  <block wx:if="{{IsHistory}}">
64
+    <view class="text18">历史快照</view>
65
+
66
+    <view class="panel2 FlexRow" style="background-color: {{BgColor}};">
67
+      <image class="panel2Image" src="{{Avatar}}"></image>
68
+      <view class="panel21 FlexColumn">
69
+        <view class="text27">{{NickName}}</view>
70
+        <view class="text28">{{Info.CreateTimeStr1}}</view>
71
+      </view>
72
+      <view class="panel22 FlexColumn">
73
+        <view class="text20">秒过学习</view>
74
+        <view class="text21">勤勉接力</view>
75
+        <view class="text22">见证成长</view>
76
+        <view class="text23 FlexRow">{{Info.DurationMinute}}<text class="text24">分钟</text></view>
77
+        <view class="text25">迄今已练习</view>
78
+        <view class="text26">{{Info.Day}}天</view>
79
+      </view>
80
+    </view>
81
+
82
+    <text class="text19">这是勤勉接力老版本的图片格式,给您留作纪念。如果左侧头像不能正常显示,请前往手册栏目,点击顶部用户头像,然后重新授权用户信息,刷新后即可解决。
83
+      感谢您在秒过最初的三年里坚持接力。欢迎继续使用新版勤勉接力。内容更丰富,画面更精美。</text>
84
+
85
+    <view class="panelHelpCommon FlexRow" bindtap="showHelpImage">
86
+      <view class="panelHelpCommon1 FlexRow">
87
+        <view class="panelHelpCommon11 FlexRow">
88
+          <image class="panelHelpCommonIcon" src="../images/icon_light_1.png"></image>
89
+        </view>
90
+        <view class="panelHelpCommon12 FlexColumn">
91
+          <view class="panelHelpCommonText1">帮助</view>
92
+          <view class="panelHelpCommonText2">勤勉接力怎么玩?</view>
93
+        </view>
94
+      </view>
95
+      <image class="panelHelpCommonNextPage" src="../images/icon_nextpage_7.png"></image>
96
+    </view>
97
+
98
+    <view class="panelFooter{{IPhoneX}} panelFooter FlexRow">
99
+      <view class="panelFooter3 panelFooter2 FlexRow" bindtap="buildShareImageHistory">
100
+        <image class="icon_player_1" src="../images/icon_flag_1.png"></image>
101
+        <view class="text15">生成群接力图片</view>
102
+      </view>
103
+    </view>
104
+  </block>
105
+</view>
106
+
107
+<canvas wx:if="{{IsBuildReport}}" type="2d" id="shareCanvas"></canvas>
108
+
109
+<canvas wx:if="{{IsBuildReportHistory}}" type="2d" id="shareCanvasHistory"></canvas>

+ 320 - 0
pages/share/shareitem.wxss

@@ -0,0 +1,320 @@
1
+.container {
2
+  background-color: #fff;
3
+  color: #4D4D4D;
4
+}
5
+
6
+.panel1 {
7
+  width: 100%;
8
+  justify-content: flex-start;
9
+  margin: 30rpx 0;
10
+  align-items: flex-start;
11
+}
12
+
13
+.panel11 {
14
+  align-items: flex-start;
15
+  width: 201rpx;
16
+  margin-left: 50rpx;
17
+  justify-content: flex-start;
18
+}
19
+
20
+.panel11 {
21
+  margin-top: 4rpx;
22
+}
23
+
24
+.text1 {
25
+  font-family: Roboto-Black;
26
+  font-size: 64rpx;
27
+}
28
+
29
+.text2 {
30
+  font-family: Roboto-Black;
31
+  font-size: 24rpx;
32
+  margin-top: 30rpx;
33
+}
34
+
35
+.text3 {
36
+  font-family: Roboto-Black;
37
+  font-size: 16rpx;
38
+}
39
+
40
+.line1 {
41
+  background: #4D4D4D;
42
+  width: 8rpx;
43
+  height: 130rpx;
44
+  margin: 0 30rpx 0 0;
45
+}
46
+
47
+.panel12 {
48
+  align-items: flex-start;
49
+  justify-content: flex-start;
50
+  margin-top: 14rpx;
51
+}
52
+
53
+.text4 {
54
+  font-size: 24rpx;
55
+  margin-bottom: 10rpx;
56
+}
57
+
58
+.text5 {
59
+  font-size: 22rpx;
60
+}
61
+
62
+.panelImage1 {
63
+  width: 750rpx;
64
+}
65
+
66
+.text6 {
67
+  align-self: flex-start;
68
+  margin: 80rpx 0 0 50rpx;
69
+  font-size: 36rpx;
70
+}
71
+
72
+.text7 {
73
+  align-self: flex-start;
74
+  margin: 0 0 0 50rpx;
75
+  font-size: 24rpx;
76
+}
77
+
78
+.icon_punctuation_1 {
79
+  width: 40rpx;
80
+  height: 30rpx;
81
+  margin: 60rpx 0 60rpx 50rpx;
82
+  align-self: flex-start;
83
+}
84
+
85
+.text8 {
86
+  width: 590rpx;
87
+  height: 200rpx;
88
+  font-size: 48rpx;
89
+}
90
+
91
+.icon_punctuation_2 {
92
+  width: 40rpx;
93
+  height: 30rpx;
94
+  margin: 60rpx 50rpx 80rpx 0;
95
+  align-self: flex-end;
96
+}
97
+
98
+.text9 {
99
+  font-size: 36rpx;
100
+  align-self: flex-start;
101
+  margin-left: 50rpx;
102
+}
103
+
104
+.text10 {
105
+  font-size: 28rpx;
106
+  margin: 30rpx 0 0 50rpx;
107
+  align-self: flex-start;
108
+}
109
+
110
+.text11 {
111
+  font-size: 28rpx;
112
+  margin: 0 0 0 50rpx;
113
+  align-self: flex-start;
114
+}
115
+
116
+.text12 {
117
+  font-size: 28rpx;
118
+  margin: 0 0 60rpx 50rpx;
119
+  align-self: flex-start;
120
+}
121
+
122
+.text13 {
123
+  font-size: 24rpx;
124
+  color: #1E1E1E;
125
+  letter-spacing: 1.6rpx;
126
+  line-height: 48rpx;
127
+  font-weight: 400;
128
+  width: 650rpx;
129
+  margin: 60rpx 0 190rpx 0;
130
+}
131
+
132
+.panelFooter {
133
+  position: fixed;
134
+  width: 100%;
135
+  height: 130rpx;
136
+  bottom: 0;
137
+  background-color: #fff;
138
+  border-top: 1rpx solid #d2d2d2;
139
+  align-items: flex-start;
140
+  z-index: 10;
141
+}
142
+
143
+.panelFooter_IPhoneX {
144
+  height: 150rpx;
145
+}
146
+
147
+.panelFooter1 {
148
+  width: 200rpx;
149
+  height: 130rpx;
150
+}
151
+
152
+.panelFooter2 {
153
+  width: 510rpx;
154
+  height: 100rpx;
155
+  background: #5282FA;
156
+  border-radius: 20rpx;
157
+  margin-top: 15rpx;
158
+}
159
+
160
+.panelFooter3 {
161
+  width: 710rpx;
162
+}
163
+
164
+.text14 {
165
+  font-size: 28rpx;
166
+  margin-left: 10rpx;
167
+}
168
+
169
+.icon_player_1 {
170
+  width: 30rpx;
171
+  height: 30rpx;
172
+}
173
+
174
+.text15 {
175
+  font-size: 36rpx;
176
+  color: #FFFFFF;
177
+  margin-left: 20rpx;
178
+}
179
+
180
+.text18 {
181
+  align-self: flex-start;
182
+  margin: 60rpx 0 0 30rpx;
183
+  font-size: 36rpx;
184
+}
185
+
186
+.text19 {
187
+  width: 690rpx;
188
+  font-size: 24rpx;
189
+  color: #1E1E1E;
190
+  line-height: 48rpx;
191
+  letter-spacing: 1.6rpx;
192
+  margin: 60rpx 0;
193
+  font-weight: 400;
194
+}
195
+
196
+.panel2 {
197
+  align-self: flex-start;
198
+  width: 600rpx;
199
+  height: 360rpx;
200
+  margin: 30rpx 0 0 30rpx;
201
+  justify-content: flex-start;
202
+  align-items: flex-start;
203
+  position: relative;
204
+  color: #FFFFFF;
205
+}
206
+
207
+.panel2Image {
208
+  width: 360rpx;
209
+  height: 360rpx;
210
+}
211
+
212
+.panel21 {
213
+  position: absolute;
214
+  bottom: 20rpx;
215
+  left: 30rpx;
216
+  align-items: flex-start;
217
+}
218
+
219
+.text27 {
220
+  font-size: 24rpx;
221
+}
222
+
223
+.text28 {
224
+  font-size: 18rpx;
225
+}
226
+
227
+.panel22 {
228
+  align-items: flex-start;
229
+  justify-content: flex-start;
230
+  margin-left: 30rpx;
231
+  width: 240rpx;
232
+}
233
+
234
+.text20 {
235
+  font-size: 20rpx;
236
+  margin-top: 30rpx;
237
+}
238
+
239
+.text21 {
240
+  font-size: 44rpx;
241
+}
242
+
243
+.text22 {
244
+  font-size: 20rpx;
245
+}
246
+
247
+.text23 {
248
+  font-size: 68rpx;
249
+}
250
+
251
+.text24 {
252
+  font-size: 32rpx;
253
+  margin-top: 20rpx;
254
+}
255
+
256
+.text25 {
257
+  font-size: 20rpx;
258
+  margin-top: 24rpx;
259
+}
260
+
261
+.text26 {
262
+  font-size: 32rpx;
263
+}
264
+
265
+.panelMilestone {
266
+  width: 100%;
267
+  height: 1075rpx;
268
+  justify-content: flex-start;
269
+  align-items: flex-start;
270
+  position: fixed;
271
+  top: 0;
272
+}
273
+
274
+.panelMilestoneText1 {
275
+  font-size: 48rpx;
276
+  text-shadow: 5rpx 5rpx 0 rgba(0, 0, 0, 0.10);
277
+  margin-left: 50rpx;
278
+  margin-top: 120rpx;
279
+  color: #FFFFFF;
280
+}
281
+
282
+.panelMilestoneText2 {
283
+  margin-top: 0rpx;
284
+}
285
+
286
+.panelMilestoneText3 {
287
+  margin-top: 0rpx;
288
+  font-family: Roboto-Black;
289
+  font-size: 220rpx;
290
+  color: #F2F2F2;
291
+  text-shadow: 6rpx 6rpx 0 rgba(0, 0, 0, 0.10);
292
+  margin-left: 50rpx;
293
+}
294
+
295
+.panelMilestoneText4 {
296
+  font-size:100rpx;
297
+  margin-top: -31rpx;
298
+}
299
+
300
+.panelMilestoneText5 {
301
+  font-size: 28rpx;
302
+  color: #FFFFFF;
303
+  width:600rpx;
304
+  margin: 40rpx 0 0 50rpx;
305
+}
306
+
307
+
308
+#shareCanvas {
309
+  width: 700px;
310
+  height: 1050px;
311
+  position: absolute;
312
+  left: 800rpx;
313
+}
314
+
315
+#shareCanvasHistory {
316
+  width: 600px;
317
+  height: 360px;
318
+  position: absolute;
319
+  left: 800rpx;
320
+}

+ 54 - 0
pages/share/sharewall.js

@@ -0,0 +1,54 @@
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
+
17
+    that.getList({currentTarget:{dataset:{id:99999}}});
18
+  }, 
19
+  getList:function(e){
20
+    var that = this;
21
+    var pageindex="&PageIndex="+e.currentTarget.dataset.id;
22
+  
23
+    var url = 'GetShareWall?UserID=' + app.globalData.userInfo.UserID+pageindex;
24
+    main.getData(url, function (data) {
25
+      
26
+      that.setData({
27
+        Info:data,
28
+      });
29
+      
30
+    });
31
+  },
32
+  gotoDetail:function(e){
33
+    var id=e.currentTarget.dataset.id;
34
+    var ismilestone=e.currentTarget.dataset.ismilestone;
35
+    if (ismilestone || e.currentTarget.dataset.image){
36
+      wx.navigateTo({
37
+        url: "./shareitem?TaskID="+id+"&Day="+e.currentTarget.dataset.day,
38
+      });
39
+    }
40
+    else if (!e.currentTarget.dataset.image){
41
+      wx.navigateTo({
42
+        url: "./shareitem?TaskID="+id+"&IsHistory=1&Day="+e.currentTarget.dataset.day,
43
+      });
44
+    }
45
+
46
+  },
47
+  onShareAppMessage: function () {
48
+    return {
49
+      title: app.globalData.ShareTitle,
50
+      path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
51
+      imageUrl: app.globalData.ShareImage,
52
+    }
53
+  },
54
+})

+ 6 - 0
pages/share/sharewall.json

@@ -0,0 +1,6 @@
1
+{
2
+  "navigationBarBackgroundColor": "#2E2E2E",
3
+  "navigationBarTextStyle": "white",
4
+  "backgroundColorTop":"#2E2E2E",
5
+  "navigationBarTitleText": "接力墙"
6
+}

+ 28 - 0
pages/share/sharewall.wxml

@@ -0,0 +1,28 @@
1
+<view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
2
+  <scroll-view scroll-x class="panel0 FlexRow">
3
+    <view class="panel00"></view>
4
+    <view bindtap="getList" data-id="{{item.PageIndex}}" class="text0_{{item.IsSelected}} text0" wx:for="{{Info.Menu}}" wx:key="*this">{{item.Name}}</view>
5
+    <view class="panel00"></view>
6
+  </scroll-view>
7
+  <view class="lineWidthAll FlexRow">
8
+    <view class="lineWidth720"></view>
9
+  </view>
10
+  <view class="panel1 FlexColumn">
11
+    <view class="text1">接力记录</view>
12
+    <view class="panel11 FlexRow">
13
+      <view class="text2">{{Info.DateStart}} - {{Info.DateEnd}}</view>
14
+    </view>
15
+  </view>
16
+
17
+  <view class="panel2 FlexRow">
18
+    <view class="panelImage{{item.IsMilestone}} panelImage FlexColumn" 
19
+    style="border-color:{{item.Color1}};background-color: {{item.Color2}};" 
20
+    wx:for="{{Info.List}}" wx:key="*this" bindtap="gotoDetail" data-id="{{item.ID}}" data-image="{{item.Image}}" data-day="{{item.DayNumber}}" data-ismilestone="{{item.IsMilestone}}">
21
+      <image wx:if="{{!item.IsMilestone && item.Image}}" class="img" lazy-load="true" src="{{item.Image}}"></image>
22
+      <view class="img2 img" wx:if="{{!item.IsMilestone}}" ></view>
23
+      <view class="text5" wx:if="{{!item.IsMilestone}}">{{item.DayNumber}}th</view>
24
+      <image wx:if="{{item.IsMilestone}}" class="icon_relay_1" src="../images/icon_relay_1.png"></image>
25
+      <text class="text4" wx:if="{{item.IsMilestone}}">{{item.Name}}</text>
26
+    </view>
27
+  </view>
28
+</view>

+ 134 - 0
pages/share/sharewall.wxss

@@ -0,0 +1,134 @@
1
+.container {
2
+  background-color: #2E2E2E;
3
+  color: #fff;
4
+}
5
+
6
+.panel0 {
7
+  width: 100%;
8
+  white-space: nowrap;
9
+}
10
+.panel00 {
11
+  width: 30rpx;
12
+  height:73rpx;
13
+  display: inline-block;
14
+}
15
+.panel01 {
16
+  width: 10rpx;
17
+  height:73rpx;
18
+  display: inline-block;
19
+}
20
+
21
+.text0 {
22
+  background-color: #4D4D4D;
23
+  border-radius: 20rpx;
24
+  font-size: 24rpx;
25
+  color: #FFFFFF;
26
+  min-width: 151rpx;
27
+  text-align: center;
28
+  line-height: 73rpx;
29
+  display: inline-block;
30
+  margin-right: 10rpx;
31
+  padding: 0 20rpx;
32
+}
33
+
34
+.text0_1{
35
+  background: #5282FA;
36
+}
37
+
38
+.lineWidthAll{
39
+  width: 100%;
40
+  justify-content: flex-end;
41
+  background-color:#2E2E2E;
42
+  height: 1rpx;
43
+  margin: 30rpx 0 60rpx 0;
44
+}
45
+.lineWidth720{
46
+  background-color: #787878; 
47
+}
48
+.panel1 {
49
+  width: 100%;
50
+  position: relative;
51
+  align-items: flex-start;
52
+}
53
+
54
+.text1 {
55
+  font-size: 36rpx;
56
+  color: #FFFFFF;
57
+  margin-left: 30rpx;
58
+}
59
+
60
+.panel11 {
61
+  width: 100%;
62
+  justify-content: space-between;
63
+  margin-top: 10rpx;
64
+}
65
+
66
+.text2 {
67
+  font-size: 28rpx;
68
+  margin-left: 30rpx;
69
+  color: #9B9B9B;
70
+}
71
+
72
+.text3 {
73
+  font-size: 24rpx;
74
+  color: #5282FA;
75
+  margin-right: 30rpx;
76
+}
77
+
78
+.panel2{
79
+  width:100%;
80
+  margin-top: 30rpx;
81
+  flex-wrap: wrap;
82
+  justify-content: flex-start;
83
+  align-items: flex-start;
84
+}
85
+
86
+.panelImage {
87
+  width:249rpx;
88
+  height:185rpx;
89
+  background: rgba(0,0,0,0.20);
90
+  position: relative;
91
+  margin: 0;
92
+  margin: 0 1rpx 1rpx 0;
93
+}
94
+
95
+.panelImage1 {
96
+  width:209rpx;
97
+  height:145rpx;
98
+  border: 20rpx solid #2E2E2E;
99
+}
100
+
101
+.panelImage .img{
102
+  width:250rpx;
103
+  height:186rpx;
104
+  position: absolute;
105
+  top:0;
106
+  left:0;
107
+}
108
+
109
+
110
+.panelImage .img2{
111
+  background-color: rgba(0,0,0,0.20);
112
+}
113
+
114
+.icon_relay_1{
115
+  width:30rpx;
116
+  height:30rpx;
117
+  margin-bottom: 20rpx;
118
+}
119
+
120
+.text4{
121
+  font-family: Roboto-Black;
122
+  font-size: 24rpx;
123
+  text-align: center;
124
+  z-index: 10;
125
+  color:#D2D2D2;
126
+}
127
+.text5{
128
+  font-family: Roboto-Black;
129
+  font-size: 24rpx;
130
+  color: #D2D2D2;
131
+  position: absolute;
132
+  left:20rpx;
133
+  bottom:20rpx;
134
+}

+ 0 - 2
pages/template/Fan.js

@@ -1,2 +0,0 @@
1
-Page({data: {},});
2
-

+ 0 - 1
pages/template/Fan.json

@@ -1 +0,0 @@
1
-{}

+ 4 - 4
pages/template/cardShow.wxml

@@ -19,14 +19,14 @@
19 19
       </text>
20 20
 
21 21
       <view class="panelSound FlexRow" hover-class='panelSoundHover' hover-stay-time="1000" wx:if="{{item.Type=='sound'}}" catchtap="playSound" data-content="{{item.Content}}" data-soundmark="{{item.SoundMark}}" data-fieldid="1">
22
-        <image class="universalpic_read_mark_black_20x20" src='../images/universalpic_read_mark_black_20x20.png' />
22
+        <image class="universalpic_read_mark_black_20x20" src='../../pages/images/universalpic_read_mark_black_20x20.png' />
23 23
       </view>
24 24
 
25 25
       <view class="textPinyin" hover-class='panelSoundHover1' hover-stay-time="1000" wx:if="{{item.Type=='sound'}}" catchtap="playSound" data-content="{{item.Content}}" data-soundmark="{{item.SoundMark}}" data-fieldid="1">{{item.Content}}</view>
26 26
 
27 27
       <view class="panelRecorder FlexRow" wx:if="{{item.Type=='recorder'}}">
28 28
         <view class="panelRecorder0 FlexRow" hover-class='panelSoundHover' hover-stay-time="1000" catchtap="playSound" data-content="recorder" data-soundmark="{{item.SoundMark}}" data-fieldid="1">
29
-          <image class="universalpic_read_mark_black_20x20" src='../images/universalpic_read_mark_black_20x20.png' />
29
+          <image class="universalpic_read_mark_black_20x20" src='../../pages/images/universalpic_read_mark_black_20x20.png' />
30 30
         </view>
31 31
       </view>
32 32
 
@@ -75,14 +75,14 @@
75 75
           </text>
76 76
 
77 77
           <view class="panelSound FlexRow" hover-class='panelSoundHover' hover-stay-time="1000" wx:if="{{item.Type=='sound'}}" catchtap="playSound" data-content="{{item.Content}}" data-soundmark="{{item.SoundMark}}" data-fieldid="{{itemParent}}">
78
-            <image class="universalpic_read_mark_black_20x20" src='../images/universalpic_read_mark_black_20x20.png' />
78
+            <image class="universalpic_read_mark_black_20x20" src='../../pages/images/universalpic_read_mark_black_20x20.png' />
79 79
           </view>
80 80
 
81 81
           <view class="textPinyin" hover-class='panelPinyinHover1' hover-stay-time="1000" wx:if="{{item.Type=='sound'}}" catchtap="playSound" data-content="{{item.Content}}" data-soundmark="{{item.SoundMark}}" data-fieldid="{{itemParent}}">{{item.Content}}</view>
82 82
 
83 83
           <view class="panelRecorder FlexRow" wx:if="{{item.Type=='recorder'}}">
84 84
             <view class="panelRecorder0 FlexRow" hover-class='panelSoundHover' hover-stay-time="1000" catchtap="playSound" data-content="recorder" data-soundmark="{{item.SoundMark}}" data-fieldid="{{itemParent}}">
85
-              <image class="universalpic_read_mark_black_20x20" src='../images/universalpic_read_mark_black_20x20.png' />
85
+              <image class="universalpic_read_mark_black_20x20" src='../../pages/images/universalpic_read_mark_black_20x20.png' />
86 86
             </view>
87 87
           </view>
88 88
           <view class="imageContainer2 FlexColumn" wx:if="{{item.Type=='image'}}" style='width:{{item.Width}}rpx;height:{{item.Height}}rpx;'>

+ 1 - 1
pages_agent/marketing/shareuser.js

@@ -75,7 +75,7 @@ Page({
75 75
                   var canvas = wx.createCanvasContext("shareCanvas", that);
76 76
                   canvas.drawImage(imageUrl, 0, 0, 750, 1110);
77 77
                   canvas.drawImage(res2.tempFilePath, 30, 995, 70, 70);
78
-                  canvas.drawImage("../../pages_agent/images/promotion_face_circle.png", 30, 995, 70, 70);
78
+                  canvas.drawImage("../../pages/images/promotion_face_circle.png", 30, 995, 70, 70);
79 79
                   canvas.drawImage(res.tempFilePath, 600, 970, 120, 120);
80 80
                   
81 81
                   canvas.draw(1, function (n) {

pages/images/examine_clipboard_200x200.png → pages_test/images/examine_clipboard_200x200.png


pages/images/examine_clipboard_80x80.png → pages_test/images/examine_clipboard_80x80.png


pages/images/examine_subject_a001.png → pages_test/images/examine_subject_a001.png


pages/images/examine_subject_a002.png → pages_test/images/examine_subject_a002.png


pages/images/examine_subject_a003.png → pages_test/images/examine_subject_a003.png


pages/images/examine_subject_a004.png → pages_test/images/examine_subject_a004.png


pages/images/examine_subject_a005.png → pages_test/images/examine_subject_a005.png


pages/images/examine_subject_a006.png → pages_test/images/examine_subject_a006.png


pages/images/examine_subject_a007.png → pages_test/images/examine_subject_a007.png


pages/images/examine_subject_a008.png → pages_test/images/examine_subject_a008.png


pages/images/examine_subject_a009.png → pages_test/images/examine_subject_a009.png


pages/images/examine_subject_a010.png → pages_test/images/examine_subject_a010.png


pages/images/examine_subject_a011.png → pages_test/images/examine_subject_a011.png


pages/images/examine_subject_a012.png → pages_test/images/examine_subject_a012.png


pages/images/examine_subject_a013.png → pages_test/images/examine_subject_a013.png


pages/images/examine_subject_a014.png → pages_test/images/examine_subject_a014.png


pages/images/examine_subject_a015.png → pages_test/images/examine_subject_a015.png


pages/images/examine_subject_a016.png → pages_test/images/examine_subject_a016.png


pages/images/examine_subject_a017.png → pages_test/images/examine_subject_a017.png


pages/images/examine_subject_a018.png → pages_test/images/examine_subject_a018.png


pages/images/examine_subject_b001.png → pages_test/images/examine_subject_b001.png


pages/images/examine_subject_b002.png → pages_test/images/examine_subject_b002.png


pages/images/examine_subject_b003.png → pages_test/images/examine_subject_b003.png


pages/images/examine_subject_b004.png → pages_test/images/examine_subject_b004.png


pages/images/examine_subject_b005.png → pages_test/images/examine_subject_b005.png


pages/images/examine_subject_c001.png → pages_test/images/examine_subject_c001.png


pages/images/examine_subject_c002.png → pages_test/images/examine_subject_c002.png


pages/images/examine_subject_c003.png → pages_test/images/examine_subject_c003.png


pages/images/examine_subject_c004.png → pages_test/images/examine_subject_c004.png


pages/images/examine_subjecticon_01.png → pages_test/images/examine_subjecticon_01.png


+ 0 - 0
pages/images/examine_willread_gray_22x22.png


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä