首先我们先创建一个项目
yarn create @umijs/umi-app或或者是npm create @umijs/umi-app
然后我们需要在pages文件夹中创建一个Login的文件夹,在文件夹下创建login.tsx和index.less两个文件

然后接着我们就要实现一个登录之后能够有css样式的登录鉴权功能,这里我们参照
https://blog.csdn.net/qq_53509791/article/details/129068969?spm=1001.2014.3001.5501
然后我们的路由文件当中就是这样的形式

接下来我们就要编写登录界面了,这里声明我们需要用到antd-mobile
注意:umi框架当中拥有的是2.x版本的antd-mobile,如果你使用的不是2.x版本的antd-mobile,则需要进行下载相应的版本就可以了。
接下来我们要完成的一个功能就是实现切换主题。

<NavBar backArrow={false} right={right} style={{ "backgroundColor": sco, color: "white" }}>用户登录</NavBar>

好了,接下来请大家欣赏代码

import React, { useState,useEffect } from 'react'
import { NavBar, AutoCenter, Form, Input, Button, TextArea, Space, Toast } from 'antd-mobile/es'
import { CheckCircleFill, CloseCircleFill } from 'antd-mobile-icons'
import { useHistory } from 'umi'export default function login() {const history =useHistory()const [password, setpassword] = useState("")const [password1, setpassword1] = useState(false)const [phone, setphone] = useState("")const [phone1, setphone1] = useState(false)const [sco, setSco] = useState("#123456")const [inp, setinp] = useState(["pink", "black", "red", "yellow"])let left = () => {let ids = Math.floor(Math.random() * inp.length)setSco(inp[ids])}const right = (<div style={{ fonstSize: 20 }}><Space><Button onClick={left} fill="none" style={{ color: "white" }}>切换主题</Button></Space></div>)function useVerifyPhoneNum() {let phoneReg = /^[1][3,4,5,7,8,9][0-9]{9}$/;let pwdPattern = /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*()_.]+)$)^[\w~!@#$%^&*()_.]{6,16}$/;if (!phoneReg.test(phone)) {Toast.show({icon: "fail",content: "手机号错误"})}if (!pwdPattern.test(password)) {Toast.show({icon: "fail",content: "密码错误"})} else {Toast.show({icon: "success",content: "登录成功"})history.push("/home")localStorage.setItem("token","这是一个token")}}useEffect(() => {let phoneReg = /^[1][3,4,5,7,8,9][0-9]{9}$/;if (!phoneReg.test(phone)) {setphone1(false)} else {setphone1(true)}}, [phone])useEffect(() => {let pwdPattern = /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*()_.]+)$)^[\w~!@#$%^&*()_.]{6,16}$/;if (!pwdPattern.test(password)) {setpassword1(false)} else {setpassword1(true)}}, [password])return (<div><NavBar backArrow={false} right={right} style={{ "backgroundColor": sco, color: "white" }}>用户登录</NavBar><AutoCenter><Formlayout='horizontal'footer={<Button block type='submit' color='primary' size='large' style={{ "backgroundColor": sco }} onClick={useVerifyPhoneNum.bind(this)}>提交</Button>}><Form.Itemname='手机号'label='手机号'rules={[{ required: true, message: '手机号不能为空' }]}extra={phone ? phone1 ? <CheckCircleFill color="76c6b8" /> : <CloseCircleFill color="var(--adm-color-danger)" /> : ""}><Input onChange={val => {setphone(val)}} placeholder='手机号' value={phone} /></Form.Item><Form.Item rules={[{ required: true, message: '密码不能为空' }]} name='submit' label='密码' extra={password ? password1 ? <CheckCircleFill color="76c6b8" /> : <CloseCircleFill color="var(--adm-color-danger)" /> : ""}><Input placeholder='请输入密码' value={password} onChange={val => {setpassword(val)}} /></Form.Item></Form></AutoCenter></div>)
}

