登录页面扩展点
场景
1: 登录之前需要二次确认框
2: 前端默认的错误提示允许被修改
3: 后端返回的错误提示允许被修改
4: 登录后跳转到自定义的页面
方案
前端默认错误可枚举
errorMessages: {
loginEmpty: '用户名不能为空',
passwordEmpty: '密码不能为空',
picCodeEmpty: '图形验证码不能为空',
phoneEmpty: '手机号不能为空',
verificationCodeEmpty: '验证码不能为空',
picCodeError: '图形验证码错误',
inputVerificationCodeAlign: '请重新输入验证码'
}
登录按钮添加拓展点beforeClick
、afterClick
代码
新增一个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低代码应用平台体验