一个好的前端开发项目,都是一个团队负责一个部分进行通力合作的。简单的一个系统网站一般包含登录、主体、各个模块功能这三个大部分,现在我们写的登录界面,我们一般编写这样的登录界面可以说有一定的固定套路。
目录
前言
安装Vue脚手架
创建登录界面的文件--login.Vue
配置路由-- router.js
配置main.js
编写登录界面--Login.Vue
结果展示
总结
1、我们一Windows 10为例子,安装Vue 3脚手架前,我们先要配置node js环境;
2、接下来,安装Vue,安装的过程不多说,大家可以到官网去自行下载就可以了,链接Vue.js;Vue.js - The Progressive JavaScript Frameworkhttps://cn.vuejs.org/
或者,可以选择另一种安装方式:
打开控制台,输入一下命令行
npm install vue -g
3、等待安装Vue,还需安装Vue-cli (脚手架),输入如下命令进行安装
npm install -g vue-cli
4、对项目文件进行初始化 还可以使用webpack作为脚手架,命令如下:
vue init webpack qiubite-project
安装完毕后,这里本人使用的是vscode软件,创建一个登录模块的目录页,
接下来,我们要把vue的router路由配置给配置好,如下:
import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
Vue.use(VueRouter)
const router = new VueRouter({
routes: [
{ path: '/', redirect: '/login' },
{ path: '/login', component: Login },
{
path: '/home',
component: Home,
redirect: '/equipment', // 重定向功能,只要访问home地址,就会重定向到wequipment地址
children: [
{ path: '/equipment', component: Equip },
{ path: '/deploy', component: Deploy },
{ path: '/history', component: History },
{ path: '/analysis', component: Analysis },
{ path: '/power', component: Power },
{ path: '/remote', component: Remote }]// welcome为home的子属性
}
],
mode: 'history'
})
router.beforeEach((to, from, next) => {
if (to.path === '/login') return next()
const tokenStr = window.sessionStorage.getItem('token')
if (!tokenStr) return next('/login')
next()
})
export default router
这里我们挂载一个路由守卫,router.beforeEach,这里面to将要访问的路径,from 代表从哪一个路径跳到哪一个去beforeEach,next 是一个函数,表示放行,next()放行 next('/login)强制跳转。用户如果访问login,可以直接跳转,获取token。
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// 导入全局样式表
import './assets/css/global.css'
import axios from 'axios'
axios.defaults.baseURL = 'http://39.101.161.112:9000'
axios.interceptors.request.use(config => {
console.log(config)
config.headers.Authorization = window.sessionStorage.getItem('token')
// 通过axios拦截器添加token验证
return config
// 最后必须要return出去
})
Vue.prototype.$http = axios
Vue.config.productionTip = false
Vue.use(ElementUI)
Vue.use(AMap)
Vue.use(VideoPlayer)
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
丘 比 特
登录
取消
1、 validate回调函数,完成登录表单前的预校验;
2、将登陆成功以后的token,保存到客户端的sessionstorage中;
3、项目中除了登陆之外的其他api接口,必须将token保存到客户端;
4、 this.$router.push('/home)是通过编程式导航跳转到后台,路由地址为/home。
用户登录首先完成账号密码输入,当用户进行账户密码登录操作,系统将验对账户密码进行查询、登录表单数据绑定验证。当用户登录成功时,用户信息将会被记录到session中,用户信息将会被记录到系统日志中,再通过重定向即可跳转到系统首页。当用户登录失败时,系统弹出“登陆失败,请重新登录”提示信息。当用户登录账户密码不合法时,系统将弹出“登录信息不合法”提示信息,用户需进行账户密码重置重新登陆。如下是用户登录界面的时序图:
哪里写得不好大家可以指正,欢迎大家一起学习!