首先是布局

<template>
	<view>
		<view class="d-flex a-center j-sb py-2 px-3 text-light-muted">
			<view class="iconfont icon-shanchu1" ></view>
			<view class="font-md" >忘记密码</view>
		</view>
		<view class="p-5">
			<view class="font-big mb-5">密码登录</view>
			
			<input type="text" class="border-bottom mb-4 uni-input px-0"
			placeholder="请输入手机号/邮箱/账号" v-model="username"
			placeholder-class="text-light-muted" 
			/>
			
			<input type="text" class="border-bottom mb-4 uni-input px-0"
			placeholder="请输入密码" v-model="password"
			placeholder-class="text-light-muted"/>
			<view class="py-2 w-100 d-flex a-center j-center main-bg-color text-white rounded font-md mb-4" hover-class="main-bg-hover-color" >
				登录
			</view>
			<label class="checkbox d-flex a-center" >
				<checkbox :checked="check"/>
				<text class="text-light-muted font">已阅读并同意XXXXX协议</text>
			</label>
		</view>
	</view>
</template>

 

获取登陆数据用post请求:

 在login页面中引入

import {getLogin} from '../../utils/login.js'

之后获取接口

getLogin(this.username,this.password).then(res=>{
					console.log(res);
				})

写一个正则

rules: {
					username: [{
							rule: /^[a-zA-Z]\w{4,17}$/,
							msg: "账号必须字母开头,长度在5~18之间,只能包含字母、数字和下划线"
						}
					],
					password: [{
						rule: /^.{5,20}$/,
						msg: "密码长度必须为5-20个字符"
					}]
				},
		methods: {
			// 回退到四个tabbar中的我的页面,使用uni.switchTab
			goBack() {
				uni.switchTab({
					url: '../myfile/myfile'
				})
			},
			// 忘记密码
			forget() {
				console.log('忘记密码');
			},
			// 写个函数用来判断复选框是否勾选并提示
			validate(key) {
				var check = true;
				this.rules[key].forEach(v => {
            // uni-app 判断输入是否符合要求
					if (!v.rule.test(this[key])) {
						uni.showToast({
							title: v.msg,
							// 勾号消失
							icon: 'none'
						})
						return check = false
					}
				})
				return check
			},
            // 点击登陆按钮
			submit() {
				if (!this.check) {
					return uni.showToast({
						title: '请先同意协议',
						icon: 'none'
					})
				}
				if (!this.validate('username')) return;
				if (!this.validate('password')) return;
				getLogin(this.username, this.password).then(res => {
					console.log(res);
					uni.switchTab({
						url: '../myfile/myfile'
					})
				})
			},
		}

即可实现功能

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