157 lines
4.7 KiB
JavaScript
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;
|
|
}
|
|
}
|