优化日程界面
This commit is contained in:
+101
-79
@@ -3,6 +3,9 @@
|
||||
<view class="page-inner">
|
||||
<!-- 品牌区 -->
|
||||
<view class="header">
|
||||
<view class="logo">
|
||||
<text class="logo-char">云</text>
|
||||
</view>
|
||||
<text class="title">欢迎回来</text>
|
||||
<text class="subtitle">登录云泽,开启你的旅程</text>
|
||||
</view>
|
||||
@@ -22,7 +25,8 @@
|
||||
</view>
|
||||
|
||||
<!-- 表单 -->
|
||||
<view class="form">
|
||||
<view class="form-card">
|
||||
<view class="form">
|
||||
<template v-if="loginType === 'phone'">
|
||||
<view class="field">
|
||||
<u-input
|
||||
@@ -31,7 +35,7 @@
|
||||
type="number"
|
||||
maxlength="11"
|
||||
border="none"
|
||||
color="#3c9cff"
|
||||
color="#303133"
|
||||
:customStyle="inputStyle"
|
||||
:placeholderStyle="placeholderStyle"
|
||||
>
|
||||
@@ -47,7 +51,7 @@
|
||||
type="number"
|
||||
maxlength="6"
|
||||
border="none"
|
||||
color="#3c9cff"
|
||||
color="#303133"
|
||||
:customStyle="inputStyle"
|
||||
:placeholderStyle="placeholderStyle"
|
||||
/>
|
||||
@@ -65,7 +69,7 @@
|
||||
v-model="username"
|
||||
placeholder="请输入账号"
|
||||
border="none"
|
||||
color="#3c9cff"
|
||||
color="#303133"
|
||||
:customStyle="inputStyle"
|
||||
:placeholderStyle="placeholderStyle"
|
||||
/>
|
||||
@@ -76,7 +80,7 @@
|
||||
placeholder="请输入密码"
|
||||
type="password"
|
||||
border="none"
|
||||
color="#3c9cff"
|
||||
color="#303133"
|
||||
:customStyle="inputStyle"
|
||||
:placeholderStyle="placeholderStyle"
|
||||
/>
|
||||
@@ -85,6 +89,7 @@
|
||||
|
||||
<view class="btn-primary" @tap="handleLogin">登 录</view>
|
||||
<view class="btn-ghost" @tap="handleTestLogin">测试登录</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 协议 -->
|
||||
@@ -139,7 +144,7 @@ const inputStyle = {
|
||||
fontSize: '28rpx'
|
||||
}
|
||||
|
||||
const placeholderStyle = 'color: #9acafc; font-size: 28rpx'
|
||||
const placeholderStyle = 'color: #909399; font-size: 28rpx'
|
||||
|
||||
onMounted(() => {
|
||||
if (isLoggedIn()) {
|
||||
@@ -217,85 +222,85 @@ function socialLogin(type) {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@/src/styles/page-common.scss';
|
||||
|
||||
.login-page {
|
||||
min-height: 100vh;
|
||||
background: #ffffff;
|
||||
background: $color-bg-page;
|
||||
}
|
||||
|
||||
.page-inner {
|
||||
padding: 0 56rpx;
|
||||
padding: 0 48rpx;
|
||||
padding-top: calc(var(--status-bar-height, 44px) + 80rpx);
|
||||
}
|
||||
|
||||
/* ---- 品牌 ---- */
|
||||
.header {
|
||||
margin-bottom: 72rpx;
|
||||
margin-bottom: 64rpx;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 88rpx;
|
||||
height: 88rpx;
|
||||
border-radius: 22rpx;
|
||||
background: #ffffff;
|
||||
border: 2rpx solid #e8f0f8;
|
||||
width: 96rpx;
|
||||
height: 96rpx;
|
||||
border-radius: $radius-lg;
|
||||
background: $color-primary-bg;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 36rpx;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
.logo-char {
|
||||
font-size: 44rpx;
|
||||
font-weight: 600;
|
||||
color: $u-primary;
|
||||
color: $color-primary;
|
||||
}
|
||||
|
||||
.title {
|
||||
display: block;
|
||||
font-size: 52rpx;
|
||||
font-size: 48rpx;
|
||||
font-weight: 600;
|
||||
color: $u-primary;
|
||||
letter-spacing: 2rpx;
|
||||
color: $color-text;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
display: block;
|
||||
font-size: 26rpx;
|
||||
color: $u-primary-disabled;
|
||||
font-size: 28rpx;
|
||||
color: $color-text-muted;
|
||||
margin-top: 12rpx;
|
||||
}
|
||||
|
||||
/* ---- Tab ---- */
|
||||
.tabs {
|
||||
display: flex;
|
||||
gap: 48rpx;
|
||||
margin-bottom: 48rpx;
|
||||
background: $color-card;
|
||||
border-radius: $radius-md;
|
||||
padding: 6rpx;
|
||||
margin-bottom: 32rpx;
|
||||
box-shadow: $shadow-card;
|
||||
}
|
||||
|
||||
.tab {
|
||||
font-size: 30rpx;
|
||||
color: $u-primary-disabled;
|
||||
padding-bottom: 12rpx;
|
||||
position: relative;
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
color: $color-text-secondary;
|
||||
padding: 18rpx 0;
|
||||
border-radius: $radius-sm;
|
||||
|
||||
&.active {
|
||||
color: $u-primary;
|
||||
color: $color-primary;
|
||||
font-weight: 600;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 4rpx;
|
||||
background: $u-primary;
|
||||
border-radius: 2rpx;
|
||||
}
|
||||
background: $color-primary-bg;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- 表单 ---- */
|
||||
.form-card {
|
||||
@include card;
|
||||
padding: 32rpx 28rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 24rpx;
|
||||
}
|
||||
|
||||
.form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -303,10 +308,9 @@ function socialLogin(type) {
|
||||
}
|
||||
|
||||
.field {
|
||||
background: #ffffff;
|
||||
border: 2rpx solid #e8f0f8;
|
||||
border-radius: 16rpx;
|
||||
padding: 0 28rpx;
|
||||
background: $color-bg-page;
|
||||
border-radius: $radius-md;
|
||||
padding: 0 24rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@@ -317,71 +321,70 @@ function socialLogin(type) {
|
||||
|
||||
.prefix {
|
||||
font-size: 28rpx;
|
||||
color: $u-primary;
|
||||
color: $color-text;
|
||||
padding-right: 20rpx;
|
||||
margin-right: 20rpx;
|
||||
border-right: 1rpx solid $u-primary-disabled;
|
||||
border-right: 1rpx solid $color-border;
|
||||
}
|
||||
|
||||
.code-link {
|
||||
flex-shrink: 0;
|
||||
font-size: 26rpx;
|
||||
color: $u-primary;
|
||||
color: $color-primary;
|
||||
padding-left: 16rpx;
|
||||
white-space: nowrap;
|
||||
|
||||
&.disabled {
|
||||
color: $u-primary-disabled;
|
||||
color: $color-text-muted;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
height: 96rpx;
|
||||
background: $u-primary;
|
||||
border-radius: 16rpx;
|
||||
background: $color-primary;
|
||||
border-radius: $radius-md;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
letter-spacing: 6rpx;
|
||||
margin-top: 16rpx;
|
||||
margin-top: 8rpx;
|
||||
|
||||
&:active {
|
||||
background: $u-primary-dark;
|
||||
background: $color-primary-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-ghost {
|
||||
height: 96rpx;
|
||||
background: #ffffff;
|
||||
border: 2rpx solid $u-primary;
|
||||
border-radius: 16rpx;
|
||||
background: $color-card;
|
||||
border: 1rpx solid $color-border;
|
||||
border-radius: $radius-md;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 28rpx;
|
||||
color: $u-primary;
|
||||
color: $color-text-secondary;
|
||||
|
||||
&:active {
|
||||
background: #f8fbff;
|
||||
background: $color-bg-page;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- 协议 ---- */
|
||||
.agreement {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 12rpx;
|
||||
margin-top: 36rpx;
|
||||
margin-top: 32rpx;
|
||||
}
|
||||
|
||||
.agree-dot {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
border-radius: 50%;
|
||||
border: 2rpx solid $u-primary-disabled;
|
||||
border: 1rpx solid $color-border;
|
||||
background: $color-card;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@@ -389,8 +392,8 @@ function socialLogin(type) {
|
||||
margin-top: 2rpx;
|
||||
|
||||
&.on {
|
||||
background: $u-primary;
|
||||
border-color: $u-primary;
|
||||
background: $color-primary;
|
||||
border-color: $color-primary;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -400,18 +403,17 @@ function socialLogin(type) {
|
||||
}
|
||||
|
||||
.agree-text {
|
||||
font-size: 22rpx;
|
||||
color: $u-primary-disabled;
|
||||
font-size: 24rpx;
|
||||
color: $color-text-muted;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.agree-link {
|
||||
color: $u-primary;
|
||||
color: $color-primary;
|
||||
}
|
||||
|
||||
/* ---- 第三方 ---- */
|
||||
.oauth {
|
||||
margin-top: 80rpx;
|
||||
margin-top: 64rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@@ -421,26 +423,46 @@ function socialLogin(type) {
|
||||
|
||||
.oauth-label {
|
||||
font-size: 24rpx;
|
||||
color: $u-primary-disabled;
|
||||
color: $color-text-muted;
|
||||
position: relative;
|
||||
padding: 0 32rpx;
|
||||
|
||||
&::before,
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 80rpx;
|
||||
height: 1rpx;
|
||||
background: $color-border;
|
||||
}
|
||||
|
||||
&::before {
|
||||
right: 100%;
|
||||
}
|
||||
|
||||
&::after {
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.oauth-icons {
|
||||
display: flex;
|
||||
gap: 40rpx;
|
||||
gap: 48rpx;
|
||||
}
|
||||
|
||||
.oauth-btn {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
width: 88rpx;
|
||||
height: 88rpx;
|
||||
border-radius: 50%;
|
||||
background: #ffffff;
|
||||
border: 2rpx solid #e8f0f8;
|
||||
background: $color-card;
|
||||
box-shadow: $shadow-card;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
&:active {
|
||||
border-color: $u-primary-disabled;
|
||||
background: $color-bg-page;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user