feat: bug fix

This commit is contained in:
kenny
2025-10-21 16:37:19 +08:00
parent 5297bd4d70
commit 61c05c924d
40 changed files with 225 additions and 153 deletions
+2 -2
View File
@@ -25,13 +25,13 @@
"path": "pages/index/custom",
"aliasPath": "/",
"style": {
"navigationBarTitleText": "自定义首页",
"navigationBarTitleText": "美学诊断",
"enablePullDownRefresh": true
},
"meta": {
"auth": false,
"sync": true,
"title": "自定义首页",
"title": "美学诊断",
"group": "商城"
}
},
+71 -69
View File
@@ -1,87 +1,89 @@
<template>
<view class="questions">
<view class="question-item" v-for="(item, index) in options" :key="index">
<view class="title">{{ item.tip }}</view>
<view class="options">
<view
class="option-item"
@tap="onTap(v, item.key, item.multiply)"
v-for="v in item.options"
:key="v.image"
>
<image
:src="v.female"
mode="widthFix"
class="image"
:class="{
selected: item.multiply
? form[item.key].includes(v.label)
: form[item.key] === v.label,
}"
/>
<view class="tip">{{ v.label }}</view>
<s-layout :bgStyle="{ color: '#FFF' }" title="">
<view class="questions">
<view class="question-item" v-for="(item, index) in options" :key="index">
<view class="title">{{ item.tip }}</view>
<view class="options">
<view
class="circle-checkbox"
:style="{
background: (
item.multiply ? form[item.key].includes(v.label) : form[item.key] === v.label
)
? 'rgba(0, 0, 0, 0.8)'
: 'rgba(0, 0, 0, 0.3)',
}"
class="option-item"
@tap="onTap(v, item.key, item.multiply)"
v-for="v in item.options"
:key="v.image"
>
<image
:src="v.female"
mode="widthFix"
class="image"
:class="{
selected: item.multiply
? form[item.key].includes(v.label)
: form[item.key] === v.label,
}"
/>
<view class="tip">{{ v.label }}</view>
<view
class="checkmark"
v-show="item.multiply ? form[item.key].includes(v.label) : form[item.key] === v.label"
class="circle-checkbox"
:style="{
background: (
item.multiply ? form[item.key].includes(v.label) : form[item.key] === v.label
)
? 'rgba(0, 0, 0, 0.8)'
: 'rgba(0, 0, 0, 0.3)',
}"
>
<image
src="https://oss.yz.zglvling.com/user/image/2025-07-23/1753234211808517.png"
mode="aspectFill"
class="img-1"
/>
<view
class="checkmark"
v-show="item.multiply ? form[item.key].includes(v.label) : form[item.key] === v.label"
>
<image
src="https://oss.yz.zglvling.com/user/image/2025-07-23/1753234211808517.png"
mode="aspectFill"
class="img-1"
/>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="btn-bottom">
<button class="next-btn" @tap="nextStep"> 下一步 </button>
<view class="btn-bottom">
<button class="next-btn" @tap="nextStep"> 下一步 </button>
<uni-file-picker
v-if="isHideUploadBtn"
:auto-upload="false"
:del-icon="false"
:disable-preview="true"
sizeType="['original']"
class="custom-upload"
:sourceType="['album', 'camera']"
limit="1"
mode="grid"
@select="selectPic"
/>
</view>
<uni-file-picker
v-if="isHideUploadBtn"
:auto-upload="false"
:del-icon="false"
:disable-preview="true"
sizeType="['original']"
class="custom-upload"
:sourceType="['album', 'camera']"
limit="1"
mode="grid"
@select="selectPic"
/>
</view>
<div class="dialog" v-if="false">
<div class="dialog-main">
<div class="next-input">
<uni-file-picker
:auto-upload="false"
:del-icon="false"
:disable-preview="true"
sizeType="['original']"
class="upload"
limit="1"
mode="grid"
>选择选择选择选择选择选择选择选择
</uni-file-picker>
<div class="dialog" v-if="false">
<div class="dialog-main">
<div class="next-input">
<uni-file-picker
:auto-upload="false"
:del-icon="false"
:disable-preview="true"
sizeType="['original']"
class="upload"
limit="1"
mode="grid"
>选择选择选择选择选择选择选择选择
</uni-file-picker>
</div>
</div>
</div>
</div>
</view>
</view>
</s-layout>
</template>
<script setup>
+74 -72
View File
@@ -1,84 +1,86 @@
<template>
<view class="base-info">
<view class="title">
<view>请输入并核对信息</view>
<view>便于AI算法优化</view>
</view>
<view class="sub-title">我们会保障您的个人信息安全请放心填写</view>
<s-layout :bgStyle="{ color: '#FFF' }" title="">
<view class="base-info">
<view class="title">
<view>请输入并核对信息</view>
<view>便于AI算法优化</view>
</view>
<view class="sub-title">我们会保障您的个人信息安全请放心填写</view>
<view class="baseinfo">基本信息</view>
<view class="baseinfo">基本信息</view>
<view class="form">
<view class="form-item">
<view class="label">性别</view>
<view class="form">
<view class="form-item">
<view class="label">性别</view>
<view class="sex-group">
<view :class="{ active: form.sex === '男' }" class="sex-btn" @tap="onTap('sex', '男')"
></view
>
<view :class="{ active: form.sex === '女' }" class="sex-btn" @tap="onTap('sex', '女')"
></view
>
<view class="sex-group">
<view :class="{ active: form.sex === '男' }" class="sex-btn" @tap="onTap('sex', '男')"
></view
>
<view :class="{ active: form.sex === '女' }" class="sex-btn" @tap="onTap('sex', '女')"
></view
>
</view>
</view>
<view class="form-item">
<view class="label">出生日期</view>
<!-- <view class="tip">请输入实际年龄</view> -->
<view class="tip">
<picker mode="date" @change="onAgeChange" start="1900-01-01" end="2052-12-31">
<view class="tip">{{ form.birthday || '请输入实际年龄' }}</view>
</picker>
</view>
</view>
<view class="form-item">
<view class="label">身高cm</view>
<!-- <view class="tip">请输入身高</view> -->
<input
class="tip"
placeholder="请输入身高"
placeholder-class="custom-input-ph"
:value="form.height"
@input="(e) => onTap('height', e.detail.value)"
style="width: 80px"
type="number"
/>
</view>
<view class="form-item">
<view class="label">体重KG</view>
<!-- <view class="tip">请输入体重</view> -->
<input
class="tip"
placeholder="请输入体重"
placeholder-class="custom-input-ph"
:value="form.weight"
@input="(e) => onTap('weight', e.detail.value)"
style="width: 80px"
type="number"
/>
</view>
<view class="form-item">
<view class="label">职业</view>
<!-- <view class="tip">请输入职业</view> -->
<input
class="tip"
placeholder="请输入职业"
placeholder-class="custom-input-ph"
:value="form.work"
@input="(e) => onTap('work', e.detail.value)"
style="width: 80px"
type="text"
/>
</view>
</view>
<view class="form-item">
<view class="label">出生日期</view>
<!-- <view class="tip">请输入实际年龄</view> -->
<view class="tip">
<picker mode="date" @change="onAgeChange" start="1900-01-01" end="2052-12-31">
<view class="tip">{{ form.birthday || '请输入实际年龄' }}</view>
</picker>
</view>
</view>
<view class="form-item">
<view class="label">身高cm</view>
<!-- <view class="tip">请输入身高</view> -->
<input
class="tip"
placeholder="请输入身高"
placeholder-class="custom-input-ph"
:value="form.height"
@input="(e) => onTap('height', e.detail.value)"
style="width: 80px"
type="number"
/>
</view>
<view class="form-item">
<view class="label">体重KG</view>
<!-- <view class="tip">请输入体重</view> -->
<input
class="tip"
placeholder="请输入体重"
placeholder-class="custom-input-ph"
:value="form.weight"
@input="(e) => onTap('weight', e.detail.value)"
style="width: 80px"
type="number"
/>
</view>
<view class="form-item">
<view class="label">职业</view>
<!-- <view class="tip">请输入职业</view> -->
<input
class="tip"
placeholder="请输入职业"
placeholder-class="custom-input-ph"
:value="form.work"
@input="(e) => onTap('work', e.detail.value)"
style="width: 80px"
type="text"
/>
<view class="btn-bottom">
<button class="next-btn" @tap="nextStep">下一步</button>
</view>
</view>
<view class="btn-bottom">
<button class="next-btn" @tap="nextStep">下一步</button>
</view>
</view>
</s-layout>
</template>
<script setup>
+2 -1
View File
@@ -1,7 +1,7 @@
<template>
<view class="index">
<image
v-for="i in 10"
v-for="i in 30"
:key="i"
:src="`/static/index/image_${i}.jpeg`"
mode="widthFix"
@@ -52,6 +52,7 @@
background-color: #0d232c;
color: white;
font-size: 32rpx;
opacity: 0;
}
}
}
+75 -8
View File
@@ -1,17 +1,39 @@
<template>
<view style="overflow-x: hidden; font-size: 0">
<img v-if="isInPptr" src="/static/header.png" style="width: 100%;display: block;margin-bottom: -138rpx;" />
<view id="headerBox">
<!-- <Header v-if="!!userFaceInfo" :userFaceInfo="userFaceInfo" /> -->
<Header v-if="collect" :userFaceInfo="collect" />
<view class="download" @click="openEmailDialog">
<view class="download-left">
<img src="/static/pdf-icon.png" class="pdf-icon" />
</view>
<view class="download-center">输入邮件地址获取PDF报告</view>
<view class="download-right">确定</view>
</view>
<view class="report">
<view class="report-title"> 美学诊断报告 </view>
<view class="report-title-en"> FD Aesthetic Diagnosis Report </view>
</view>
</view>
<view :class="classFixed" style="width: 100%">
<view style="display: block;">
<img src="/static/nav-1.png" style="width: 100%;display: block;" />
<img src="/static/nav-2.png" style="width: 100%;display: block;" />
</view>
<view :class="classFixed" style="width: 100%" v-if="!isInPptr">
<Tabs :tabs="tabsList" :activeTab="activeTab" @update:activeTab="onTabChange"> </Tabs>
</view>
<view
class="content"
:style="{
@@ -324,9 +346,9 @@
</view>
</view>
<view class="btn-bottom" v-if="collect">
<!-- <view class="btn-bottom" v-if="collect">
<button class="next-btn" @click="openEmailDialog">发送到邮件</button>
</view>
</view> -->
<!--
<view class="m-dialog" v-if="dialog.visible">
@@ -398,7 +420,12 @@
const collect = ref(null);
const isInPptr = ref(false);
onLoad((options) => {
isInPptr.value = options?.isInPptr == '1'
uni.setStorageSync('token', options?.token ?? '92d2805a85ca422e90dd7d50eef49a85');
console.log('🚀 ~ URL上的token ~ options?.token: ', options?.token);
@@ -410,7 +437,7 @@
const { data } = JSON.parse(res2.result[0].thridResp);
const target = Object.assign({}, JSON.parse(res1.data.dataJson), data.face_figure, {
avatar_img_url: res3.data.avatar,
avatar_img_url: res3.data.avatar || 'https://puton.huimeimeta.com/imgs/default_avatar.png',
firstImageUrl,
secondImageUrl,
thirdImageUrl
@@ -419,6 +446,8 @@
target.gender = target.sex;
collect.value = target;
// collect.value.avatar = collect.value.avatar || 'https://puton.huimeimeta.com/imgs/default_avatar.png'
console.log('collect.value: ', collect.value);
});
});
@@ -653,9 +682,6 @@
params.text = styleText(customKey);
}
console.log('lllllllllllllllllllllll')
praiseTextApi(params).then((res) => {
console.log('res: vvvvvvvvvvvvvvvvvvvv-----------oooooooooooo', res);
// tabType
@@ -928,7 +954,7 @@
const data = {
timeout: 100 * 1000,
url: window.location.href,
url: window.location.href+'&isInPptr=1',
email: emailVal
}
@@ -1405,6 +1431,47 @@
</style>
<style scoped lang="scss">
.download {
background-color: #D9D9D9;
height: 128rpx;
display: flex;
align-items: center;
justify-content: space-between;
color: #fff;
padding: 0 24rpx;
.download-left {
.pdf-icon {
width: 102rpx;
height: 102rpx;
}
}
.download-center {
flex: 1;
align-self: stretch;
color: #979797;
font-size: 28rpx;
display: flex;
align-items: center;
justify-content: center;
}
.download-right {
width: 150rpx;
height: 80rpx;
background-color: #000;
font-size: 28rpx;
color: #fff;
display: flex;
align-items: center;
justify-content: space-evenly;
}
}
.btn-bottom {
margin-top: 20rpx;
+1 -1
View File
@@ -183,7 +183,7 @@
.operating {
display: flex;
justify-content: space-around;
margin-top: 200rpx;
margin-top: 150rpx;
padding: 0 20rpx;
margin-bottom: 200rpx;
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 36 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB