Commit 046a9e0c32a2de44d2ff60e95362574ab949832b

Authored by yvan.ni
1 parent 65e5759a

测肤功能的优化

Showing 28 changed files with 1562 additions and 622 deletions
packageB/pages/AI-test-skin/analyse/analyse.js
@@ -29,7 +29,11 @@ Page({ @@ -29,7 +29,11 @@ Page({
29 this.timer(); 29 this.timer();
30 //接口开始分析 30 //接口开始分析
31 setTimeout(function () { 31 setTimeout(function () {
32 - th.analysis_img(); 32 + //th.analysis_img();
  33 + //先检验一下图片
  34 + th.img_check(function () {
  35 +
  36 + });
33 },800) 37 },800)
34 38
35 }, 39 },
@@ -195,31 +199,186 @@ Page({ @@ -195,31 +199,186 @@ Page({
195 199
196 }, 200 },
197 201
198 - analysis_img:function () { 202 + //检查图片有没有OK
  203 + img_check:function (func) {
199 var th=this; 204 var th=this;
200 var data={ 205 var data={
201 "appid": "25521854", 206 "appid": "25521854",
202 "image": getApp().globalData.face_SourceImg, 207 "image": getApp().globalData.face_SourceImg,
203 - "face_field": "color,smooth,acnespotmole,wrinkle,eyesattr,blackheadpore,skinface,skinquality", 208 + "face_field": "age,expression,face_shape,gender,glasses,landmark,landmark150,quality,eye_status,emotion,face_type,mask,spoofing",
204 "image_type": "URL" 209 "image_type": "URL"
205 } 210 }
  211 + //开始调用接口,进行对图片进行判断是否符合标准
  212 + this.json_post("/api/weshop/baidubce/face/skindetect",data,function (res) {
  213 + if(res.data.code==0){
  214 + //检查的字段存储
  215 + var check_data=th.data.check_data=res.data.data;
  216 + check_data=check_data.face_list[0];
  217 + console.log(check_data);
  218 + //检查睁眼闭眼
  219 + var eye_status=check_data.eye_status;
  220 + if(eye_status.left_eye>0.1 || eye_status.right_eye>0.1) {
  221 + var msg="未闭眼拍照";
  222 + th.go_error(msg);
  223 + return false;
  224 + }
  225 + //检查是不是有带眼镜
  226 + if(check_data.glasses.type!='none'){
  227 + var msg="有佩戴眼镜";
  228 + th.go_error(msg);
  229 + return false;
  230 + }
  231 + //检查头部的角度
  232 + var angle=check_data.angle;
  233 + if(Math.abs(angle.Pitch)>20) {
  234 + var msg="头部的俯仰角度过大";
  235 + th.go_error(msg);
  236 + return false;
  237 + }
  238 + if(Math.abs(angle.Roll)>20) {
  239 + var msg="头部的平面角度过大";
  240 + th.go_error(msg);
  241 + return false;
  242 + }
  243 + if(Math.abs(angle.Yaw)>20) {
  244 + var msg="头部的左右角度过大";
  245 + th.go_error(msg);
  246 + return false;
  247 + }
  248 + var quality=check_data.quality;
  249 + if(quality.blur>0.7){
  250 + var msg="图片模糊";
  251 + th.go_error(msg);
  252 + return false;
  253 + }
  254 + //开始检查遮挡
  255 + var occlusion=check_data.quality.occlusion;
  256 + if(occlusion.left_eye >0.6){
  257 + var msg="左眼被遮挡";
  258 + th.go_error(msg);
  259 + return false;
  260 + }
  261 + if(occlusion.right_eye>0.6){
  262 + var msg="右眼被遮挡";
  263 + th.go_error(msg);
  264 + return false;
  265 + }
  266 + if(occlusion.nose>0.7){
  267 + var msg="鼻子被遮挡";
  268 + th.go_error(msg);
  269 + return false;
  270 + }
  271 + if(occlusion.mouth>0.7){
  272 + var msg="嘴巴被遮挡";
  273 + th.go_error(msg);
  274 + return false;
  275 + }
  276 + if(occlusion.left_cheek >0.8){
  277 + var msg="左脸颊被遮挡";
  278 + th.go_error(msg);
  279 + return false;
  280 + }
  281 + if(occlusion.right_cheek >0.8){
  282 + var msg="右脸颊被遮挡";
  283 + th.go_error(msg);
  284 + return false;
  285 + }
  286 + if(occlusion.chin_contour >0.6){
  287 + var msg="下巴颊被遮挡";
  288 + th.go_error(msg);
  289 + return false;
  290 + }
  291 + if(quality.illumination<40){
  292 + var msg="图像光照不足";
  293 + th.go_error(msg);
  294 + return false;
  295 + }
  296 + if(quality.completeness=0){
  297 + var msg="人脸未显示完整";
  298 + th.go_error(msg);
  299 + return false;
  300 + }
  301 + //-- 开始调用分析的接口 --
  302 + var face_token=check_data.face_token;
  303 + var data={
  304 + "image": face_token,
  305 + "face_field": "color,smooth,acnespotmole,wrinkle,eyesattr,blackheadpore,skinface,skinquality",
  306 + "image_type": "FACE_TOKEN"
  307 + }
  308 + th.analysis_img(data);
  309 + }else{
  310 + var msg=th.data.err_map[res.data.code+""];
  311 + th.go_error(msg);
  312 + }
  313 + })
  314 + },
  315 +
  316 + //跳转到错误页面
  317 + go_error:function (msg) {
  318 + let url = "/packageB/pages/AI-test-skin/fail_result/fail_result?msg="+msg; //跳到分析页
  319 + wx.redirectTo({
  320 + url: url
  321 + });
  322 + },
206 323
  324 + analysis_img:function (data) {
  325 + var th=this;
207 //开始调用接口,进行分析 326 //开始调用接口,进行分析
208 - getApp().request.json_post("/api/weshop/baidubce/face/skinAnalyze",data,function (res) { 327 + this.json_post("/api/weshop/baidubce/face/skinAnalyze",data,function (res) {
209 if(res.data.code==0){ 328 if(res.data.code==0){
210 - wx.showToast({  
211 - title: "分析成功",  
212 - icon: 'success',  
213 - duration: 2000  
214 - });  
215 getApp().globalData.face_result=res.data.data; 329 getApp().globalData.face_result=res.data.data;
  330 + var req_data={
  331 + store_id:setting.stoid,
  332 + user_id:getApp().globalData.user_id,
  333 + img:getApp().globalData.face_img,
  334 + sourceimg:getApp().globalData.face_SourceImg,
  335 + addtime:ut.gettimestamp(),
  336 + resultjson:JSON.stringify(res.data.data),
  337 + detectjson:JSON.stringify(th.data.check_data)
  338 + }
  339 + //要保存一下分析的结果
  340 + th.json_post("/api/weshop/face/storeSkinface/save",req_data,function (res) {
  341 + if(res.data.code==0){
  342 + let url = "/packageB/pages/AI-test-skin/success_result/success_result?id="+res.data.data.id; //跳到分析页
  343 + wx.redirectTo({
  344 + url: url
  345 + })
  346 + }else{
  347 + getApp().showWarning("保存失败");
  348 + }
  349 + })
216 }else{ 350 }else{
217 var msg=th.data.err_map[res.data.code+""]; 351 var msg=th.data.err_map[res.data.code+""];
218 let url = "/packageB/pages/AI-test-skin/fail_result/fail_result?msg="+msg; //跳到分析页 352 let url = "/packageB/pages/AI-test-skin/fail_result/fail_result?msg="+msg; //跳到分析页
219 - app.goto(url); 353 + wx.redirectTo({
  354 + url: url
  355 + })
220 } 356 }
221 }) 357 })
222 - } 358 + },
  359 +
  360 + /**
  361 + * @param {Object} url //url地址
  362 + * @param {Object} data //data入参
  363 + * @param {Object} succ //成功的回调
  364 + * @param {Object} fail //失败的回调
  365 + */
  366 + json_post:function(url,data,succ,fail,mathod){
  367 + var Mathod="POST";
  368 + if (mathod) Mathod = mathod;
  369 + if(url.indexOf("http")==-1) url=getApp().globalData.setting.url +url;
  370 + var str = JSON.stringify(data);
  371 + wx.request({
  372 + url: url,
  373 + data: str,
  374 + method: Mathod,
  375 + header: {
  376 + 'content-type': 'application/json'
  377 + },// 设置请求的 header
  378 + success: function (res) {succ(res); },
  379 + fail:function(res){fail(res);}
  380 + })
  381 + },
223 382
224 383
225 }) 384 })
226 \ No newline at end of file 385 \ No newline at end of file
packageB/pages/AI-test-skin/fail_result/fail_result.js
1 -// packageB/pages/AI-test-skin/fail_result/fail_result.js 1 +/*
  2 + * @Author: your name
  3 + * @Date: 2022-02-15 10:01:57
  4 + * @LastEditTime: 2022-02-16 15:40:54
  5 + * @LastEditors: Please set LastEditors
  6 + * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AEet urkl
  7 + * @FilePath: \MShopWeApp\packageB\pages\AI-test-skin\shoot_notice\shoot_notice.js
  8 + */
  9 +// packageB/pages/AI-test-skin/shoot_notice/shoot_notice.js
  10 +const app = getApp();
  11 +const request = app.request;
  12 +const os = app.globalData;
  13 +const setting = os.setting;
  14 +const ut = require('../../../../utils/util');
2 Page({ 15 Page({
3 16
4 /** 17 /**
5 * 页面的初始数据 18 * 页面的初始数据
6 */ 19 */
7 data: { 20 data: {
8 - 21 + iurl: setting.imghost,
  22 + msg:null,
9 }, 23 },
10 24
11 /** 25 /**
12 * 生命周期函数--监听页面加载 26 * 生命周期函数--监听页面加载
13 */ 27 */
14 onLoad: function (options) { 28 onLoad: function (options) {
15 -  
16 - },  
17 -  
18 - /**  
19 - * 生命周期函数--监听页面初次渲染完成  
20 - */  
21 - onReady: function () {  
22 - 29 + var msg=options.msg;
  30 + msg=decodeURIComponent(msg);
  31 + this.setData({msg:msg});
23 }, 32 },
24 33
25 /** 34 /**
@@ -37,30 +46,18 @@ Page({ @@ -37,30 +46,18 @@ Page({
37 }, 46 },
38 47
39 /** 48 /**
40 - * 生命周期函数--监听页面卸载 49 + * 页面上拉触底事件的处理函数
41 */ 50 */
42 - onUnload: function () { 51 + onReachBottom: function () {
43 52
44 }, 53 },
45 -  
46 - /**  
47 - * 页面相关事件处理函数--监听用户下拉动作  
48 - */  
49 - onPullDownRefresh: function () {  
50 - 54 + //从相册中选择图片
  55 + back_to:function () {
  56 + let url = "/packageB/pages/AI-test-skin/shoot_notice/shoot_notice";
  57 + app.goto(url);
51 }, 58 },
52 59
53 - /**  
54 - * 页面上拉触底事件的处理函数  
55 - */  
56 - onReachBottom: function () {  
57 60
58 - },  
59 61
60 - /**  
61 - * 用户点击右上角分享  
62 - */  
63 - onShareAppMessage: function () {  
64 62
65 - }  
66 }) 63 })
67 \ No newline at end of file 64 \ No newline at end of file
packageB/pages/AI-test-skin/fail_result/fail_result.json
1 { 1 {
2 - "usingComponents": {} 2 + "usingComponents": {},
  3 + "navigationBarTitleText": "分析结果"
3 } 4 }
4 \ No newline at end of file 5 \ No newline at end of file
packageB/pages/AI-test-skin/fail_result/fail_result.wxml
1 -<!--packageB/pages/AI-test-skin/fail_result/fail_result.wxml-->  
2 -<text>packageB/pages/AI-test-skin/fail_result/fail_result.wxml</text> 1 +<view class="content">
  2 + <view class="t_c" style="padding-top: 80rpx">
  3 + <view>
  4 + <view style="position: relative;display: inline-block">
  5 + <text class="iconfont icon-tupian" style="color: #4bd6df;font-size: 80rpx"></text>
  6 + <text class="iconfont icon-prompt-filling" style="color:red;font-size: 40rpx;position:absolute;left: -8rpx;top: 0;"></text>
  7 + </view>
  8 + </view>
  9 + <view style="font-size:32rpx;color: #333">上传图片符合要求</view>
  10 + <view style="font-size: 26rpx;color: #555">请重新更换图片获取相关检测</view>
  11 + <view style="border-bottom: 1rpx solid #eee; margin:0 40rpx;margin-top:40rpx;"></view>
  12 + </view>
  13 +
  14 + <view style="padding:60rpx; padding-bottom: 70rpx;">
  15 + <view style="font-size: 32rpx;">失败原因:</view>
  16 + <view style="font-size: 26rpx;display: flex;align-items: center; margin-top: 20prx">
  17 + <text class="iconfont icon-account" style="font-size: 56rpx;margin-right: 20rpx"></text>
  18 + <view>{{msg}}</view>
  19 + </view>
  20 + </view>
  21 +
  22 +</view>
  23 +<view style="height: 300rpx;background-color: #e7f5fb;">
  24 + <view class="btn_fixed">
  25 + <view class="btn" bindtap="back_to">重新拍照</view>
  26 + </view>
  27 +</view>
