登录模块实现逻辑以及代码(前后端分离)

这是一个前后端分里的项目,所谓的前后端分离指的是开发的分离(包括代码和开发人员的分里)

1、登录模块主要实现的功能如下:

用户输入帐号,密码时失去焦点触发校验,不允许为空

用户非法进入(不是由登录页面登录)其他首页会被路由守卫拦截

用户输入错误帐号会根据错误类型给出不同的提示信息(帐号密码错误、账号不存在)

    • 逻辑实现

(1)数据流图

2、实现过程
接口页面
//带有参数p的接口
export function XXX(p) {
  return request({
    // 后端接口地址
    url: '/XXX',
    // 请求方式 post/get
    method: 'post',
    // 与后端交互参数
    p
  });
}
login页面html
 <div class="login">
      <div class="title">
        登录页面 
      </div>
      <div class="main">
      //绑定工号
        <el-input
          v-model="userCode"
          placeholder="工号:" />
        <el-input
          v-model="passWord"
          :type="passwordType"
          placeholder="密码:"
        />
        <el-button
          type="primary"
          @click="Login()"
        >登录</el-button>
      </div>
    </div>
逻辑代码
<script>
// 与后端联调时需要引入登录接口  
import { XXX } from '/XXX.js';
export default {
    //存放数据
  data() {
    return {
      // 验证表单
      loginForm: {},
      // 验证规则
      loginRules:
      {
        // 工号   必填项   错误文言  失去焦点时验证
        userCode: [{ required: true, message: '请输入员工号', trigger: 'blur' }],
        // 密码   
        password: [{ required: true, message: '请输入密码', trigger: 'blur' }]
      },
    };
  },
    //方法体 
  methods: {
    // 登录按钮上的点击事件 
    Login(loginForm) {
      // 调用表单验证规则,如果符合调用接口处理登录,否 则return,并且提示检验问题
      this.$refs[loginForm].validate((valid) => {
        // 如果有值存在
        if (valid) {
          // 调用getlogin
          this.getlogin();
        } 
      });
    },
    // 处理登录逻辑,与后端交互
    getlogin() {
      // 将loginForm结构赋值传给后端
      const p = { ...this.loginForm };
      // 后端接口联调
      Login(p).then(res => {
        // 判断 如果后端返回错误信息是0 说明正确登录
        if (res.errMsg === '0') {
          // 路由跳转到首页或者某一个指定页面
          this.$router.push({
            path: '/XXX'
          });
        } else if (res.errMsg === '1' && res.data === '密码错误') { 
// 根据后端返回的数据是否正确登录 0:正确登录,1:错误登录 res.data:返回的错误的详细信息
          // 弹出错误信息文言
          this.$message({
             // 错误文言
            message: '密码错误请重新输入',
              // 类型
            type: 'warning'
          });
        } else if (res.errMsg === '1' && res.data === '工号不存在') { 
//  错误信息是工号不存在
        // 弹出错误信息文言
          this.$message({
            message: '工号不存在',
            type: 'warning'
          });
        }
      });
    }
  }
};
</script>

3、完美的登录页思维图应该如下图所示(受到了一位很牛的前辈指点,才画出来!真的肥肠感谢),部分功能例如路由守卫、localStorage存储、设置用户过期时间等下期在写啦~

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前后端分离是一种软件开发架构,将前端和后端的开发分离,使两者能够独立进行开发和部署。在实战wiki知识库系统中,前后端分离代码实现如下: 前端部分: 前端主要负责页面的展示和用户交互,使用HTML、CSS和JavaScript前端技术进行开发。在实战wiki知识库系统中,前端代码可以使用框架如Vue.js、React等来实现前端需要通过和后端交互,获取数据并将其展示给用户。 前端代码的结构一般分为不同的模块,包括页面组件、路由配置、数据请求和处理等。页面组件用于展示各个页面的内容,路由配置用于将不同的页面映射到不同的URL,数据请求用于向后端发送请求获取数据,处理数据用于对获取的数据进行处理和展示。 后端部分: 后端主要负责数据的处理和业务逻辑实现,使用服务器端技术如Java、Python等进行开发。在实战wiki知识库系统中,后端一般采用RESTful API的方式,通过API接口向前端提供数据和服务。 后端代码的结构一般包括路由配置、数据模型、业务逻辑模块。路由配置用于将不同的API请求映射到相应的处理函数,数据模型用于定义和操作数据库中的数据,业务逻辑用于实现具体的业务需求。 前后端交互: 前后端通过API接口进行通信,前端发送请求给后端获取数据或执行某些操作。后端接收请求后,根据请求的类型和参数进行相应的处理,并返回结果给前端前端收到后端返回的数据后,进行相应的展示或后续的操作。 通过前后端分离的方式,实战wiki知识库系统的开发可以更加高效和灵活。前后端开发团队可以独立进行开发和测试,且前后端可以使用不同的技术栈,提高了开发团队的扩展性和可维护性。同时,前后端分离也使系统更容易进行升级和维护,提高了系统的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值