composeFileUrl参数放宽松限制

This commit is contained in:
Xu Chang 2025-01-21 14:45:17 +08:00
parent 81be484403
commit 3db2b6756d
30 changed files with 75 additions and 75 deletions

View File

@ -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: "platform" | "system" | "application";
entity: "application" | "platform" | "system";
entityId: string;
name: string;
}>) => React.ReactElement;

View File

@ -15,7 +15,7 @@ declare const _default: <ED2 extends EntityDict & BaseEntityDict, T2 extends key
type?: ButtonProps['type'] | AmButtonProps['type'];
executeText?: string | undefined;
buttonProps?: (ButtonProps & {
color?: "default" | "primary" | "success" | "warning" | "danger" | undefined;
color?: "success" | "default" | "primary" | "warning" | "danger" | undefined;
fill?: "none" | "solid" | "outline" | undefined;
size?: "small" | "large" | "middle" | "mini" | undefined;
block?: boolean | undefined;

2
es/types/Cos.d.ts vendored
View File

@ -26,7 +26,7 @@ export interface Cos<ED extends EntityDict> {
/**
* 访urlurl应当和objectId一对一映射extraFile之间共享cos上的路径
*/
composeFileUrl: (application: ED['application']['Schema'], extraFile: ED['extraFile']['OpSchema'], style?: string) => string;
composeFileUrl: (application: Partial<ED['application']['Schema']>, extraFile: Partial<ED['extraFile']['OpSchema']>, style?: string) => string;
}
export interface CosBackend<ED extends EntityDict> {
name: string;

View File

@ -5,14 +5,14 @@ import { ALiYunCosConfig } from '../../types/Config';
export default class ALiYun implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: ALiYunCosConfig;
account: import("../../types/Config").AliCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -5,14 +5,14 @@ import { CTYunCosConfig } from '../../types/Config';
export default class CTYun implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: CTYunCosConfig;
account: import("../../types/Config").CTYunCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -6,4 +6,4 @@ import { Cos } from '../../types/Cos';
*/
export declare function registerCos<ED extends EntityDict>(clazz: new () => Cos<ED>): void;
export declare function getCos<ED extends EntityDict>(origin: string): Cos<ED>;
export declare function composeFileUrl<ED extends EntityDict>(application: ED['application']['Schema'], extraFile: ED['extraFile']['OpSchema'], style?: string): string;
export declare function composeFileUrl<ED extends EntityDict>(application: Partial<ED['application']['Schema']>, extraFile: Partial<ED['extraFile']['OpSchema']>, style?: string): string;

View File

@ -5,11 +5,11 @@ import { LocalCosConfig } from '../../types/Config';
export default class Local implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: LocalCosConfig;
account: import("../../types/Config").LocalCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
@ -17,5 +17,5 @@ export default class Local implements Cos<EntityDict> {
aspectName: string, // 上传的aspect名
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -5,14 +5,14 @@ import { QiniuCosConfig } from '../../types/Config';
export default class Qiniu implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: QiniuCosConfig;
account: import("../../types/Config").QiniuCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -5,14 +5,14 @@ import { TencentYunCosConfig } from '../../types/Config';
export default class TencentYun implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: TencentYunCosConfig;
account: import("../../types/Config").TencentCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -10,5 +10,5 @@ export default class Unknown implements Cos<EntityDict> {
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -16,5 +16,5 @@ export default class Wechat implements Cos<EntityDict> {
aspectName: string, // 上传的aspect名
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -1,2 +1,2 @@
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>>)[];
declare const _default: (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, "application", 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, "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, "message", 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, "articleMenu", 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, "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;

2
lib/types/Cos.d.ts vendored
View File

@ -26,7 +26,7 @@ export interface Cos<ED extends EntityDict> {
/**
* 访urlurl应当和objectId一对一映射extraFile之间共享cos上的路径
*/
composeFileUrl: (application: ED['application']['Schema'], extraFile: ED['extraFile']['OpSchema'], style?: string) => string;
composeFileUrl: (application: Partial<ED['application']['Schema']>, extraFile: Partial<ED['extraFile']['OpSchema']>, style?: string) => string;
}
export interface CosBackend<ED extends EntityDict> {
name: string;

View File

@ -5,14 +5,14 @@ import { ALiYunCosConfig } from '../../types/Config';
export default class ALiYun implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: ALiYunCosConfig;
account: import("../../types/Config").AliCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -5,14 +5,14 @@ import { CTYunCosConfig } from '../../types/Config';
export default class CTYun implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: CTYunCosConfig;
account: import("../../types/Config").CTYunCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -6,4 +6,4 @@ import { Cos } from '../../types/Cos';
*/
export declare function registerCos<ED extends EntityDict>(clazz: new () => Cos<ED>): void;
export declare function getCos<ED extends EntityDict>(origin: string): Cos<ED>;
export declare function composeFileUrl<ED extends EntityDict>(application: ED['application']['Schema'], extraFile: ED['extraFile']['OpSchema'], style?: string): string;
export declare function composeFileUrl<ED extends EntityDict>(application: Partial<ED['application']['Schema']>, extraFile: Partial<ED['extraFile']['OpSchema']>, style?: string): string;

View File

@ -5,11 +5,11 @@ import { LocalCosConfig } from '../../types/Config';
export default class Local implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: LocalCosConfig;
account: import("../../types/Config").LocalCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
@ -17,5 +17,5 @@ export default class Local implements Cos<EntityDict> {
aspectName: string, // 上传的aspect名
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -5,14 +5,14 @@ import { QiniuCosConfig } from '../../types/Config';
export default class Qiniu implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: QiniuCosConfig;
account: import("../../types/Config").QiniuCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -5,14 +5,14 @@ import { TencentYunCosConfig } from '../../types/Config';
export default class TencentYun implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: EntityDict['application']['Schema']): {
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: TencentYunCosConfig;
account: import("../../types/Config").TencentCloudConfig;
};
protected formKey(extraFile: OpSchema): string;
protected formKey(extraFile: Partial<OpSchema>): string;
upload(extraFile: OpSchema, uploadFn: (file: File | string, name: string, // 文件的part name
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -10,5 +10,5 @@ export default class Unknown implements Cos<EntityDict> {
uploadUrl: string, // 上传的url
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>, file: string | File): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -16,5 +16,5 @@ export default class Wechat implements Cos<EntityDict> {
aspectName: string, // 上传的aspect名
formData: Record<string, any>, // 上传的其它part参数
autoInform?: boolean) => Promise<any>): Promise<void>;
composeFileUrl(application: EntityDict['application']['Schema'], extraFile: EntityDict['extraFile']['OpSchema'], style?: string): string;
composeFileUrl(application: Partial<EntityDict['application']['Schema']>, extraFile: Partial<EntityDict['extraFile']['OpSchema']>, style?: string): string;
}

View File

@ -43,8 +43,8 @@ export interface Cos<ED extends EntityDict> {
* 访urlurl应当和objectId一对一映射extraFile之间共享cos上的路径
*/
composeFileUrl: (
application: ED['application']['Schema'],
extraFile: ED['extraFile']['OpSchema'],
application: Partial<ED['application']['Schema']>,
extraFile: Partial<ED['extraFile']['OpSchema']>,
style?: string,
) => string;
}

View File

@ -15,9 +15,9 @@ export default class ALiYun implements Cos<EntityDict> {
return false;
}
protected getConfig(application: EntityDict['application']['Schema']) {
protected getConfig(application: Partial<EntityDict['application']['Schema']>) {
const { system } = application;
const { config } = system;
const { config } = system!;
const aliyunConfig = config.Cos?.aliyun;
assert(aliyunConfig);
const { accessKey } = aliyunConfig;
@ -31,7 +31,7 @@ export default class ALiYun implements Cos<EntityDict> {
};
}
protected formKey(extraFile: OpSchema) {
protected formKey(extraFile: Partial<OpSchema>) {
const { id, extension, objectId } = extraFile;
assert(objectId);
@ -87,8 +87,8 @@ export default class ALiYun implements Cos<EntityDict> {
}
composeFileUrl(
application: EntityDict['application']['Schema'],
extraFile: EntityDict['extraFile']['OpSchema'],
application: Partial<EntityDict['application']['Schema']>,
extraFile: Partial<EntityDict['extraFile']['OpSchema']>,
style?: string
) {
const { config: aliyunCosConfig } = this.getConfig(application);

View File

@ -15,9 +15,9 @@ export default class CTYun implements Cos<EntityDict> {
return false;
}
protected getConfig(application: EntityDict['application']['Schema']) {
protected getConfig(application: Partial<EntityDict['application']['Schema']>) {
const { system } = application;
const { config } = system;
const { config } = system!;
const ctYunConfig = config.Cos?.ctyun;
assert(ctYunConfig);
const { accessKey } = ctYunConfig;
@ -31,7 +31,7 @@ export default class CTYun implements Cos<EntityDict> {
};
}
protected formKey(extraFile: OpSchema) {
protected formKey(extraFile: Partial<OpSchema>) {
const { id, extension, objectId } = extraFile;
assert(objectId);
@ -95,8 +95,8 @@ export default class CTYun implements Cos<EntityDict> {
// 转换格式(如.jpg是指定图片转换的输出格式通过指定转换格式可以对原图处理并返回指定的图片格式。支持的转换格式为 jpg、webp、png、bmp。
// 对象存储文档 https://www.ctyun.cn/document/10026693/10026878
composeFileUrl(
application: EntityDict['application']['Schema'],
extraFile: EntityDict['extraFile']['OpSchema'],
application: Partial<EntityDict['application']['Schema']>,
extraFile: Partial<EntityDict['extraFile']['OpSchema']>,
style?: string
) {
const { config: ctYunCosConfig } = this.getConfig(application);

View File

@ -24,11 +24,11 @@ export function getCos<ED extends EntityDict>(origin: string) {
}
export function composeFileUrl<ED extends EntityDict>(
application: ED['application']['Schema'],
extraFile: ED['extraFile']['OpSchema'],
application: Partial<ED['application']['Schema']>,
extraFile: Partial<ED['extraFile']['OpSchema']>,
style?: string
) {
const { origin } = extraFile;
const cos = CosDict[origin];
const cos = CosDict[origin!];
return cos.composeFileUrl(application, extraFile, style);
}

View File

@ -19,9 +19,9 @@ export default class Local implements Cos<EntityDict> {
return false;
}
protected getConfig(application: EntityDict['application']['Schema']) {
protected getConfig(application: Partial<EntityDict['application']['Schema']>) {
const { system } = application;
const { config } = system;
const { config } = system!;
const localConfig = config.Cos?.local;
assert(localConfig);
const { accessKey } = localConfig;
@ -36,7 +36,7 @@ export default class Local implements Cos<EntityDict> {
};
}
protected formKey(extraFile: OpSchema) {
protected formKey(extraFile: Partial<OpSchema>) {
const { id, extension, objectId } = extraFile;
assert(objectId);
@ -87,8 +87,8 @@ export default class Local implements Cos<EntityDict> {
}
composeFileUrl(
application: EntityDict['application']['Schema'],
extraFile: EntityDict['extraFile']['OpSchema'],
application: Partial<EntityDict['application']['Schema']>,
extraFile: Partial<EntityDict['extraFile']['OpSchema']>,
style?: string //多媒体样式
) {
const { config: localConfig } = this.getConfig(application);

View File

@ -15,9 +15,9 @@ export default class Qiniu implements Cos<EntityDict> {
return false;
}
protected getConfig(application: EntityDict['application']['Schema']) {
protected getConfig(application: Partial<EntityDict['application']['Schema']>) {
const { system } = application;
const { config } = system;
const { config } = system!;
const qiniuConfig = config.Cos?.qiniu;
assert(qiniuConfig);
const { accessKey } = qiniuConfig;
@ -31,7 +31,7 @@ export default class Qiniu implements Cos<EntityDict> {
};
}
protected formKey(extraFile: OpSchema) {
protected formKey(extraFile: Partial<OpSchema>) {
const { id, extension, objectId } = extraFile;
assert(objectId);
@ -91,8 +91,8 @@ export default class Qiniu implements Cos<EntityDict> {
// "-"是默认的样式分隔符,
// 查看文档 https://developer.qiniu.com/kodo/8558/set-the-picture-style
composeFileUrl(
application: EntityDict['application']['Schema'],
extraFile: EntityDict['extraFile']['OpSchema'],
application: Partial<EntityDict['application']['Schema']>,
extraFile: Partial<EntityDict['extraFile']['OpSchema']>,
style?: string //多媒体样式
) {
const { config: qiniuCosConfig } = this.getConfig(application);

View File

@ -16,9 +16,9 @@ export default class TencentYun implements Cos<EntityDict> {
return false;
}
protected getConfig(application: EntityDict['application']['Schema']) {
protected getConfig(application: Partial<EntityDict['application']['Schema']>) {
const { system } = application;
const { config } = system;
const { config } = system!;
const tencentConfig = config.Cos?.tencent;
assert(tencentConfig);
const { accessKey } = tencentConfig;
@ -32,7 +32,7 @@ export default class TencentYun implements Cos<EntityDict> {
};
}
protected formKey(extraFile: OpSchema) {
protected formKey(extraFile: Partial<OpSchema>) {
const { id, extension, objectId } = extraFile;
assert(objectId);
@ -91,8 +91,8 @@ export default class TencentYun implements Cos<EntityDict> {
}
composeFileUrl(
application: EntityDict['application']['Schema'],
extraFile: EntityDict['extraFile']['OpSchema'],
application: Partial<EntityDict['application']['Schema']>,
extraFile: Partial<EntityDict['extraFile']['OpSchema']>,
style?: string
) {
const { config: tencentCosConfig } = this.getConfig(application);

View File

@ -40,8 +40,8 @@ export default class Unknown implements Cos<EntityDict> {
// 类型unknown 只能从extra1取值
composeFileUrl(
application: EntityDict['application']['Schema'],
extraFile: EntityDict['extraFile']['OpSchema'],
application: Partial<EntityDict['application']['Schema']>,
extraFile: Partial<EntityDict['extraFile']['OpSchema']>,
style?: string //多媒体样式
) {
return extraFile.extra1!;

View File

@ -78,8 +78,8 @@ export default class Wechat implements Cos<EntityDict> {
}
composeFileUrl(
application: EntityDict['application']['Schema'],
extraFile: EntityDict['extraFile']['OpSchema'],
application: Partial<EntityDict['application']['Schema']>,
extraFile: Partial<EntityDict['extraFile']['OpSchema']>,
style?: string
) {
return '';