Commit e88d3aff0947f82682c212a5a8b8113eb013a930
1 parent
94f36a72
测肤报告分享海报
Showing
5 changed files
with
211 additions
and
79 deletions
packageD/pages/AI-test-skin/history_record/history_record.js
... | ... | @@ -10,15 +10,15 @@ let initChart = null; |
10 | 10 | const option = { |
11 | 11 | backgroundColor: 'white', |
12 | 12 | tooltip: {}, |
13 | - grid:{ | |
13 | + grid: { | |
14 | 14 | // left:'20%', |
15 | - top:'30%', | |
15 | + top: '30%', | |
16 | 16 | // right:'10%' |
17 | 17 | }, |
18 | 18 | legend: { |
19 | 19 | icon: 'circle', |
20 | - itemWidth: 5, | |
21 | - itemHeight: 5, | |
20 | + itemWidth: 5, | |
21 | + itemHeight: 5, | |
22 | 22 | selected: { |
23 | 23 | '综合': true, |
24 | 24 | '毛孔': false, |
... | ... | @@ -29,7 +29,7 @@ const option = { |
29 | 29 | '敏感度': false, |
30 | 30 | '黑眼圈': false, |
31 | 31 | }, |
32 | - padding:[20,50], | |
32 | + padding: [20, 50], | |
33 | 33 | data: [ |
34 | 34 | { |
35 | 35 | name: '综合', |
... | ... | @@ -183,7 +183,57 @@ Page({ |
183 | 183 | * 生命周期函数--监听页面加载 |
184 | 184 | */ |
185 | 185 | onLoad: function (options) { |
186 | + let url = `/api/weshop/face/storeSkinface/page`; | |
187 | + app.request.promiseGet(url, { | |
188 | + isShowLoading: true, | |
189 | + data: { | |
190 | + store_id: setting.stoid, | |
191 | + user_id: os.user_id, | |
192 | + } | |
193 | + }).then(res => { | |
194 | + console.log('111111111', res); | |
195 | + if (ut.ajax_ok(res)) { | |
196 | + let data = res.data.data.pageData; | |
197 | + let arr = []; | |
198 | + for (let i = 0; i < data.length; i++) { | |
199 | + let history = data[i]; | |
200 | + let id = history.id; | |
201 | + let now = new Date(history['addtime'] * 1000); | |
202 | + let year = now.getFullYear(); //年 | |
203 | + let month = (now.getMonth() + 1).toString().padStart(2, 0); //月 | |
204 | + let day = (now.getDate()).toString().padStart(2, 0); //日 | |
205 | + let hour = (now.getHours()).toString().padStart(2, 0); //时 | |
206 | + let minute = (now.getMinutes()).toString().padStart(2, 0); //分 | |
207 | + let history_time = `${year}年${month}月`; | |
208 | + let time = `${year}/${month}/${day} ${hour}:${minute}`; | |
209 | + let time_obj = { | |
210 | + history_time, | |
211 | + time_arr: new Array(), | |
212 | + }; | |
213 | + if (arr.length > 0) { | |
214 | + let index = arr.findIndex(item => { | |
215 | + return item['history_time'] === history_time; | |
216 | + }) | |
217 | + if (index > -1) { | |
218 | + let obj = { | |
219 | + time, | |
220 | + id, | |
221 | + }; | |
222 | + arr[index]['time_arr'].push(obj); | |
223 | + } else { | |
224 | + arr.push(time_obj); | |
225 | + } | |
226 | + } else { | |
227 | + arr.push(time_obj); | |
228 | + } | |
229 | + } | |
230 | + this.setData({ | |
231 | + history: arr, | |
232 | + }) | |
233 | + initChart.setOption(option); | |
234 | + } | |
186 | 235 | |
236 | + }) | |
187 | 237 | }, |
188 | 238 | |
189 | 239 | /** |
... | ... | @@ -192,17 +242,18 @@ Page({ |
192 | 242 | onReady: function () { |
193 | 243 | |
194 | 244 | }, |
195 | - initChartOption() { | |
196 | - initChart.setOption(option); | |
197 | - }, | |
245 | + | |
198 | 246 | /** |
199 | 247 | * 生命周期函数--监听页面显示 |
200 | 248 | */ |
201 | 249 | onShow: function () { |
202 | 250 | setTimeout(() => { |
203 | - initChart.setOption(option); | |
251 | + | |
204 | 252 | }, 1000); |
205 | 253 | }, |
254 | + go_result(e) { | |
255 | + | |
256 | + }, | |
206 | 257 | |
207 | 258 | /** |
208 | 259 | * 生命周期函数--监听页面隐藏 | ... | ... |
packageD/pages/AI-test-skin/history_record/history_record.wxml
... | ... | @@ -11,57 +11,11 @@ |
11 | 11 | <view class="mgv5">历史报告</view> |
12 | 12 | |
13 | 13 | <view class="history_list"> |
14 | - <view class="history_list_month"> | |
15 | - <view style="color:#333;font-size:26rpx;margin-top: 30rpx">2022年02月</view> | |
16 | - <view class="souce"> | |
17 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
18 | - <view style="color:#fbb11f;">73分</view> | |
19 | - </view> | |
20 | - <view class="souce"> | |
21 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
22 | - <view style="color:#fbb11f;">73分</view> | |
23 | - </view> | |
24 | - <view class="souce"> | |
25 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
26 | - <view style="color:#fbb11f;">73分</view> | |
27 | - </view> | |
28 | - <view class="souce"> | |
29 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
30 | - <view style="color:#fbb11f;">73分</view> | |
31 | - </view> | |
32 | - <view class="souce"> | |
33 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
34 | - <view style="color:#fbb11f;">73分</view> | |
35 | - </view> | |
36 | - <view class="souce"> | |
37 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
38 | - <view style="color:#fbb11f;">73分</view> | |
39 | - </view> | |
40 | - <view class="souce"> | |
41 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
42 | - <view style="color:#fbb11f;">73分</view> | |
43 | - </view> | |
44 | - <view class="souce"> | |
45 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
46 | - <view style="color:#fbb11f;">73分</view> | |
47 | - </view> | |
48 | - <view class="souce"> | |
49 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
50 | - <view style="color:#fbb11f;">73分</view> | |
51 | - </view> | |
52 | - </view> | |
53 | - <view class="history_list_month"> | |
54 | - <view style="color:#333;font-size:26rpx;margin-top: 30rpx">2022年02月</view> | |
55 | - <view class="souce"> | |
56 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
57 | - <view style="color:#fbb11f;">73分</view> | |
58 | - </view> | |
59 | - </view> | |
60 | - <view class="history_list_month"> | |
61 | - <view style="color:#333;font-size:26rpx;margin-top: 30rpx">2022年02月</view> | |
62 | - <view class="souce"> | |
63 | - <view style="font-weight: 600;">2022/02/19 15:35</view> | |
64 | - <view style="color:#fbb11f;">73分</view> | |
14 | + <view class="history_list_month" wx:for="{{history}}"> | |
15 | + <view style="color:#333;font-size:26rpx;margin-top: 30rpx">{{item.time}}</view> | |
16 | + <view class="souce" wx:for="{{item.time_arr}}" wx:for-item="subitem" wx:for-index="subindex" wx:key="subindex"> | |
17 | + <view style="font-weight: 600;">{{subitem}}</view> | |
18 | + <view style="color: #9b9b9b;" bindtap="go_result">去查看<text style="font-size: 24rpx;" class="iconfont icon-arrow_right"></text></view> | |
65 | 19 | </view> |
66 | 20 | </view> |
67 | 21 | </view> | ... | ... |
packageD/pages/AI-test-skin/success_result/success_result.js
1 | 1 | /* |
2 | 2 | * @Author: abson |
3 | 3 | * @Date: 2022-02-16 15:36:47 |
4 | - * @LastEditTime: 2022-02-22 16:16:59 | |
4 | + * @LastEditTime: 2022-02-22 20:52:12 | |
5 | 5 | * @LastEditors: Please set LastEditors |
6 | 6 | * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
7 | 7 | * @FilePath: \MShopWeApp\packageB\pages\AI-test-skin\success_result\success_result.js |
... | ... | @@ -285,6 +285,8 @@ Page({ |
285 | 285 | close_dialog() { |
286 | 286 | this.setData({ |
287 | 287 | showDialog: false, |
288 | + share_flag:false, | |
289 | + img_scale:true, | |
288 | 290 | }) |
289 | 291 | }, |
290 | 292 | |
... | ... | @@ -362,6 +364,14 @@ Page({ |
362 | 364 | }) |
363 | 365 | }, |
364 | 366 | |
367 | + click_share(){ | |
368 | + this.setData({ | |
369 | + share_flag:true, | |
370 | + img_scale:false, | |
371 | + showDialog:true, | |
372 | + }) | |
373 | + }, | |
374 | + | |
365 | 375 | //图片加载的时候,计算图片的像素大小 |
366 | 376 | face_img_load: function (e) { |
367 | 377 | var th = this; | ... | ... |
packageD/pages/AI-test-skin/success_result/success_result.wxml
... | ... | @@ -97,11 +97,12 @@ |
97 | 97 | |
98 | 98 | |
99 | 99 | <view class="mask" catchtap="close_mask" wx:if="{{showDialog}}"></view> |
100 | -<cover-view class="share fs28"> | |
100 | +<cover-view bindtap="click_share" class="share fs28"> | |
101 | 101 | <cover-view class="iconfont icon-zhuanfa1" style="padding: 0 10rpx;"></cover-view> |
102 | 102 | <cover-view>分享</cover-view> |
103 | 103 | </cover-view> |
104 | 104 | |
105 | + | |
105 | 106 | <view class="dialog {{img_scale?'scale':'fangda'}}" wx:if="{{showDialog}}"> |
106 | 107 | <!-- 局部放大的 --> |
107 | 108 | <block wx:if="{{img_scale}}"> |
... | ... | @@ -111,15 +112,15 @@ |
111 | 112 | <image src="{{iurl}}{{face_img}}" bindload="face_img_load" style="width: 100%;height: 100%;"></image> |
112 | 113 | |
113 | 114 | <block wx:if="{{yanjing}}"> |
114 | - <!-- 显示毛孔 --> | |
115 | - <block wx:if="{{show_type==1}}"> | |
116 | - <block wx:for="{{pore_list}}"> | |
117 | - <view class="abs p_circle" style="left:{{(item.x-item.r)*bili}}px; top:{{(item.y-item.r)*bili}}px; height:{{2*item.r*bili}}px;width: {{2*item.r*bili}}px"></view> | |
118 | - </block> | |
119 | - </block> | |
115 | + <!-- 显示毛孔 --> | |
116 | + <block wx:if="{{show_type==1}}"> | |
117 | + <block wx:for="{{pore_list}}"> | |
118 | + <view class="abs p_circle" style="left:{{(item.x-item.r)*bili}}px; top:{{(item.y-item.r)*bili}}px; height:{{2*item.r*bili}}px;width: {{2*item.r*bili}}px"></view> | |
119 | + </block> | |
120 | + </block> | |
120 | 121 | <!-- 显示色斑 --> |
121 | 122 | <block wx:if="{{show_type==2}}"> |
122 | - <block wx:for="{{speckle_list}}" > | |
123 | + <block wx:for="{{speckle_list}}"> | |
123 | 124 | <block wx:for="{{item.position}}" wx:for-item="bitem"> |
124 | 125 | <view class="abs p_point" style="left:{{(bitem.x)*bili}}px; top:{{(bitem.y)*bili}}px;"></view> |
125 | 126 | </block> |
... | ... | @@ -127,15 +128,15 @@ |
127 | 128 | </block> |
128 | 129 | <!-- 显示皱纹 --> |
129 | 130 | <block wx:if="{{show_type==3}}"> |
130 | - <block wx:for="{{wrinkle_list}}" > | |
131 | + <block wx:for="{{wrinkle_list}}"> | |
131 | 132 | <block wx:for="{{item}}" wx:for-item="bitem"> |
132 | - <view class="abs p_point" style="left:{{(bitem.x)*bili}}px; top:{{(bitem.y)*bili}}px;"></view> | |
133 | + <view class="abs p_point" style="left:{{(bitem.x)*bili}}px; top:{{(bitem.y)*bili}}px;"></view> | |
133 | 134 | </block> |
134 | 135 | </block> |
135 | 136 | </block> |
136 | 137 | <!-- 显示黑头 --> |
137 | 138 | <block wx:if="{{show_type==4}}"> |
138 | - <block wx:for="{{blackhead_list}}" > | |
139 | + <block wx:for="{{blackhead_list}}"> | |
139 | 140 | <block wx:for="{{item}}" wx:for-item="bitem"> |
140 | 141 | <view class="abs p_circle" style="left:{{(item.x-item.r)*bili}}px; top:{{(item.y-item.r)*bili}}px; height:{{2*item.r*bili}}px;width: {{2*item.r*bili}}px"></view> |
141 | 142 | </block> |
... | ... | @@ -192,7 +193,44 @@ |
192 | 193 | </view> |
193 | 194 | </view> |
194 | 195 | </block> |
196 | + <block wx:elif="{{share_flag}}"> | |
197 | + <view class="dialog_icon" catchtap="close_dialog" style="justify-content: flex-start;"> | |
198 | + <text class="iconfont icon-guan mt20" style="z-index: 999;font-size: 20rpx;"></text> | |
199 | + </view> | |
200 | + <view class="share_dialog"> | |
201 | + <view class="fs24" style="width: 50%;"> | |
202 | + <view style="color: #6adaec;margin-bottom:20rpx;">官方检测认证</view> | |
203 | + <view class="renzheng">我的肌底强韧肌肤鲜活润泽</view> | |
204 | + </view> | |
205 | + <view class="analyse1"> | |
206 | + <view class="analyse_left1"> | |
207 | + <view class="mark1">毛孔 {{pore_num}}</view> | |
208 | + <view class="mark1" style="margin: 40rpx 0;">色斑 {{speckle_num}}</view> | |
209 | + <view class="mark1">黑眼圈 {{s_filter.get_dark_type(dark_type)}}</view> | |
210 | + </view> | |
211 | + <view class="analyse_center1"> | |
212 | + <image style="width: 100%;height: 100%;" wx:if="{{sex === 'female'}}" src="{{iurl}}/miniapp/images/skinimg/nv.png"></image> | |
213 | + <image style="width: 100%;height: 100%;" wx:else src="{{iurl}}/miniapp/images/skinimg/nan.png"></image> | |
214 | + </view> | |
215 | + <view class="analyse_right1"> | |
216 | + <view class="mark1">黑头 {{blackhead_num}}</view> | |
217 | + <view class="mark1" style="margin: 40rpx 0;">皱纹 {{wrinkle_num}}</view> | |
218 | + <view class="mark1">痤疮 {{acne_num}}</view> | |
219 | + </view> | |
220 | + </view> | |
221 | + | |
222 | + <view class="share_dialog_bottom"> | |
223 | + <image style="width: 80rpx;height: 80rpx;margin:0 20rpx 0 10rpx" src="{{iurl}}/miniapp/images/skinimg/heiyanquan.png"></image> | |
224 | + <view style="font-size: 24rpx;"> | |
225 | + <view>美肤管家AI测肤</view> | |
226 | + <view>科学了解皮肤的真实状态</view> | |
227 | + </view> | |
228 | + </view> | |
229 | + </view> | |
230 | + </block> | |
195 | 231 | <!-- 全图的,能够自由拖拽和放大 --> |
232 | + | |
233 | + <!-- 缩小 --> | |
196 | 234 | <block wx:else> |
197 | 235 | <view bindtouchstart='touchstartCallback' bindtouchmove='touchmoveCallback' |
198 | 236 | style="position: relative;transform: scale(img_scale);top: {{img_top}}px; left: {{img_left}}px;"> |
... | ... | @@ -207,7 +245,7 @@ |
207 | 245 | </block> |
208 | 246 | <!-- 显示色斑 --> |
209 | 247 | <block wx:if="{{show_type==2}}"> |
210 | - <block wx:for="{{speckle_list}}" > | |
248 | + <block wx:for="{{speckle_list}}"> | |
211 | 249 | <block wx:for="{{item.position}}" wx:for-item="bitem"> |
212 | 250 | <view class="abs p_point" style="left:{{(bitem.x)*bili1}}px; top:{{(bitem.y)*bili1}}px;"></view> |
213 | 251 | </block> |
... | ... | @@ -215,7 +253,7 @@ |
215 | 253 | </block> |
216 | 254 | <!-- 显示皱纹 --> |
217 | 255 | <block wx:if="{{show_type==3}}"> |
218 | - <block wx:for="{{wrinkle_list}}" > | |
256 | + <block wx:for="{{wrinkle_list}}"> | |
219 | 257 | <block wx:for="{{item}}" wx:for-item="bitem"> |
220 | 258 | <view class="abs p_point" style="left:{{(bitem.x)*bili1}}px; top:{{(bitem.y)*bili1}}px;"></view> |
221 | 259 | </block> |
... | ... | @@ -224,7 +262,7 @@ |
224 | 262 | |
225 | 263 | <!-- 显示黑头 --> |
226 | 264 | <block wx:if="{{show_type==4}}"> |
227 | - <block wx:for="{{blackhead_list}}" > | |
265 | + <block wx:for="{{blackhead_list}}"> | |
228 | 266 | <block wx:for="{{item}}" wx:for-item="bitem"> |
229 | 267 | <view class="abs p_circle" style="left:{{(item.x-item.r)*bili1}}px; top:{{(item.y-item.r)*bili1}}px; height:{{2*item.r*bili1}}px;width: {{2*item.r*bili1}}px"></view> |
230 | 268 | </block> | ... | ... |
packageD/pages/AI-test-skin/success_result/success_result.wxss
... | ... | @@ -51,6 +51,13 @@ page { |
51 | 51 | justify-content: center; |
52 | 52 | /* justify-content: space-evenly; */ |
53 | 53 | } |
54 | +.analyse1 { | |
55 | + display: flex; | |
56 | + align-items: center; | |
57 | + margin: 50rpx 0 100rpx 0; | |
58 | + justify-content: center; | |
59 | + /* justify-content: space-evenly; */ | |
60 | +} | |
54 | 61 | |
55 | 62 | .analyse .mark { |
56 | 63 | padding: 4rpx 12rpx; |
... | ... | @@ -58,6 +65,12 @@ page { |
58 | 65 | background: #fff; |
59 | 66 | border-radius: 20rpx; |
60 | 67 | } |
68 | +.analyse1 .mark1 { | |
69 | + padding: 3rpx; | |
70 | + font-size: 24rpx; | |
71 | + background: #fff; | |
72 | + border-radius: 20rpx; | |
73 | +} | |
61 | 74 | |
62 | 75 | .analyse .analyse_left { |
63 | 76 | position: relative; |
... | ... | @@ -72,6 +85,23 @@ page { |
72 | 85 | width: 400rpx; |
73 | 86 | height: 400rpx; |
74 | 87 | } |
88 | +.analyse1 .analyse_center1 { | |
89 | + position: relative; | |
90 | + background: #c9f0f9; | |
91 | + border-radius: 50%; | |
92 | + width: 300rpx; | |
93 | + height: 300rpx; | |
94 | +} | |
95 | +.analyse1 .analyse_left1 { | |
96 | + position: relative; | |
97 | + right: -25rpx; | |
98 | + z-index: 2; | |
99 | +} | |
100 | +.analyse1 .analyse_right1 { | |
101 | + position: relative; | |
102 | + right: 25rpx; | |
103 | + z-index: 2; | |
104 | +} | |
75 | 105 | |
76 | 106 | .analyse_center .lianxian { |
77 | 107 | position: absolute; |
... | ... | @@ -303,6 +333,21 @@ page { |
303 | 333 | background-color: rgb(193 235 241 / 50%) |
304 | 334 | } |
305 | 335 | |
336 | +.renzheng { | |
337 | + position: relative; | |
338 | + font-size: 38rpx; | |
339 | + font-weight: 600; | |
340 | +} | |
341 | +.renzheng::after { | |
342 | + position: absolute; | |
343 | + content: ""; | |
344 | + bottom: 0; | |
345 | + display: block; | |
346 | + width: 100%; | |
347 | + height: 20rpx; | |
348 | + background-color: rgb(193 235 241 / 50%) | |
349 | +} | |
350 | + | |
306 | 351 | .analyse_classify_foot .shoushu { |
307 | 352 | padding: 5%; |
308 | 353 | display: flex; |
... | ... | @@ -418,7 +463,7 @@ page { |
418 | 463 | justify-content: center; |
419 | 464 | align-items: center; |
420 | 465 | color: #fff; |
421 | - background-color: #1f1919; | |
466 | + background-color: #333; | |
422 | 467 | border-radius: 50%; |
423 | 468 | width: 50rpx; |
424 | 469 | height: 50rpx; |
... | ... | @@ -547,10 +592,44 @@ page { |
547 | 592 | background: #fff; |
548 | 593 | } |
549 | 594 | |
550 | -.abs{position: absolute} | |
551 | -.p_circle{ border: 1rpx solid #c8162c;border-radius: 50%} | |
552 | -.p_point{background-color:#c8162c;height:2px;width:2px} | |
595 | +.abs { | |
596 | + position: absolute | |
597 | +} | |
598 | + | |
599 | +.p_circle { | |
600 | + border: 1rpx solid #c8162c; | |
601 | + border-radius: 50% | |
602 | +} | |
603 | + | |
604 | +.p_point { | |
605 | + background-color: #c8162c; | |
606 | + height: 2px; | |
607 | + width: 2px | |
608 | +} | |
553 | 609 | |
554 | 610 | .xc-spacing { |
555 | 611 | letter-spacing: 4rpx; |
612 | +} | |
613 | + | |
614 | +.share_dialog { | |
615 | + background: #e8f5fd; | |
616 | + height: 100%; | |
617 | + padding: 40rpx; | |
618 | + display: flex; | |
619 | + flex-direction: column; | |
620 | + justify-content: space-around; | |
621 | +} | |
622 | + | |
623 | +.share_dialog .share_dialog_center { | |
624 | + width: 400rpx; | |
625 | + height: 400rpx; | |
626 | + margin: 30rpx 0; | |
627 | + align-self: center; | |
628 | +} | |
629 | + | |
630 | +.share_dialog .share_dialog_bottom { | |
631 | + background: #fff; | |
632 | + display: flex; | |
633 | + padding: 30rpx; | |
634 | + border-radius: 20rpx; | |
556 | 635 | } |
557 | 636 | \ No newline at end of file | ... | ... |