【前端】登录页面扩展点

登录页面扩展点

场景

1: 登录之前需要二次确认框
2: 前端默认的错误提示允许被修改
3: 后端返回的错误提示允许被修改
4: 登录后跳转到自定义的页面

方案

前端默认错误可枚举

errorMessages: {
    loginEmpty: '用户名不能为空',
    passwordEmpty: '密码不能为空',
    picCodeEmpty: '图形验证码不能为空',
    phoneEmpty: '手机号不能为空',
    verificationCodeEmpty: '验证码不能为空',
    picCodeError: '图形验证码错误',
    inputVerificationCodeAlign: '请重新输入验证码'
 }

登录按钮添加拓展点beforeClickafterClick

代码

新增一个ts文件,继承平台默认的LoginPageWidget

@SPI.ClassFactory(RouterWidget.Token({ widget: 'Login' }))
export class CustomLoginPageWidget extends LoginPageWidget {
  constructor() {
    super();

    // 修改前端默认的错误文案
    this.errorMessages.loginEmpty = '登录用户名不能为空';
  }

  /**
   * 用来处理点击「登录」之前的事件,可以做二次确定或者其他的逻辑
   * 只有return true,才会继续往下执行
   */
  public beforeClick(): Promise<Boolean | null | undefined> {
    return new Promise((resolve) => {
      Modal.confirm({
        title: '提示',
        content: '是否登录?',
        onOk: () => {
          resolve(true);
        }
      });
    });
  }

  /**
   *
   * @param result 后端接口返回的数据
   *
   * 用来处理「登录」接口调用后的逻辑,可以修改后端返回的错误文案,也可以自定义
   *
   * 只有return true,才会执行默认的跳转事件
   */
  public afterClick(result): Promise<any | null | undefined> {
     // if(result.redirect) {
    // 自定义跳转
         //return false
     //}

    if (result.errorCode === 20060023) {
      result.errorMsg = '手机号不对,请联系管理员';
    }

    return result;
  }
}

Oinone社区 作者:oinone原创文章,如若转载,请注明出处:https://doc.oinone.top/frontend/71.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
oinone的头像oinone
上一篇 2023年6月20日 下午4:07
下一篇 2023年11月2日 下午1:58

相关推荐

  • 母版-布局-DSL 渲染基础(v4)

    概述 不论是母版、布局还是DSL,我们统一使用XML进行定义,可以更好的提供结构化表述。 参考文档: XML百度百科 XML语法参考 下面文档中未介绍到的Mask母版和Layout布局,可以去数据库中base库的表base_layout_definition和base_mask_definition的template字段查看 母版 确定了主题、非主内容分发区…

    2023年11月1日
    60210
  • oio-checkbox 对选框

    API 属性 Checkbox 参数 说明 类型 默认值 版本 autofocus 自动获取焦点 boolean false checked(v-model:checked) 指定当前是否选中 boolean false disabled 失效状态 boolean false indeterminate 设置 indeterminate 状态,只负责样式控制…

    2023年12月18日
    44500
  • 前端元数据介绍

    模型 属性名 类型 描述 id string 模型id model string 模型编码 name string 技术名称 modelFields RuntimeModelField[] 模型字段 modelActions RuntimeAction[] 模型动作 type ModelType 模型类型 module string 模块编码 moduleN…

    2024年9月21日
    35900
  • 【界面设计器】树形表格

    阅读之前 你应该: 熟悉模型的增删改查相关内容。【界面设计器】模型增删改查基础

    2024年4月19日
    35400
  • 自定义字段组件如何处理vue组件内的表单校验

    介绍 本示例以字符串字段为业务场景,将输入框用element-plus的组件实现了一遍,vue组件内在onMounted生命周期内将ElForm表单实例通过ts组件内提供到props的setFormInstance方法设置到了ts组件的属性formInstance上,这样就可以在ts组件校验方法validator()触发的时候直接调用表单组件实例formIn…

    2024年9月6日
    61300

发表回复

登录后才能评论