import { Image, Input, Text, View } from "@tarojs/components" import back from '@/images/back.png' import checked from '@/images/checked.png' import eyeClose from '@/images/eyeClose.png' import eye from '@/images/eye.png' import './index.scss' import { Button } from "@nutui/nutui-react-taro" import { useState } from "react" import Taro from "@tarojs/taro" import { useDidShow } from "@tarojs/taro" import { login, sendCode } from "../../utils/api" import { JWT, JWTEXPIRE, SetData, USERINFO } from "../../utils/storage" const activeEye = eye const Login = () => { const [mobile, setMobile] = useState('') const [smsCode, setSmsCode] = useState('') const [interval, setIntervalTime] = useState(0) // 返回页面 const backFn = () => { Taro.getCurrentPages().length > 0 && Taro.navigateBack() } // 倒计时 const countDown = async () => { if (!mobile) { return } setIntervalTime(60) if (interval > 0) { return } let start = 60 const timer = setInterval(() => { if (start > 0) { start-- if (start <= 0) { clearInterval(timer) } setIntervalTime(start) } }, 1000) const re = await sendCode(mobile) if (!re) return Taro.showToast({ title: '验证码发送成功', icon: 'success' }) } const loginSubmit = async () => { console.log(mobile, smsCode, "code") if (!mobile || !smsCode) { Taro.showToast({ title: '请完善登陆参数', icon: 'error' }) return } Taro.showLoading({ title: '登陆中,请稍后' }) const re = await login(mobile, '', smsCode) Taro.hideLoading() if (re) { SetData(JWT, re.token, JWTEXPIRE) SetData(USERINFO, re.user) Taro.redirectTo({ url: '/pages/index/index' }) } } return 新起点 登录 手机号 { setMobile(v.detail.value) }} /> { mobile && } 验证码 { setSmsCode(v.detail.value) }} /> { Taro.redirectTo({ url: '/pages/login/index' }) }}>密码登录 } export default Login