This commit is contained in:
Xu Chang 2025-10-16 10:42:42 +08:00
parent a948027e6f
commit 92d7d95ca9
18 changed files with 119 additions and 87 deletions

View File

@ -1,2 +1,2 @@
declare const checkers: (import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "applicationPassport", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "article", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "articleMenu", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "system", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "platform", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>>)[]; declare const checkers: (import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "applicationPassport", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "article", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "articleMenu", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "system", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "platform", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>>)[];
export default checkers; export default checkers;

View File

@ -7,7 +7,7 @@ export default OakComponent({
entity: '', entity: '',
entityId: '', entityId: '',
title: '', title: '',
origin: 'qiniu', // cos origin默认七牛云 origin: 'qiniu',
menuEmpty: undefined, menuEmpty: undefined,
articleEmpty: undefined, articleEmpty: undefined,
generateUrl: ((mode, type, id) => { }), //构造文章显示路由 generateUrl: ((mode, type, id) => { }), //构造文章显示路由
@ -20,7 +20,7 @@ export default OakComponent({
showAddArticle: false, showAddArticle: false,
showAddMenu: true, showAddMenu: true,
parentId: '', parentId: '',
articleMenuId: '', //非空时展示atricle表格 articleMenuId: '',
unsub: undefined, unsub: undefined,
}, },
listeners: { listeners: {

View File

@ -1,7 +1,7 @@
import { Style } from '../../../../types/Style'; 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, { declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../../oak-app-domain").EntityDict, keyof import("../../../../oak-app-domain").EntityDict, false, {
style: Style; style: Style;
entity: "application" | "system" | "platform"; entity: "platform" | "application" | "system";
entityId: string; entityId: string;
name: string; name: string;
}>) => React.ReactElement; }>) => React.ReactElement;

View File

@ -1,7 +1,7 @@
import { Config } from '../../../types/Config'; import { Config } from '../../../types/Config';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, { declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, {
config: Config; config: Config;
entity: "system" | "platform"; entity: "platform" | "system";
name: string; name: string;
entityId: string; entityId: string;
}>) => React.ReactElement; }>) => React.ReactElement;

View File

