import { OakUserException, OakException } from "oak-domain/lib/types"; export class OakDistinguishUserException extends OakUserException { userId; usePassword; useIdCard; useWechatUser; useEmail; useMobile; constructor(userId, usePassword, useIdCard, useWechatUser, useEmail, useMobile, message, module, params) { super(message || 'error::distinguishUser', module || 'oak-general-business', params); this.userId = userId; this.useIdCard = useIdCard; this.usePassword = usePassword; this.useWechatUser = useWechatUser; this.useEmail = useEmail; this.useMobile = useMobile; } toString() { const data = super.getSerialData(); return JSON.stringify({ ...data, userId: this.userId, useIdCard: this.useIdCard, usePassword: this.usePassword, useWechatUser: this.useWechatUser, useEmail: this.useEmail, useMobile: this.useMobile, }); } } ; export class OakChangeLoginWayException extends OakUserException { userId; useIdCard; useWechatUser; useEmail; useMobile; constructor(userId, useIdCard, useWechatUser, useEmail, useMobile, message, module, params) { super(message || 'error::changeLoginWay', module || 'oak-general-business', params); this.userId = userId; this.useIdCard = useIdCard; this.useMobile = useMobile; this.useWechatUser = useWechatUser; this.useEmail = useEmail; } toString() { const data = super.getSerialData(); return JSON.stringify({ ...data, userId: this.userId, useIdCard: this.useIdCard, useWechatUser: this.useWechatUser, useEmail: this.useEmail, useMobile: this.useMobile, }); } } export class OakMobileUnsetException extends OakUserException { constructor(message, module, params) { super(message || 'error::mobileUnset', module || 'oak-general-business', params); } } export class OakAuthenticationException extends OakUserException { constructor(message, module, params) { super(message || 'error::needAuthentication', module || 'oak-general-business', params); } } export class OakUserInfoUncompletedException extends OakUserException { constructor(message, module, params) { super(message || 'error::userInfoUncompleted', module || 'oak-general-business', params); } } export class OakUserDisabledException extends OakUserException { constructor(message, module, params) { super(message || 'error::userDisabled', module || 'oak-general-business', params); } } export class OakTokenExpiredException extends OakUserException { constructor(message, module, params) { super(message || 'error::tokenExpired', module || 'oak-general-business', params); } } export class OakMpHaveToSubscribeMessage extends OakUserException { rejectedMessageType; constructor(rejectedMessageType, message, module, params) { super(message || 'error::mpHaveToSubscribe', module || 'oak-general-business', params); this.rejectedMessageType = rejectedMessageType; } } /** * 前端用户信息还没加载完整 */ export class OakUserInfoLoadingException extends OakException { constructor(message, module, params) { super(message || 'error::userInfoLoading', module || 'oak-general-business', params); } } ; /** * 前端application信息还没加载完整 */ export class OakApplicationLoadingException extends OakException { constructor(message, module, params) { super(message || 'error::applicationLoading', module || 'oak-general-business', params); } } ; export class OakUploadException extends OakUserException { constructor(message, module, params) { super(message || 'error::uploadFailed', module || 'oak-general-business', params); } } ; export class OakPasswordUnset extends OakUserException { constructor(message, module, params) { super(message || 'error::user.hasToSetPassword', module || 'oak-general-business', params); } } ; export class OakHasToVerifyPassword extends OakUserException { constructor(message, module, params) { super(message || 'error::user.hasToVerifyPassword', module || 'oak-general-business', params); } } ; export class OakCantChangeVerifiedUser extends OakUserException { constructor(message, module, params) { super(message || 'error::user.cantChangeVerifiedUser', module || 'oak-general-business', params); } } ; export function makeException(data) { const { name, message, opRecords, module, params } = data; let e; switch (name) { case 'OakDistinguishUserException': { e = new OakDistinguishUserException(data.userId, data.usePassword, data.useIdCard, data.useWechatUser, data.useEmail, data.useMobile, message, module, params); break; } case 'OakChangeLoginWayException': { e = new OakChangeLoginWayException(data.userId, data.useIdCard, data.useWechatUser, data.useEmail, data.useMobile, message, module, params); break; } case 'OakUserDisabledException': { e = new OakUserDisabledException(message, module, params); break; } case 'OakTokenExpiredException': { e = new OakTokenExpiredException(message, module, params); break; } case 'OakMobileUnsetException': { e = new OakMobileUnsetException(message, module, params); break; } case 'OakAuthenticationException': { e = new OakAuthenticationException(message, module, params); break; } case 'OakUserInfoUncompletedException': { e = new OakUserInfoUncompletedException(message, module, params); break; } case 'OakUploadException': { e = new OakUploadException(message, module, params); break; } case 'OakPasswordUnset': { e = new OakPasswordUnset(message, module, params); break; } case 'OakHasToVerifyPassword': { e = new OakHasToVerifyPassword(message, module, params); break; } case 'OakCantChangeVerifiedUser': { e = new OakCantChangeVerifiedUser(message, module, params); break; } default: { } } if (e) { e.setOpRecords(opRecords); return e; } }