feat: 增加发邮件功能

This commit is contained in:
kenny
2025-10-16 19:15:42 +08:00
parent 617f4f6acf
commit 728dc5e559
4 changed files with 625 additions and 219 deletions
+228 -213
View File
@@ -1,222 +1,237 @@
{
"name" : "商城",
"appid" : "__UNI__A2B711F",
"description" : "基于 uni-app + Vue3 技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
"versionName" : "2025.09",
"versionCode" : "183",
"transformPx" : false,
"app-plus" : {
"usingComponents" : true,
"nvueCompiler" : "uni-app",
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"nvueLaunchMode" : "fast",
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
"name": "商城",
"appid": "__UNI__A2B711F",
"description": "基于 uni-app + Vue3 技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
"versionName": "2025.09",
"versionCode": "183",
"transformPx": false,
"app-plus": {
"usingComponents": true,
"nvueCompiler": "uni-app",
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"nvueLaunchMode": "fast",
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
"safearea": {
"bottom": {
"offset": "none"
}
},
"modules": {
"Payment": {},
"Share": {},
"VideoPlayer": {},
"OAuth": {}
},
"distribute": {
"android": {
"permissions": [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.GET_TASKS\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.READ_SMS\"/>",
"<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.SEND_SMS\"/>",
"<uses-permission android:name=\"android.permission.SYSTEM_ALERT_WINDOW\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SMS\"/>",
"<uses-permission android:name=\"android.permission.RECEIVE_USER_PRESENT\"/>"
],
"minSdkVersion": 21,
"schemes": "shopro"
},
"ios": {
"urlschemewhitelist": [
"baidumap",
"iosamap"
],
"dSYMs": false,
"privacyDescription": {
"NSPhotoLibraryUsageDescription": "需要同意访问您的相册选取图片才能完善该条目",
"NSPhotoLibraryAddUsageDescription": "需要同意访问您的相册才能保存该图片",
"NSCameraUsageDescription": "需要同意访问您的摄像头拍摄照片才能完善该条目",
"NSUserTrackingUsageDescription": "开启追踪并不会获取您在其它站点的隐私信息,该行为仅用于标识设备,保障服务安全和提升浏览体验"
},
"safearea" : {
"bottom" : {
"offset" : "none"
}
"urltypes": "shopro",
"capabilities": {
"entitlements": {
"com.apple.developer.associated-domains": [
"applinks:shopro.sheepjs.com"
]
}
},
"modules" : {
"Payment" : {},
"Share" : {},
"VideoPlayer" : {},
"OAuth" : {}
"idfa": true
},
"sdkConfigs": {
"speech": {},
"ad": {},
"oauth": {
"apple": {},
"weixin": {
"appid": "wxae7a0c156da9383b",
"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
}
},
"distribute" : {
"android" : {
"permissions" : [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.GET_TASKS\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.READ_SMS\"/>",
"<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.SEND_SMS\"/>",
"<uses-permission android:name=\"android.permission.SYSTEM_ALERT_WINDOW\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SMS\"/>",
"<uses-permission android:name=\"android.permission.RECEIVE_USER_PRESENT\"/>"
],
"minSdkVersion" : 21,
"schemes" : "shopro"
},
"ios" : {
"urlschemewhitelist" : [ "baidumap", "iosamap" ],
"dSYMs" : false,
"privacyDescription" : {
"NSPhotoLibraryUsageDescription" : "需要同意访问您的相册选取图片才能完善该条目",
"NSPhotoLibraryAddUsageDescription" : "需要同意访问您的相册才能保存该图片",
"NSCameraUsageDescription" : "需要同意访问您的摄像头拍摄照片才能完善该条目",
"NSUserTrackingUsageDescription" : "开启追踪并不会获取您在其它站点的隐私信息,该行为仅用于标识设备,保障服务安全和提升浏览体验"
},
"urltypes" : "shopro",
"capabilities" : {
"entitlements" : {
"com.apple.developer.associated-domains" : [ "applinks:shopro.sheepjs.com" ]
}
},
"idfa" : true
},
"sdkConfigs" : {
"speech" : {},
"ad" : {},
"oauth" : {
"apple" : {},
"weixin" : {
"appid" : "wxae7a0c156da9383b",
"UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
}
},
"payment" : {
"weixin" : {
"__platform__" : [ "ios", "android" ],
"appid" : "wxae7a0c156da9383b",
"UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
},
"alipay" : {
"__platform__" : [ "ios", "android" ]
}
},
"share" : {
"weixin" : {
"appid" : "wxae7a0c156da9383b",
"UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
}
}
},
"orientation" : [ "portrait-primary" ],
"splashscreen" : {
"androidStyle" : "common",
"iosStyle" : "common",
"useOriginalMsgbox" : true
},
"icons" : {
"android" : {
"hdpi" : "unpackage/res/icons/72x72.png",
"xhdpi" : "unpackage/res/icons/96x96.png",
"xxhdpi" : "unpackage/res/icons/144x144.png",
"xxxhdpi" : "unpackage/res/icons/192x192.png"
},
"ios" : {
"appstore" : "unpackage/res/icons/1024x1024.png",
"ipad" : {
"app" : "unpackage/res/icons/76x76.png",
"app@2x" : "unpackage/res/icons/152x152.png",
"notification" : "unpackage/res/icons/20x20.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"proapp@2x" : "unpackage/res/icons/167x167.png",
"settings" : "unpackage/res/icons/29x29.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"spotlight" : "unpackage/res/icons/40x40.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png"
},
"iphone" : {
"app@2x" : "unpackage/res/icons/120x120.png",
"app@3x" : "unpackage/res/icons/180x180.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"notification@3x" : "unpackage/res/icons/60x60.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"settings@3x" : "unpackage/res/icons/87x87.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png",
"spotlight@3x" : "unpackage/res/icons/120x120.png"
}
}
}
"payment": {
"weixin": {
"__platform__": [
"ios",
"android"
],
"appid": "wxae7a0c156da9383b",
"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
},
"alipay": {
"__platform__": [
"ios",
"android"
]
}
},
"share": {
"weixin": {
"appid": "wxae7a0c156da9383b",
"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
}
}
},
"quickapp" : {},
"quickapp-native" : {
"icon" : "/static/logo.png",
"package" : "com.example.demo",
"features" : [
{
"name" : "system.clipboard"
}
]
},
"quickapp-webview" : {
"icon" : "/static/logo.png",
"package" : "com.example.demo",
"minPlatformVersion" : 1070,
"versionName" : "1.0.0",
"versionCode" : 100
},
"mp-weixin" : {
"appid" : "wx736793c30c956243",
"setting" : {
"urlCheck" : false,
"minified" : true,
"postcss" : true
},
"orientation": [
"portrait-primary"
],
"splashscreen": {
"androidStyle": "common",
"iosStyle": "common",
"useOriginalMsgbox": true
},
"icons": {
"android": {
"hdpi": "unpackage/res/icons/72x72.png",
"xhdpi": "unpackage/res/icons/96x96.png",
"xxhdpi": "unpackage/res/icons/144x144.png",
"xxxhdpi": "unpackage/res/icons/192x192.png"
},
"optimization" : {
"subPackages" : true
},
"plugins" : {},
"lazyCodeLoading" : "requiredComponents",
"usingComponents" : {},
"permission" : {},
"requiredPrivateInfos" : [ "chooseAddress" ]
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"mp-jd" : {
"usingComponents" : true
},
"h5" : {
"template" : "index.html",
"router" : {
"mode" : "history",
"base" : "/"
},
"sdkConfigs" : {
"maps" : {}
},
"async" : {
"timeout" : 20000
},
"title" : "商城",
"optimization" : {
"treeShaking" : {
"enable" : true
}
"ios": {
"appstore": "unpackage/res/icons/1024x1024.png",
"ipad": {
"app": "unpackage/res/icons/76x76.png",
"app@2x": "unpackage/res/icons/152x152.png",
"notification": "unpackage/res/icons/20x20.png",
"notification@2x": "unpackage/res/icons/40x40.png",
"proapp@2x": "unpackage/res/icons/167x167.png",
"settings": "unpackage/res/icons/29x29.png",
"settings@2x": "unpackage/res/icons/58x58.png",
"spotlight": "unpackage/res/icons/40x40.png",
"spotlight@2x": "unpackage/res/icons/80x80.png"
},
"iphone": {
"app@2x": "unpackage/res/icons/120x120.png",
"app@3x": "unpackage/res/icons/180x180.png",
"notification@2x": "unpackage/res/icons/40x40.png",
"notification@3x": "unpackage/res/icons/60x60.png",
"settings@2x": "unpackage/res/icons/58x58.png",
"settings@3x": "unpackage/res/icons/87x87.png",
"spotlight@2x": "unpackage/res/icons/80x80.png",
"spotlight@3x": "unpackage/res/icons/120x120.png"
}
}
}
}
},
"quickapp": {},
"quickapp-native": {
"icon": "/static/logo.png",
"package": "com.example.demo",
"features": [
{
"name": "system.clipboard"
}
]
},
"quickapp-webview": {
"icon": "/static/logo.png",
"package": "com.example.demo",
"minPlatformVersion": 1070,
"versionName": "1.0.0",
"versionCode": 100
},
"mp-weixin": {
"appid": "wx736793c30c956243",
"setting": {
"urlCheck": false,
"minified": true,
"postcss": true
},
"vueVersion" : "3",
"_spaceID" : "192b4892-5452-4e1d-9f09-eee1ece40639",
"locale" : "zh-Hans",
"fallbackLocale" : "zh-Hans"
"optimization": {
"subPackages": true
},
"plugins": {},
"lazyCodeLoading": "requiredComponents",
"usingComponents": {},
"permission": {},
"requiredPrivateInfos": [
"chooseAddress"
]
},
"mp-alipay": {
"usingComponents": true
},
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao": {
"usingComponents": true
},
"mp-jd": {
"usingComponents": true
},
"h5": {
"template": "index.html",
"router": {
"mode": "history",
"base": "/"
},
"sdkConfigs": {
"maps": {}
},
"async": {
"timeout": 20000
},
"title": "商城",
"optimization": {
"treeShaking": {
"enable": true
}
}
},
"vueVersion": "3",
"_spaceID": "192b4892-5452-4e1d-9f09-eee1ece40639",
"locale": "zh-Hans",
"fallbackLocale": "zh-Hans"
}
@@ -0,0 +1,186 @@
<template>
<div class="dialog" v-if="visible && info">
<div class="dialog-main">
<div class="dialog-title">{{ info.name }}</div>
<div class="dialog-body">
<!-- <div class="dialog-score" v-if="info.result">
<div class="text" :style="{ color: info.color }">
{{ info.result }}
</div>
<div class="count">{{ info.userValue }}</div>
</div> -->
<!-- <div class="dialog-text" v-if="info.text">
{{ info.text }}
</div>
<div class="dialog-box" v-if="!info.text">
<div
v-for="(item, index) in [
info.explanationAnalyzeResult.advicesList,
info.explanationAnalyzeResult.detailsList,
].flat(Infinity)"
:key="index"
>
<div class="dialog-box-title" :style="{ margin: 0 }">
{{ item.name }}
</div>
<div
class="dialog-box-item"
v-for="(value, idx) in item.valuesList"
:key="idx + value"
>
{{ value }}
</div>
</div>
</div> -->
<div class="dialog-text">xxxxxxxxxxxxxxx</div>
</div>
<div class="dialog-btn" @click="onClose">知道了</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {};
},
props: {
visible: {
type: Boolean,
default: false,
},
info: {
type: Object,
default: null,
},
},
methods: {
onClose() {
console.log("onClose: xxxxxxxxx", this.info);
this.$emit("update:visible", false);
},
},
};
</script>
<style scoped lang="scss">
.dialog {
position: fixed;
inset: 0;
background-color: rgba(0, 0, 0, 0.4);
.dialog-main {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column;
// background-color: red;
width: 380rpx;
// height: 548rpx;
// min-height: 363rpx;
// max-height: 548rpx;
background: #f5f7fb;
border-radius: 25rpx;
box-sizing: border-box;
padding: 25rpx;
.dialog-title {
color: #000000;
font-size: 20rpx;
text-align: center;
font-weight: bolder;
padding-bottom: 25rpx;
border-bottom: 1rpx solid #d9d9d9;
}
.dialog-body {
// padding: 25rpx;
margin-top: 25rpx;
padding-bottom: 25rpx;
// overflow-y: scroll;
flex: 1;
.dialog-score {
display: flex;
align-items: center;
flex-direction: column;
margin-bottom: 25rpx;
// margin-top: 25rpx;
// display: none;
.text {
font-size: 23rpx;
color: #5ea2f0;
font-weight: bold;
line-height: 1;
}
.count {
font-size: 18rpx;
color: #343434;
line-height: 1;
margin-top: 3rpx;
}
}
.dialog-text {
font-size: 16rpx;
color: #343434;
line-height: 21rpx;
// margin: 25rpx 0;
letter-spacing: 3rpx;
// margin-top: 25rpx;
// background-color: red;
}
.dialog-box {
overflow-y: scroll;
max-height: 600rpx;
// padding-top: 25rpx;
// background-color: red;
.dialog-box-title {
font-size: 18rpx;
color: #000000;
font-weight: bolder;
margin-top: 25rpx;
}
.dialog-box-item {
font-size: 16rpx;
color: #515f65;
line-height: 21rpx;
letter-spacing: 3rpx;
margin-top: 6rpx;
}
}
}
.dialog-btn {
height: 50rpx;
background: #5ea2f0;
border-radius: 15rpx;
font-size: 16rpx;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
&:active {
opacity: 0.4;
}
}
}
}
</style>
+161 -4
View File
@@ -310,7 +310,22 @@
</view>
<view class="btn-bottom" v-if="collect">
<button class="next-btn" >马上体验</button>
<button class="next-btn" @click="openEmailDialog">发送到邮件</button>
</view>
<view class="m-dialog" v-if="dialog.visible">
<div class="m-dialog-main">
<div class="email">
邮箱<input
v-model="email"
focus
placeholder="请输入您的邮箱"
placeholder-class="placeholder"
/>
</div>
<button class="btn" @click="sendEmail">发送</button>
</div>
</view>
</template>
@@ -348,6 +363,8 @@
} from '@/constant/aiText';
import { praiseTextApi } from '@/sheep/api/doubao';
const email = ref('');
const {
// praiseTextApi,
getStyleApi,
@@ -359,6 +376,7 @@
getAiFaceResult,
getUserInfo,
getUserAvatar,
sendMail,
} = ReportApi;
const collect = ref(null);
@@ -864,12 +882,45 @@
}
activeTab.value = tabIndex;
}
const dialog = ref({
visible: false,
});
const openEmailDialog = () => {
console.log('openEmailDialog: ');
dialog.value.visible = true;
};
const sendEmail = async () => {
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
if (!emailRegex.test(email.value)) {
uni.showToast({ title: '请输入正确的邮箱', icon: 'none' });
return;
}
const res = await sendMail({
timeout: 100 * 1000,
pageUrl: window.location.href,
email: email.value,
});
if (res.data.code == 0) {
dialog.value.visible = false;
email.value = '';
uni.showToast({ title: '已经进入发送队列,稍后请查收邮件', icon: 'none' });
}
};
</script>
<style>
.report {
padding: 20px 20px 0;
}
.report-title {
font-family: 'PingFang SC', 'Microsoft YaHei', 'Arial', sans-serif !important;
font-weight: 400;
@@ -877,6 +928,7 @@
line-height: 28px !important;
letter-spacing: 0px;
}
.report-title-en {
font-family: 'PingFang SC', 'Microsoft YaHei', 'Arial', sans-serif !important;
font-weight: 400;
@@ -885,57 +937,69 @@
letter-spacing: 0px;
color: rgba(216, 216, 216, 1);
}
.padding-top20 {
padding: 20px 20px 0;
}
.color-tab-content {
display: flex;
flex-direction: column;
align-items: center;
}
.color-img {
width: 100%;
max-width: 400px;
border-radius: 8px;
margin-bottom: 12px;
}
.color-desc {
text-align: center;
color: #666;
font-size: 16px;
}
.title {
padding: 0 20px;
}
.swiper-container {
position: relative;
}
.avatar-box {
display: flex;
position: absolute;
width: 100%;
height: 235px;
}
.avatar {
position: absolute;
width: 235px;
height: 235px;
z-index: 9;
}
.avatar img {
/* width: 235px; */
height: 235px;
transform: scale(1.2);
}
.swiper {
width: 100%;
height: 235px;
margin-top: 20px;
}
.img-box {
width: 235px;
position: relative;
}
.btn {
position: absolute;
z-index: 999;
@@ -946,13 +1010,16 @@
align-items: center;
justify-content: center;
}
.btn img {
width: 32px;
height: 32px;
}
.left-btn {
left: 0;
}
.right-btn {
right: 0;
}
@@ -966,6 +1033,7 @@
justify-content: center;
/* background-color: red; */
}
.swiper-instructions {
display: flex;
flex-direction: column;
@@ -973,6 +1041,7 @@
/* justify-content: center; */
padding-top: 10px;
}
.swiper-type-name {
font-family: 'PingFang SC', 'Microsoft YaHei', 'Arial', sans-serif !important;
font-weight: 400;
@@ -980,6 +1049,7 @@
line-height: 28px !important;
letter-spacing: 94%;
}
.swiper-type-name-en {
font-family: 'PingFang SC', 'Microsoft YaHei', 'Arial', sans-serif !important;
font-weight: 400;
@@ -990,6 +1060,7 @@
color: rgba(216, 216, 216, 1);
margin-top: 5px;
}
.swiper-type-text {
font-family: 'PingFang SC', 'Microsoft YaHei', 'Arial', sans-serif !important;
font-weight: 400;
@@ -998,6 +1069,7 @@
letter-spacing: 0%;
margin-top: 5px;
}
.image {
width: 100%;
}
@@ -1009,14 +1081,17 @@
line-height: 28px !important;
letter-spacing: 0% !important;
}
.reference-title {
width: 100%;
height: 17px;
}
.reference-title img {
width: 100%;
height: 17px;
}
.reference-img-box {
height: 195.5px;
margin-top: 20px;
@@ -1024,14 +1099,17 @@
justify-content: space-between;
margin-bottom: 30px;
}
.reference-img-box .reference-img1 {
width: 100%;
height: 195.5px;
}
.reference-img-box .reference-img2 {
width: 45px;
height: 165px;
}
.reference-complate {
width: 100%;
height: 21px;
@@ -1047,6 +1125,7 @@
color: rgba(216, 216, 216, 1);
margin: 20px 0;
}
.avatar-warp {
width: 100%;
height: 192px;
@@ -1054,6 +1133,7 @@
align-items: center;
justify-content: center;
}
.avatar-main {
width: 116px;
height: 160px;
@@ -1061,11 +1141,13 @@
border-radius: 40px;
overflow: hidden;
}
.avatar-main img {
width: 100%;
height: 100%;
object-fit: cover;
}
.avatar-side {
width: 80px;
height: 120px;
@@ -1073,28 +1155,34 @@
border-radius: 40px;
overflow: hidden;
}
.avatar-side img {
width: 100%;
height: 100%;
object-fit: cover;
}
.rich-text-content {
padding: 0 20px 20px;
}
.face-img-box {
width: 336px;
height: 338px;
}
.face-img-box img {
width: 100%;
height: 100%;
/* border-radius: 8px; */
}
.more-hairstyle {
width: 100%;
/* height: 135px; */
margin-top: 20px;
}
.more-hairstyle img {
width: 100%;
height: 100%;
@@ -1105,18 +1193,22 @@
min-height: 950px;
/* overflow-y: hidden; */
}
.shengxiao {
width: 100%;
height: 283px;
}
.shengxiao img {
width: 100%;
height: 100%;
}
.five-attribute-box {
position: relative;
/* margin-bottom: 20px; */
}
.numblock {
width: 50px;
height: 50px;
@@ -1128,15 +1220,18 @@
color: white;
z-index: 999;
}
.five-attribute {
width: 100%;
/* height: 597px; */
position: relative;
}
.five-attribute img {
width: 100%;
height: 100%;
}
.avatorLogo {
position: absolute;
left: 50%;
@@ -1149,11 +1244,13 @@
overflow: hidden;
border: 3.22px solid rgba(167, 178, 179, 1);
}
.avatorLogo img {
width: 100%;
height: 100%;
object-fit: cover;
}
.style-type {
line-height: 28px !important;
font-family: 'Microsoft YaHei', 'Arial', sans-serif !important;
@@ -1166,6 +1263,7 @@
/* height: 900px;
background-color: red; */
}
.trends-title {
font-family: 'PingFang SC', 'Microsoft YaHei', 'Arial', sans-serif !important;
margin-bottom: 16px;
@@ -1174,15 +1272,18 @@
line-height: 28px !important;
letter-spacing: 0px;
}
.trends-img-box {
display: flex;
width: 100%;
height: 330px;
justify-content: space-between;
}
.trends-img-box1 {
width: 220px;
}
.trends-img-box1 img {
width: 100%;
height: 100%;
@@ -1194,14 +1295,17 @@
flex-direction: column;
justify-content: space-between;
}
.trends-img {
width: 102px;
height: 134px;
}
.trends-img img {
width: 100%;
height: 100%;
}
.trends-one-try-btn {
width: 102px;
height: 24px;
@@ -1218,22 +1322,29 @@
line-height: 28px !important;
letter-spacing: 0px;
}
.scroll-box {
width: 100%;
overflow-x: auto;
display: flex;
white-space: nowrap;
scrollbar-width: none; /* Firefox 隐藏滚动条 */
-ms-overflow-style: none; /* IE/Edge 隐藏滚动条 */
scrollbar-width: none;
/* Firefox 隐藏滚动条 */
-ms-overflow-style: none;
/* IE/Edge 隐藏滚动条 */
}
.scroll-box::-webkit-scrollbar {
display: none; /* Chrome/Safari/Opera 隐藏滚动条 */
display: none;
/* Chrome/Safari/Opera 隐藏滚动条 */
}
.fixed {
position: fixed;
top: 0;
z-index: 9999;
}
/* 预览遮罩层样式 */
.preview-mask {
position: fixed;
@@ -1268,6 +1379,7 @@
margin-top: 20rpx;
height: 300rpx;
.next-btn {
width: 80% !important;
height: 80rpx;
@@ -1277,4 +1389,49 @@
font-size: 32rpx;
}
}
.m-dialog {
position: fixed;
inset: 0;
background-color: rgba(0, 0, 0, 0.4);
z-index: 9999;
.m-dialog-main {
position: absolute;
left: 50%;
top: 50%;
width: 80%;
height: 50%;
background-color: white;
transform: translate(-50%, -60%);
border-radius: 15rpx;
// display: flex;
// align-items: center;
// flex-direction: column;
// justify-content: center;
padding-top: 250rpx;
box-sizing: border-box;
padding-left: 30rpx;
.email {
// font-size: 35rpx;
display: flex;
}
.placeholder {
font-size: 35rpx;
line-height: 1;
}
.btn {
width: 80% !important;
height: 80rpx;
border-radius: 16rpx;
margin-top: 50rpx;
background-color: #0d232c;
color: white;
font-size: 32rpx;
}
}
}
</style>
+49 -1
View File
@@ -1,4 +1,5 @@
import request from '@/sheep/request';
import Request from 'luch-request';
const ReportApi = {
getHairApi: (data) => {
@@ -77,10 +78,57 @@ const ReportApi = {
getUserAvatar: () =>
request({
url: '/member/user/get ',
url: '/member/user/get',
method: 'get',
}),
// sendMail: () =>
// request({
// url: '/sendMail',
// method: 'post',
// }),
sendMail: (data) => {
// const init = () => {
// const http = new Request({
// baseURL: 'http://42.193.102.139:4000/api/pdf',
// timeout: 100 * 1000,
// method: 'POST',
// header: {
// Accept: 'text/json',
// 'Content-Type': 'application/json;charset=UTF-8',
// },
// // #ifdef H5
// // 跨域请求时是否携带凭证(cookies)仅H5支持(HBuilderX 2.6.15+
// withCredentials: false,
// // #endif
// });
// return http;
// };
const http = new Request({
baseURL: 'http://42.193.102.139:4000/api/pdf',
timeout: 100 * 1000,
method: 'GET',
header: {
Accept: 'text/json',
'Content-Type': 'application/json;charset=UTF-8',
Authorization: 'Bearer 14fc0280-fc65-462d-ac2d-50178c0212e3',
},
// #ifdef H5
// 跨域请求时是否携带凭证(cookies)仅H5支持(HBuilderX 2.6.15+
withCredentials: false,
// #endif
});
// const http = init();
return http.request({
method: 'POST',
data,
});
},
// https://puton.huimeimeta.com/app-api/cloth/getFaceList
};
export default ReportApi;