131 lines
2.7 KiB
Vue
131 lines
2.7 KiB
Vue
<template>
|
||
<view class="wrap">
|
||
<view class="top"></view>
|
||
<view class="content">
|
||
<view class="title">欢迎登录</view>
|
||
<input class="u-border-bottom" type="number" v-model="tel" placeholder="请输入手机号" />
|
||
<view class="tips">未注册的手机号验证后自动创建账号</view>
|
||
<button @tap="submit" :style="[inputStyle]" class="getCaptcha">获取短信验证码</button>
|
||
<view class="alternative">
|
||
<view class="password">密码登录</view>
|
||
<view class="issue">遇到问题</view>
|
||
</view>
|
||
</view>
|
||
<view class="buttom">
|
||
<view class="loginType">
|
||
<view class="wechat item">
|
||
<view class="icon"><u-icon size="40" name="weixin-fill" color="rgb(83,194,64)"></u-icon></view>
|
||
微信
|
||
</view>
|
||
<view class="QQ item">
|
||
<view class="icon"><u-icon size="40" name="qq-fill" color="rgb(17,183,233)"></u-icon></view>
|
||
QQ
|
||
</view>
|
||
</view>
|
||
<view class="hint">
|
||
登录代表同意
|
||
<text class="link">用户协议、隐私政策,</text>
|
||
并授权使用您的账号信息(如昵称、头像、收获地址)以便您统一管理
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script setup>
|
||
import tab from '@/plugins/tab';
|
||
import { ref, computed } from 'vue';
|
||
|
||
const tel = ref('');
|
||
|
||
const inputStyle = computed(() => {
|
||
let style = {};
|
||
if (tel.value) {
|
||
style.color = "#fff";
|
||
style.backgroundColor = '#f9c00c'; // 假设 $u.color['warning'] 对应的颜色值
|
||
}
|
||
return style;
|
||
});
|
||
|
||
const submit = () => {
|
||
if (/\d{11}/.test(tel.value)) { // 假设 $u.test.mobile 是简单的手机号验证
|
||
tab.navigateTo('/pages_template/pages/login/code');
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.wrap {
|
||
font-size: 28rpx;
|
||
|
||
.content {
|
||
width: 600rpx;
|
||
margin: 80rpx auto 0;
|
||
|
||
.title {
|
||
text-align: left;
|
||
font-size: 60rpx;
|
||
font-weight: 500;
|
||
margin-bottom: 100rpx;
|
||
}
|
||
|
||
input {
|
||
text-align: left;
|
||
margin-bottom: 10rpx;
|
||
padding-bottom: 6rpx;
|
||
}
|
||
|
||
.tips {
|
||
color: $u-info;
|
||
margin-bottom: 60rpx;
|
||
margin-top: 8rpx;
|
||
font-size: 12px;
|
||
}
|
||
|
||
.getCaptcha {
|
||
background-color: rgb(253, 243, 208);
|
||
color: $u-tips-color;
|
||
border: none;
|
||
font-size: 30rpx;
|
||
padding: 12rpx 0;
|
||
|
||
&::after {
|
||
border: none;
|
||
}
|
||
}
|
||
|
||
.alternative {
|
||
color: $u-tips-color;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
margin-top: 30rpx;
|
||
}
|
||
}
|
||
|
||
.buttom {
|
||
.loginType {
|
||
display: flex;
|
||
padding: 350rpx 150rpx 150rpx 150rpx;
|
||
justify-content: space-between;
|
||
|
||
.item {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
color: $u-content-color;
|
||
font-size: 28rpx;
|
||
}
|
||
}
|
||
|
||
.hint {
|
||
padding: 20rpx 40rpx;
|
||
font-size: 20rpx;
|
||
color: $u-tips-color;
|
||
|
||
.link {
|
||
color: $u-warning;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style>
|