后端管理系统开发(一):登录篇
作为后端程序员,想写一个数据展示的系统,主要用于数据查询、数据展示,当然也有登录功能了,有没有比较快的方式呢,于此,Vue-Admin-Pro便产生了,基于iView-Admin,进行简化,为后端程序员量身打造的极简后端管理系统。
项目地址:vue-admin-pro
系列文章1:[后端管理系统开发(一):登录篇]()
系列文章2:[后端管理系统开发(二):路由篇]()(敬请期待)
系列文章3:[后端管理系统开发(三):数据表格篇]()(敬请期待)
系列文章4:[后端管理系统开发(四):数据请求篇]()(敬请期待)
系列文章5:[后端管理系统开发(五):表单篇]()(敬请期待)
搭建项目
项目进入正题,开始搭建项目。
第一步:使用 Git
拉取 vue-admin-pro 的代码,地址:git@github.com:fengwenyi/vue-admin-pro.git
第二步:修改工程名,比如我们将工程名改为vue-admin-pro-simple
第三步:使用 WebStorm
打开
第四步:修改配置,配置地址:/src/config/index.js
第五步:运行 npm install
第六步:运行 npm run dev
运行效果:
这里有一个问题,因为标题过长,大于预留的宽度,我们去修改一下登录样式:/src/view/Login/Login.less
,将宽度改成 390px
.container { ... .content { width: 390px; } }
修改之后的效果:
登录
于此,算是搞定了项目搭建。首先我们不管什么权限,来实现最基础的登录功能。所以,下面我们聊聊我们的登录。
前端登录的API代码:
/** * 登录 * @param account * @param password */ export const login = (account, password) => { const data = { account, password } return axios.request({ url: 'auth/login', method: 'post', dataType: 'json', headers: { 'Content-Type': 'application/json; charset=UTF-8' }, data: data }) }
我们注意以下几点:
- url地址,根据自己的情况进行修改
- 提交方式
- Headers,这里添加了json
- 参数
account
、password
于此,我们可写自己的后端的登录接口,或者适当修改。
可以参见 vue-admin-pro-api
示例:
package com.fengwenyi.vueadminproapi.controller; import com.fengwenyi.vueadminproapi.entity.Login; import net.iutil.ApiResult; import net.iutil.javalib.util.IdUtils; import org.springframework.http.MediaType; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.Map; /** * 认证 * @author Erwin Feng * @since 2019-06-08 10:21 */ @RestController @RequestMapping(value = "/auth", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public class AuthController { // 登录示例 @PostMapping("/login") public ApiResult login(@RequestBody Login login) { String account = login.getAccount(); String password = login.getPassword(); if (StringUtils.isEmpty(account)) return ApiResult.error().setMsg("账号不能为空"); if (StringUtils.isEmpty(password)) return ApiResult.error().setMsg("密码不能为空"); if (!account.equals("admin")) return ApiResult.error().setMsg("账号不存在"); if (!password.equals("admin@1234")) return ApiResult.error().setMsg("密码不正确"); String uid = IdUtils.getIdByUUID(); String token = IdUtils.getIdByUUID(); // 可指定有效期 // 可自定义策略保存uid、token // write code Map<String, String> map = new HashMap<>(); map.put("token", uid + "_" + token); return ApiResult.success(map); } // 登出示例 @GetMapping("/logout") public ApiResult logout(@RequestHeader String token) { // 清空token // write code // return return ApiResult.success(); } }
登录成功,进入首页
这里有一个问题,因为标题太长了,这里采取的策略是,将标题超出的部分隐藏。
路径: /components/main
class:maxAdminName
我这里将字体调小
.main{ .logo-con{ ... .maxAdminName { font-size: 17px; ... } } }
看一下效果:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Flink实战(六) - Table API & SQL编程
1 意义 1.1 分层的 APIs & 抽象层次 Flink提供三层API。 每个API在简洁性和表达性之间提供不同的权衡,并针对不同的用例。 而且Flink提供不同级别的抽象来开发流/批处理应用程序 最低级抽象只提供有状态流。它通过Process Function嵌入到DataStream API中。它允许用户自由处理来自一个或多个流的事件,并使用一致的容错状态。此外,用户可以注册事件时间和处理时间回调,允许程序实现复杂的计算。 实际上,大多数应用程序不需要上述低级抽象,而是针对Core API编程, 如DataStream API(有界/无界流)和DataSet API (有界数据集)。这些流畅的API提供了用于数据处理的通用构建块,例如各种形式的用户指定的转换,连接,聚合,窗口,状态等。在这些API中处理的数据类型在相应的编
- 下一篇
Lodash 严重安全漏洞背后 你不得不知道的 JavaScript 知识
摘要: 详解原型污染。 原文:Lodash 严重安全漏洞背后 你不得不知道的 JavaScript 知识 作者:Lucas HC Fundebug经授权转载,版权归原作者所有。 可能有信息敏感的同学已经了解到:Lodash 库爆出严重安全漏洞,波及 400万+ 项目。这个漏洞使得 lodash “连夜”发版以解决潜在问题,并强烈建议开发者升级版本。 我们在忙着“看热闹”或者“”升级版本”的同时,静下心来想:真的有理解这个漏洞产生的原因,明白漏洞修复背后的原理了吗? 这篇短文将从原理层面分析这一事件,相信“小白”读者会有所收获。 漏洞原因 其实漏洞很简单,举一个例子:lodash 中 defaultsDeep 方法, _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }) 输出: { 'a': { 'b': 2, 'c': 3 } } 如上例,该方法: 分配来源对象(该方法的第二个参数)的可枚举属性到目标对象(该方法的第一个参数)所有解析为 undefined 的属性上 这样的操作存在的隐患: const payl...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路