This commit is contained in:
xingyy 2024-08-08 11:25:09 +08:00
parent baa9dfe2ce
commit 2ec513307a
7 changed files with 112 additions and 329 deletions

BIN
src/assets/image/dfdf1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -3,7 +3,7 @@ import { createRouter, createWebHistory } from 'vue-router';
const routes = [ const routes = [
{ {
path: '/', path: '/',
redirect: 'auth' redirect: 'login'
}, },
{ {
path: '/login', path: '/login',

View File

@ -1,6 +1,6 @@
<script setup> <script setup>
import {useAuth} from "@/store/auth/index.js"; import {useAuth} from "@/store/auth/index.js";
const {clickSendCode}= useAuth()
import {useAdaptation} from "@/utils/self-adaption.js"; import {useAdaptation} from "@/utils/self-adaption.js";
import {sizes} from "@/dict/index.js"; import {sizes} from "@/dict/index.js";
import size375 from '@/views/login/size375/index.vue' import size375 from '@/views/login/size375/index.vue'
@ -8,12 +8,20 @@ import size768 from '@/views/login/size768/index.vue'
import size1440 from '@/views/login/size1440/index.vue' import size1440 from '@/views/login/size1440/index.vue'
import size1920 from '@/views/login/size1920/index.vue' import size1920 from '@/views/login/size1920/index.vue'
import {computed} from "vue"; import {computed} from "vue";
import {useWindowSize } from '@vueuse/core';
const {clickSendCode}= useAuth()
const { width, height } = useWindowSize()
const isLandscape = computed(() => width.value > height.value)
const {currentRange }= useAdaptation(sizes) const {currentRange }= useAdaptation(sizes)
const viewComponent = computed(()=>{ const viewComponent = computed(()=>{
switch (currentRange.value?.minWidth){ switch (currentRange.value?.minWidth){
case '0px': case '0px':
return size375 return size375
case '768px': case '768px':
// ipad
if (isLandscape.value){
return size1440
}
return size768 return size768
case '1440px': case '1440px':
return size1440 return size1440

View File

@ -4,11 +4,11 @@
<template> <template>
<div class="box-border relative w-screen h-screen bg-center bg-no-repeat bg-cover bg-[url('@/assets/image/za3343@2x.png')] flex items-center flex-col"> <div class="box-border relative w-screen h-screen bg-center bg-no-repeat bg-cover bg-[url('@/assets/image/za3343@2x.png')] flex items-center flex-col">
<div class="flex items-center flex-col absolute top-0 right-[164px]"> <div class="flex items-center flex-col absolute transform translate-y-[-50%] top-[50%] right-[164px] ">
<div class=""> <div class="">
<img class="w-[280px] h-[46px] mt-[161px] mb-[60px]" src="@/assets/image/zu3310@2x.png" alt=""> <img class="w-[280px] h-[46px] mb-[60px]" src="@/assets/image/zu3310@2x.png" alt="">
</div> </div>
<div class="bg-[url('@/assets/image/z3321@2x.png')] flex flex-col items-center w-[625px] h-[727px] bg-center bg-no-repeat bg-cover pt-[81px] pr-[78px] pl-[78px]"> <div class="bg-[url('@/assets/image/z3321@2x.png')] flex flex-col items-center w-[625px] h-[727px] bg-center bg-no-repeat bg-cover pt-[91px] pr-[45px] pl-[41px]">
<div class="flex items-center"> <div class="flex items-center">
<div class="text-primary text-[19px] font-bold w-[88px]">手机号</div> <div class="text-primary text-[19px] font-bold w-[88px]">手机号</div>
<div> <div>

View File

@ -3,7 +3,7 @@ import {useAdaptation} from "@/utils/self-adaption.js";
import {sizes} from "@/dict/index.js"; import {sizes} from "@/dict/index.js";
import size375 from '@/views/signup/size375/index.vue' import size375 from '@/views/signup/size375/index.vue'
import {computed} from "vue"; import {computed} from "vue";
import size768 from "@/views/login/size768/index.vue"; import size768 from "@/views/signup/size768/index.vue";
import size1440 from "@/views/login/size1440/index.vue"; import size1440 from "@/views/login/size1440/index.vue";
import size1920 from "@/views/login/size1920/index.vue"; import size1920 from "@/views/login/size1920/index.vue";
const {currentRange }= useAdaptation(sizes) const {currentRange }= useAdaptation(sizes)

View File

@ -13,75 +13,74 @@ const columns=ref([
function onConfirm(){ function onConfirm(){
} }
</script> </script>
<template> <template>
<div class="box-border relative w-[1920px] h-screen bg-no-repeat bg-cover bg-[url('@/assets/image/zu3237.png')] flex items-center flex-col container"> <div class="box-border relative w-1920px h-screen bg-no-repeat bg-cover bg-[url('@/assets/image/zu3237.png')] flex items-center flex-col">
<div class="content1"></div> <div class="mt-143px w-1074px h-178px bg-cover bg-no-repeat bg-[url('@/assets/image/zu3311@2x.png')]"></div>
<div class="content2"> <div class="relative w-671px h-728px bg-cover">
<div class="wrap1">
<div class="wrap1_1">*姓名</div>
<div class="wrap1_2">
<input class="wrap1_2_1" placeholder="请输入宝贝姓名" type="text">
</div>
</div>
<div class="wrap1">
<div class="wrap1_1">*年龄</div>
<div class="wrap1_2">
<input class="wrap1_2_1" placeholder="请输入年龄" type="text">
</div>
</div>
<div class="wrap2">
<div class="wrap2_1">*性别</div>
<div class="wrap2_2" @click="showPicker=true" >
<input readonly class="wrap2_2_1" placeholder="请选择性别" type="text">
<img src="@/assets/image/hsmr@2x.png" class="wrap2_2_2" alt="">
</div>
</div>
<div class="package1">
<div class="package1_1">
<div class="package1_1_1">*作品1</div>
<div class="package1_1_2">
<van-uploader>
<div class="package1_1_2_1">
<img class="package1_1_2_1_1" src="@/assets/image/zu3264@2x.png" alt="">
<div class="package1_1_2_1_2">上传作品</div>
</div>
</van-uploader>
<div class="x_c1">
作品名称
</div>
<input class="x_c2" placeholder="请输入作品名称" type="text">
<div class="x_c3">
<div class="x_c3_1">
<div class="x_c3_1_1">长度</div>
<div class="x_c3_1_2">
<input class="x_c3_1_2_1" type="text" placeholder="请输入">
<div class="x_c3_1_2_2">cm</div>
</div>
</div>
<div class="x_c3_1">
<div class="x_c3_1_1">宽度</div>
<div class="x_c3_1_2">
<input class="x_c3_1_2_1" type="text" placeholder="请输入">
<div class="x_c3_1_2_2">cm</div>
</div>
</div>
</div>
</div>
</div>
<div class="package1_2">
</div>
</div>
<div class="package2">
确定
</div>
</div>
<div class="content3">
<img src="@/assets/image/gdz27.png" alt=""> <img src="@/assets/image/gdz27.png" alt="">
</div> </div>
<div class="content4"> <div class="relative bottom-200px w-1270px h-145px">
<img src="@/assets/image/zu733@2x.png" alt=""> <img src="@/assets/image/zu733@2x.png" alt="">
</div> </div>
<div class="flex flex-col items-center w-1654px h-2729px bg-cover bg-no-repeat bg-[url('@/assets/image/zu3186@2x.png')] mt-123px pt-164px px-82px">
<div class="flex items-center w-full mt-80px px-31px">
<div class="text-72px font-bold text-[#2B69A1] w-256px">*姓名</div>
<div class="w-1174px h-174px bg-[#DCE5E9] pl-61px">
<input class="w-full h-full bg-transparent border-none placeholder-[#2B69A1] placeholder-text-72px focus:outline-none" placeholder="请输入宝贝姓名" type="text">
</div>
</div>
<div class="flex items-center w-full mt-80px px-31px">
<div class="text-72px font-bold text-[#2B69A1] w-256px">*年龄</div>
<div class="w-1174px h-174px bg-[#DCE5E9] pl-61px">
<input class="w-full h-full bg-transparent border-none placeholder-[#2B69A1] placeholder-text-72px focus:outline-none" placeholder="请输入年龄" type="text">
</div>
</div>
<div class="flex items-center w-full mt-87px px-31px">
<div class="text-72px font-bold text-[#2B69A1] w-256px">*性别</div>
<div class="relative w-1174px h-174px bg-[#DCE5E9] pl-61px" @click="showPicker=true">
<input readonly class="w-full h-full bg-transparent border-none placeholder-[#2B69A1] placeholder-text-72px focus:outline-none" placeholder="请选择性别" type="text">
<img src="@/assets/image/hsmr@2x.png" class="absolute right-72px top-1/2 transform -translate-y-1/2 w-50px h-28px" alt="">
</div>
</div>
<div class="flex flex-col items-center w-full pt-46px bg-[#F5F5F5]">
<div class="flex w-full">
<div class="w-256px font-bold text-[#2B69A1]">*作品1</div>
<div>
<van-uploader>
<div class="w-410px h-410px bg-[#D6E0E9] rounded-20px flex flex-col items-center justify-center">
<img class="w-88px h-88px" src="@/assets/image/zu3264@2x.png" alt="">
<div class="mt-36px text-[#2B69A1] text-72px">上传作品</div>
</div>
</van-uploader>
<div class="mt-41px text-61px text-[#2B69A1]">作品名称</div>
<input class="mt-20px w-1174px h-174px bg-[#DCE5E9] pl-61px border-none placeholder-[#2B69A1] placeholder-text-72px focus:outline-none" placeholder="请输入作品名称" type="text">
<div class="flex justify-between mt-41px">
<div class="flex flex-col">
<div class="text-61px text-[#2B69A1]">长度</div>
<div class="flex items-center">
<input class="w-379px h-174px bg-[#DCE5E9] pl-61px border-none placeholder-[#2B69A1] placeholder-text-72px focus:outline-none" placeholder="请输入" type="text">
<div class="ml-51px text-[#2B69A1] text-72px">cm</div>
</div>
</div>
<div class="flex flex-col">
<div class="text-61px text-[#2B69A1]">宽度</div>
<div class="flex items-center">
<input class="w-379px h-174px bg-[#DCE5E9] pl-61px border-none placeholder-[#2B69A1] placeholder-text-72px focus:outline-none" placeholder="请输入" type="text">
<div class="ml-51px text-[#2B69A1] text-72px">cm</div>
</div>
</div>
</div>
</div>
</div>
<div class="mt-51px mb-46px w-184px h-184px bg-[#336699] rounded-full flex items-center justify-center shadow-0-0-10px-rgba(0,0,0,0.1) relative">
<div class="absolute w-88px h-6px bg-white"></div>
<div class="absolute w-6px h-88px bg-white"></div>
</div>
</div>
<div class="mt-133px w-866px h-200px bg-contain bg-no-repeat bg-[url('@/assets/image/zu3189@2x1.png')] flex justify-center items-center text-white text-82px">
确定
</div>
</div>
<van-popup v-model:show="showPicker" round position="bottom"> <van-popup v-model:show="showPicker" round position="bottom">
<van-picker <van-picker
:columns="columns" :columns="columns"
@ -91,278 +90,3 @@ function onConfirm(){
</van-popup> </van-popup>
</div> </div>
</template> </template>
<style scoped lang="scss">
.container {
.content4 {
position: absolute;
bottom: 200px;
img {
width: 1270px;
height: 145px;
}
}
.content3 {
position: absolute;
top: 0;
left: 0;
background-size: cover;
img {
width: 671px;
height: 728px;
}
}
.content1 {
margin-top: 143px;
background-size: cover;
width: 1074px;
height: 178px;
background-repeat: no-repeat;
background-image: url("@/assets/image/zu3311@2x.png");
}
.content2 {
padding-left: 82px;
padding-right: 82px;
margin-top: 123px;
background-size: cover;
width: 1654px;
height: 2729px;
background-repeat: no-repeat;
background-image: url("@/assets/image/zu3186@2x.png");
display: flex;
flex-direction: column;
align-items: center;
padding-top: 164px;
.package2{
margin-top: 133px;
background-size: contain;
background-repeat: no-repeat;
width: 866px;
height: 200px;
background-image: url("@/assets/image/zu3189@2x1.png");
display: flex;
justify-content: center;
align-items: center;
color: #fff;
font-size: 82px;
}
.package1{
padding-top: 46px;
padding-left: 31px;
width: 100%;
background-color: #F5F5F5;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.package1_2 {
margin-bottom: 46px;
margin-top: 51px;
width: 184px; /* 按照图片的实际尺寸调整 */
height: 184px; /* 按照图片的实际尺寸调整 */
background-color: #336699; /* 蓝色背景颜色 */
border-radius: 50%; /* 圆形 */
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 可选的阴影效果 */
}
.package1_2::before,
.package1_2::after {
content: '';
position: absolute;
background-color: white; /* 加号的颜色 */
}
.package1_2::before {
width: 88px; /* 加号横线的宽度 */
height: 6px; /* 加号横线的高度 */
}
.package1_2::after {
width: 6px; /* 加号竖线的宽度 */
height: 88px; /* 加号竖线的高度 */
}
.package1_1{
width: 100%;
display: flex;
.package1_1_2{
.x_c2{
margin-top: 20px;
width: 1174px;
padding-left: 61px;
height: 174px;
background-color: #DCE5E9;
border: none;
&:focus{
outline: none;
}
&::placeholder {
font-size: 72px;
color: #2B69A1;
}
}
.x_c3{
margin-top: 41px;
display: flex;
justify-content: space-between;
.x_c3_1{
display: flex;
flex-direction: column;
.x_c3_1_2{
display: flex;
align-items: center;
.x_c3_1_2_2{
color: #2B69A1;
font-size: 72px;
}
.x_c3_1_2_1{
margin-right: 51px;
padding-left: 61px;
width: 379px;
height: 174px;
background-color: #DCE5E9;
border: none;
&:focus{
outline: none;
}
&::placeholder {
font-size: 72px;
color: #2B69A1;
}
}
}
.x_c3_1_1{
color: #2B69A1;
font-size: 61px;
}
}
}
.x_c1{
margin-top: 41px;
color: #2B69A1;
font-size: 61px;
}
.package1_1_2_1{
background-color: #D6E0E9;
border-radius: 20px;
width: 410px;
height: 410px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.package1_1_2_1_1{
width: 88px;
height: 88px;
}
.package1_1_2_1_2{
margin-top: 36px;
color: #2B69A1;
font-size: 72px;
}
}
}
.package1_1_1{
width: 256px;
color: #2B69A1;
font-weight: bold;
}
}
}
.wrap1 {
padding-left: 31px;
margin-top: 80px;
display: flex;
align-items: center;
width: 100%;
.wrap1_2 {
.wrap1_2_1 {
padding-left: 61px;
width: 1174px;
height: 174px;
background-color: #DCE5E9;
border: none;
&:focus{
outline: none;
}
&::placeholder {
font-size: 72px;
color: #2B69A1;
}
}
}
.wrap1_1 {
width: 256px;
font-weight: bold;
color: #2B69A1;
font-size: 72px;
}
}
.wrap2 {
padding-left: 31px;
width: 100%;
margin-top: 87px;
display: flex;
align-items: center;
.wrap2_3 {
margin-left: 51px;
color: #FFFFFF;
font-size: 72px;
display: flex;
justify-content: center;
align-items: center;
width: 460px;
height: 174px;
background-color: #2B69A1;
}
.wrap2_2 {
position: relative;
.wrap2_2_2{
top: 50%;
transform: translateY(-50%);
right: 72px;
position: absolute;
width: 50px;
height: 28px;
}
.wrap2_2_1 {
width: 1174px;
padding-left: 61px;
height: 174px;
background-color: #DCE5E9;
border: none;
&:focus{
outline: none;
}
&::placeholder {
font-size: 72px;
color: #2B69A1;
}
}
}
.wrap2_1 {
width: 256px;
font-weight: bold;
color: #2B69A1;
font-size: 72px;
}
}
}
}
</style>

View File

@ -13,7 +13,58 @@
<div class=""> <div class="">
<img class="w-[525px] h-[87px] mt-[303px] mb-[100px]" src="@/assets/image/zu3311@2x.png" alt=""> <img class="w-[525px] h-[87px] mt-[303px] mb-[100px]" src="@/assets/image/zu3311@2x.png" alt="">
</div> </div>
<div class="bg-[url('@/assets/image/zu3327@2x.png')] w-[1173px] h-[1489px] bg-center bg-no-repeat bg-cover"></div> <div class="bg-[url('@/assets/image/zu3327@2x.png')] pb-60px w-[1173px] h-[1489px] bg-center bg-no-repeat bg-cover pt-[80px] pr-[54px] pl-[54px] flex items-center flex-col">
<div class="flex items-center">
<div class="text-primary text-[35px] w-[165px] font-bold">*姓名</div>
<div class="text-primary text-[35px]">
<input class="pl-30px pr-[30px] w-[853px] h-[85px] focus:outline-none placeholder-text-primary placeholder:text-[35px] focus: bg-[#DCE5E9] focus:text-[35px] border-none" placeholder="请输入宝贝姓名" type="text">
</div>
</div>
<div class="flex items-center mt-[45px]">
<div class="text-primary text-[35px] w-[165px] font-bold">*年龄</div>
<div class="text-primary text-[35px]">
<input class="pl-30px pr-[30px] w-[853px] h-[85px] focus:outline-none placeholder-text-primary placeholder:text-[35px] focus: bg-[#DCE5E9] focus:text-[35px] border-none" placeholder="请输入年龄" type="text">
</div>
</div>
<div class="bg-#F5F5F5 mt-38px w-[1065px] flex items-center flex-col grow-1">
<div class="flex">
<div class="text-primary text-[35px] w-[165px] font-bold mt-38px">*作品1</div>
<div class="mt-20px">
<van-uploader>
<div class="w-738px h-342px bg-[#D6E0E9] rounded-20px flex flex-col items-center justify-center">
<img class="w-43px h-43px" src="@/assets/image/zu3264@2x.png" alt="">
<div class="mt-20px text-[#2B69A1] text-35px">上传作品</div>
</div>
</van-uploader>
<div class="mt-20px text-30px text-[#2B69A1]">作品名称</div>
<input class="mt-20px w-835px h-85px bg-[#DCE5E9] pl-30px pr-[30px] border-none placeholder-[#2B69A1] placeholder-text-35px focus:outline-none" placeholder="请输入作品名称" type="text">
<div class="flex justify-between mt-20px">
<div class="flex flex-col">
<div class="text-30px text-[#2B69A1]">长度</div>
<div class="flex items-center mt-[10px]">
<input class="w-330px h-85px bg-[#DCE5E9] pl-30px pr-[30px] border-none placeholder-[#2B69A1] placeholder-text-35px focus:outline-none" placeholder="请输入" type="text">
<div class="ml-25px text-[#2B69A1] text-35px">cm</div>
</div>
</div>
<div class="flex flex-col">
<div class="text-30px text-[#2B69A1]">宽度</div>
<div class="flex items-center mt-[10px]">
<input class="w-330px h-85px bg-[#DCE5E9] pl-30px pr-[30px] border-none placeholder-[#2B69A1] placeholder-text-35px focus:outline-none" placeholder="请输入" type="text">
<div class="ml-25px text-[#2B69A1] text-35px">cm</div>
</div>
</div>
</div>
</div>
</div>
<div class=" w-90px h-90px mt-[28px] bg-[#336699] rounded-full flex items-center justify-center shadow-0-0-10px-rgba(0,0,0,0.1) relative">
<div class="absolute w-43px h-6px bg-white"></div>
<div class="absolute w-6px h-43px bg-white"></div>
</div>
</div>
<div class="mt-43px w-600px h-98px bg-cover bg-no-repeat bg-[url('@/assets/image/dfdf1.png')] flex justify-center items-center text-white text-40px">
确定
</div>
</div>
</div> </div>
</template> </template>