前言

接上文,本文主要讲解vue+element-ui后台管理系统的登录功能的实现,api接口这块如果对后端技术以及node的实现不太了解的情况下,可以写出假数据进行模拟操作~

一、创建登录文件并配置访问路由

首先我们将上文创建好的项目在ide中打开,我这里使用的是vscode,项目清单结构如下图所示:

项目清单

我们在views文件夹下新建一个Login.vue作为我们的系统登录界面,然后在router路由文件夹下的index.js路由配置文件中配置我们的登录界面访问路由,如下图所示:

配置登录访问路由

这里import Login from "../views/Login.vue"为链接到我们的登录界面,这里可以写成动态链接的方式:component: () => import( "../views/Login.vue") ,这样的写法有助于提高项目路由的加载效率,按需加载。

然后我们通过npm run serve 启动我们的项目,并尝试通过路由访问进行测试,如果访问成功看到了你在登录界面所写的内容即配置成功了~以下是我的界面效果:

登录界面内容

二、登录界面编写

登录界面大家都知道主要是一个登录表单的是布局实现以及一些简单的表单验证而已,所以接下来我们将用element-ui的表单来实现登录表单。

el实现form表单的组件是<el-form>组件,单行输入框用的是<el-input>组件,如果你不太清楚也可以直接打开上文说的element-ui的组件表单页面进行查看和选择使用,地址:https://element.eleme.cn/#/zh-CN/component/form

以下是我的登录表单布局文件:

登录表单布局代码

其中表单的有效性验证可以通过rule去实现(如果要想通过rule实现的话需要在el-form标签中进行rule属性设置),在script的data中编写rule的条件,官方提供的基础验证如下:

element-ui官方表单内容有效性验证代码截图

其中pass、checkpass以及age是需要在各表单标签中进行prop设置方可生效,最后增加一些自己的样式,大概效果就会像我这样:

登录界面

三、登录功能的实现

这里主要指利用axios请求登录接口校验登录功能。由于该系列文章仅限于前段的实现,后端接口这里就不做详细说明,大家可以选择php、node.js、java、c#或者python等都是可以实现的,前端coder推荐使用node.js, 我这里使用的是tp/flask实现的。

1、安装axios

这里通过命令npm install --save axios即可像项目中增加axios用于API接口请求。

2、全局配置axios

安装完成后如果你是全局配置则需要在main.js中进行axios的引入配置。具体方式如下:

import axios from "axios";
Vue.prototype.$http = axios;

通过以上两行代码配置后,就可以在项目中全局通过$http使用axios了,至于axios的拦截器等高级操作这里不做深入阐述。

3、进行登录

这里假设我的登录接口地址为/user/login, 由于登录是提交操作以及涉及敏感信息,该接口应该是post的请求方式,所以我们的请求代码就可以这样写:

this.$http.post('/user/login', data).then(res => {}).catch(error => {})

4、可能涉及的问题

1)、跨域问题

为什么会产生跨域问题?JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象,即同源政策。通俗的讲,为了安全所以浏览器进行了限制,所以不能进行跨域。

2}、什么是跨域

浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都会出现跨域的问题。

3)、如何解决

在项目中新建一个vue.config.js文件,在其中写入一下内容即可:

module.exports = {devServer: {host: 'localhost',port: 8080,proxy: {'/api': {target: 'http://127.0.0.1:5000',// ws : true,changeOrigin: true,pathRewrite: {'^/api': ''}}}}
};

其中host和port是你本地的服务器和端口,而proxy中写的就是你要代理的服务器的相关信息。

vue.config.js中的更多配置可参考官方文档:https://cli.vuejs.org/zh/config/

四、登录信息的存储

经过以上的步骤我们已经实现了登录界面的编写和接口的请求。但是在日常的项目过程中会涉及到一些登录信息的存储以及登录状态的存储,那么传统的方式可以通过一些localstorage、sessionStorage去实现,现在我们可以使用vuex实现。

vuex在我们构建项目的过程中已经加入了项目了,如果没有的话可以通过以下命令去加入项目:

npm install --save vuex

在我们登录成功之后就可以将我们的登录相关信息通过vuex存储在全局的store中,共项目中任何需要用到的地方使用。至于Vuex的详细使用方式可以参考vuex官方文档:https://vuex.vuejs.org/zh/guide/,或者有需要详细操作的,可以评论或者私信我交流~

至此我们Vue-cli + Element-ui实现后台管理系统的登录功能我们已经实现了,下一篇文章将介绍如何实现后台管理系统的主要框架~

一个不是前端的coder,文章如有不足之处还望指出~

androidstudio做登录界面_Vue-cli+Element-ui实现后台管理系统(二)实现后台登录功能...相关推荐

  1. Vue + Element UI 实现权限管理系统 前端篇(七):功能组件封装

    组件封装 为了避免组件代码的臃肿,这里对主要的功能部件进行封装,保证代码的模块化和简洁度. 组件结构 组件封装重构后,试图组件结构如下图所示 代码一览 Home组件被简化,包含导航.头部和主内容三个组 ...

  2. 各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码

    各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码 ...

  3. vue 数据库 登录界面_Vue学习之路之登录注册

    杭州数澜科技招聘Node.js工程师[可实习].UE/UI设计师[实习].前端React工程师[实习],联系方式可见评论区 Vue.js + Element UI + MongoDB P1 安装Vue ...

  4. elementui :on-remove怎么用_Vue + Vuex + Element UI实现动态全局主题颜色

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 经常用Element UI的小伙伴,应该知道,Element UI官方文档,可以自由更换主题.那么,我们怎么把这个功能用到 ...

  5. axios vue 加载效果动画_vue+axios+element ui 实现全局loading加载示例

    实现全局loading加载 分析需求,我们只需要在请求发起的时候开始loading,响应结束的时候关闭loading,就这么简单 对不对? import axios from 'axios'; imp ...

  6. vue2 - 基于Element UI实现上传Excel表单数据功能

    一.项目场景 批量数据上传后台,需要从后台下载一个固定格式的 Excel表格,然后在表格里面添加数据,将数据格式化,再上传给后台,后台做解析处理,往数据库添加数据 二.实现功能展示 点击导入excel ...

  7. ios 仿电脑qq登录界面_1、IOS开发--iPad之仿制QQ空间(登录界面搭建+登录逻辑实现)...

    开始搭建登录界面 登录界面效果图: 步骤开始: 设置辅助窗口的位置在下方 快捷键option,然后拖拽复制之后: 这里就直接省去了将背景颜色改为经典黑了. 到这里QQ空间的登录界面搭建完毕. 下面进行 ...

  8. python实现qq登录界面_使用Python编写一个QQ办公版的图形登录界面!

    最近,QQ的办公版本--TIM进行了一次更新升级.本次更新升级大幅修改了界面的样式,看起来更加的清爽.简洁和高效了. 这种界面州的先生还是比较喜欢的,没有QQ那么花里胡哨,也比微信那些残缺的功能更加丰 ...

  9. php用户登录界面代码有背景,大男孩教你怎么自定义WordPress用户登录界面背景图片? – 男孩资源网...

    WordPress的后台登录界面,带有WordPress的logo及其他多余信息,看起来不个性,虽然很少人访问,但也有很多人想要设计出自己独特的登录界面.对于不是很懂代码的人,要弄这么个东西还是很难的 ...

  10. JAVA登录界面学生和老师_学生信息管理系统之第三篇登录界面java代码

    class DLFrame extends JFrame implements ActionListener, ItemListener {// 登录界面 JPanel p1 = null; JPan ...

最新文章

  1. swagger error: Conflicting schemaIds: Duplicate schemaIds detected for types A and B
  2. python--thread多线程总结
  3. 错误: 程序包r2不存在_坚果 R2 使用体验:它是一款真旗舰,也是不一样的旗舰...
  4. IDL关系运算符Eq Ne Le Lt Gt Ge含义说明
  5. 一台电脑同时运行多个tomcat配置方法
  6. 概率占据图(POM)算法理解
  7. 本博打开方式,请详读
  8. Spring Boot EasyUI datagrid
  9. Unity开发《一起来捉妖》教程 | 1.陀螺仪控制相机
  10. centos下openfire安装(转)
  11. 《规范敏捷交付:企业级敏捷软件交付的方法与实践》——3.11 观点总结
  12. 7 | Spatial-based GNN/convolution模型之GrapySAGE
  13. 关于YUV格式的一些总结
  14. linux内核 list 使用,使用linux 内核中代码之--list
  15. 演示:思科设备子接口类型帧中继的配置
  16. 全局钩子原理以及操作流程
  17. Android | Tangram动态页面之路(七)硬核的Virtualview
  18. android webp格式的图片,Android应用中对webp格式图片的处理
  19. 联想计算机启机按F1,电脑开机提示按f1不能正常启动怎么办
  20. 2020腾讯校园实习生招聘面经(Offer):系统技术运维岗和后台开发岗

热门文章

  1. 不用下载软件,mac自带丰富快捷键截图Ctrl+shift+4
  2. C语言 通用工具库 stdlib.h
  3. python进入内置函数文件_python基础知识-set、函数、内置函数、文件操作
  4. 诗哲魂:制约中国互联网发展瓶颈在哪里?
  5. 曾365天排队,如今被嫌弃!火了13年的网红鼻祖,要过气了吗?
  6. JDG战队与英特尔达成为期两年的冠名合作
  7. 我混了大半辈子,忽然成了拆二代
  8. 微软冷箭射苹果:世界需要更开放的平台
  9. 看过各地的方言标语,才明白什么叫文字的力量
  10. 格力电器开始向“电动口罩”发力了?