From a3ad988e9f74049a6b17efd4f3db8389ae6fe7ed Mon Sep 17 00:00:00 2001
From: xuxy <1059738716@qq.com>
Date: 星期一, 24 六月 2024 17:06:05 +0800
Subject: [PATCH] upload 花农小程序(todo商品管理)
---
pages/login/farmer-login.vue | 104 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 77 insertions(+), 27 deletions(-)
diff --git a/pages/login/farmer-login.vue b/pages/login/farmer-login.vue
index b7cd8ea..1f71a78 100644
--- a/pages/login/farmer-login.vue
+++ b/pages/login/farmer-login.vue
@@ -2,43 +2,38 @@
<view class="main-container login-container img100" style="margin-top: 0rpx;">
<view class="t-login top-bg">
- <view class="icons">
- <image class="icon1" src="../../static/imgs/user/usr-icon1.png" mode="aspectFit"></image>
- <image class="icon2" src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit"></image>
- </view>
+ <view class="nav-title">登录</view>
<view class="login">
<form class="cl">
<view class="t-a titles-top">
<view class="title-1">HELLO</view>
- <view class="title-2">欢迎登录<span class="title-2">花满芜</span></view>
+ <view class="title-2">欢迎登录<span class="title-3">花满芜</span></view>
</view>
- <view class="t-a">
- <!-- <image src="/static/username.png"></image> -->
- <!-- <uni-icons class="icon" type="person-filled" size="32" color="#04BA97"></uni-icons> -->
-
- <!-- <view class="line"></view> -->
+ <view class="t-a input" v-if="loginType=='pwd'">
<input type="text" name="userName" placeholder="请输入账号" v-model="userName" />
</view>
- <view class="t-a">
- <!-- <image src="/static/password.png"></image> -->
- <!-- <uni-icons class="icon" type="locked-filled" size="32" color="#04BA97"></uni-icons> -->
- <!-- <view class="line"></view> -->
+ <view class="t-a input" v-if="loginType=='pwd'">
<input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
</view>
- <view class="main-container" v-if="false">
- <checkbox-group @change="changeAll" style="float:left;">
- <label class="checkbox">
- <checkbox value="1" :checked="checked" />
- </label>
- </checkbox-group>
- 同意<text @click="tc1(1)" style="color:red;">《用户服务协议》</text>及
- <text @click="tc1(2)" style="color:red;">《隐私政策》</text>
+ <view class="t-a input" v-if="loginType=='code'">
+ <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
+ {{getCodeText}}
+ </view>
+
+ <input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" />
+
</view>
- <button @tap="login()" style="background-color: #04BA97;">登 录</button>
- <!-- <view @tap="backpage" class="to-home">返回首页</view> -->
+
+
+ <view class="t-a input" v-if="loginType=='code'">
+ <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
+ </view>
+
+ <button @tap="login()" class="bottom-button">登 录</button>
+
<view class="flex">
- <view class="topic-font">手机验证码登录</view>
- <view class="topic-font">前往注册</view>
+ <view class="topic-font" @click="loginType='code'">手机验证码登录</view>
+ <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view>
</view>
</form>
</view>
@@ -56,16 +51,70 @@
// userName: '12345678',
// password: '12345678',
userName: '',
+ phoneNumber: '',
password: '',
checked: false,
+ loginType: 'pwd', //pwd和code,密码和验证码登录
pcfvalue: undefined,
+ getCodeText: '获取验证码',
+ getCodeBtnColor: "#20613D",
+ getCodeisWaiting: false,
+ Timer: undefined
};
},
methods: {
- toHome() {
+ getCode() {
+ uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
+ if (this.getCodeisWaiting) {
+ return;
+ }
+ if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
+ uni.showToast({
+ title: '请填写正确手机号码',
+ icon: "none"
+ });
+ return false;
+ }
+ this.getCodeText = "发送中..." //发送验证码
+ this.getCodeisWaiting = true;
+ this.getCodeBtnColor = "rgba(255,255,255,0.5)" //追加样式,修改颜色
+ //示例用定时器模拟请求效果
+ //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
+ setTimeout(() => {
+ uni.showToast({
+ title: '验证码已发送',
+ icon: "none"
+ }); //弹出提示框
+ //示例默认1234,生产中请删除这一句。
+ // this.code = '1234'; //发送验证码,进行填入
+ this.setTimer(); //调用定时器方法
+ }, 1000)
+ },
+ //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
+ setTimer() {
+ let holdTime = 60; //定义变量并赋值
+ this.getCodeText = "重新获取(60)"
+ //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
+ //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
+ this.Timer = setInterval(() => {
+ if (holdTime <= 0) {
+ this.getCodeisWaiting = false;
+ this.getCodeBtnColor = "#20613D";
+ this.getCodeText = "获取验证码"
+ clearInterval(this.Timer); //清除该函数
+ return; //返回前面
+ }
+ this.getCodeText = "重新获取(" + holdTime + ")"
+ holdTime--;
+ }, 1000)
+ },
+ toReg() {
// uni.switchTab({
// url: '/pages/index/index'
// })
+ uni.navigateTo({
+ url: '/pages/login/farmer-reg'
+ })
},
changeAll(e) {
@@ -178,6 +227,7 @@
.t-login .login {
width: 650rpx;
margin: 60rpx auto;
+ margin-top: 0rpx;
font-size: 28rpx;
color: #000;
}
--
Gitblit v1.9.3