umi创建简单的登录界面相关推荐

  1. PyQt5制作一个简单的登录界面

    最近在学习GUI设计,分享做的一些小项目. 这篇文我们讲一下如何制作一个简单的登录界面. 目录 一.效果图 二.简述制作过程: 三.源码及材料: 1.源码: 2.图片素材: 一.效果图 如下: 二.简 ...

  2. JAVA实现简单的登录界面

    我本来是学C++的,然后课程上老师要求做一个登陆界面,用C++实现不限时,然后就选择了JAVA,从零开始自学JAVA.好在网上很多大佬都写了如何用JAVA编写登陆界面的博客,写得很详细,使得我第一次接 ...

  3. java qq登录成功界面_java实现简单QQ登录界面

    本文实例为大家分享了java实现简单QQ登录界面的具体代码,供大家参考,具体内容如下 java在图形界面,不是太强项,但不是不可以做,它的开源是very nice! 实现代码如下(想实现完美的界面,可 ...

  4. 【Swing 2】布局管理器与简单的登录界面

    很苦逼的是,每次想记录一个小程序,发现,要给别人讲清楚,总是得分很多模块讲解. 所以今天来讲下Swing组件的三大布局管理器. 参考:<Head First Java>第十三章 1. Bo ...

  5. 一对一直播源码,实现一个简单的登录界面

    一对一直播源码,实现一个简单的登录界面 1.html <!DOCTYPE html> <html lang="en"> <head><me ...

  6. Python调用百度AI接口用以实现在线语音合成 并创建简单的GUI界面 生成可执行应用程序

    调用百度AI接口用以实现在线语音合成 并创建简单的GUI界面 生成可执行应用程序 1. 实验环境 Python3.8.Pycharm.window10 2.实验过程 1.首先登陆百度智能云:https ...

  7. 通过LabVIEW设计简单的登录界面

    设计思路: 当密码等于所写定的字符串后,显示登录成功:密码错误时,显示用户名或密码错误,请重新输入. 点击登录或取消便可停止循环,通过条件结构实现. 前面板设计: 登录背景可直接将图片复制粘贴,通过重 ...

  8. html简单的登录界面制作

    html简单的登录界面制作 话不多说,老铁们直接拿代码去用吧. <!DOCTYPE html> <html><head><meta charset=" ...

  9. php简单的登录界面,PHP实现简单用户登录界面

    用PHP实现简单的用户登录界面,供大家参考,具体内容如下 首先要实现用户登录界面需要一个html登录表单 用户名: 密码: 重复密码: 然后开始按照流程图写PHP代码 if(trim($_POST[' ...

最新文章

  1. 趣文:一根网线发起的攻击
  2. html多语言国际化,gMIS吉密斯i18n多语言国际化更新
  3. mfc140dll 丢失 微软常用运行库_微软常用运行库合集 2020.9月(32amp;64位)
  4. 《信息通信技术与政策》丨盖国强:中国数据库服务生态与体系
  5. 大动作!今日头条、西瓜视频并入抖音,字节梁汝波正式接任CEO
  6. Linux系统升级维护费,Antergos Linux 宣布停止维护
  7. 初学FineReport(二)
  8. 【图像处理】【去模糊】图像去模糊之初探--Single Image Motion Deblurring
  9. python快速编程入门黑马程序员pdf_Python快速编程入门 传智播客 黑马程序员 python编程从入门到实践基础视频教程核心编程爬虫数据分析程序设计机器学习简明书籍...
  10. 数据库 组合主键 外键
  11. workbench3.2用户手册学习笔记二
  12. 基于近半年Twitter与Github趋势分析_12大分类500+ChatGPT最新开源GitHub存储库(涵盖ChatGPT开发全框架、全编程语言及教程)——每周更新
  13. 红黑树的插入与验证——附图详解
  14. 百度地图自定义瓦片切片工具
  15. imx6ul移植madplay播放器
  16. (Alpha)Let's-展示博客
  17. KEIL编程中常见的警告
  18. 繁荣的夜市经济,富裕一批创业者吗?
  19. python爬取去哪儿网酒店信息
  20. HTML5期末大作业:静态购物网站设计——静态购物网站模板11页(前台+后台) HTML+CSS+JS

热门文章

  1. ubuntu用户和权限介绍
  2. echo的故事(希腊神话山林女神和回声女神)
  3. 基于SSM的宠物管理系统
  4. QCA三天写论文!模糊集数据校准实战
  5. npm与package.json
  6. 一文读懂张量分解(展开)和Matlab实现
  7. VC2005断点进阶
  8. android studio 如何下载指定版本的NDK
  9. dll放在unity哪个文件夹下_Unity中调用DLL库
  10. 莫烦Python Python基础教程 文字版 持续更新中