Commit e88d3aff0947f82682c212a5a8b8113eb013a930

Authored by abson
1 parent 94f36a72

测肤报告分享海报

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
... ...