帮我使用uniAPP语法写一个登录页面,有登录注册按钮和一些忘记密码记住密码
时间: 2024-05-04 19:19:19 浏览: 90
Android登录页面制作并且记住账号密码
好的,以下是一个简单的登录页面的代码,包括登录和注册按钮以及一些忘记密码和记住密码的选项:
```html
<template>
<view class="container">
<view class="logo"></view>
<view class="form">
<view class="input-box">
<input type="text" placeholder="请输入用户名" v-model="username" />
</view>
<view class="input-box">
<input type="password" placeholder="请输入密码" v-model="password" />
</view>
<<view class="options">
<view class="checkbox" @click="rememberPassword = !rememberPassword">
<image :src="rememberPassword ? 'checked.png' : 'unchecked.png'" />
<text>记住密码</text>
</view>
<text class="forget-password" @click="forgetPassword">忘记密码</text>
</view>
<view class="btn-box">
<button class="login-btn" @click="login">登录</button>
<button class="register-btn" @click="register">注册</button>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
username: '',
password: '',
rememberPassword: false,
};
},
methods: {
login() {
// 处理登录操作
},
register() {
// 处理注册操作
},
forgetPassword() {
// 处理忘记密码操作
},
},
};
</script>
<style>
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
}
.logo {
margin-bottom: 50px;
width: 120px;
height: 120px;
background-color: #ccc;
border-radius: 50%;
}
.form {
display: flex;
flex-direction: column;
align-items: center;
width: 80%;
max-width: 400px;
padding: 20px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
}
.input-box {
display: flex;
align-items: center;
width: 100%;
margin-bottom: 20px;
border-bottom: 1px solid #ccc;
}
input {
flex: 1;
height: 40px;
font-size: 16px;
padding-left: 10px;
border: none;
outline: none;
}
.options {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-bottom: 20px;
}
.checkbox {
display: flex;
align-items: center;
}
image {
width: 20px;
height: 20px;
margin-right: 10px;
}
.forget-password {
font-size: 14px;
color: #0099ff;
cursor: pointer;
}
.btn-box {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}
button {
width: 45%;
height: 40px;
font-size: 16px;
color: #fff;
border: none;
outline: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.2s ease-in-out;
}
.login-btn {
background-color: #00a0e9;
}
.register-btn {
background-color: #ff9900;
}
</style>
```
其中,`v-model` 指令用于双向数据绑定,将输入框中的值和组件中的 `data` 中的值绑定在一起,当输入框中的值改变时,组件中的 `data` 中的值也会跟着改变;`@click` 用于监听按钮的点击事件,并触发对应的方法。在 `options` 中,使用了一个自定义的复选框样式,并使用 `@click` 监听点击事件,通过修改 `rememberPassword` 的值来改变复选框的状态。在 `forgetPassword` 中,可以执行一些跳转页面或弹出弹框等操作,用于处理忘记密码的逻辑。登录和注册按钮分别绑定了 `login` 和 `register` 方法,可以根据实际需求进行相应的处理。
阅读全文