3 \ No newline at end of file 28 \ No newline at end of file
packageB/pages/AI-test-skin/fail_result/fail_result.wxss
1 -/* packageB/pages/AI-test-skin/fail_result/fail_result.wxss */  
2 \ No newline at end of file 1 \ No newline at end of file
  2 +/* packageB/pages/AI-test-skin/shoot_notice/shoot_notice.wxss */
  3 +page {
  4 + width: 100vw;
  5 + height: 100%;
  6 + padding: 40rpx 30rpx 0 30rpx;
  7 + box-sizing: border-box;
  8 + background-color: #e7f5fb;
  9 +}
  10 +
  11 +.content {
  12 + width: 100%;
  13 + /* height: 100%; */
  14 + border-radius: 25rpx;
  15 + /* padding: 30rpx; */
  16 + background-color: #fff;
  17 +}
  18 +
  19 +
  20 +
  21 +
  22 +.btn {
  23 +
  24 + /* height: 150rpx; */
  25 + /* margin-left: 50%; */
  26 + margin: 70rpx 0 30rpx 50%;
  27 + transform: translateX(-50%);
  28 + background: #4bd6df;
  29 + padding: 20rpx;
  30 + width: 50%;
  31 + text-align: center;
  32 + border-radius: 40rpx;
  33 + color: #fff;
  34 +}
  35 +.btn_fixed {
  36 + width: 100%;
  37 + bottom: 0;
  38 + height: 300rpx;
  39 + background: #e7f5fb;
  40 +}
  41 +.notice {
  42 + text-align: center;
  43 + color: red;
  44 + font-size: 28rpx;
  45 +}
  46 +
  47 +.cover-layer {
  48 + position: fixed;
  49 + left: 0;
  50 + top: 0;
  51 + right: 0;
  52 + bottom: 0;
  53 + z-index: 11;
  54 + background: rgba(0,0,0,0.4);
  55 + width: 100%;
  56 + height: 100%;
  57 +}
  58 +
  59 +.flex{display: flex}
  60 +.jc-center{
  61 + justify-content: center;
  62 +}
  63 +.ac{align-items: center}
  64 +
  65 +@font-face {
  66 + font-family: 'iconfont';
  67 + /* project id 2125414 */
  68 + src: url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.eot');
  69 + src: url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.eot?#iefix') format('embedded-opentype'),
  70 + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.woff2') format('woff2'),
  71 + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.woff') format('woff'),
  72 + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.ttf') format('truetype'),
  73 + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.svg#iconfont') format('svg');
  74 +}
  75 +
  76 +.icon-pic:before {
  77 + content: "\e620";
  78 +}
  79 +
  80 +.t_c{text-align: center}
  81 +
  82 +
  83 +@font-face {
  84 + font-family: "iconfont"; /* Project id 3188718 */
  85 + src: url('iconfont.woff2?t=1645080046840') format('woff2'),
  86 + url('iconfont.woff?t=1645080046840') format('woff'),
  87 + url('iconfont.ttf?t=1645080046840') format('truetype');
  88 +}
  89 +
  90 +.icon-tupian:before {
  91 + content: "\e997";
  92 +}
  93 +
  94 +.icon-account:before {
  95 + content: "\e6a3";
  96 +}
  97 +
  98 +.icon-prompt-filling:before {
  99 + content: "\e68b";
  100 +}
  101 +
  102 +
  103 +
  104 +
