elementui登录页面_Springboot+Vue从零开始实现登录

一直想动手写个项目,但是前端太差,看了看vue的教学视频学习了一下, 开始实战

Vue 开发

// 安装与卸载vue-clinpm install -g @vue/clinpm uninstall -g @vue/cli

项目创建

// 打开cmdvue create whf-blogcd whf_blogvue add element (添加 elementui)// ✔  Successfully invoked generator for plugin: vue-cli-plugin-element  安装成功npm install axios (安装 axios)//√ Installed 1 packages//√ Linked 3 latest versions//√ Run 0 scripts//√ All packages installed (4 packages installed from npm registry, used 537ms(network 529ms), speed 28.23kB/s, json 4(14.93kB), tarball 0B)npm install vuex --save(安装 Vuex)//√ Installed 1 packages//√ Linked 1 latest versions//√ Run 0 scripts//√ All packages installed (2 packages installed from npm registry, used 1s(network 1s), speed 23.57kB/s, json 2(32.41kB), tarball 0B)npm install vue-router (安装 路由)//√ Installed 1 packages//√ Linked 0 latest versions//√ Run 0 scripts//√ All packages installed (1 packages installed from npm registry, used 431ms(network 426ms), speed 21.64kB/s, json 1(9.22kB), tarball 0B)
a8a974bca35fabfd5ad104f739960d94.png

这里就选择默认即可

安装就按部就班来,一般都没问题

目录结构

fbd7158a07a2f5e3a15c895cf878cf26.png
// 添加目录结构service (网络请求)router (路由配置)store (Vuex 状态管理)utils (工具)views (视图功能)
74e8928b64b540c5a61a43a9ab1cf50d.png

运行项目

package.json 右键可以查看到 show npm

55dd226b2f3141ffc0b6ad8ee9edf676.png

点击直接运行

9091a7d1ceb42af403ba29d158c56598.png

成功页面

f11f16244e5dac6febaca737bbfebc6a.png

View 层

login.vue

用户名:
密码: 登录

路由配置

import Vue from 'vue' //引入 Vueimport VueRouter from 'vue-router' //引入 Vue 路由import Login from '../views/login/login'Vue.use(VueRouter); //安装插件export const constantRouterMap = [    //配置默认的路径,默认显示登录页    {        path: '/login',        name: 'Login',        component: Login    },    {        path: '/',        name: 'Login',        component: Login    }]export default new VueRouter({    mode: 'history', //后端支持可开    scrollBehavior: () => ({y: 0}),    routes: constantRouterMap //指定路由列表})

main.js添加路由配置和axios

import Vue from 'vue' //引入 Vueimport VueRouter from 'vue-router' //引入 Vue 路由import Login from '../views/login/login'Vue.use(VueRouter); //安装插件export const constantRouterMap = [    //配置默认的路径,默认显示登录页    {        path: '/login',        name: 'Login',        component: Login    },    {        path: '/',        name: 'Login',        component: Login    }]export default new VueRouter({    mode: 'history', //后端支持可开    scrollBehavior: () => ({y: 0}),    routes: constantRouterMap //指定路由列表})

添加vue.config.js

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

创建springboot项目

77ea483a71d13a3d311e17983776d413.png
b3b6011b8d391eafd9c9b29e7786b190.png
725dfbb78727ddacaf218fdca141d2e7.png
43da59ec562467907cc282b21f28ee89.png

User类

package com.whf.blog.bean;import lombok.Data;@Datapublic class User {    private int userId;    private String  username;    private String password;}
package com.whf.blog.resp;import lombok.Data;@Datapublic class Result {    private int code;    private String message;}
package com.whf.blog.controller;import com.whf.blog.bean.User;import com.whf.blog.resp.Result;import org.springframework.web.bind.annotation.*;@RestControllerpublic class LoginController {    @RequestMapping(value = "/login",method = RequestMethod.POST)    @ResponseBody    public Result login(@RequestBody User user){        Result result = new Result();        if(user.getUsername().equals("admin") && user.getPassword().equals("admin")){            result.setCode(200);        }else {            result.setCode(400);        }        return result;    }}
package com.whf.blog;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframework.web.cors.UrlBasedCorsConfigurationSource;import org.springframework.web.filter.CorsFilter;/** * @author suntongxin * Create on 2017年7月6日下午8:05:19 * All right reserved */@Configurationpublic class CorsConfig {    private CorsConfiguration buildConfig() {        CorsConfiguration corsConfiguration = new CorsConfiguration();        corsConfiguration.addAllowedOrigin("*"); //允许任何域名        corsConfiguration.addAllowedHeader("*"); //允许任何头        corsConfiguration.addAllowedMethod("*"); //允许任何方法        return corsConfiguration;    }    @Bean    public CorsFilter corsFilter() {        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();        source.registerCorsConfiguration("/**", buildConfig()); //注册        return new CorsFilter(source);    }}

主要解决跨域问题

现在前后端就算打得通了登录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值