oak-general-business/es/types/Exception.js

157 lines
4.7 KiB
JavaScript

import { OakUserException, OakException } from "oak-domain/lib/types";
export class OakNotEnoughMoneyException extends OakUserException {
constructor(message) {
super(message || '您的余额不足');
}
}
;
export class OakDistinguishUserException extends OakUserException {
userId;
usingPassword;
usingIdCard;
usingWechatUser;
usingEmail;
constructor(userId, usingPassword, usingIdCard, usingWechatUser, usingEmail, message) {
super(message || '系统中发现相同帐户,需要您加以甄别');
this.userId = userId;
this.usingIdCard = usingIdCard;
this.usingPassword = usingPassword;
this.usingWechatUser = usingWechatUser;
this.usingEmail = usingEmail;
}
toString() {
const data = super.getSerialData();
return JSON.stringify({
...data,
userId: this.userId,
usingIdCard: this.usingIdCard,
usingPassword: this.usingPassword,
usingWechatUser: this.usingWechatUser,
usingEmail: this.usingEmail,
});
}
}
;
export class OakChangeLoginWayException extends OakUserException {
userId;
usingIdCard;
usingWechatUser;
usingEmail;
constructor(userId, usingIdCard, usingWechatUser, usingEmail, message) {
super(message || '系统中发现相同帐户,需要您加以甄别');
this.userId = userId;
this.usingIdCard = usingIdCard;
this.usingWechatUser = usingWechatUser;
this.usingEmail = usingEmail;
}
toString() {
const data = super.getSerialData();
return JSON.stringify({
...data,
userId: this.userId,
usingIdCard: this.usingIdCard,
usingWechatUser: this.usingWechatUser,
usingEmail: this.usingEmail,
});
}
}
export class OakMobileUnsetException extends OakUserException {
constructor(message) {
super(message || '您需要先登记手机号');
}
}
export class OakAuthenticationException extends OakUserException {
constructor(message) {
super(message || '您需要先实名认证');
}
}
export class OakUserInfoUncompletedException extends OakUserException {
constructor(message) {
super(message || '您需要先完善用户信息');
}
}
export class OakUserDisabledException extends OakUserException {
constructor(message) {
super(message || '您的帐户已被禁用,请联系系统管理员');
}
}
export class OakTokenExpiredException extends OakUserException {
constructor(message) {
super(message || '当前登录状态已经过期');
}
}
export class OakMpHaveToSubscribeMessage extends Error {
rejectedMessageType;
constructor(rejectedMessageType, message) {
super(message || '您需要订阅消息,以获得更好的用户体验');
this.rejectedMessageType = rejectedMessageType;
}
}
/**
* 前端用户信息还没加载完整
*/
export class OakUserInfoLoadingException extends OakException {
constructor(message) {
super(message || '正在装载用户信息');
}
}
;
/**
* 前端application信息还没加载完整
*/
export class OakApplicationLoadingException extends OakException {
constructor(message) {
super(message || '正在装载应用信息');
}
}
;
export class OakUploadException extends OakUserException {
constructor(message) {
super(message || '上传文件失败');
}
}
;
export function makeException(data) {
const { name, message, opRecords } = data;
let e;
switch (name) {
case 'OakNotEnoughMoneyException': {
e = new OakNotEnoughMoneyException(message);
break;
}
case 'OakDistinguishUserException': {
e = new OakDistinguishUserException(data.userId, data.usingPassword, data.usingIdCard, data.usingWechatUser, data.usingEmail, message);
}
case 'OakUserDisabledException': {
e = new OakUserDisabledException(message);
break;
}
case 'OakTokenExpiredException': {
e = new OakTokenExpiredException(message);
break;
}
case 'OakMobileUnsetException': {
e = new OakMobileUnsetException(message);
break;
}
case 'OakAuthenticationException': {
e = new OakAuthenticationException(message);
break;
}
case 'OakUserInfoUncompletedException': {
e = new OakUserInfoUncompletedException(message);
break;
}
case 'OakUploadException': {
e = new OakUploadException(message);
break;
}
default: {
}
}
if (e) {
e.setOpRecords(opRecords);
return e;
}
}