packageB/pages/AI-test-skin/fail_result/iconfont.ttf 0 → 100644
No preview for this file type
packageB/pages/AI-test-skin/fail_result/iconfont.woff 0 → 100644
No preview for this file type
packageB/pages/AI-test-skin/fail_result/iconfont.woff2 0 → 100644
No preview for this file type
packageB/pages/AI-test-skin/index/aiskin.js
@@ -25,7 +25,11 @@ Page({ @@ -25,7 +25,11 @@ Page({
25 * 生命周期函数--监听页面加载 25 * 生命周期函数--监听页面加载
26 */ 26 */
27 onLoad: function (options) { 27 onLoad: function (options) {
28 - 28 + var user=getApp().globalData.userInfo;
  29 + if(!user){
  30 + let url = "/pages/togoin/togoin";
  31 + app.goto(url);
  32 + }
29 }, 33 },
30 34
31 /** 35 /**
@@ -50,6 +54,21 @@ Page({ @@ -50,6 +54,21 @@ Page({
50 }, 54 },
51 55
52 goto(e) { 56 goto(e) {
  57 + var user=getApp().globalData.userInfo;
  58 + if(!user){
  59 + wx.showToast({
  60 + title: "请先授权登陆",
  61 + icon: 'none',
  62 + duration: 2000
  63 + });
  64 +
  65 + setTimeout(function () {
  66 + let url = "/pages/togoin/togoin";
  67 + app.goto(url);
  68 + },1000)
  69 + return false;
  70 + }
  71 +
53 let url = e.currentTarget.dataset.url; 72 let url = e.currentTarget.dataset.url;
54 app.goto(url); 73 app.goto(url);
55 }, 74 },
packageB/pages/AI-test-skin/select_photo/select_photo.js
@@ -72,7 +72,7 @@ Page({ @@ -72,7 +72,7 @@ Page({
72 } else { 72 } else {
73 wx.showToast({ 73 wx.showToast({
74 title: e.data.msg, 74 title: e.data.msg,
75 - icon: 'success', 75 + icon: 'none',
76 duration: 2000 76 duration: 2000
77 }); 77 });
78 }; 78 };
packageB/pages/AI-test-skin/success_result/acne/acne.js 0 → 100644
  1 +module.exports = {
  2 + //把组合购的商品价格计算出来,同时每个会员都有购买组合商品的上限!ladder_b_num是已经购买了多少件
  3 + get_goods: function(th,stoid) {
  4 + var r_code='03';
  5 + //获取痘痘的类型
  6 + var list=th.data.face_data.acnespotmole.acne_list;
  7 + //把所有的斑的类型拿出来
  8 + var arr=[];
  9 + for(var i in list){
  10 + arr.push(list[i].type);
  11 + }
  12 + //去掉重复
  13 + var set= arr.filter(function (element, index, self) {
  14 + return self.indexOf(element) === index;
  15 + })
  16 + var re_word=set.join(',');
  17 + //-- 服务卡 --
  18 + var url="/api/weshop/serviceCard/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  19 + getApp().request.promiseGet(url, {}).then(res=>{
  20 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  21 + th.setData({acne_fuwu:res.data.data.pageData})
  22 + }
  23 + })
  24 +
  25 + //-- 商品 --
  26 + var url="/api/weshop/goods/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  27 + getApp().request.promiseGet(url, {}).then(res=>{
  28 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  29 + th.setData({acne_goods:res.data.data.pageData})
  30 + }
  31 + })
  32 +
  33 + },
  34 +}
packageB/pages/AI-test-skin/success_result/acne/acne.wxml 0 → 100644
  1 +<view class="mb_b5" bindtap="clickTab" id="hei_yan_quan">
  2 + <view class="analyse_classify bg_white">
  3 + <view class="analyse_classify_header">
  4 + <view>
  5 + <view style="color: #45d4eb;">#06</view>
  6 + <view class="flex-space-between">
  7 + <text style="font-size: 42rpx;" class="bold">痤疮</text>
  8 + <view class="fs26" style="display: flex;align-items: center;">
  9 + <text>问题标注</text>
  10 + <text class="iconfont icon-xia"></text>
  11 +
  12 + </view>
  13 + </view>
  14 + </view>
  15 + <view class="analyse_classify_header_item mt_b5">
  16 + <view class="analyse_classify_header_img">
  17 + <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>
  18 + </view>
  19 + <view style="line-height:60rpx;margin-left:20rpx">
  20 + <view class="fs28">程度情况</view>
  21 + <view class="bold">I级</view>
  22 + </view>
  23 + </view>
  24 + <view class="analyse_classify_header_item" style="margin-top:5%">
  25 + <view class="analyse_classify_header_img">
  26 + <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>
  27 + </view>
  28 + <view style="line-height:60rpx;margin-left:20rpx">
  29 + <view>痤疮个数</view>
  30 + <view>100个</view>
  31 + </view>
  32 + </view>
  33 + <view class="leixing mt_b10">
  34 + <view class="_img">
  35 + <image style="height:100rpx;width:100rpx;border-radius: 50%;opacity:0.6" src="{{iurl}}/miniapp/images/skinimg/mao25.jpeg"></image>
  36 + <view class="fs28 c_666">
  37 + <view>囊肿</view>
  38 + <view>健康</view>
  39 + </view>
  40 + </view>
  41 + <view class="_img">
  42 + <image style="height:100rpx;width:100rpx;border-radius: 50%;opacity:0.6" src="{{iurl}}/miniapp/images/skinimg/mao28.jpeg"></image>
  43 + <view class="fs28 c_666">
  44 + <view>丘疹</view>
  45 + <view>健康</view>
  46 + </view>
  47 + </view>
  48 + <view class="_img">
  49 + <image style="height:100rpx;width:100rpx;border-radius: 50%;opacity:0.6" src="{{iurl}}/miniapp/images/skinimg/mao27.jpeg"></image>
  50 + <view class="fs28 c_666">
  51 + <view>粉刺</view>
  52 + <view>健康</view>
  53 + </view>
  54 + </view>
  55 + <view class="_img">
  56 + <image style="height:100rpx;width:100rpx;border-radius: 50%;opacity:0.6" src="{{iurl}}/miniapp/images/skinimg/mao29.jpeg"></image>
  57 + <view class="fs28 c_666">
  58 + <view>痘印</view>
  59 + <view>健康</view>
  60 + </view>
  61 + </view>
  62 + </view>
  63 + <view class="fs28 mt_b10">
  64 + <text>明显可见毛孔或内含小于毛孔大小角栓</text>
  65 + </view>
  66 + </view>
  67 + <view class="analyse_classify_body">
  68 + <view class="mt_b10">
  69 + <view class="fenxi mgb10">原因分析</view>
  70 + <view class="flex" style="flex-wrap: wrap">
  71 + <view style="margin-right: 20rpx">
  72 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  73 + <text class="fs26">皮脂腺分泌旺盛</text>
  74 + </view>
  75 + <view style="margin-right: 20rpx">
  76 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  77 + <text class="fs26">皮脂腺分泌旺盛</text>
  78 + </view>
  79 + <view style="margin-right: 20rpx">
  80 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  81 + <text class="fs26">皮脂腺分泌旺盛</text>
  82 + </view>
  83 + </view>
  84 + </view>
  85 +
  86 + <view class="mt_b10">
  87 + <view class="fenxi mgb10">护理建议</view>
  88 + <view class="">
  89 + <view class="mgb30">
  90 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>
  91 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  92 + </view>
  93 + <view class="mgb30">
  94 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>
  95 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  96 + </view>
  97 + <view class="mgb30">
  98 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>
  99 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  100 + </view>
  101 + </view>
  102 + </view>
  103 + </view>
  104 + </view>
  105 +
  106 + <view class="analyse_classify_foot" style="background:#e6f4fa">
  107 + <!-- 服务卡 -->
  108 + <view wx:if="{{acne_fuwu}}">
  109 + <view style="margin:5% 0">痤疮问题的疗程</view>
  110 + <block wx:for="{{acne_fuwu}}">
  111 + <include src="../fuwu.wxml" />
  112 + </block>
  113 + </view>
  114 + <!-- 商品 -->
  115 + <view wx:if="{{acne_goods}}">
  116 + <view style="margin:5% 0">适合痤疮问题的护肤品</view>
  117 + <view class="product flex">
  118 + <block wx:for="{{acne_goods}}">
  119 + <include src="../goods.wxml" />
  120 + </block>
  121 + </view>
  122 + </view>
  123 + </view>
  124 +</view>
0 \ No newline at end of file 125 \ No newline at end of file
packageB/pages/AI-test-skin/success_result/blackhead/blackhead.js 0 → 100644
  1 +module.exports = {
  2 + //把组合购的商品价格计算出来,同时每个会员都有购买组合商品的上限!ladder_b_num是已经购买了多少件
  3 + get_goods: function(th,stoid) {
  4 + var r_code='10';
  5 + //获取黑头的类型
  6 + var blackhead_segs_type=th.data.face_data.blackheadpore.blackhead_segs_type;
  7 + //去掉重复
  8 + var set= blackhead_segs_type.filter(function (element, index, self) {
  9 + return self.indexOf(element) === index;
  10 + })
  11 + var re_word=set.join(',');
  12 + //-- 服务卡 --
  13 + var url="/api/weshop/serviceCard/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  14 + getApp().request.promiseGet(url, {}).then(res=>{
  15 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  16 + th.setData({blackhead_fuwu:res.data.data.pageData})
  17 + }
  18 + })
  19 +
  20 + //-- 商品 --
  21 + var url="/api/weshop/goods/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  22 + getApp().request.promiseGet(url, {}).then(res=>{
  23 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  24 + th.setData({blackhead_goods:res.data.data.pageData})
  25 + }
  26 + })
  27 +
  28 + },
  29 +}
packageB/pages/AI-test-skin/success_result/blackhead/blackhead.wxml 0 → 100644
  1 +<view class="mb_b5">
  2 + <view class="analyse_classify bg_white">
  3 + <view class="analyse_classify_header">
  4 + <view>
  5 + <view style="color: #45d4eb;">#01</view>
  6 + <view class="flex-space-between">
  7 + <text style="font-size: 42rpx;" class="bold">黑头</text>
  8 + <view class="fs26" catchtap="show_dailog" style="display: flex;align-items: center;">
  9 + <text>问题标注</text>
  10 + <text class="iconfont icon-xia"></text>
  11 + </view>
  12 + </view>
  13 + </view>
  14 + <view class="analyse_classify_header_item mt_b5">
  15 + <view class="analyse_classify_header_img">
  16 + <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>
  17 + </view>
  18 + <view style="line-height:60rpx;margin-left:20rpx">
  19 + <view class="fs28">程度情况</view>
  20 + <view class="bold">待确定</view>
  21 + </view>
  22 + </view>
  23 + <view class="analyse_classify_header_item mt_b5">
  24 + <view class="analyse_classify_header_img">
  25 + <image src="/packageB/images/Snipaste_2022-02-17_15-28-13.jpg"></image>
  26 + </view>
  27 + <view style="line-height:60rpx;margin-left:20rpx">
  28 + <view class="fs28">粗大区域</view>
  29 + <view class="bold">待确定</view>
  30 + </view>
  31 + </view>
  32 + <view class="fs28 mt_b10">
  33 + <text>隐约可见明显黑头</text>
  34 + </view>
  35 + </view>
  36 + <view class="analyse_classify_body">
  37 + <view class="mt_b10">
  38 + <view class="fenxi mgb10">原因分析</view>
  39 + <view class="flex" style="flex-wrap: wrap">
  40 + <view style="margin-right: 20rpx">
  41 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  42 + <text class="fs26">清洁不够</text>
  43 + </view>
  44 + <view style="margin-right: 20rpx">
  45 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  46 + <text class="fs26">皮脂腺分泌过多</text>
  47 + </view>
  48 + <view style="margin-right: 20rpx">
  49 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  50 + <text class="fs26">护肤品不当</text>
  51 + </view>
  52 + </view>
  53 + </view>
  54 +
  55 + <view class="mt_b10">
  56 + <view class="fenxi mgb10">护理建议</view>
  57 + <view class="">
  58 + <view class="mgb30">
  59 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>
  60 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  61 + </view>
  62 + <view class="mgb30">
  63 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>
  64 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  65 + </view>
  66 + <view class="mgb30">
  67 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>
  68 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  69 + </view>
  70 + </view>
  71 + </view>
  72 + </view>
  73 + </view>
  74 + <view class="analyse_classify_foot" style="background:#e6f4fa">
  75 + <!-- 服务卡 -->
  76 + <view wx:if="{{blackhead_fuwu}}">
  77 + <view style="margin:5% 0">黑头问题的疗程</view>
  78 + <block wx:for="{{blackhead_fuwu}}">
  79 + <include src="../fuwu.wxml" />
  80 + </block>
  81 + </view>
  82 + <!-- 商品 -->
  83 + <view wx:if="{{blackhead_goods}}">
  84 + <view style="margin:5% 0">适合黑头问题的护肤品</view>
  85 + <view class="product flex">
  86 + <block wx:for="{{blackhead_goods}}">
  87 + <include src="../goods.wxml" />
  88 + </block>
  89 + </view>
  90 + </view>
  91 + </view>
  92 +</view>
0 \ No newline at end of file 93 \ No newline at end of file
packageB/pages/AI-test-skin/success_result/dark/dark.js 0 → 100644
  1 +module.exports = {
  2 + //把组合购的商品价格计算出来,同时每个会员都有购买组合商品的上限!ladder_b_num是已经购买了多少件
  3 + get_goods: function(th,stoid) {
  4 + var r_code='08';
  5 +
  6 + var arr1=th.data.face_data.eyesattr.dark_circle_left_type;
  7 + var arr2=th.data.face_data.eyesattr.dark_circle_right_type;
  8 + var arr=[...arr1,...arr2];
  9 + //去掉重复
  10 + var set= arr.filter(function (element, index, self) {
  11 + return self.indexOf(element) === index;
  12 + })
  13 + var re_word=set.join(',');
  14 + //获取黑眼圈的类型
  15 + var re_word= arr.join(',')
  16 + //-- 服务卡 --
  17 + var url="/api/weshop/serviceCard/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  18 + getApp().request.promiseGet(url, {}).then(res=>{
  19 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  20 + th.setData({dark_fuwu:res.data.data.pageData})
  21 + }
  22 + })
  23 +
  24 + //-- 商品 --
  25 + var url="/api/weshop/goods/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  26 + getApp().request.promiseGet(url, {}).then(res=>{
  27 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  28 + th.setData({dark_goods:res.data.data.pageData})
  29 + }
  30 + })
  31 + },
  32 +}
packageB/pages/AI-test-skin/success_result/dark/dark.wxml 0 → 100644
  1 +<view class="mb_b5">
  2 + <view class="analyse_classify bg_white">
  3 + <view class="analyse_classify_header">
  4 + <view>
  5 + <view style="color: #45d4eb;">#05</view>
  6 + <view class="flex-space-between">
  7 + <text style="font-size: 42rpx;" class="bold">黑眼圈</text>
  8 + <view class="fs26" style="display: flex;align-items: center;">
  9 + <text>问题标注</text>
  10 + <text class="iconfont icon-xia"></text>
  11 + </view>
  12 + </view>
  13 + </view>
  14 + <view class="analyse_classify_header_item mt_b5">
  15 + <view class="analyse_classify_header_img">
  16 + <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>
  17 + </view>
  18 + <view style="line-height:60rpx;margin-left:20rpx" style="margin-top:5%">
  19 + <view class="fs28">程度情况</view>
  20 + <view class="bold">{{s_filter.get_dark_type(dark_type)}}</view>
  21 + </view>
  22 + </view>
  23 +
  24 + <view class="analyse_classify_header_item mt_b5">
  25 + <view class="analyse_classify_header_img">
  26 + <image src="/packageB/images/Snipaste_2022-02-17_15-28-13.jpg"></image>
  27 + </view>
  28 + <view style="line-height:60rpx;margin-left:20rpx">
  29 + <view class="fs28">黑眼圈类型</view>
  30 + <view class="bold">3种</view>
  31 + </view>
  32 + </view>
  33 +
  34 + <view>
  35 + <view class="heiyanquan">
  36 + <image src="{{iurl}}/miniapp/images/skinimg/man1.jpeg" style="width: 100%;height: 100%;"></image>
  37 + </view>
  38 + <view class="leixing">
  39 + <view class="_img">
  40 + <image style="height:150rpx;width:150rpx;border-radius: 50%;" src="{{iurl}}/miniapp/images/skinimg/man2.jpeg"></image>
  41 + <view class="fs28">色素性-中度</view>
  42 + </view>
  43 + <view class="_img">
  44 + <image style="height:150rpx;width:150rpx;border-radius: 50%;" src="{{iurl}}/miniapp/images/skinimg/man8.jpeg"></image>
  45 + <view class="fs28">血管性-轻度</view>
  46 + </view>
  47 + <view class="_img">
  48 + <image style="height:150rpx;width:150rpx;border-radius: 50%;" src="{{iurl}}/miniapp/images/skinimg/man11.jpeg"></image>
  49 + <view class="fs28" style="color: #666;">阴影型-无</view>
  50 + </view>
  51 + </view>
  52 + </view>
  53 + <view class="fs28 mt_b10">
  54 + <text>明显可见毛孔或内含小于毛孔大小角栓</text>
  55 + </view>
  56 + </view>
  57 + <view class="analyse_classify_body">
  58 + <view class="mt_b10">
  59 + <view class="fenxi mgb10">原因分析</view>
  60 + <view class="flex" style="flex-wrap: wrap">
  61 + <view style="margin-right: 20rpx">
  62 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  63 + <text class="fs26">眼皮色素沉着增加</text>
  64 + </view>
  65 + <view style="margin-right: 20rpx">
  66 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  67 + <text class="fs26">眼皮静脉血流淤积</text>
  68 + </view>
  69 + <view style="margin-right: 20rpx">
  70 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  71 + <text class="fs26">不良生活习惯</text>
  72 + </view>
  73 + </view>
  74 + </view>
  75 +
  76 + <view class="mt_b10">
  77 + <view class="fenxi mgb10">护理建议</view>
  78 + <view class="">
  79 + <view class="mgb30">
  80 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>
  81 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  82 + </view>
  83 + <view class="mgb30">
  84 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>
  85 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  86 + </view>
  87 + <view class="mgb30">
  88 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>
  89 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  90 + </view>
  91 + </view>
  92 + </view>
  93 + </view>
  94 + </view>
  95 + <view class="analyse_classify_foot" style="background:#e6f4fa">
  96 + <view wx:if="{{dark_fuwu}}">
  97 + <view style="margin:5% 0">黑眼圈问题的疗程</view>
  98 + <block wx:for="{{dark_fuwu}}">
  99 + <include src="../fuwu.wxml" />
  100 + </block>
  101 + </view>
  102 + <view wx:if="{{dark_goods}}">
  103 + <view style="margin:5% 0">适合黑眼圈问题的护肤品</view>
  104 + <view class="product flex">
  105 + <block wx:for="{{dark_goods}}">
  106 + <include src="../goods.wxml" />
  107 + </block>
  108 + </view>
  109 + </view>
  110 + </view>
  111 +</view>
0 \ No newline at end of file 112 \ No newline at end of file
packageB/pages/AI-test-skin/success_result/fuwu.wxml 0 → 100644
  1 +<view class="shoushu" style="margin-bottom: 20rpx" bindtap="go_url" data-url="/packageA/pages/goodsInfo/goodsInfo?goods_id={{item.id}}">
  2 + <view>
  3 + <image class="img" src="{{iurl}}{{item.imgUrl?item.imgUrl:'/miniapp/images/default_g_img.gif'}}"></image>
  4 + </view>
  5 + <view class="info">
  6 + <view>{{item.serviceName}}</view>
  7 + <view class="fs20 flex">
  8 + <view class="guige">{{item.serviceSn}}</view>
  9 + </view>
  10 + <view style="margin-top: 40rpx;font-weight: 600;">¥{{item.money}}</view>
  11 + </view>
  12 +</view>
0 \ No newline at end of file 13 \ No newline at end of file
packageB/pages/AI-test-skin/success_result/goods.wxml 0 → 100644
  1 +<view class="product_item" data-url="{{s_filter.get_goods_url(item)}}" bindtap="go_url">
  2 + <view>
  3 + <image src="{{iurl+item.original_img}}" style="width: 100%;height: 200rpx;"></image>
  4 + </view>
  5 + <view class="ellipsis-2 fs28" style="height: 88rpx;">{{item.goods_name}}</view>
  6 + <view class="fs20 flex" style="padding: 15rpx;">
  7 + <view class="guige">{{s_filter.guige(item)}}</view>
  8 + </view>
  9 + <!-- 显示正确的商品价格 -->
  10 + <view style="display: flex;justify-content: space-between;">
  11 + <block wx:if="{{(item.prom_price>0 || item.prom_integral>0) && item.prom_id>0 && item.prom_type!=7 && item.prom_type!=10}}">
  12 + <text wx:if="{{item.prom_integral}}"><text class="fs35" style="font-weight: bold;">{{item.prom_integral}}</text>积分</text>
  13 + <text wx:if="{{item.prom_integral && item.prom_price}}">+</text>
  14 + <text wx:if="{{item.prom_price}}" class="bold">¥{{item.shop_price}}</text>
  15 + </block>
  16 + <block wx:else>
  17 + <block wx:if="{{s_filter.is_has_rank(rank_switch,item)}}">
  18 + <block wx:if="{{card_field}}">
  19 +
  20 + <block wx:if="{{item[card_field]>0}}">
  21 + <text wx:if="{{item.prom_price}}" class="bold">¥{{item.shop_price}}</text>
  22 + </block>
  23 + <block wx:else>
  24 + <text wx:if="{{item.prom_price}}" class="bold">¥{{item.shop_price}}</text>
  25 + </block>
  26 + </block>
  27 + <block wx:else>
  28 + <text wx:if="{{item.prom_price}}" class="bold">¥{{item.shop_price}}</text>
  29 + </block>
  30 + </block>
  31 + <block wx:else>
  32 + <text wx:if="{{item.prom_price}}" class="bold">¥{{item.shop_price}}</text>
  33 + </block>
  34 + </block>
  35 +
  36 +
  37 + <view class="mm"><text class="iconfont icon-gouwuche"></text></view>
  38 + </view>
  39 +</view>
0 \ No newline at end of file 40 \ No newline at end of file
packageB/pages/AI-test-skin/success_result/pore/pore.js 0 → 100644
  1 +module.exports = {
  2 + //把组合购的商品价格计算出来,同时每个会员都有购买组合商品的上限!ladder_b_num是已经购买了多少件
  3 + get_goods: function(th,stoid) {
  4 + var r_code='11';
  5 + //获取毛孔的类型
  6 + var pore_segs_type=th.data.face_data.blackheadpore.pore_segs_type;
  7 + //去掉重复
  8 + var set= pore_segs_type.filter(function (element, index, self) {
  9 + return self.indexOf(element) === index;
  10 + })
  11 + var re_word=set.join(',');
  12 + //-- 服务卡 --
  13 + var url="/api/weshop/serviceCard/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  14 + getApp().request.promiseGet(url, {}).then(res=>{
  15 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  16 + th.setData({pore_fuwu:res.data.data.pageData})
  17 + }
  18 + })
  19 +
  20 + //-- 商品 --
  21 + var url="/api/weshop/goods/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  22 + getApp().request.promiseGet(url, {}).then(res=>{
  23 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  24 + th.setData({pore_goods:res.data.data.pageData})
  25 + }
  26 + })
  27 +
  28 + },
  29 +}
packageB/pages/AI-test-skin/success_result/pore/pore.wxml 0 → 100644
  1 +<view class="mb_b5">
  2 + <view class="analyse_classify bg_white">
  3 + <view class="analyse_classify_header">
  4 + <view>
  5 + <view style="color: #45d4eb;">#01</view>
  6 + <view class="flex-space-between">
  7 + <text style="font-size: 42rpx;" class="bold">毛孔</text>
  8 + <view class="fs26" catchtap="show_dailog" style="display: flex;align-items: center;">
  9 + <text>问题标注</text>
  10 + <text class="iconfont icon-xia"></text>
  11 + </view>
  12 + </view>
  13 + </view>
  14 + <view class="analyse_classify_header_item mt_b5">
  15 + <view class="analyse_classify_header_img">
  16 + <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>
  17 + </view>
  18 + <view style="line-height:60rpx;margin-left:20rpx">
  19 + <view class="fs28">程度情况</view>
  20 + <view class="bold">待确定</view>
  21 + </view>
  22 + </view>
  23 + <view class="analyse_classify_header_item mt_b5">
  24 + <view class="analyse_classify_header_img">
  25 + <image src="/packageB/images/Snipaste_2022-02-17_15-28-13.jpg"></image>
  26 + </view>
  27 + <view style="line-height:60rpx;margin-left:20rpx">
  28 + <view class="fs28">粗大区域</view>
  29 + <view class="bold">待确定</view>
  30 + </view>
  31 + </view>
  32 + <view class="fs28 mt_b10">
  33 + <text>明显可见毛孔或内含小于毛孔大小角栓</text>
  34 + </view>
  35 + </view>
  36 + <view class="analyse_classify_body">
  37 + <view class="mt_b10">
  38 + <view class="fenxi mgb10">原因分析</view>
  39 + <view class="flex" style="flex-wrap: wrap">
  40 + <view style="margin-right: 20rpx">
  41 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  42 + <text class="fs26">皮脂腺分泌旺盛</text>
  43 + </view>
  44 + <view style="margin-right: 20rpx">
  45 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  46 + <text class="fs26">日光暴晒过度</text>
  47 + </view>
  48 + <view style="margin-right: 20rpx">
  49 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  50 + <text class="fs26">护肤不当清洁不足</text>
  51 + </view>
  52 + </view>
  53 + </view>
  54 +
  55 + <view class="mt_b10">
  56 + <view class="fenxi mgb10">护理建议</view>
  57 + <view class="">
  58 + <view class="mgb30">
  59 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>
  60 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  61 + </view>
  62 + <view class="mgb30">
  63 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>
  64 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  65 + </view>
  66 + <view class="mgb30">
  67 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>
  68 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  69 + </view>
  70 + </view>
  71 + </view>
  72 + </view>
  73 + </view>
  74 +
  75 + <view class="analyse_classify_foot" style="background:#e6f4fa">
  76 + <!-- 服务卡 -->
  77 + <view wx:if="{{pore_fuwu}}">
  78 + <view style="margin:5% 0">毛孔问题的疗程</view>
  79 + <block wx:for="{{pore_fuwu}}">
  80 + <include src="../fuwu.wxml" />
  81 + </block>
  82 + </view>
  83 + <!-- 商品 -->
  84 + <view wx:if="{{pore_goods}}">
  85 + <view style="margin:5% 0">适合毛孔问题的护肤品</view>
  86 + <view class="product flex">
  87 + <block wx:for="{{pore_goods}}">
  88 + <include src="../goods.wxml" />
  89 + </block>
  90 + </view>
  91 + </view>
  92 + </view>
  93 +</view>
0 \ No newline at end of file 94 \ No newline at end of file
packageB/pages/AI-test-skin/success_result/s_filter.wxs 0 → 100644
  1 +//获取样式
  2 +var get_dark_type = function(column) {
  3 + switch(column){
  4 + case 0:return "轻度";
  5 + case 1:return "中度";
  6 + case 2:return "重度";
  7 + }
  8 +}
  9 +
  10 +//跳转的接口
  11 +var get_goods_url=function(item){
  12 + var url1="/pages/goods/goodsInfo/goodsInfo?goods_id="+item.goods_id
  13 +
  14 + if(item.prom_type == 9) {
  15 + url1 = '/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=' + item.goods_id + '&group_id=' + item.prom_id;
  16 + }
  17 + if(item.prom_type==8){
  18 + url1="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+item.goods_id+"&prom_id="+item.prom_id
  19 + }
  20 + if(item.prom_type==1 && item.prom_id>0 ){
  21 + url1="/pages/goods/goodsInfo/goodsInfo?goods_id="+item.goods_id+"&prom_id="+item.prom_id+"&prom_type=1";
  22 + }
  23 + return url1;
  24 + }
  25 +var guige=function(item){
  26 + var gg='';
  27 + if (item.goods_spec != "" && item.goods_color != "") {
  28 + gg = item.goods_spec + "/" + item.goods_color;
  29 + } else if (item.goods_spec != "" || item.goods_color != "") {
  30 + gg = item.goods_spec + item.goods_color;
  31 + } else {
  32 + gg = "规格1";
  33 + }
  34 + return gg;
  35 +}
  36 +
  37 +var dryoil_check=function(skin_dryoil_check){
  38 + var num_all=skin_dryoil_check[0]+skin_dryoil_check[1]+skin_dryoil_check[2]+skin_dryoil_check[3]+skin_dryoil_check[4];
  39 + num_all= num_all/5;
  40 + switch(num_all){
  41 + case 0:return '干性';
  42 + case 1:return '中性';
  43 + case 2:return '油性';
  44 + }
  45 + return '';
  46 +}
  47 +
  48 +
  49 +//-- 判断是不是有等级价 --
  50 +var is_has_rank=function(rank_switch,item){
  51 + if(!rank_switch) return false;
  52 + if(item.cardprice1 || item.cardprice2 || item.cardprice3) {return true}
  53 + return false;
  54 + }
  55 +
  56 + //-- 判断,不是等级会员时候,要显示的最低等级价和名称 --
  57 +var get_card_price=function(goods,all_card,type){
  58 + var price1=parseFloat(goods['cardprice1']);
  59 + var price2 = parseFloat(goods['cardprice2']);
  60 + var price3 = parseFloat(goods['cardprice3']);
  61 + if(!all_card){
  62 + if(type==0) return 0;
  63 + return "";
  64 + }
  65 +
  66 + var min_price=null;
  67 + var min_name=null;
  68 + //---设置对应的价格名字----
  69 + for(var i=0;i<3;i++) {
  70 + var vl=all_card[i];
  71 + if(!vl) continue;
  72 +
  73 + if(vl['CorrPrice']=="Price1" && price1>0)
  74 + {
  75 + if(min_price==null) {
  76 + min_price=price1;min_name=vl['CardName'];
  77 + }
  78 + else if(price1<min_price) {
  79 + min_price=price1;min_name=vl['CardName'];
  80 + }
  81 + }
  82 + if(vl['CorrPrice']=="Price2" && price2>0)
  83 + {
  84 + if(min_price==null) {
  85 + min_price=price2;min_name=vl['CardName'];
  86 + }
  87 + else if(price2<min_price) {
  88 + min_price=price2;min_name=vl['CardName'];
  89 + }
  90 + }
  91 +
  92 + if(vl['CorrPrice']=="Price3" && price3>0)
  93 + {
  94 + if(min_price==null) {
  95 + min_price=price3;min_name=vl['CardName'];
  96 + }
  97 + else if(price3<min_price) {
  98 + min_price=price3;min_name=vl['CardName'];
  99 + }
  100 + }
  101 +
  102 + }
  103 + if(min_price==null){
  104 + if(type==0) return 0;
  105 + return "";
  106 + }
  107 +
  108 + if(type==0) return min_price;
  109 + if(min_name.length>4 ) min_name=min_name.substring(0, 8);
  110 + return min_name;
  111 + }
  112 +
  113 +module.exports = {
  114 + get_dark_type: get_dark_type,
  115 + get_goods_url: get_goods_url,
  116 + guige:guige,
  117 + dryoil_check:dryoil_check,
  118 + is_has_rank:is_has_rank,
  119 + get_card_price:get_card_price
  120 +}
packageB/pages/AI-test-skin/success_result/speckle/speckle.js 0 → 100644
  1 +module.exports = {
  2 + //把组合购的商品价格计算出来,同时每个会员都有购买组合商品的上限!ladder_b_num是已经购买了多少件
  3 + get_goods: function(th,stoid) {
  4 + var r_code='07';
  5 + //获取斑的类型
  6 + var list=th.data.face_data.acnespotmole.speckle_list;
  7 + //把所有的斑的类型拿出来
  8 + var arr=[];
  9 + for(var i in list){
  10 + arr.push(list[i].type);
  11 + }
  12 + //去掉重复
  13 + var set= arr.filter(function (element, index, self) {
  14 + return self.indexOf(element) === index;
  15 + })
  16 + var re_word=set.join(',');
  17 + //-- 服务卡 --
  18 + var url="/api/weshop/serviceCard/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  19 + getApp().request.promiseGet(url, {}).then(res=>{
  20 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  21 + th.setData({speckle_fuwu:res.data.data.pageData})
  22 + }
  23 + })
  24 +
  25 + //-- 商品 --
  26 + var url="/api/weshop/goods/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=1000";
  27 + getApp().request.promiseGet(url, {}).then(res=>{
  28 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  29 + th.setData({speckle_goods:res.data.data.pageData})
  30 + }
  31 + })
  32 +
  33 + },
  34 +}
packageB/pages/AI-test-skin/success_result/speckle/speckle.wxml 0 → 100644
  1 +<view class="mb_b5">
  2 + <view class="analyse_classify bg_white">
  3 + <view class="analyse_classify_header">
  4 + <view>
  5 + <view style="color: #45d4eb;">#01</view>
  6 + <view class="flex-space-between">
  7 + <text style="font-size: 42rpx;" class="bold">色斑</text>
  8 + <view class="fs26" catchtap="show_dailog" style="display: flex;align-items: center;">
  9 + <text>问题标注</text>
  10 + <text class="iconfont icon-xia"></text>
  11 + </view>
  12 + </view>
  13 + </view>
  14 + <view class="analyse_classify_header_item mt_b5">
  15 + <view class="analyse_classify_header_img">
  16 + <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>
  17 + </view>
  18 + <view style="line-height:60rpx;margin-left:20rpx">
  19 + <view class="fs28">程度情况</view>
  20 + <view class="bold">待确定</view>
  21 + </view>
  22 + </view>
  23 + <view class="analyse_classify_header_item mt_b5">
  24 + <view class="analyse_classify_header_img">
  25 + <image src="/packageB/images/Snipaste_2022-02-17_15-28-13.jpg"></image>
  26 + </view>
  27 + <view style="line-height:60rpx;margin-left:20rpx">
  28 + <view class="fs28">色斑个数</view>
  29 + <view class="bold">{{speckle_num}}</view>
  30 + </view>
  31 + </view>
  32 + <view class="fs28 mt_b10">
  33 + <text>隐约可见面积小且分散的色斑</text>
  34 + </view>
  35 + </view>
  36 + <view class="analyse_classify_body">
  37 + <view class="mt_b10">
  38 + <view class="fenxi mgb10">原因分析</view>
  39 + <view class="flex">
  40 + <view style="margin-right: 20rpx">
  41 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  42 + <text class="fs26">皮肤炎症反应</text>
  43 + </view>
  44 + <view style="margin-right: 20rpx">
  45 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  46 + <text class="fs26">内分泌失衡</text>
  47 + </view>
  48 + <view style="margin-right: 20rpx">
  49 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  50 + <text class="fs26">紫外线照射过量</text>
  51 + </view>
  52 + </view>
  53 + </view>
  54 +
  55 + <view class="mt_b10">
  56 + <view class="fenxi mgb10">护理建议</view>
  57 + <view class="">
  58 + <view class="mgb30">
  59 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>
  60 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  61 + </view>
  62 + <view class="mgb30">
  63 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>
  64 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  65 + </view>
  66 + <view class="mgb30">
  67 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>
  68 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  69 + </view>
  70 + </view>
  71 + </view>
  72 + </view>
  73 + </view>
  74 + <view class="analyse_classify_foot" style="background:#e6f4fa">
  75 + <!-- 服务卡 -->
  76 + <view wx:if="{{speckle_fuwu}}">
  77 + <view style="margin:5% 0">色斑问题的疗程</view>
  78 + <block wx:for="{{speckle_fuwu}}">
  79 + <include src="../fuwu.wxml" />
  80 + </block>
  81 + </view>
  82 + <!-- 商品 -->
  83 + <view wx:if="{{speckle_goods}}">
  84 + <view style="margin:5% 0">适合色斑问题的护肤品</view>
  85 + <view class="product flex">
  86 + <block wx:for="{{speckle_goods}}">
  87 + <include src="../goods.wxml" />
  88 + </block>
  89 + </view>
  90 + </view>
  91 + </view>
  92 +</view>
0 \ No newline at end of file 93 \ No newline at end of file
packageB/pages/AI-test-skin/success_result/success_result.js
@@ -12,6 +12,13 @@ const request = app.request; @@ -12,6 +12,13 @@ const request = app.request;
12 const os = app.globalData; 12 const os = app.globalData;
13 const setting = os.setting; 13 const setting = os.setting;
14 const ut = require('../../../../utils/util'); 14 const ut = require('../../../../utils/util');
  15 +//毛孔
  16 +const acne = require('acne/acne');
  17 +const blackhead = require('blackhead/blackhead');
  18 +const dark = require('dark/dark');
  19 +const pore = require('pore/pore');
  20 +const speckle = require('speckle/speckle');
  21 +const wrinkle = require('wrinkle/wrinkle');
15 Page({ 22 Page({
16 /** 23 /**
17 * 页面的初始数据 24 * 页面的初始数据
@@ -31,6 +38,67 @@ Page({ @@ -31,6 +38,67 @@ Page({
31 * 生命周期函数--监听页面加载 38 * 生命周期函数--监听页面加载
32 */ 39 */
33 onLoad: function (options) { 40 onLoad: function (options) {
  41 + var th=this;
  42 + //初始化一下,获取商品的价格
  43 + this.init();
  44 + //var face_result=getApp().globalData.face_result;
  45 + //var face_data=face_result.face_list[0];
  46 + this.data.id=options.id;
  47 + this.get_data(function (json,img) {
  48 + //-- 数据先存着 --
  49 + var face_data=th.data.face_data=json.face_list[0];
  50 + //痤疮数
  51 + var acne_num=face_data.acnespotmole.acne_num;
  52 + //色斑数
  53 + var speckle_num=face_data.acnespotmole.speckle_num;
  54 + //皱纹数
  55 + var wrinkle_num=face_data.wrinkle.wrinkle_num;
  56 + //黑头数
  57 + var blackhead_num=face_data.blackheadpore.blackhead_num;
  58 + //毛孔数
  59 + var pore_num=face_data.blackheadpore.pore_num;
  60 + //黑眼圈的严重程度
  61 + var dark_type=face_data.eyesattr.dark_circle_left_type.length>0?face_data.eyesattr.dark_circle_left_type[0]:-1;
  62 + var dark_type1=face_data.eyesattr.dark_circle_right_type.length>0?face_data.eyesattr.dark_circle_right_type[0]:-1;
  63 + if(dark_type1>dark_type){
  64 + dark_type=dark_type1;
  65 + }
  66 + var skin_sensitive_check=face_data.skinquality.skin_sensitive_check[0];
  67 + var skin_dryoil_check=face_data.skinquality.skin_dryoil_check;
  68 +
  69 + th.setData({
  70 + acne_num:acne_num,
  71 + speckle_num:speckle_num,
  72 + wrinkle_num:wrinkle_num,
  73 + blackhead_num:blackhead_num,
  74 + pore_num:pore_num,
  75 + dark_type:dark_type,
  76 + skin_sensitive_check:skin_sensitive_check,
  77 + skin_dryoil_check:skin_dryoil_check,
  78 + face_img:img
  79 + })
  80 + //-- 调用毛孔的推荐函数 --
  81 + if(pore_num>0)
  82 + pore.get_goods(th,setting.stoid);
  83 + //-- 调用黑头的推荐函数 --
  84 + if(blackhead_num>0)
  85 + blackhead.get_goods(th,setting.stoid);
  86 + //-- 调用色斑的推荐函数 --
  87 + if(speckle_num>0)
  88 + speckle.get_goods(th,setting.stoid);
  89 + //-- 调用皱纹的推荐函数 --
  90 + if(wrinkle_num>0)
  91 + wrinkle.get_goods(th,setting.stoid);
  92 + //-- 黑眼圈 --
  93 + if(dark_type>-1)
  94 + dark.get_goods(th,setting.stoid);
  95 + //-- 黑眼圈 --
  96 + if(acne_num>-0)
  97 + acne.get_goods(th,setting.stoid);
  98 + })
  99 +
  100 +
  101 +
34 102
35 }, 103 },
36 lo(){ 104 lo(){
@@ -44,19 +112,80 @@ Page({ @@ -44,19 +112,80 @@ Page({
44 }) 112 })
45 }, 113 },
46 114
  115 + //-- 初始等级卡 --
  116 + init: function () {
  117 + var th = this;
  118 + if (!getApp().globalData.user_id) return false;
  119 + getApp().request.get("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.user_id, {
  120 + isShowLoading: false,
  121 + success: function (e) {
  122 + if (e.data.code == 0 && e.data && e.data.data) {
  123 + getApp().globalData.userInfo = e.data.data;
  124 + getApp().getConfig2(function (e) {
  125 + var swithc_list = e.switch_list;
  126 + var sw_arr = JSON.parse(swithc_list);
  127 + //---如果后台有开等级卡的开关---
  128 + if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
  129 + th.setData({
  130 + rank_switch: true
  131 + });
  132 + //---回调卡的列表---
  133 + th.getPlusCardType(function (ob) {
  134 + th.setData({
  135 + card_list: ob.card_list
  136 + });
  137 + var ti = setInterval(function () {
  138 + var user = getApp().globalData.userInfo;
  139 + if (!user) return false;
  140 + clearInterval(ti);
  141 + if (user.card_field && user['card_expiredate']) {
  142 + var str = user['card_expiredate'].replace(/-/g, '/');
  143 + var end = new Date(str);
  144 + end = Date.parse(end) / 1000;
  145 + var now = ut.gettimestamp();
  146 + //--- 判断是等级会员,且在有效期范围内 ---
  147 + if (user.card_field && now < end) {
  148 + var card_name = ob.name_map.get(user.card_field);
  149 + if (card_name.length > 4) card_name = card_name.substring(0, 8);
  150 + th.setData({
  151 + card_field: user.card_field,
  152 + card_name: card_name,
  153 + card_list: ob.card_list
  154 + });
  155 + }
  156 + }
  157 + }, 500)
  158 + })
  159 + }
  160 + })
  161 +
  162 + }
  163 + }
  164 + })
  165 + },
  166 + //-- 获取json数据 --
  167 + get_data:function (func) {
  168 + var url="/api/weshop/face/storeSkinface/get/"+setting.stoid+"/"+this.data.id;
  169 + getApp().request.promiseGet(url, {}).then(res=>{
  170 + if(res.data.code==0){
  171 + var json=JSON.parse(res.data.data.resultjson);
  172 + func(json,res.data.data.img)
  173 + }else{
  174 + getApp().showWarning("获取数据失败");
  175 + }
  176 + })
  177 + },
  178 +
47 /** 179 /**
48 * 生命周期函数--监听页面初次渲染完成 180 * 生命周期函数--监听页面初次渲染完成
49 */ 181 */
50 - onReady: function () {  
51 -  
52 - }, 182 + onReady: function () {},
53 183
54 /** 184 /**
55 * 生命周期函数--监听页面显示 185 * 生命周期函数--监听页面显示
56 */ 186 */
57 - onShow: function () { 187 + onShow: function () {},
58 188
59 - },  
60 clickTab(e) { 189 clickTab(e) {
61 let { index, tab_id } = e.currentTarget.dataset; 190 let { index, tab_id } = e.currentTarget.dataset;
62 this.setData({ 191 this.setData({
@@ -127,5 +256,51 @@ Page({ @@ -127,5 +256,51 @@ Page({
127 */ 256 */
128 onShareAppMessage: function () { 257 onShareAppMessage: function () {
129 258
130 - } 259 + },
  260 +
  261 + //商品页面跳转
  262 + go_url:function (e) {
  263 + var url=e.currentTarget.dataset.url;
  264 + getApp().goto(url);
  265 + },
  266 +
  267 + //--- 获取卡类列表 ---
  268 + getPlusCardType: function (func) {
  269 + var storid = o.stoid;
  270 + var th = this;
  271 + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
  272 +
  273 + if (res.data.code != 0 || !res.data.data) {
  274 + var ob = {
  275 + "card_list": [],
  276 + "name_map": ""
  277 + };
  278 + func(ob);
  279 + return false;
  280 + }
  281 +
  282 + var plusCard = res.data.data;
  283 + var arr = [1219, 2089, 3031];
  284 + var new_arr = new Array();
  285 + var card_name_map = new Map();
  286 +
  287 + var user = getApp().globalData.userInfo;
  288 + if (plusCard) {
  289 + for (var i = 0; i < plusCard.length; i++) {
  290 + if ((!user || user.card_field == null || user.card_field == "") && (plusCard[i].IsStopBuy == true)) {
  291 + continue;
  292 + }
  293 + var name = "card" + plusCard[i].CorrPrice.toLowerCase();
  294 + card_name_map.set(name, plusCard[i].CardName);
  295 + new_arr.push(plusCard[i]);
  296 +
  297 + }
  298 + }
  299 + var ob = {
  300 + "card_list": new_arr,
  301 + "name_map": card_name_map
  302 + };
  303 + func(ob);
  304 + })
  305 + },
131 }) 306 })
132 \ No newline at end of file 307 \ No newline at end of file
packageB/pages/AI-test-skin/success_result/success_result.wxml
  1 +<wxs module="s_filter" src="s_filter.wxs"></wxs>
  2 +
1 <view style="height: 100rpx;"> 3 <view style="height: 100rpx;">
2 <scroll-view enable-flex scroll-into-view="{{tab_id}}" scroll-x class="tab_scroll"> 4 <scroll-view enable-flex scroll-into-view="{{tab_id}}" scroll-x class="tab_scroll">
3 <view class="flex" style="height: 100%;"> 5 <view class="flex" style="height: 100%;">
@@ -8,39 +10,39 @@ @@ -8,39 +10,39 @@
8 </scroll-view> 10 </scroll-view>
9 </view> 11 </view>
10 12
11 -<scroll-view enable-flex scroll-into-view="{{oo}}" style="height: 1000px;"> 13 +<scroll-view enable-flex scroll-into-view="{{oo}}">
12 <view bindtap="lo" class="analyse_by_people" id="zong_he" > 14 <view bindtap="lo" class="analyse_by_people" id="zong_he" >
13 <view class="analyse"> 15 <view class="analyse">
14 <view class="analyse_left"> 16 <view class="analyse_left">
15 - <view class="mark">毛孔 较粗大</view>  
16 - <view class="mark" style="margin: 40rpx 0;">色斑 轻度</view>  
17 - <view class="mark">黑眼圈 轻度</view> 17 + <view class="mark">毛孔 {{pore_num}}</view>
  18 + <view class="mark" style="margin: 40rpx 0;">色斑 {{speckle_num}}</view>
  19 + <view class="mark">黑眼圈 {{s_filter.get_dark_type(dark_type)}}</view>
18 </view> 20 </view>
19 <view class="analyse_center"> 21 <view class="analyse_center">
20 <image src="{{iurl}}/miniapp/images/skinimg/man.png"></image> 22 <image src="{{iurl}}/miniapp/images/skinimg/man.png"></image>
21 </view> 23 </view>
22 <view class="analyse_right"> 24 <view class="analyse_right">
23 - <view class="mark">黑头 轻度</view>  
24 - <view class="mark" style="margin: 40rpx 0;">皱纹 轻度</view>  
25 - <view class="mark">痤疮 轻度</view> 25 + <view class="mark">黑头 {{blackhead_num}}</view>
  26 + <view class="mark" style="margin: 40rpx 0;">皱纹 {{wrinkle_num}}</view>
  27 + <view class="mark">痤疮 {{acne_num}}</view>
26 </view> 28 </view>
27 </view> 29 </view>
28 <view class="score"> 30 <view class="score">
29 <view> 31 <view>
30 <view class="fs28">综合得分</view> 32 <view class="fs28">综合得分</view>
31 <view class="t-c mt10"> 33 <view class="t-c mt10">
32 - <text style="font-weight: 600;">70</text> 34 + <text style="font-weight: 600;">待确定</text>
33 <text class="iconfont icon-zuojiantou"></text> 35 <text class="iconfont icon-zuojiantou"></text>
34 </view> 36 </view>
35 </view> 37 </view>
36 <view class="shuxian"></view> 38 <view class="shuxian"></view>
37 <view> 39 <view>
38 <view class="t-c fs28">肤况</view> 40 <view class="t-c fs28">肤况</view>
39 - <view class="t-c mt10 bold">待改善</view> 41 + <view class="t-c mt10 bold">待确定</view>
40 </view> 42 </view>
41 </view> 43 </view>
42 <view class="content" style="padding-bottom: 0;"> 44 <view class="content" style="padding-bottom: 0;">
43 - <view class="mb_b5"> 45 + <view class="mb_b5" style="display: none">
44 <image src="/packageB/images/1.png" style="height: 200rpx;width: 100%;"></image> 46 <image src="/packageB/images/1.png" style="height: 200rpx;width: 100%;"></image>
45 </view> 47 </view>
46 <view class="analyse_result mt_b5"> 48 <view class="analyse_result mt_b5">
@@ -49,7 +51,7 @@ @@ -49,7 +51,7 @@
49 <image src="{{iurl}}/miniapp/images/skinimg/mao18.jpeg" style="width: 100%;height: 100%;"></image> 51 <image src="{{iurl}}/miniapp/images/skinimg/mao18.jpeg" style="width: 100%;height: 100%;"></image>
50 </view> 52 </view>
51 <view class="f1 ml20"> 53 <view class="f1 ml20">
52 - <view class="bold">油性肌肤</view> 54 + <view class="bold">待确定</view>
53 <view class="fs24 mt10"> 55 <view class="fs24 mt10">
54 <text class="gan" style="margin-right: 30rpx;">干性区</text> 56 <text class="gan" style="margin-right: 30rpx;">干性区</text>
55 <text class="you">油性区</text> 57 <text class="you">油性区</text>
@@ -62,567 +64,37 @@ @@ -62,567 +64,37 @@
62 </view> 64 </view>
63 </view> 65 </view>
64 </view> 66 </view>
65 - <view bindtap="lo1" class="content" id="hei_tou">  
66 - <view class="mb_b5">  
67 - <view class="analyse_classify bg_white">  
68 - <view class="analyse_classify_header">  
69 - <view>  
70 - <view style="color: #45d4eb;">#01</view>  
71 - <view class="flex-space-between">  
72 - <text style="font-size: 42rpx;" class="bold">毛孔</text>  
73 - <view class="fs26" catchtap="show_dailog" style="display: flex;align-items: center;">  
74 - <text>问题标注</text>  
75 - <text class="iconfont icon-xia"></text>  
76 - </view>  
77 - </view>  
78 - </view>  
79 - <view class="analyse_classify_header_item mt_b5">  
80 - <view class="analyse_classify_header_img">  
81 - <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>  
82 - </view>  
83 - <view style="line-height:60rpx;margin-left:20rpx">  
84 - <view class="fs28">程度情况</view>  
85 - <view class="bold">较粗大</view>  
86 - </view>  
87 - </view>  
88 - <view class="analyse_classify_header_item mt_b5">  
89 - <view class="analyse_classify_header_img">  
90 - <image src="/packageB/images/Snipaste_2022-02-17_15-28-13.jpg"></image>  
91 - </view>  
92 - <view style="line-height:60rpx;margin-left:20rpx">  
93 - <view class="fs28">粗大区域</view>  
94 - <view class="bold">右脸颊</view>  
95 - </view>  
96 - </view>  
97 - <view class="fs28 mt_b10">  
98 - <text>明显可见毛孔或内含小于毛孔大小角栓</text>  
99 - </view>  
100 - </view>  
101 - <view class="analyse_classify_body">  
102 - <view class="mt_b10">  
103 - <view class="fenxi mgb10">原因分析</view>  
104 - <view class="flex wrap">  
105 - <view class="mr20">  
106 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
107 - <text class="fs26">皮脂腺分泌旺盛</text>  
108 - </view>  
109 - <view class="mr20">  
110 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
111 - <text class="fs26">皮脂腺分泌旺盛</text>  
112 - </view>  
113 - <view class="mr20">  
114 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
115 - <text class="fs26">皮脂腺分泌旺盛</text>  
116 - </view>  
117 - </view>  
118 - </view>  
119 -  
120 - <view class="mt_b10">  
121 - <view class="fenxi mgb10">护理建议</view>  
122 - <view class="">  
123 - <view class="mgb30">  
124 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>  
125 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
126 - </view>  
127 - <view class="mgb30">  
128 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>  
129 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
130 - </view>  
131 - <view class="mgb30">  
132 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>  
133 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
134 - </view>  
135 - </view>  
136 - </view>  
137 - </view>  
138 - </view>  
139 - <view class="analyse_classify_foot" style="background:#e6f4fa">  
140 - <view>  
141 - <view style="margin:5% 0">毛孔问题的疗程</view>  
142 - <view class="shoushu">  
143 - <view>  
144 - <image class="img" src="{{iurl}}/miniapp/images/skinimg/mao4.png"></image>  
145 - </view>  
146 - <view class="info">  
147 - <view>小气泡疗程</view>  
148 - <view class="fs20 flex">  
149 - <view class="guige">祛斑</view>  
150 - <view class="guige">抗丑</view>  
151 - </view>  
152 - <view style="margin-top: 40rpx;font-weight: 600;">¥100</view>  
153 - </view>  
154 - </view>  
155 - </view>  
156 - <view>  
157 - <view style="margin:5% 0">适合毛孔问题的护肤品</view>  
158 - <view class="product flex">  
159 - <view class="product_item">  
160 - <view>  
161 - <image src="{{iurl}}/miniapp/images/skinimg/mao4.png" style="width: 100%;height: 200rpx;"></image>  
162 - </view>  
163 - <view class="ellipsis-2 fs28" style="height: 88rpx;">的功夫岁的功夫岁的法国的功夫岁的法国的功夫岁的法国的法国</view>  
164 - <view class="fs20 flex" style="padding: 15rpx;">  
165 - <!-- <view class="guige mr20">祛痘修护</view> -->  
166 - <view class="guige">祛斑</view>  
167 - <view class="guige">抗丑</view>  
168 - </view>  
169 - <view style="display: flex;justify-content: space-between;">  
170 - <text class="bold">¥100</text>  
171 - <view class="mm"><text class="iconfont icon-gouwuche"></text></view>  
172 - </view>  
173 - </view>  
174 -  
175 - <view class="product_item">  
176 - <view>  
177 - <image src="{{iurl}}/miniapp/images/skinimg/mao4.png" style="width: 100%;height: 200rpx;"></image>  
178 - </view>  
179 - <view class="ellipsis-2 fs28" style="height: 88rpx;">的功夫岁的功夫岁的法国的功夫岁的法国的功夫岁的法国的法国</view>  
180 - <view class="fs20 flex" style="padding: 15rpx;">  
181 - <view class="guige mr20">祛痘修护</view>  
182 - </view>  
183 - <view style="display: flex;justify-content: space-between;">  
184 - <text class="bold">¥100</text>  
185 - <view class="mm"><text class="iconfont icon-gouwuche"></text></view>  
186 - </view>  
187 - </view>  
188 - </view>  
189 - </view>  
190 - </view>  
191 - </view>  
192 - <view class="mb_b5">  
193 - <view class="analyse_classify bg_white">  
194 - <view class="analyse_classify_header">  
195 - <view>  
196 - <view style="color: #45d4eb;">#04</view>  
197 - <view class="flex-space-between">  
198 - <text style="font-size: 42rpx;" class="bold">色斑</text>  
199 - <view class="fs26" style="display: flex;align-items: center;">  
200 - <text>问题标注</text>  
201 - <text class="iconfont icon-xia"></text>  
202 - </view>  
203 - </view>  
204 - </view>  
205 - <view class="analyse_classify_header_item mt_b5">  
206 - <view class="analyse_classify_header_img">  
207 - <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>  
208 - </view>  
209 - <view style="line-height:60rpx;margin-left:20rpx">  
210 - <view class="fs28">程度情况</view>  
211 - <view class="bold">较粗大</view>  
212 - </view>  
213 - </view>  
214 - <view class="analyse" style="height:400rpx;">  
215 - <view class="zhouwen f1" style="justify-content:space-around">  
216 - <view class="">  
217 - <view class="fenxi1">眼周</view>  
218 - <view class="fs26">鱼尾纹</view>  
219 - <view class="fs26">眼部皱纹</view>  
220 - <view class="jiankang">泪沟(健康)</view>  
221 - </view>  
222 - </view>  
223 - <view class="analyse_center" style="width: 250rpx;height: 250rpx;">  
224 - <image src="{{iurl}}/miniapp/images/skinimg/man10.jpeg"></image>  
225 - <view class="lianxian"></view>  
226 - <view class="lianxian1"></view>  
227 - <view class="lianxian2"></view>  
228 - </view>  
229 - <view class="zhouwen f1" style="margin-left:20rpx;">  
230 - <view class="">  
231 - <view class="fenxi1">额头</view>  
232 - <view class="jiankang">抬头皱纹(健康)</view>  
233 - <view class="jiankang">眉间纹(健康)</view>  
234 - </view>  
235 - <view class="">  
236 - <view class="fenxi1">嘴周</view>  
237 - <view class="fs28">法令纹</view>  
238 - <view class="fs28">口角纹</view>  
239 - </view>  
240 - </view>  
241 - </view>  
242 - <view class="fs28 mt_b10">  
243 - <text>明显可见毛孔或内含小于毛孔大小角栓</text>  
244 - </view>  
245 - </view>  
246 - <view class="analyse_classify_body">  
247 - <view class="mt_b10">  
248 - <view class="fenxi mgb10">原因分析</view>  
249 - <view class="flex wrap">  
250 - <view class="mr20">  
251 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
252 - <text class="fs26">皮脂腺分泌旺盛</text>  
253 - </view>  
254 - <view class="mr20">  
255 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
256 - <text class="fs26">皮脂腺分泌旺盛</text>  
257 - </view>  
258 - </view>  
259 - </view>  
260 -  
261 - <view class="mt_b10">  
262 - <view class="fenxi mgb10">护理建议</view>  
263 - <view class="">  
264 - <view class="mgb30">  
265 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>  
266 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
267 - </view>  
268 - <view class="mgb30">  
269 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>  
270 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
271 - </view>  
272 - <view class="mgb30">  
273 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>  
274 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
275 - </view>  
276 - </view>  
277 - </view>  
278 - </view>  
279 - </view>  
280 - <view class="analyse_classify_foot" style="background:#e6f4fa">  
281 - <view>  
282 - <view style="margin:5% 0">毛孔问题的疗程</view>  
283 - <view class="shoushu">  
284 - <view>  
285 - <image class="img" src="{{iurl}}/miniapp/images/skinimg/mao4.png"></image>  
286 - </view>  
287 - <view class="info">  
288 - <view>小气泡疗程</view>  
289 - <view class="fs20 flex">  
290 - <view class="guige">祛斑</view>  
291 - <view class="guige">抗丑</view>  
292 - </view>  
293 - <view style="margin-top: 40rpx;font-weight: 600;">¥100</view>  
294 - </view>  
295 - </view>  
296 - </view>  
297 - <view>  
298 - <view style="margin:5% 0">适合毛孔问题的护肤品</view>  
299 - <view class="product flex">  
300 - <view class="product_item">  
301 - <view>  
302 - <image src="{{iurl}}/miniapp/images/skinimg/mao4.png" style="width: 100%;height: 200rpx;"></image>  
303 - </view>  
304 - <view class="ellipsis-2 fs28" style="height: 88rpx;">的功夫岁的功夫岁的法国的功夫岁的法国的功夫岁的法国的法国</view>  
305 - <view class="fs20 flex" style="padding: 15rpx;">  
306 - <!-- <view class="guige mr20">祛痘修护</view> -->  
307 - <view class="guige">祛斑</view>  
308 - <view class="guige">抗丑</view>  
309 - </view>  
310 - <view style="display: flex;justify-content: space-between;">  
311 - <text class="bold">¥100</text>  
312 - <view class="mm"><text class="iconfont icon-gouwuche"></text></view>  
313 - </view>  
314 - </view>  
315 -  
316 - <view class="product_item">  
317 - <view>  
318 - <image src="{{iurl}}/miniapp/images/skinimg/mao4.png" style="width: 100%;height: 200rpx;"></image>  
319 - </view>  
320 - <view class="ellipsis-2 fs28" style="height: 88rpx;">的功夫岁的功夫岁的法国的功夫岁的法国的功夫岁的法国的法国</view>  
321 - <view class="fs20 flex" style="padding: 15rpx;">  
322 - <view class="guige mr20">祛痘修护</view>  
323 - </view>  
324 - <view style="display: flex;justify-content: space-between;">  
325 - <text class="bold">¥100</text>  
326 - <view class="mm"><text class="iconfont icon-gouwuche"></text></view>  
327 - </view>  
328 - </view>  
329 - </view>  
330 - </view>  
331 - </view>  
332 - </view>  
333 - <view class="mb_b5">  
334 - <view class="analyse_classify bg_white">  
335 - <view class="analyse_classify_header">  
336 - <view>  
337 - <view style="color: #45d4eb;">#05</view>  
338 - <view class="flex-space-between">  
339 - <text style="font-size: 42rpx;" class="bold">黑眼圈</text>  
340 - <view class="fs26" style="display: flex;align-items: center;">  
341 - <text>问题标注</text>  
342 - <text class="iconfont icon-xia"></text>  
343 - </view>  
344 - </view>  
345 - </view>  
346 - <view class="analyse_classify_header_item mt_b5">  
347 - <view class="analyse_classify_header_img">  
348 - <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>  
349 - </view>  
350 - <view style="line-height:60rpx;margin-left:20rpx" style="margin-top:5%">  
351 - <view class="fs28">程度情况</view>  
352 - <view class="bold">较粗大</view>  
353 - </view>  
354 - </view>  
355 - <view>  
356 - <view class="heiyanquan">  
357 - <image src="{{iurl}}/miniapp/images/skinimg/man1.jpeg" style="width: 100%;height: 100%;"></image>  
358 - </view>  
359 - <view class="leixing">  
360 - <view class="_img">  
361 - <image style="height:150rpx;width:150rpx;border-radius: 50%;" src="{{iurl}}/miniapp/images/skinimg/man2.jpeg"></image>  
362 - <view class="fs28">色素性-中度</view>  
363 - </view>  
364 - <view class="_img">  
365 - <image style="height:150rpx;width:150rpx;border-radius: 50%;" src="{{iurl}}/miniapp/images/skinimg/man8.jpeg"></image>  
366 - <view class="fs28">血管性-轻度</view>  
367 - </view>  
368 - <view class="_img">  
369 - <image style="height:150rpx;width:150rpx;border-radius: 50%;" src="{{iurl}}/miniapp/images/skinimg/man11.jpeg"></image>  
370 - <view class="fs28" style="color: #666;">阴影型-无</view>  
371 - </view>  
372 - </view>  
373 - </view>  
374 - <view class="fs28 mt_b10">  
375 - <text>明显可见毛孔或内含小于毛孔大小角栓</text>  
376 - </view>  
377 - </view>  
378 - <view class="analyse_classify_body">  
379 - <view class="mt_b10">  
380 - <view class="fenxi mgb10">原因分析</view>  
381 - <view class="flex wrap">  
382 - <view class="mr20">  
383 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
384 - <text class="fs26">皮脂腺分泌旺盛</text>  
385 - </view>  
386 - <view class="mr20">  
387 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
388 - <text class="fs26">皮脂腺分泌旺盛</text>  
389 - </view>  
390 -  
391 - </view>  
392 - </view>  
393 -  
394 - <view class="mt_b10">  
395 - <view class="fenxi mgb10">护理建议</view>  
396 - <view class="">  
397 - <view class="mgb30">  
398 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>  
399 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
400 - </view>  
401 - <view class="mgb30">  
402 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>  
403 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
404 - </view>  
405 - <view class="mgb30">  
406 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>  
407 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
408 - </view>  
409 - </view>  
410 - </view>  
411 - </view>  
412 - </view>  
413 - <view class="analyse_classify_foot" style="background:#e6f4fa">  
414 - <view>  
415 - <view style="margin:5% 0">毛孔问题的疗程</view>  
416 - <view class="shoushu">  
417 - <view>  
418 - <image class="img" src="{{iurl}}/miniapp/images/skinimg/mao4.png"></image>  
419 - </view>  
420 - <view class="info">  
421 - <view>小气泡疗程</view>  
422 - <view class="fs20 flex">  
423 - <view class="guige">祛斑</view>  
424 - <view class="guige">抗丑</view>  
425 - </view>  
426 - <view style="margin-top: 40rpx;font-weight: 600;">¥100</view>  
427 - </view>  
428 - </view>  
429 - </view>  
430 - <view>  
431 - <view style="margin:5% 0">适合毛孔问题的护肤品</view>  
432 - <view class="product flex">  
433 - <view class="product_item">  
434 - <view>  
435 - <image src="{{iurl}}/miniapp/images/skinimg/mao4.png" style="width: 100%;height: 200rpx;"></image>  
436 - </view>  
437 - <view class="ellipsis-2 fs28" style="height: 88rpx;">的功夫岁的功夫岁的法国的功夫岁的法国的功夫岁的法国的法国</view>  
438 - <view class="fs20 flex" style="padding: 15rpx;">  
439 - <!-- <view class="guige mr20">祛痘修护</view> -->  
440 - <view class="guige">祛斑</view>  
441 - <view class="guige">抗丑</view>  
442 - </view>  
443 - <view style="display: flex;justify-content: space-between;">  
444 - <text class="bold">¥100</text>  
445 - <view class="mm"><text class="iconfont icon-gouwuche"></text></view>  
446 - </view>  
447 - </view>  
448 -  
449 - <view class="product_item">  
450 - <view>  
451 - <image src="{{iurl}}/miniapp/images/skinimg/mao4.png" style="width: 100%;height: 200rpx;"></image>  
452 - </view>  
453 - <view class="ellipsis-2 fs28" style="height: 88rpx;">的功夫岁的功夫岁的法国的功夫岁的法国的功夫岁的法国的法国</view>  
454 - <view class="fs20 flex" style="padding: 15rpx;">  
455 - <view class="guige mr20">祛痘修护</view>  
456 - </view>  
457 - <view style="display: flex;justify-content: space-between;">  
458 - <text class="bold">¥100</text>  
459 - <view class="mm"><text class="iconfont icon-gouwuche"></text></view>  
460 - </view>  
461 - </view>  
462 - </view>  
463 - </view>  
464 - </view>  
465 - </view>  
466 - <view class="mb_b5" bindtap="clickTab" id="hei_yan_quan">  
467 - <view class="analyse_classify bg_white">  
468 - <view class="analyse_classify_header">  
469 - <view>  
470 - <view style="color: #45d4eb;">#06</view>  
471 - <view class="flex-space-between">  
472 - <text style="font-size: 42rpx;" class="bold">痤疮</text>  
473 - <view class="fs26" style="display: flex;align-items: center;">  
474 - <text>问题标注</text>  
475 - <text class="iconfont icon-xia"></text>  
476 -  
477 - </view>  
478 - </view>  
479 - </view>  
480 - <view class="analyse_classify_header_item mt_b5">  
481 - <view class="analyse_classify_header_img">  
482 - <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>  
483 - </view>  
484 - <view style="line-height:60rpx;margin-left:20rpx">  
485 - <view class="fs28">程度情况</view>  
486 - <view class="bold">较粗大</view>  
487 - </view>  
488 - </view>  
489 - <view class="analyse_classify_header_item" style="margin-top:5%">  
490 - <view class="analyse_classify_header_img">  
491 - <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>  
492 - </view>  
493 - <view style="line-height:60rpx;margin-left:20rpx">  
494 - <view>痤疮个数</view>  
495 - <view>100个</view>  
496 - </view>  
497 - </view>  
498 - <view class="leixing mt_b10">  
499 - <view class="_img">  
500 - <image style="height:100rpx;width:100rpx;border-radius: 50%;opacity:0.6" src="{{iurl}}/miniapp/images/skinimg/mao25.jpeg"></image>  
501 - <view class="fs28 c_666">  
502 - <view>囊肿</view>  
503 - <view>健康</view>  
504 - </view>  
505 - </view>  
506 - <view class="_img">  
507 - <image style="height:100rpx;width:100rpx;border-radius: 50%;opacity:0.6" src="{{iurl}}/miniapp/images/skinimg/mao28.jpeg"></image>  
508 - <view class="fs28 c_666">  
509 - <view>丘疹</view>  
510 - <view>健康</view>  
511 - </view>  
512 - </view>  
513 - <view class="_img">  
514 - <image style="height:100rpx;width:100rpx;border-radius: 50%;opacity:0.6" src="{{iurl}}/miniapp/images/skinimg/mao27.jpeg"></image>  
515 - <view class="fs28 c_666">  
516 - <view>粉刺</view>  
517 - <view>健康</view>  
518 - </view>  
519 - </view>  
520 - <view class="_img">  
521 - <image style="height:100rpx;width:100rpx;border-radius: 50%;opacity:0.6" src="{{iurl}}/miniapp/images/skinimg/mao29.jpeg"></image>  
522 - <view class="fs28 c_666">  
523 - <view>痘印</view>  
524 - <view>健康</view>  
525 - </view>  
526 - </view>  
527 - </view>  
528 - <view class="fs28 mt_b10">  
529 - <text>明显可见毛孔或内含小于毛孔大小角栓</text>  
530 - </view>  
531 - </view>  
532 - <view class="analyse_classify_body">  
533 - <view class="mt_b10">  
534 - <view class="fenxi mgb10">原因分析</view>  
535 - <view class="flex wrap">  
536 - <view class="mr20">  
537 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
538 - <text class="fs26">皮脂腺分泌旺盛</text>  
539 - </view>  
540 - <view class="mr20">  
541 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
542 - <text class="fs26">皮脂腺分泌旺盛</text>  
543 - </view>  
544 - <!-- <view>  
545 - <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>  
546 - <text class="fs26">皮脂腺分泌旺盛</text>  
547 - </view> -->  
548 - </view>  
549 - </view>  
550 67
551 - <view class="mt_b10">  
552 - <view class="fenxi mgb10">护理建议</view>  
553 - <view class="">  
554 - <view class="mgb30">  
555 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>  
556 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
557 - </view>  
558 - <view class="mgb30">  
559 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>  
560 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
561 - </view>  
562 - <view class="mgb30">  
563 - <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>  
564 - <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>  
565 - </view>  
566 - </view>  
567 - </view>  
568 - </view>  
569 - </view>  
570 - <view class="analyse_classify_foot" style="background:#e6f4fa">  
571 - <view>  
572 - <view style="margin:5% 0">毛孔问题的疗程</view>  
573 - <view class="shoushu">  
574 - <view>  
575 - <image class="img" src="{{iurl}}/miniapp/images/skinimg/mao4.png"></image>  
576 - </view>  
577 - <view class="info">  
578 - <view>小气泡疗程</view>  
579 - <view class="fs20 flex">  
580 - <view class="guige">祛斑</view>  
581 - <view class="guige">抗丑</view>  
582 - </view>  
583 - <view style="margin-top: 40rpx;font-weight: 600;">¥100</view>  
584 - </view>  
585 - </view>  
586 - </view>  
587 - <view>  
588 - <view style="margin:5% 0">适合毛孔问题的护肤品</view>  
589 - <view class="product flex">  
590 - <view class="product_item">  
591 - <view>  
592 - <image src="{{iurl}}/miniapp/images/skinimg/mao4.png" style="width: 100%;height: 200rpx;"></image>  
593 - </view>  
594 - <view class="ellipsis-2 fs28" style="height: 88rpx;">的功夫岁的功夫岁的法国的功夫岁的法国的功夫岁的法国的法国</view>  
595 - <view class="fs20 flex" style="padding: 15rpx;">  
596 - <!-- <view class="guige mr20">祛痘修护</view> -->  
597 - <view class="guige">祛斑</view>  
598 - <view class="guige">抗丑</view>  
599 - </view>  
600 - <view style="display: flex;justify-content: space-between;">  
601 - <text class="bold">¥100</text>  
602 - <view class="mm"><text class="iconfont icon-gouwuche"></text></view>  
603 - </view>  
604 - </view> 68 + <view class="content">
  69 + <!-- 毛孔 -->
  70 + <block wx:if="{{pore_num}}">
  71 + <include src="pore/pore.wxml" />
  72 + </block>
  73 + <!-- 黑头 -->
  74 + <block wx:if="{{blackhead_num}}">
  75 + <include src="blackhead/blackhead.wxml" />
  76 + </block>
  77 + <!-- 色斑 -->
  78 + <block wx:if="{{speckle_num}}">
  79 + <include src="speckle/speckle.wxml" />
  80 + </block>
  81 + <!-- 皱纹 -->
  82 + <block wx:if="{{wrinkle_num}}">
  83 + <include src="wrinkle/wrinkle.wxml" />
  84 + </block>
  85 + <!-- 黑眼圈 -->
  86 + <block wx:if="{{dark_type>-1}}">
  87 + <include src="dark/dark.wxml" />
  88 + </block>
  89 + <!-- 痤疮 -->
  90 + <block wx:if="{{acne_num}}">
  91 + <include src="acne/acne.wxml" />
  92 + </block>
605 93
606 - <view class="product_item">  
607 - <view>  
608 - <image src="{{iurl}}/miniapp/images/skinimg/mao4.png" style="width: 100%;height: 200rpx;"></image>  
609 - </view>  
610 - <view class="ellipsis-2 fs28" style="height: 88rpx;">的功夫岁的功夫岁的法国的功夫岁的法国的功夫岁的法国的法国</view>  
611 - <view class="fs20 flex" style="padding: 15rpx;">  
612 - <view class="guige mr20">祛痘修护</view>  
613 - </view>  
614 - <view style="display: flex;justify-content: space-between;">  
615 - <text class="bold">¥100</text>  
616 - <view class="mm"><text class="iconfont icon-gouwuche"></text></view>  
617 - </view>  
618 - </view>  
619 - </view>  
620 - </view>  
621 - </view>  
622 - </view>  
623 </view> 94 </view>
624 </scroll-view> 95 </scroll-view>
625 96
  97 +
626 <view class="mask" catchtap="close_mask" wx:if="{{showDialog}}"></view> 98 <view class="mask" catchtap="close_mask" wx:if="{{showDialog}}"></view>
627 <cover-view class="share fs28"> 99 <cover-view class="share fs28">
628 <cover-view class="iconfont icon-zhuanfa1" style="padding: 0 10rpx;"></cover-view> 100 <cover-view class="iconfont icon-zhuanfa1" style="padding: 0 10rpx;"></cover-view>
@@ -632,8 +104,8 @@ @@ -632,8 +104,8 @@
632 <view class="dialog" wx:if="{{showDialog}}"> 104 <view class="dialog" wx:if="{{showDialog}}">
633 <block wx:if="{{img_scale}}"> 105 <block wx:if="{{img_scale}}">
634 <view class="dialog_img"> 106 <view class="dialog_img">
635 - <view style="height: 100%;">  
636 - <image src="../../../images/1.jpg" style="width: 100%;height: 100%;"></image> 107 + <view style="height: 100%; overflow: hidden">
  108 + <image src="{{iurl}}{{face_img}}" style="width: 100%;height: 100%;"></image>
637 </view> 109 </view>
638 <view class="dialog_icon" catchtap="close_dialog" style="justify-content: flex-start;"> 110 <view class="dialog_icon" catchtap="close_dialog" style="justify-content: flex-start;">
639 <text class="iconfont icon-guan mt20" style="z-index: 999;font-size: 20rpx;"></text> 111 <text class="iconfont icon-guan mt20" style="z-index: 999;font-size: 20rpx;"></text>
@@ -665,4 +137,4 @@ @@ -665,4 +137,4 @@
665 <text catchtap="click_fangda" class="iconfont icon-suoxiao mgb20"></text> 137 <text catchtap="click_fangda" class="iconfont icon-suoxiao mgb20"></text>
666 </view> 138 </view>
667 </block> 139 </block>
668 -</view>  
669 \ No newline at end of file 140 \ No newline at end of file
  141 +</view>
packageB/pages/AI-test-skin/success_result/success_result.wxss
@@ -390,7 +390,6 @@ page { @@ -390,7 +390,6 @@ page {
390 } 390 }
391 391
392 .dialog .dialog_txt { 392 .dialog .dialog_txt {
393 - height: 20%;  
394 display: flex; 393 display: flex;
395 align-items: center; 394 align-items: center;
396 justify-content: center; 395 justify-content: center;
packageB/pages/AI-test-skin/success_result/wrinkle/wrinkle.js 0 → 100644
  1 +module.exports = {
  2 +
  3 + //把组合购的商品价格计算出来,同时每个会员都有购买组合商品的上限!ladder_b_num是已经购买了多少件
  4 + get_goods: function(th,stoid) {
  5 + var r_code='02';
  6 + //获取痘痘的类型
  7 + var list=th.data.face_data.wrinkle.wrinkle_types;
  8 + //把所有的斑的类型拿出来
  9 + var arr=[];
  10 + for(var i in list){
  11 + arr.push(list[i]);
  12 + }
  13 + //去掉重复
  14 + var set= arr.filter(function (element, index, self) {
  15 + return self.indexOf(element) === index;
  16 + })
  17 + var re_word=set.join(',');
  18 + //-- 服务卡 --
  19 + var url="/api/weshop/serviceCard/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=2";
  20 + getApp().request.promiseGet(url, {}).then(res=>{
  21 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  22 + th.setData({wrinkle_fuwu:res.data.data.pageData})
  23 + }
  24 + })
  25 +
  26 + //-- 商品 --
  27 + var url="/api/weshop/goods/page?orderField=RAND()&recommend_code="+r_code+"&store_id="+stoid+"&recommend_word="+re_word+"&pageSize=2";
  28 + getApp().request.promiseGet(url, {}).then(res=>{
  29 + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){
  30 + th.setData({wrinkle_goods:res.data.data.pageData})
  31 + }
  32 + })
  33 + },
  34 +
  35 +
  36 +
  37 +
  38 +}
packageB/pages/AI-test-skin/success_result/wrinkle/wrinkle.wxml 0 → 100644
  1 +<view class="mb_b5">
  2 + <view class="analyse_classify bg_white">
  3 + <view class="analyse_classify_header">
  4 + <view>
  5 + <view style="color: #45d4eb;">#04</view>
  6 + <view class="flex-space-between">
  7 + <text style="font-size: 42rpx;" class="bold">皱纹</text>
  8 + <view class="fs26" style="display: flex;align-items: center;">
  9 + <text>问题标注</text>
  10 + <text class="iconfont icon-xia"></text>
  11 + </view>
  12 + </view>
  13 + </view>
  14 + <view class="analyse_classify_header_item mt_b5">
  15 + <view class="analyse_classify_header_img">
  16 + <image src="{{iurl}}/miniapp/images/skinimg/mao123.png"></image>
  17 + </view>
  18 + <view style="line-height:60rpx;margin-left:20rpx">
  19 + <view class="fs28">程度情况</view>
  20 + <view class="bold">较粗大</view>
  21 + </view>
  22 + </view>
  23 + <view class="analyse" style="height:400rpx;">
  24 + <view class="zhouwen f1" style="justify-content:space-around">
  25 + <view class="">
  26 + <view class="fenxi1">眼周</view>
  27 + <view class="fs26">鱼尾纹</view>
  28 + <view class="fs26">眼部皱纹</view>
  29 + <view class="jiankang">泪沟(健康)</view>
  30 + </view>
  31 + </view>
  32 + <view class="analyse_center" style="width: 250rpx;height: 250rpx;">
  33 + <image src="{{iurl}}/miniapp/images/skinimg/man10.jpeg"></image>
  34 + <view class="lianxian"></view>
  35 + <view class="lianxian1"></view>
  36 + <view class="lianxian2"></view>
  37 + </view>
  38 + <view class="zhouwen f1" style="margin-left:20rpx;">
  39 + <view class="">
  40 + <view class="fenxi1">额头</view>
  41 + <view class="jiankang">抬头皱纹(健康)</view>
  42 + <view class="jiankang">眉间纹(健康)</view>
  43 + </view>
  44 + <view class="">
  45 + <view class="fenxi1">嘴周</view>
  46 + <view class="fs28">法令纹</view>
  47 + <view class="fs28">口角纹</view>
  48 + </view>
  49 + </view>
  50 + </view>
  51 + <view class="fs28 mt_b10">
  52 + <text>明显可见毛孔或内含小于毛孔大小角栓</text>
  53 + </view>
  54 + </view>
  55 + <view class="analyse_classify_body">
  56 + <view class="mt_b10">
  57 + <view class="fenxi mgb10">原因分析</view>
  58 + <view class="flex">
  59 + <view>
  60 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  61 + <text class="fs26">皮脂腺分泌旺盛</text>
  62 + </view>
  63 + <view>
  64 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  65 + <text class="fs26">皮脂腺分泌旺盛</text>
  66 + </view>
  67 + <!-- <view>
  68 + <text class="iconfont icon-checked" style="font-size: 26rpx;margin-right: 10rpx;"></text>
  69 + <text class="fs26">皮脂腺分泌旺盛</text>
  70 + </view> -->
  71 + </view>
  72 + </view>
  73 +
  74 + <view class="mt_b10">
  75 + <view class="fenxi mgb10">护理建议</view>
  76 + <view class="">
  77 + <view class="mgb30">
  78 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">01</text> 日常防晒</text>
  79 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  80 + </view>
  81 + <view class="mgb30">
  82 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">02</text> 补水保湿</text>
  83 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  84 + </view>
  85 + <view class="mgb30">
  86 + <text style="font-size: 28rpx;margin-right: 10rpx;"><text class="bold">03</text> 早晚清洁</text>
  87 + <view class="fs26 c_666">用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根使用的公司大股东是公司山豆根山豆根收到二十个的山豆根山豆根大股东是公司山豆根山豆根收到二十个的山豆根山豆根</view>
  88 + </view>
  89 + </view>
  90 + </view>
  91 + </view>
  92 + </view>
  93 +
  94 + <view class="analyse_classify_foot" style="background:#e6f4fa">
  95 + <!-- 服务卡 -->
  96 + <view wx:if="{{wrinkle_fuwu}}">
  97 + <view style="margin:5% 0">皱纹问题的疗程</view>
  98 + <block wx:for="{{wrinkle_fuwu}}">
  99 + <include src="../fuwu.wxml" />
  100 + </block>
  101 + </view>
  102 + <!-- 商品 -->
  103 + <view wx:if="{{wrinkle_goods}}">
  104 + <view style="margin:5% 0">适合皱纹问题的护肤品</view>
  105 + <view class="product flex">
  106 + <block wx:for="{{wrinkle_goods}}">
  107 + <include src="../goods.wxml" />
  108 + </block>
  109 + </view>
  110 + </view>
  111 + </view>
  112 +</view>
0 \ No newline at end of file 113 \ No newline at end of file