feat: 完成70%全局样式与可读性优化
This commit is contained in:
+37
-21
@@ -188,9 +188,10 @@
|
||||
</button>
|
||||
</view>
|
||||
|
||||
<view
|
||||
class="agreement-area"
|
||||
:class="{ 'agreement-area--error': agreementError }"
|
||||
<view
|
||||
:key="agreementShakeVersion"
|
||||
class="agreement-area"
|
||||
:class="{ 'agreement-area--error': agreementError }"
|
||||
>
|
||||
<view class="agreement-row">
|
||||
<button
|
||||
@@ -289,6 +290,7 @@ const password = ref("");
|
||||
const verificationCode = ref("");
|
||||
const agreed = ref(false);
|
||||
const agreementError = ref(false);
|
||||
const agreementShakeVersion = ref(0);
|
||||
const tacVisible = ref(false);
|
||||
const tacContext = ref(null);
|
||||
const sendingCode = ref(false);
|
||||
@@ -394,9 +396,10 @@ const validatePhone = () => {
|
||||
};
|
||||
|
||||
const requireAgreement = () => {
|
||||
if (agreed.value) return true;
|
||||
agreementError.value = true;
|
||||
return false;
|
||||
if (agreed.value) return true;
|
||||
agreementError.value = true;
|
||||
agreementShakeVersion.value += 1;
|
||||
return false;
|
||||
};
|
||||
|
||||
const closeTac = () => {
|
||||
@@ -696,7 +699,7 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
|
||||
.login-title {
|
||||
color: #9f170f;
|
||||
font-size: 58rpx;
|
||||
font-size: clamp(29px, 58rpx, 36px);
|
||||
font-weight: 700;
|
||||
letter-spacing: 5rpx;
|
||||
line-height: 1;
|
||||
@@ -722,7 +725,7 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
justify-content: center;
|
||||
min-height: 88rpx;
|
||||
color: #80684f;
|
||||
font-size: 34rpx;
|
||||
font-size: clamp(19px, 34rpx, 24px);
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
|
||||
@@ -764,7 +767,7 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
left: 0;
|
||||
content: "*";
|
||||
color: #b42318;
|
||||
font-size: 26rpx;
|
||||
font-size: clamp(16px, 26rpx, 20px);
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
@@ -785,7 +788,7 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
min-width: 0;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #493323;
|
||||
font-size: 30rpx;
|
||||
font-size: clamp(17px, 30rpx, 22px);
|
||||
}
|
||||
|
||||
.input-placeholder {
|
||||
@@ -816,7 +819,7 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
padding: 0 8rpx;
|
||||
background: transparent !important;
|
||||
color: #a9160d;
|
||||
font-size: 28rpx;
|
||||
font-size: clamp(16px, 28rpx, 20px);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@@ -836,7 +839,7 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
align-items: center;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #a9160d;
|
||||
font-size: 28rpx;
|
||||
font-size: clamp(16px, 28rpx, 20px);
|
||||
}
|
||||
|
||||
.login-submit {
|
||||
@@ -860,7 +863,7 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
z-index: 1;
|
||||
grid-area: 1 / 1;
|
||||
color: #fffaf1;
|
||||
font-size: 36rpx;
|
||||
font-size: clamp(19px, 36rpx, 24px);
|
||||
letter-spacing: 5rpx;
|
||||
}
|
||||
|
||||
@@ -870,7 +873,7 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
justify-content: center;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #493323;
|
||||
font-size: 28rpx;
|
||||
font-size: clamp(16px, 28rpx, 20px);
|
||||
}
|
||||
|
||||
.register-link {
|
||||
@@ -882,16 +885,19 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
}
|
||||
|
||||
.agreement-area {
|
||||
position: relative;
|
||||
margin-bottom: 48rpx;
|
||||
color: #58483c;
|
||||
}
|
||||
|
||||
.agreement-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
min-height: var(--app-touch-min);
|
||||
font-size: 24rpx;
|
||||
line-height: 32rpx;
|
||||
font-size: clamp(12px, 22rpx, 14px);
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.agreement-icon {
|
||||
@@ -905,17 +911,22 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
flex: 0 0 auto;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: var(--app-touch-min);
|
||||
min-width: var(--app-touch-min);
|
||||
min-height: var(--app-touch-min);
|
||||
margin-right: 2rpx;
|
||||
box-sizing: border-box;
|
||||
margin: 0 -12rpx 0 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.agreement-copy {
|
||||
display: flex;
|
||||
flex: 0 1 auto;
|
||||
flex: 0 0 auto;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
padding-top: 2rpx;
|
||||
}
|
||||
.agreement-copy text {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.agreement-link {
|
||||
@@ -923,13 +934,18 @@ const prepareAgreement = () => showFeedback("协议页面准备中");
|
||||
align-items: center;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #a9160d;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.agreement-error {
|
||||
position: absolute;
|
||||
top: calc(100% + 4rpx);
|
||||
right: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
color: #b42318;
|
||||
font-size: 20rpx;
|
||||
line-height: 30rpx;
|
||||
font-size: clamp(13px, 20rpx, 16px);
|
||||
line-height: max(1.35em, clamp(17px, 30rpx, 22px));
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
+31
-16
@@ -141,7 +141,7 @@
|
||||
:class="{ 'field-block--error': fieldErrors.password }"
|
||||
>
|
||||
<view class="input-row">
|
||||
<label class="input-label" for="a04-password"
|
||||
<label class="input-label input-label--password" for="a04-password"
|
||||
><text class="required-mark">*</text>设置密码</label
|
||||
>
|
||||
<input
|
||||
@@ -174,7 +174,7 @@
|
||||
:class="{ 'field-block--error': fieldErrors.confirmPassword }"
|
||||
>
|
||||
<view class="input-row">
|
||||
<label class="input-label" for="a04-confirm-password"
|
||||
<label class="input-label input-label--password" for="a04-confirm-password"
|
||||
><text class="required-mark">*</text>确认密码</label
|
||||
>
|
||||
<input
|
||||
@@ -681,7 +681,7 @@ const submitRegister = async () => {
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
color: #9f170f;
|
||||
font-size: 58rpx;
|
||||
font-size: clamp(29px, 58rpx, 36px);
|
||||
font-weight: 700;
|
||||
letter-spacing: 7rpx;
|
||||
}
|
||||
@@ -691,7 +691,7 @@ const submitRegister = async () => {
|
||||
grid-row: 2;
|
||||
margin-top: 12rpx;
|
||||
color: #806c58;
|
||||
font-size: 25rpx;
|
||||
font-size: clamp(15px, 25rpx, 18px);
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
|
||||
@@ -721,14 +721,18 @@ const submitRegister = async () => {
|
||||
.input-label {
|
||||
flex: 0 0 152rpx;
|
||||
color: #674b35;
|
||||
font-size: 30rpx;
|
||||
font-size: clamp(17px, 30rpx, 22px);
|
||||
}
|
||||
.input-label--password {
|
||||
flex-basis: 220rpx;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.required-mark {
|
||||
display: inline-block;
|
||||
margin-right: 4rpx;
|
||||
color: #b42318;
|
||||
font-size: 26rpx;
|
||||
font-size: clamp(16px, 26rpx, 20px);
|
||||
line-height: 1;
|
||||
transform: translateY(-3rpx);
|
||||
}
|
||||
@@ -738,7 +742,7 @@ const submitRegister = async () => {
|
||||
min-width: 0;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #493323;
|
||||
font-size: 30rpx;
|
||||
font-size: clamp(17px, 30rpx, 22px);
|
||||
}
|
||||
|
||||
.get-code {
|
||||
@@ -751,7 +755,7 @@ const submitRegister = async () => {
|
||||
border-left: 1rpx solid #d7bd94;
|
||||
background: transparent !important;
|
||||
color: #a7160c;
|
||||
font-size: 26rpx;
|
||||
font-size: clamp(16px, 26rpx, 20px);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@@ -767,8 +771,8 @@ const submitRegister = async () => {
|
||||
.agreement-error {
|
||||
display: block;
|
||||
color: #b42318;
|
||||
font-size: 21rpx;
|
||||
line-height: 32rpx;
|
||||
font-size: clamp(13px, 21rpx, 16px);
|
||||
line-height: max(1.35em, clamp(17px, 32rpx, 22px));
|
||||
}
|
||||
|
||||
.field-error {
|
||||
@@ -796,23 +800,25 @@ const submitRegister = async () => {
|
||||
z-index: 1;
|
||||
grid-area: 1 / 1;
|
||||
color: #fffaf0;
|
||||
font-size: 36rpx;
|
||||
font-size: clamp(19px, 36rpx, 24px);
|
||||
letter-spacing: 6rpx;
|
||||
}
|
||||
|
||||
.agreement-area {
|
||||
position: relative;
|
||||
min-height: 118rpx;
|
||||
margin-top: 18rpx;
|
||||
color: #493323;
|
||||
}
|
||||
|
||||
.agreement-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: center;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #493323;
|
||||
font-size: 24rpx;
|
||||
line-height: 30rpx;
|
||||
font-size: clamp(12px, 22rpx, 14px);
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.agreement-icon {
|
||||
@@ -829,12 +835,20 @@ const submitRegister = async () => {
|
||||
width: var(--app-touch-min);
|
||||
min-width: var(--app-touch-min);
|
||||
min-height: var(--app-touch-min);
|
||||
margin-right: 2rpx;
|
||||
box-sizing: border-box;
|
||||
margin: 0 -12rpx 0 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.agreement-copy {
|
||||
display: flex;
|
||||
flex: 0 0 auto;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
padding-top: 2rpx;
|
||||
}
|
||||
.agreement-copy text {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.agreement-link {
|
||||
@@ -842,6 +856,7 @@ const submitRegister = async () => {
|
||||
align-items: center;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #a7160c;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.agreement-error {
|
||||
text-align: center;
|
||||
@@ -871,7 +886,7 @@ const submitRegister = async () => {
|
||||
min-height: 82rpx;
|
||||
margin-top: auto;
|
||||
color: #493323;
|
||||
font-size: 28rpx;
|
||||
font-size: clamp(16px, 28rpx, 20px);
|
||||
}
|
||||
|
||||
.login-entry__link {
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
:class="{ 'field-block--error': fieldErrors.confirmPassword }"
|
||||
>
|
||||
<view class="input-row">
|
||||
<label class="input-label" for="a05-confirm-password"
|
||||
<label class="input-label input-label--confirm" for="a05-confirm-password"
|
||||
><text class="required-mark">*</text>确认新密码</label
|
||||
>
|
||||
<input
|
||||
@@ -582,7 +582,7 @@ const submitReset = async () => {
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
color: #9f170f;
|
||||
font-size: 58rpx;
|
||||
font-size: clamp(29px, 58rpx, 36px);
|
||||
font-weight: 700;
|
||||
letter-spacing: 7rpx;
|
||||
}
|
||||
@@ -591,7 +591,7 @@ const submitReset = async () => {
|
||||
grid-row: 2;
|
||||
margin-top: 12rpx;
|
||||
color: #806c58;
|
||||
font-size: 25rpx;
|
||||
font-size: clamp(15px, 25rpx, 18px);
|
||||
letter-spacing: 1rpx;
|
||||
}
|
||||
.reset-divider {
|
||||
@@ -619,13 +619,17 @@ const submitReset = async () => {
|
||||
.input-label {
|
||||
flex: 0 0 162rpx;
|
||||
color: #674b35;
|
||||
font-size: 30rpx;
|
||||
font-size: clamp(17px, 30rpx, 22px);
|
||||
}
|
||||
.input-label--confirm {
|
||||
flex-basis: 220rpx;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.required-mark {
|
||||
display: inline-block;
|
||||
margin-right: 4rpx;
|
||||
color: #b42318;
|
||||
font-size: 26rpx;
|
||||
font-size: clamp(16px, 26rpx, 20px);
|
||||
line-height: 1;
|
||||
transform: translateY(-3rpx);
|
||||
}
|
||||
@@ -634,7 +638,7 @@ const submitReset = async () => {
|
||||
min-width: 0;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #493323;
|
||||
font-size: 30rpx;
|
||||
font-size: clamp(17px, 30rpx, 22px);
|
||||
}
|
||||
.placeholder {
|
||||
color: #9f968d;
|
||||
@@ -649,7 +653,7 @@ const submitReset = async () => {
|
||||
border-left: 1rpx solid #d7bd94;
|
||||
background: transparent !important;
|
||||
color: #a7160c;
|
||||
font-size: 26rpx;
|
||||
font-size: clamp(16px, 26rpx, 20px);
|
||||
white-space: nowrap;
|
||||
}
|
||||
.get-code--disabled {
|
||||
@@ -659,8 +663,8 @@ const submitReset = async () => {
|
||||
display: block;
|
||||
padding-top: 4rpx;
|
||||
color: #b42318;
|
||||
font-size: 21rpx;
|
||||
line-height: 28rpx;
|
||||
font-size: clamp(13px, 21rpx, 16px);
|
||||
line-height: max(1.35em, clamp(16px, 28rpx, 20px));
|
||||
text-align: right;
|
||||
}
|
||||
.field-block--error .input-row {
|
||||
@@ -683,14 +687,14 @@ const submitReset = async () => {
|
||||
z-index: 1;
|
||||
grid-area: 1 / 1;
|
||||
color: #fffaf0;
|
||||
font-size: 36rpx;
|
||||
font-size: clamp(19px, 36rpx, 24px);
|
||||
letter-spacing: 6rpx;
|
||||
}
|
||||
.reset-tip {
|
||||
display: block;
|
||||
margin-top: 22rpx;
|
||||
color: #806c58;
|
||||
font-size: 24rpx;
|
||||
font-size: clamp(15px, 24rpx, 18px);
|
||||
text-align: center;
|
||||
}
|
||||
.login-entry {
|
||||
@@ -700,7 +704,7 @@ const submitReset = async () => {
|
||||
min-height: var(--app-touch-min);
|
||||
margin-top: auto;
|
||||
color: #493323;
|
||||
font-size: 28rpx;
|
||||
font-size: clamp(16px, 28rpx, 20px);
|
||||
}
|
||||
.login-entry__link {
|
||||
display: flex;
|
||||
|
||||
@@ -234,7 +234,7 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
color: #9f170f;
|
||||
font-size: 58rpx;
|
||||
font-size: clamp(29px, 58rpx, 36px);
|
||||
font-weight: 700;
|
||||
letter-spacing: 7rpx;
|
||||
}
|
||||
@@ -243,7 +243,7 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
grid-row: 2;
|
||||
margin-top: 12rpx;
|
||||
color: #806c58;
|
||||
font-size: 25rpx;
|
||||
font-size: clamp(15px, 25rpx, 18px);
|
||||
letter-spacing: 1rpx;
|
||||
}
|
||||
.status-divider {
|
||||
@@ -270,13 +270,13 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
.status-eyebrow {
|
||||
margin-top: 10rpx;
|
||||
color: #a7160c;
|
||||
font-size: 22rpx;
|
||||
font-size: clamp(14px, 22rpx, 17px);
|
||||
letter-spacing: 3rpx;
|
||||
}
|
||||
.status-title {
|
||||
margin-top: 10rpx;
|
||||
color: #3f2c1d;
|
||||
font-size: 40rpx;
|
||||
font-size: clamp(20px, 40rpx, 26px);
|
||||
font-weight: 700;
|
||||
letter-spacing: 3rpx;
|
||||
}
|
||||
@@ -285,7 +285,7 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
width: 100%;
|
||||
margin-top: 12rpx;
|
||||
color: #786654;
|
||||
font-size: 24rpx;
|
||||
font-size: clamp(15px, 24rpx, 18px);
|
||||
line-height: 1.65;
|
||||
}
|
||||
.status-details {
|
||||
@@ -304,13 +304,13 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
.status-detail__label {
|
||||
flex: 0 0 116rpx;
|
||||
color: #9f170f;
|
||||
font-size: 23rpx;
|
||||
font-size: clamp(14px, 23rpx, 17px);
|
||||
}
|
||||
.status-detail__value {
|
||||
flex: 1;
|
||||
color: #5f4a38;
|
||||
font-size: 23rpx;
|
||||
line-height: 34rpx;
|
||||
font-size: clamp(14px, 23rpx, 17px);
|
||||
line-height: max(1.35em, clamp(19px, 34rpx, 24px));
|
||||
}
|
||||
|
||||
.status-primary {
|
||||
@@ -329,7 +329,7 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
z-index: 1;
|
||||
grid-area: 1 / 1;
|
||||
color: #fffaf0;
|
||||
font-size: 38rpx;
|
||||
font-size: clamp(20px, 38rpx, 26px);
|
||||
letter-spacing: 5rpx;
|
||||
}
|
||||
.status-secondary {
|
||||
@@ -338,7 +338,7 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
justify-content: center;
|
||||
min-height: var(--app-touch-min);
|
||||
color: #a7160c;
|
||||
font-size: 24rpx;
|
||||
font-size: clamp(15px, 24rpx, 18px);
|
||||
}
|
||||
|
||||
.recovery-layer {
|
||||
@@ -377,21 +377,21 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
}
|
||||
.recovery-title {
|
||||
color: #8f160f;
|
||||
font-size: 42rpx;
|
||||
font-size: clamp(22px, 42rpx, 28px);
|
||||
font-weight: 700;
|
||||
letter-spacing: 4rpx;
|
||||
}
|
||||
.recovery-copy {
|
||||
margin-top: 20rpx;
|
||||
color: #513a28;
|
||||
font-size: 26rpx;
|
||||
line-height: 40rpx;
|
||||
font-size: clamp(16px, 26rpx, 20px);
|
||||
line-height: max(1.35em, clamp(20px, 40rpx, 26px));
|
||||
}
|
||||
.recovery-note {
|
||||
margin-top: 12rpx;
|
||||
color: #8d7965;
|
||||
font-size: 20rpx;
|
||||
line-height: 31rpx;
|
||||
font-size: clamp(13px, 20rpx, 16px);
|
||||
line-height: max(1.35em, clamp(17px, 31rpx, 22px));
|
||||
}
|
||||
.recovery-action {
|
||||
display: grid;
|
||||
@@ -404,7 +404,7 @@ onBackPress((event) => handleBackPress(event, requestBack));
|
||||
z-index: 1;
|
||||
grid-area: 1 / 1;
|
||||
color: #fffaf0;
|
||||
font-size: 29rpx;
|
||||
font-size: clamp(16px, 29rpx, 20px);
|
||||
letter-spacing: 4rpx;
|
||||
}
|
||||
.tap-fade,
|
||||
|
||||
Reference in New Issue
Block a user