loginbymobile支持传参封闭直接创建用户
This commit is contained in:
parent
5732d0e82e
commit
5503050c0e
|
|
@ -20,6 +20,7 @@ export type GeneralAspectDict<ED extends EntityDict, Cxt extends BackendRuntimeC
|
|||
captcha?: string;
|
||||
password?: string;
|
||||
mobile: string;
|
||||
disableRegist?: boolean;
|
||||
env: WebEnv | WechatMpEnv | NativeEnv;
|
||||
}, context: Cxt) => Promise<string>;
|
||||
loginWechat: ({ code, env, wechatLoginId, }: {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ export declare function loginByMobile<ED extends EntityDict, Cxt extends Backend
|
|||
captcha?: string;
|
||||
password?: string;
|
||||
mobile: string;
|
||||
disableRegist?: boolean;
|
||||
env: WebEnv | WechatMpEnv | NativeEnv;
|
||||
}, context: Cxt): Promise<string>;
|
||||
export declare function refreshWechatPublicUserInfo<ED extends EntityDict, Cxt extends BackendRuntimeContext<ED>>({}: {}, context: Cxt): Promise<void>;
|
||||
|
|
|
|||
|
|
@ -496,6 +496,22 @@ export async function loginByMobile(params, context) {
|
|||
}
|
||||
};
|
||||
const closeRootMode = context.openRootMode();
|
||||
if (params?.disableRegist) {
|
||||
const [existMobile] = await context.select('mobile', {
|
||||
data: {
|
||||
id: 1,
|
||||
mobile: 1,
|
||||
},
|
||||
filter: {
|
||||
mobile: params.mobile,
|
||||
ableState: 'enabled',
|
||||
},
|
||||
}, { dontCollect: true });
|
||||
if (!existMobile) {
|
||||
closeRootMode();
|
||||
throw new OakUserException('手机号无效,请先联系管理员获取权限');
|
||||
}
|
||||
}
|
||||
const tokenId = await loginLogic();
|
||||
await loadTokenInfo(tokenId, context);
|
||||
closeRootMode();
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
declare const checkers: (import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt>)[];
|
||||
declare const checkers: (import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt>)[];
|
||||
export default checkers;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Style } from '../../../../types/Style';
|
||||
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../../oak-app-domain").EntityDict, keyof import("../../../../oak-app-domain").EntityDict, false, {
|
||||
style: Style;
|
||||
entity: "system" | "application" | "platform";
|
||||
entity: "application" | "system" | "platform";
|
||||
entityId: string;
|
||||
name: string;
|
||||
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ declare const _default: <ED2 extends EntityDict & BaseEntityDict, T2 extends key
|
|||
type?: ButtonProps['type'] | AmButtonProps['type'];
|
||||
executeText?: string | undefined;
|
||||
buttonProps?: (ButtonProps & {
|
||||
color?: "primary" | "success" | "warning" | "default" | "danger" | undefined;
|
||||
color?: "default" | "success" | "primary" | "warning" | "danger" | undefined;
|
||||
fill?: "none" | "solid" | "outline" | undefined;
|
||||
size?: "small" | "large" | "middle" | "mini" | undefined;
|
||||
block?: boolean | undefined;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { EntityDict } from '../../../oak-app-domain';
|
||||
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, keyof EntityDict, false, {
|
||||
type: "bind" | "login";
|
||||
type: "login" | "bind";
|
||||
url: string;
|
||||
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
||||
export default _default;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export declare class Token<ED extends EntityDict, Cxt extends BackendRuntimeCont
|
|||
private loadSavedToken;
|
||||
constructor(cache: Cache<ED, Cxt, FrontCxt, AD>, storage: LocalStorage, environment: Environment);
|
||||
loadTokenInfo(): Promise<void>;
|
||||
loginByMobile(mobile: string, password?: string, captcha?: string): Promise<void>;
|
||||
loginByMobile(mobile: string, password?: string, captcha?: string, disableRegist?: boolean): Promise<void>;
|
||||
loginByWechatInWebEnv(wechatLoginId: string): Promise<void>;
|
||||
loginWechat(code: string, params?: {
|
||||
wechatLoginId?: string;
|
||||
|
|
|
|||
|
|
@ -50,12 +50,13 @@ export class Token extends Feature {
|
|||
this.isLoading = false;
|
||||
}
|
||||
}
|
||||
async loginByMobile(mobile, password, captcha) {
|
||||
async loginByMobile(mobile, password, captcha, disableRegist) {
|
||||
const env = await this.environment.getEnv();
|
||||
const { result } = await this.cache.exec('loginByMobile', {
|
||||
password,
|
||||
mobile,
|
||||
captcha,
|
||||
disableRegist,
|
||||
env,
|
||||
});
|
||||
this.tokenValue = result;
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
declare const _default: (import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "message", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "notification", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatLogin", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "articleMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "article", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "parasite", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "extraFile", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "sessionMessage", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMpJump", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "account", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
|
||||
declare const _default: (import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "account", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "message", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "notification", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatLogin", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "articleMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "article", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "parasite", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "extraFile", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "sessionMessage", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMpJump", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
|
||||
export default _default;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ export declare function createToDo<ED extends EntityDict & BaseEntityDict, T ext
|
|||
title: string;
|
||||
description?: string;
|
||||
redirectTo: EntityDict['toDo']['OpSchema']['redirectTo'];
|
||||
}, userIds?: string[]): Promise<1 | 0>;
|
||||
}, userIds?: string[]): Promise<0 | 1>;
|
||||
/**
|
||||
* 完成todo例程,当在entity对象上进行action操作时(操作条件是filter),将对应的todo完成
|
||||
* 必须在entity的action的后trigger中调用
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ export type GeneralAspectDict<ED extends EntityDict, Cxt extends BackendRuntimeC
|
|||
captcha?: string;
|
||||
password?: string;
|
||||
mobile: string;
|
||||
disableRegist?: boolean;
|
||||
env: WebEnv | WechatMpEnv | NativeEnv;
|
||||
}, context: Cxt) => Promise<string>;
|
||||
loginWechat: ({ code, env, wechatLoginId, }: {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ export declare function loginByMobile<ED extends EntityDict, Cxt extends Backend
|
|||
captcha?: string;
|
||||
password?: string;
|
||||
mobile: string;
|
||||
disableRegist?: boolean;
|
||||
env: WebEnv | WechatMpEnv | NativeEnv;
|
||||
}, context: Cxt): Promise<string>;
|
||||
export declare function refreshWechatPublicUserInfo<ED extends EntityDict, Cxt extends BackendRuntimeContext<ED>>({}: {}, context: Cxt): Promise<void>;
|
||||
|
|
|
|||
|
|
@ -499,6 +499,22 @@ async function loginByMobile(params, context) {
|
|||
}
|
||||
};
|
||||
const closeRootMode = context.openRootMode();
|
||||
if (params?.disableRegist) {
|
||||
const [existMobile] = await context.select('mobile', {
|
||||
data: {
|
||||
id: 1,
|
||||
mobile: 1,
|
||||
},
|
||||
filter: {
|
||||
mobile: params.mobile,
|
||||
ableState: 'enabled',
|
||||
},
|
||||
}, { dontCollect: true });
|
||||
if (!existMobile) {
|
||||
closeRootMode();
|
||||
throw new types_1.OakUserException('手机号无效,请先联系管理员获取权限');
|
||||
}
|
||||
}
|
||||
const tokenId = await loginLogic();
|
||||
await loadTokenInfo(tokenId, context);
|
||||
closeRootMode();
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
declare const checkers: (import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt>)[];
|
||||
declare const checkers: (import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt>)[];
|
||||
export default checkers;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export declare class Token<ED extends EntityDict, Cxt extends BackendRuntimeCont
|
|||
private loadSavedToken;
|
||||
constructor(cache: Cache<ED, Cxt, FrontCxt, AD>, storage: LocalStorage, environment: Environment);
|
||||
loadTokenInfo(): Promise<void>;
|
||||
loginByMobile(mobile: string, password?: string, captcha?: string): Promise<void>;
|
||||
loginByMobile(mobile: string, password?: string, captcha?: string, disableRegist?: boolean): Promise<void>;
|
||||
loginByWechatInWebEnv(wechatLoginId: string): Promise<void>;
|
||||
loginWechat(code: string, params?: {
|
||||
wechatLoginId?: string;
|
||||
|
|
|
|||
|
|
@ -53,12 +53,13 @@ class Token extends oak_frontend_base_1.Feature {
|
|||
this.isLoading = false;
|
||||
}
|
||||
}
|
||||
async loginByMobile(mobile, password, captcha) {
|
||||
async loginByMobile(mobile, password, captcha, disableRegist) {
|
||||
const env = await this.environment.getEnv();
|
||||
const { result } = await this.cache.exec('loginByMobile', {
|
||||
password,
|
||||
mobile,
|
||||
captcha,
|
||||
disableRegist,
|
||||
env,
|
||||
});
|
||||
this.tokenValue = result;
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
declare const _default: (import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "message", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "notification", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatLogin", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "articleMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "article", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "parasite", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "extraFile", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "sessionMessage", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMpJump", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "account", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
|
||||
declare const _default: (import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "account", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "message", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "notification", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatLogin", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "articleMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "article", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "parasite", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "extraFile", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "sessionMessage", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMpJump", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
|
||||
export default _default;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ export declare function createToDo<ED extends EntityDict & BaseEntityDict, T ext
|
|||
title: string;
|
||||
description?: string;
|
||||
redirectTo: EntityDict['toDo']['OpSchema']['redirectTo'];
|
||||
}, userIds?: string[]): Promise<1 | 0>;
|
||||
}, userIds?: string[]): Promise<0 | 1>;
|
||||
/**
|
||||
* 完成todo例程,当在entity对象上进行action操作时(操作条件是filter),将对应的todo完成
|
||||
* 必须在entity的action的后trigger中调用
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ export type GeneralAspectDict<
|
|||
captcha?: string;
|
||||
password?: string;
|
||||
mobile: string;
|
||||
disableRegist?: boolean;
|
||||
env: WebEnv | WechatMpEnv | NativeEnv;
|
||||
},
|
||||
context: Cxt
|
||||
|
|
|
|||
|
|
@ -590,6 +590,7 @@ export async function loginByMobile<
|
|||
captcha?: string;
|
||||
password?: string;
|
||||
mobile: string;
|
||||
disableRegist?: boolean;
|
||||
env: WebEnv | WechatMpEnv | NativeEnv;
|
||||
},
|
||||
context: Cxt
|
||||
|
|
@ -690,8 +691,27 @@ export async function loginByMobile<
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
const closeRootMode = context.openRootMode();
|
||||
if (params?.disableRegist) {
|
||||
const [existMobile] = await context.select(
|
||||
'mobile',
|
||||
{
|
||||
data: {
|
||||
id: 1,
|
||||
mobile: 1,
|
||||
},
|
||||
filter: {
|
||||
mobile: params.mobile!,
|
||||
ableState: 'enabled',
|
||||
},
|
||||
},
|
||||
{ dontCollect: true }
|
||||
);
|
||||
if (!existMobile) {
|
||||
closeRootMode();
|
||||
throw new OakUserException('手机号无效,请先联系管理员获取权限');
|
||||
}
|
||||
}
|
||||
const tokenId = await loginLogic();
|
||||
await loadTokenInfo<ED, Cxt>(tokenId, context);
|
||||
closeRootMode();
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ export default OakComponent({
|
|||
},
|
||||
async ready() {
|
||||
const application = this.features.application.getApplication();
|
||||
|
||||
|
||||
let loginMode = await this.load(LOGIN_MODE) || 2;
|
||||
const lastSendAt = await this.load(SEND_KEY);
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ export default OakComponent({
|
|||
isSupportWechat = !!config2?.passport?.includes('wechat');
|
||||
isSupportWechatPublic = !!config2?.passport?.includes('wechatPublic') //是否开启
|
||||
}
|
||||
|
||||
|
||||
if (isSupportGrant) {
|
||||
loginMode = 1;
|
||||
} else if (this.props.onlyPassword) {
|
||||
|
|
@ -143,7 +143,7 @@ export default OakComponent({
|
|||
captcha?: string
|
||||
) {
|
||||
const { url } = this.props;
|
||||
|
||||
|
||||
try {
|
||||
this.setState({
|
||||
loading: true,
|
||||
|
|
@ -151,7 +151,7 @@ export default OakComponent({
|
|||
await this.features.token.loginByMobile(
|
||||
mobile,
|
||||
password,
|
||||
captcha
|
||||
captcha,
|
||||
);
|
||||
this.setState({
|
||||
loading: false,
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ export class Token<
|
|||
await this.storage.remove('token:token');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (tokenValue) {
|
||||
this.tokenValue = tokenValue;
|
||||
// this.loadTokenInfo();
|
||||
|
|
@ -74,12 +74,13 @@ export class Token<
|
|||
}
|
||||
}
|
||||
|
||||
async loginByMobile(mobile: string, password?: string, captcha?: string) {
|
||||
async loginByMobile(mobile: string, password?: string, captcha?: string, disableRegist?: boolean) {
|
||||
const env = await this.environment.getEnv();
|
||||
const { result } = await this.cache.exec('loginByMobile', {
|
||||
password,
|
||||
mobile,
|
||||
captcha,
|
||||
disableRegist,
|
||||
env,
|
||||
});
|
||||
this.tokenValue = result;
|
||||
|
|
|
|||
Loading…
Reference in New Issue