@ -15,8 +15,8 @@ declare const _default: <ED2 extends EntityDict & BaseEntityDict, T2 extends key
type?: ButtonProps['type'] | AmButtonProps['type']; type?: ButtonProps['type'] | AmButtonProps['type'];
executeText?: string | undefined; executeText?: string | undefined;
buttonProps?: (ButtonProps & { buttonProps?: (ButtonProps & {
color?: "success" | "default" | "warning" | "primary" | "danger" | undefined; color?: "success" | "default" | "warning" | "danger" | "primary" | undefined;
fill?: "none" | "solid" | "outline" | undefined; fill?: "none" | "outline" | "solid" | undefined;
size?: "small" | "middle" | "large" | "mini" | undefined; size?: "small" | "middle" | "large" | "mini" | undefined;
block?: boolean | undefined; block?: boolean | undefined;
loading?: boolean | "auto" | undefined; loading?: boolean | "auto" | undefined;
@ -24,7 +24,7 @@ declare const _default: <ED2 extends EntityDict & BaseEntityDict, T2 extends key
loadingIcon?: import("react").ReactNode; loadingIcon?: import("react").ReactNode;
disabled?: boolean | undefined; disabled?: boolean | undefined;
onClick?: ((event: import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => unknown) | undefined; onClick?: ((event: import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => unknown) | undefined;
type?: "button" | "reset" | "submit" | undefined; type?: "button" | "submit" | "reset" | undefined;
shape?: "default" | "rounded" | "rectangular" | undefined; shape?: "default" | "rounded" | "rectangular" | undefined;
children?: import("react").ReactNode; children?: import("react").ReactNode;
} & Pick<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement>, "id" | "onMouseDown" | "onMouseUp" | "onTouchEnd" | "onTouchStart"> & { } & Pick<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement>, "id" | "onMouseDown" | "onMouseUp" | "onTouchEnd" | "onTouchStart"> & {

View File

@ -47,19 +47,19 @@ export default OakComponent({
bucket: '', bucket: '',
autoUpload: false, autoUpload: false,
maxNumber: 20, maxNumber: 20,
extension: [], //小程序独有 chooseMessageFile extension: [],
selectCount: 1, // 每次打开图片时,可选中的数量 小程序独有 selectCount: 1,
sourceType: ['album', 'camera'], // 小程序独有 chooseMedia sourceType: ['album', 'camera'],
mediaType: ['image'], // 小程序独有 chooseMedia mediaType: ['image'],
mode: 'aspectFit', // 图片显示模式 mode: 'aspectFit',
size: 3, // 每行可显示的个数 小程序独有 size: 3,
showUploadList: true, //web独有 showUploadList: true,
showUploadProgress: false, // web独有 showUploadProgress: false,
accept: 'image/*', // web独有 accept: 'image/*',
disablePreview: false, // 图片是否可预览 disablePreview: false,
disableDelete: false, // 图片是否可删除 disableDelete: false,
disableAdd: false, // 上传按钮隐藏 disableAdd: false,
disableDownload: false, // 下载按钮隐藏 disableDownload: false,
type: 'image', type: 'image',
origin: 'qiniu', origin: 'qiniu',
tag1: '', tag1: '',
@ -67,40 +67,40 @@ export default OakComponent({
entity: '', entity: '',
entityId: '', entityId: '',
theme: 'image', theme: 'image',
enableCrop: false, //启用裁剪 enableCrop: false,
enableCompross: false, //启用压缩 enableCompross: false,
//图片裁剪 //图片裁剪
cropQuality: 1, //图片裁剪质量范围0 ~ 1 cropQuality: 1,
showRest: false, //显示重置按钮,重置缩放及旋转 showRest: false,
showGrid: false, //显示裁切区域网格(九宫格) showGrid: false,
fillColor: 'white', //裁切图像填充色 fillColor: 'white',
rotationSlider: false, //图片旋转控制 rotationSlider: false,
aspectSlider: false, //裁切比率控制 aspectSlider: false,
zoomSlider: true, //图片缩放控制 zoomSlider: true,
resetText: '重置', //重置按钮文字 resetText: '重置',
aspect: 1 / 1, //裁切区域宽高比width / height aspect: 1 / 1,
minZoom: 1, //最小缩放倍数 minZoom: 1,
maxZoom: 3, //最大缩放倍数 maxZoom: 3,
cropShape: 'rect', //裁切区域形状,'rect' 或 'round' cropShape: 'rect',
cropperProps: {}, //recat-easy-crop的props cropperProps: {},
modalTitle: '编辑图片', //弹窗标题 modalTitle: '编辑图片',
modalWidth: '40vw', //弹窗宽度 modalWidth: '40vw',
modalOk: '确定', //确定按钮文字 modalOk: '确定',
modalCancel: '取消', //取消按钮的文字 modalCancel: '取消',
//图片压缩 //图片压缩
strict: true, //当压缩后的图片尺寸大于原图尺寸时输出原图 strict: true,
checkOrientation: true, //读取图像的Exif方向值并自动旋转或翻转图像仅限 JPEG 图像) checkOrientation: true,
retainExif: false, //压缩后保留图片的Exif信息 retainExif: false,
maxWidth: Infinity, //输出图片的最大宽度值需大于0 maxWidth: Infinity,
maxHeight: Infinity, //输出图片的最大高度值需大于0 maxHeight: Infinity,
minWidth: 0, //输出图片的最小宽度值需大于0且不应大于maxWidth minWidth: 0,
minHeight: 0, //输出图片的最小高度。值需大于0且不应大于maxHeight minHeight: 0,
compressWidth: undefined, //输出图像的宽度。如果未指定则将使用原始图像的宽度若设置了height则宽度将根据自然纵横比自动计算。 compressWidth: undefined,
compressHeight: undefined, //输出图像的高度。如果未指定则将使用原始图像的高度若设置了width则高度将根据自然纵横比自动计算。 compressHeight: undefined,
resize: 'none', //仅在同时指定了width和height时生效 resize: 'none',
compressQuality: 0.8, //输出图像的质量。范围0 ~ 1 compressQuality: 0.8,
mimeType: 'auto', //输出图片的 MIME 类型。默认情况下,将使用源图片文件的原始 MIME 类型。 mimeType: 'auto',
convertTypes: ['image/png'], //文件类型包含在其中且文件大小超过该convertSize值的文件将被转换为 JPEG。 convertTypes: ['image/png'],
convertSize: Infinity, //文件类型包含在convertTypes中且文件大小超过此值的文件将转换为 JPEGInfinity表示禁用该功能 convertSize: Infinity, //文件类型包含在convertTypes中且文件大小超过此值的文件将转换为 JPEGInfinity表示禁用该功能
}, },
features: ['extraFile'], features: ['extraFile'],

View File

@ -67,10 +67,10 @@ export default OakComponent({
}, },
], ],
properties: { properties: {
mode: 'aspectFit', // 图片显示模式 mode: 'aspectFit',
size: 3, // 每行可显示的个数 小程序独有 size: 3,
disablePreview: false, // 图片是否可预览 disablePreview: false,
disableDownload: false, // 下载按钮隐藏 disableDownload: false,
tag1: '', tag1: '',
tag2: '', tag2: '',
entity: '', entity: '',

View File

@ -50,19 +50,19 @@ export default OakComponent({
bucket: '', bucket: '',
autoUpload: false, autoUpload: false,
maxNumber: 20, maxNumber: 20,
extension: [], //小程序独有 chooseMessageFile extension: [],
selectCount: 1, // 每次打开图片时,可选中的数量 小程序独有 selectCount: 1,
sourceType: ['album', 'camera'], // 小程序独有 chooseMedia sourceType: ['album', 'camera'],
mediaType: ['image'], // 小程序独有 chooseMedia mediaType: ['image'],
mode: 'aspectFit', // 图片显示模式 mode: 'aspectFit',
size: 3, // 每行可显示的个数 小程序独有 size: 3,
showUploadList: true, //web独有 showUploadList: true,
showUploadProgress: false, // web独有 showUploadProgress: false,
accept: 'image/*', // web独有 accept: 'image/*',
disablePreview: false, // 图片是否可预览 disablePreview: false,
disableDelete: false, // 图片是否可删除 disableDelete: false,
disableAdd: false, // 上传按钮隐藏 disableAdd: false,
disableDownload: false, // 下载按钮隐藏 disableDownload: false,
type: 'image', type: 'image',
origin: 'qiniu', origin: 'qiniu',
tag1: '', tag1: '',
@ -147,7 +147,7 @@ export default OakComponent({
type, type,
tag1, tag1,
tag2, tag2,
objectId: generateNewId(), // 这个域用来标识唯一性 objectId: generateNewId(),
entity, entity,
filename, filename,
size, size,

View File

@ -1,6 +1,6 @@
import { EntityDict } from '../../../oak-app-domain'; import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, keyof EntityDict, false, { declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, keyof EntityDict, false, {
type: "login" | "bind"; type: "bind" | "login";
url: string; url: string;
size: undefined; size: undefined;
}>) => React.ReactElement; }>) => React.ReactElement;

View File

@ -2,11 +2,13 @@ import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand"; import { Q_DateValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
import { GenericAction } from "oak-domain/lib/actions/action"; import { GenericAction } from "oak-domain/lib/actions/action";
import { String } from "oak-domain/lib/types/DataType"; import { String, Text } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & { export type OpSchema = EntityShape & {
userId: ForeignKey<"user">; userId: ForeignKey<"user">;
prevPassword?: String<32> | null; prevPassword?: String<32> | null;
newPassword?: String<32> | null; newPassword?: String<32> | null;
prevPasswordSha1?: Text | null;
newPasswordSha1?: Text | null;
result: "success" | "fail"; result: "success" | "fail";
} & { } & {
[A in ExpressionKey]?: any; [A in ExpressionKey]?: any;
@ -20,6 +22,8 @@ export type OpFilter = {
userId: Q_StringValue; userId: Q_StringValue;
prevPassword: Q_StringValue; prevPassword: Q_StringValue;
newPassword: Q_StringValue; newPassword: Q_StringValue;
prevPasswordSha1: Q_StringValue;
newPasswordSha1: Q_StringValue;
result: Q_EnumValue<"success" | "fail">; result: Q_EnumValue<"success" | "fail">;
} & ExprOp<OpAttr | string>; } & ExprOp<OpAttr | string>;
export type OpProjection = { export type OpProjection = {
@ -32,6 +36,8 @@ export type OpProjection = {
userId?: number; userId?: number;
prevPassword?: number; prevPassword?: number;
newPassword?: number; newPassword?: number;
prevPasswordSha1?: number;
newPasswordSha1?: number;
result?: number; result?: number;
} & Partial<ExprOp<OpAttr | string>>; } & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{ export type OpSortAttr = Partial<{
@ -42,6 +48,8 @@ export type OpSortAttr = Partial<{
userId: number; userId: number;
prevPassword: number; prevPassword: number;
newPassword: number; newPassword: number;
prevPasswordSha1: number;
newPasswordSha1: number;
result: number; result: number;
[k: string]: any; [k: string]: any;
} | ExprOp<OpAttr | string>>; } | ExprOp<OpAttr | string>>;

View File

@ -4,7 +4,7 @@ import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/E
import { GenericAction } from "oak-domain/lib/actions/action"; import { GenericAction } from "oak-domain/lib/actions/action";
import { String, Text, Int, Float, Boolean } from "oak-domain/lib/types/DataType"; import { String, Text, Int, Float, Boolean } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & { export type OpSchema = EntityShape & {
origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown"; origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3";
type: "image" | "video" | "audio" | "file"; type: "image" | "video" | "audio" | "file";
bucket?: String<32> | null; bucket?: String<32> | null;
objectId?: String<64> | null; objectId?: String<64> | null;
@ -33,7 +33,7 @@ export type OpFilter = {
$$createAt$$: Q_DateValue; $$createAt$$: Q_DateValue;
$$seq$$: Q_NumberValue; $$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue; $$updateAt$$: Q_DateValue;
origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown">; origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3">;
type: Q_EnumValue<"image" | "video" | "audio" | "file">; type: Q_EnumValue<"image" | "video" | "audio" | "file">;
bucket: Q_StringValue; bucket: Q_StringValue;
objectId: Q_StringValue; objectId: Q_StringValue;

View File

@ -27,10 +27,18 @@ export type PfwConfig = {
export type MfwConfig = { export type MfwConfig = {
appId: string; appId: string;
}; };
export type PwdConfig = {
mode: "all" | "plain" | "sha1";
min: number;
max: number;
verify?: boolean;
regexs?: string[];
tip?: string;
};
export type OpSchema = EntityShape & { export type OpSchema = EntityShape & {
systemId: ForeignKey<"system">; systemId: ForeignKey<"system">;
type: Type; type: Type;
config?: (SmsConfig | EmailConfig | PfwConfig | MfwConfig) | null; config?: (SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig) | null;
enabled: Boolean; enabled: Boolean;
} & { } & {
[A in ExpressionKey]?: any; [A in ExpressionKey]?: any;
@ -43,7 +51,7 @@ export type OpFilter = {
$$updateAt$$: Q_DateValue; $$updateAt$$: Q_DateValue;
systemId: Q_StringValue; systemId: Q_StringValue;
type: Q_EnumValue<Type>; type: Q_EnumValue<Type>;
config: JsonFilter<SmsConfig | EmailConfig | PfwConfig | MfwConfig>; config: JsonFilter<SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig>;
enabled: Q_BooleanValue; enabled: Q_BooleanValue;
} & ExprOp<OpAttr | string>; } & ExprOp<OpAttr | string>;
export type OpProjection = { export type OpProjection = {
@ -55,7 +63,7 @@ export type OpProjection = {
$$seq$$?: number; $$seq$$?: number;
systemId?: number; systemId?: number;
type?: number; type?: number;
config?: number | JsonProjection<SmsConfig | EmailConfig | PfwConfig | MfwConfig>; config?: number | JsonProjection<SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig>;
enabled?: number; enabled?: number;
} & Partial<ExprOp<OpAttr | string>>; } & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{ export type OpSortAttr = Partial<{

View File

@ -1,2 +1,2 @@
declare const _default: (import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "user", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "message", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "address", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "application", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "article", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "articleMenu", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "extraFile", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "notification", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatLogin", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "parasite", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "sessionMessage", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatMenu", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatMpJump", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "system", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "passport", import("..").BRC<import("../oak-app-domain").EntityDict>>)[]; declare const _default: (import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "message", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "address", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "application", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "article", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "articleMenu", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "extraFile", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "user", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "notification", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatLogin", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "parasite", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "sessionMessage", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatMenu", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "wechatMpJump", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "system", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "passport", import("..").BRC<import("../oak-app-domain").EntityDict>>)[];
export default _default; export default _default;

View File

@ -14,7 +14,7 @@ export declare function createToDo<ED extends EntityDict & BaseEntityDict, T ext
redirectTo: EntityDict['toDo']['OpSchema']['redirectTo']; redirectTo: EntityDict['toDo']['OpSchema']['redirectTo'];
entity: any; entity: any;
entityId: string; entityId: string;
}, userIds?: string[]): Promise<0 | 1>; }, userIds?: string[]): Promise<1 | 0>;
/** /**
* todo例程entity对象上进行action操作时filtertodo完成 * todo例程entity对象上进行action操作时filtertodo完成
* entity的action的后trigger中调用 * entity的action的后trigger中调用

View File

@ -2,11 +2,13 @@ import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand"; import { Q_DateValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
import { GenericAction } from "oak-domain/lib/actions/action"; import { GenericAction } from "oak-domain/lib/actions/action";
import { String } from "oak-domain/lib/types/DataType"; import { String, Text } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & { export type OpSchema = EntityShape & {
userId: ForeignKey<"user">; userId: ForeignKey<"user">;
prevPassword?: String<32> | null; prevPassword?: String<32> | null;
newPassword?: String<32> | null; newPassword?: String<32> | null;
prevPasswordSha1?: Text | null;
newPasswordSha1?: Text | null;
result: "success" | "fail"; result: "success" | "fail";
} & { } & {
[A in ExpressionKey]?: any; [A in ExpressionKey]?: any;
@ -20,6 +22,8 @@ export type OpFilter = {
userId: Q_StringValue; userId: Q_StringValue;
prevPassword: Q_StringValue; prevPassword: Q_StringValue;
newPassword: Q_StringValue; newPassword: Q_StringValue;
prevPasswordSha1: Q_StringValue;
newPasswordSha1: Q_StringValue;
result: Q_EnumValue<"success" | "fail">; result: Q_EnumValue<"success" | "fail">;
} & ExprOp<OpAttr | string>; } & ExprOp<OpAttr | string>;
export type OpProjection = { export type OpProjection = {
@ -32,6 +36,8 @@ export type OpProjection = {
userId?: number; userId?: number;
prevPassword?: number; prevPassword?: number;
newPassword?: number; newPassword?: number;
prevPasswordSha1?: number;
newPasswordSha1?: number;
result?: number; result?: number;
} & Partial<ExprOp<OpAttr | string>>; } & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{ export type OpSortAttr = Partial<{
@ -42,6 +48,8 @@ export type OpSortAttr = Partial<{
userId: number; userId: number;
prevPassword: number; prevPassword: number;
newPassword: number; newPassword: number;
prevPasswordSha1: number;
newPasswordSha1: number;
result: number; result: number;
[k: string]: any; [k: string]: any;
} | ExprOp<OpAttr | string>>; } | ExprOp<OpAttr | string>>;

View File

@ -4,7 +4,7 @@ import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/E
import { GenericAction } from "oak-domain/lib/actions/action"; import { GenericAction } from "oak-domain/lib/actions/action";
import { String, Text, Int, Float, Boolean } from "oak-domain/lib/types/DataType"; import { String, Text, Int, Float, Boolean } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & { export type OpSchema = EntityShape & {
origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown"; origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3";
type: "image" | "video" | "audio" | "file"; type: "image" | "video" | "audio" | "file";
bucket?: String<32> | null; bucket?: String<32> | null;
objectId?: String<64> | null; objectId?: String<64> | null;
@ -33,7 +33,7 @@ export type OpFilter = {
$$createAt$$: Q_DateValue; $$createAt$$: Q_DateValue;
$$seq$$: Q_NumberValue; $$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue; $$updateAt$$: Q_DateValue;
origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown">; origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3">;
type: Q_EnumValue<"image" | "video" | "audio" | "file">; type: Q_EnumValue<"image" | "video" | "audio" | "file">;
bucket: Q_StringValue; bucket: Q_StringValue;
objectId: Q_StringValue; objectId: Q_StringValue;

View File

@ -27,10 +27,18 @@ export type PfwConfig = {
export type MfwConfig = { export type MfwConfig = {
appId: string; appId: string;
}; };
export type PwdConfig = {
mode: "all" | "plain" | "sha1";
min: number;
max: number;
verify?: boolean;
regexs?: string[];
tip?: string;
};
export type OpSchema = EntityShape & { export type OpSchema = EntityShape & {
systemId: ForeignKey<"system">; systemId: ForeignKey<"system">;
type: Type; type: Type;
config?: (SmsConfig | EmailConfig | PfwConfig | MfwConfig) | null; config?: (SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig) | null;
enabled: Boolean; enabled: Boolean;
} & { } & {
[A in ExpressionKey]?: any; [A in ExpressionKey]?: any;
@ -43,7 +51,7 @@ export type OpFilter = {
$$updateAt$$: Q_DateValue; $$updateAt$$: Q_DateValue;
systemId: Q_StringValue; systemId: Q_StringValue;
type: Q_EnumValue<Type>; type: Q_EnumValue<Type>;
config: JsonFilter<SmsConfig | EmailConfig | PfwConfig | MfwConfig>; config: JsonFilter<SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig>;
enabled: Q_BooleanValue; enabled: Q_BooleanValue;
} & ExprOp<OpAttr | string>; } & ExprOp<OpAttr | string>;
export type OpProjection = { export type OpProjection = {
@ -55,7 +63,7 @@ export type OpProjection = {
$$seq$$?: number; $$seq$$?: number;
systemId?: number; systemId?: number;
type?: number; type?: number;
config?: number | JsonProjection<SmsConfig | EmailConfig | PfwConfig | MfwConfig>; config?: number | JsonProjection<SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig>;
enabled?: number; enabled?: number;
} & Partial<ExprOp<OpAttr | string>>; } & Partial<ExprOp<OpAttr | string>>;
export type OpSortAttr = Partial<{ export type OpSortAttr = Partial<{

View File

@ -14,7 +14,7 @@ export declare function createToDo<ED extends EntityDict & BaseEntityDict, T ext
redirectTo: EntityDict['toDo']['OpSchema']['redirectTo']; redirectTo: EntityDict['toDo']['OpSchema']['redirectTo'];
entity: any; entity: any;
entityId: string; entityId: string;
}, userIds?: string[]): Promise<0 | 1>; }, userIds?: string[]): Promise<1 | 0>;
/** /**
* todo例程entity对象上进行action操作时filtertodo完成 * todo例程entity对象上进行action操作时filtertodo完成
* entity的action的后trigger中调用 * entity的action的后trigger中调用