fix: 因编译器暂不支持嵌套引用类型,故重新在entity内声明CosOrigin(以后适配)

This commit is contained in:
Pan Qiancheng 2025-10-24 14:20:07 +08:00
parent 4e005cec60
commit 021276346d
22 changed files with 207 additions and 31 deletions

View File

@ -4,6 +4,7 @@ import { Schema as System } from './System';
import { Schema as Session } from './Session';
import { Schema as Domain } from './Domain';
import { Style } from '../types/Style';
export type CosOrigin = 'qiniu' | 'wechat' | 'ctyun' | 'aliyun' | 'tencent' | 'local' | 'unknown' | 's3';
export type AppType = 'web' | 'wechatMp' | 'wechatPublic' | 'native';
export type WechatMpConfig = {
type: 'wechatMp';
@ -18,6 +19,9 @@ export type WechatMpConfig = {
mode: 'clear' | 'compatible' | 'safe';
dataFormat: 'json' | 'xml';
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type WebConfig = {
type: 'web';
@ -36,6 +40,9 @@ export type WebConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type WechatPublicConfig = {
type: 'wechatPublic';
@ -58,6 +65,9 @@ export type WechatPublicConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type NativeConfig = {
type: 'native';
@ -71,6 +81,9 @@ export type NativeConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
type Versions = string[];
export interface Schema extends EntityShape {

View File

@ -2,8 +2,9 @@ import { String, Int, Text, Float, Boolean } from 'oak-domain/lib/types/DataType
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { EntityDesc } from 'oak-domain/lib/types/EntityDesc';
import { Schema as Application } from './Application';
import { CosOrigin } from '../types/Config';
export interface Schema extends EntityShape {
origin: 'qiniu' | 'wechat' | 'ctyun' | 'aliyun' | 'tencent' | 'local' | 'unknown' | 's3';
origin: CosOrigin;
type: 'image' | 'video' | 'audio' | 'file';
bucket?: String<32>;
objectId?: String<64>;

View File

@ -4,6 +4,7 @@ import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/E
import { GenericAction } from "oak-domain/lib/actions/action";
import { String, Text } from "oak-domain/lib/types/DataType";
import { Style } from "../../types/Style";
export type CosOrigin = "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3";
export type AppType = "web" | "wechatMp" | "wechatPublic" | "native";
export type WechatMpConfig = {
type: "wechatMp";
@ -18,6 +19,9 @@ export type WechatMpConfig = {
mode: "clear" | "compatible" | "safe";
dataFormat: "json" | "xml";
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type WebConfig = {
type: "web";
@ -36,6 +40,9 @@ export type WebConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type WechatPublicConfig = {
type: "wechatPublic";
@ -58,6 +65,9 @@ export type WechatPublicConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type NativeConfig = {
type: "native";
@ -71,6 +81,9 @@ export type NativeConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
type Versions = string[];
export type OpSchema = EntityShape & {

View File

@ -2,9 +2,10 @@ import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_BooleanValue, 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 { GenericAction } from "oak-domain/lib/actions/action";
import { CosOrigin } from "../../types/Config";
import { String, Text, Int, Float, Boolean } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & {
origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3";
origin: CosOrigin;
type: "image" | "video" | "audio" | "file";
bucket?: String<32> | null;
objectId?: String<64> | null;
@ -33,7 +34,7 @@ export type OpFilter = {
$$createAt$$: Q_DateValue;
$$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue;
origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3">;
origin: Q_EnumValue<CosOrigin>;
type: Q_EnumValue<"image" | "video" | "audio" | "file">;
bucket: Q_StringValue;
objectId: Q_StringValue;

View File

@ -1,6 +1,7 @@
import { getCosBackend } from '../utils/cos/index.backend';
import { OakException } from 'oak-domain/lib/types/Exception';
import { applicationProjection } from '../types/Projection';
import assert from 'assert';
const triggers = [
{
name: '生成extraFile需要的上传meta',
@ -9,20 +10,60 @@ const triggers = [
action: 'create',
fn: async ({ operation }, context) => {
const { data } = operation;
let cachedOrigin = undefined;
const getCosOrigin = async () => {
if (cachedOrigin) {
return cachedOrigin;
}
const [application] = await context.select("application", {
data: {
config: {
cos: {
defaultOrigin: 1,
}
},
system: {
config: {
Cos: {
defaultOrigin: 1,
}
},
platform: {
config: {
Cos: {
defaultOrigin: 1,
}
}
}
}
},
filter: {
id: context.getApplicationId(),
},
}, {});
assert(application, `找不到 当前应用程序`);
cachedOrigin = application.config?.cos?.defaultOrigin ||
application.system?.config?.Cos?.defaultOrigin ||
application.system?.platform?.config?.Cos?.defaultOrigin;
return cachedOrigin;
};
const formMeta = async (data) => {
const { origin } = data;
// 如果提供了就用提供的origin否则尝试从应用程序、系统配置、平台配置中获取默认的Cos源
const configOrigin = data.origin || await getCosOrigin();
data.origin = configOrigin;
assert(configOrigin, `extraFile的origin未指定且应用程序、系统配置、平台配置中也没有默认的Cos源请检查`);
if (!data.applicationId) {
data.applicationId = context.getApplicationId();
}
if (origin === 'unknown') {
if (configOrigin === 'unknown') {
Object.assign(data, {
uploadState: 'success',
});
return;
}
const cos = getCosBackend(origin);
const cos = getCosBackend(configOrigin);
if (!cos) {
throw new OakException(`origin为${origin}的extraFile没有定义Cos类请调用registerCos注入`);
throw new OakException(`origin为${configOrigin}的extraFile没有定义Cos类请调用registerCos注入`);
}
await cos.formUploadMeta(context.getApplication(), data);
Object.assign(data, {

View File

@ -2,6 +2,7 @@
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
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, "passport", 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, "wechatMpJump", 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, "wechatMenu", 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, "parasite", 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, "notification", 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, "userEntityGrant", 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, "extraFile", 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, "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, "message", import("..").BRC<import("../oak-app-domain").EntityDict>>)[];
@ -15,4 +16,7 @@ declare const _default: (import("oak-domain/lib/types").Trigger<import("../oak-a
=======
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>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthApplication", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthProvider", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthUser", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthUserAuthorization", import("../context/BackendRuntimeContext").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
>>>>>>> 0dc7dd4d9 (feat: 如果是在某一应用下反复授权则直接允许)
=======
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, "extraFile", 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, "application", 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, "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, "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, "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, "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>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthApplication", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthProvider", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthUser", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthUserAuthorization", import("../context/BackendRuntimeContext").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
>>>>>>> 70747be38 (fix: 因编译器暂不支持嵌套引用类型entity内声明CosOrigin)
export default _default;

View File

@ -169,6 +169,7 @@ export type Config = {
tencent?: TencentYunCosConfig;
local?: LocalCosConfig;
s3?: S3CosConfig;
defaultOrigin?: CosOrigin;
};
Live?: {
qiniu?: QiniuLiveConfig;
@ -202,5 +203,6 @@ export type Config = {
passwordVerifyGap?: number;
};
};
export type Origin = 'ali' | 'tencent' | 'qiniu' | 'amap' | 'ctyun' | 'local';
export type AccountOrigin = 'ali' | 'tencent' | 'qiniu' | 'amap' | 'ctyun' | 'local' | 's3';
export type CosOrigin = 'qiniu' | 'wechat' | 'ctyun' | 'aliyun' | 'tencent' | 'local' | 'unknown' | 's3';
export type Service = 'Map' | 'Cos' | 'Live' | 'Sms' | 'Emails';

View File

@ -1,11 +1,11 @@
import { Origin, Service, Config } from '../types/Config';
import { AccountOrigin, Service, Config } from '../types/Config';
/**
* @param systemConfig
* @param service
* @param origin
* @returns
*/
export declare function getConfig(systemConfig: Config, service: Service, origin: Origin): {
export declare function getConfig(systemConfig: Config, service: Service, origin: AccountOrigin): {
instance: import("oak-external-sdk").ALiYunInstance;
config: any;
} | {
@ -20,6 +20,9 @@ export declare function getConfig(systemConfig: Config, service: Service, origin
} | {
instance: import("oak-external-sdk").LocalInstance;
config: any;
} | {
instance: import("oak-external-sdk").S3Instance;
config: any;
} | {
instance: import("oak-external-sdk").AmapInstance;
config: any;

View File

@ -1,6 +1,6 @@
import { assert } from 'oak-domain/lib/utils/assert';
import { OakDataException } from 'oak-domain/lib/types/Exception';
import { AmapSDK, QiniuSDK, CTYunSDK, ALiYunSDK, TencentYunSDK, LocalSDK } from 'oak-external-sdk';
import { AmapSDK, QiniuSDK, CTYunSDK, ALiYunSDK, TencentYunSDK, LocalSDK, S3SDK } from 'oak-external-sdk';
/**
* @param systemConfig
* @param service
@ -60,6 +60,15 @@ export function getConfig(systemConfig, service, origin) {
config: originConfig,
};
}
case 's3': {
const s3Account = originCloudAccounts.find((ele) => ele.accessKey === originConfig.accessKey);
assert(s3Account, `调用的服务${service}${origin}找不到相应的平台帐号,请联系管理员`);
const s3Instance = S3SDK.getInstance(s3Account.accessKey, s3Account.secretKey);
return {
instance: s3Instance,
config: originConfig,
};
}
default: {
assert(origin === 'amap');
const amapAccount = originCloudAccounts.find((ele) => ele.webApiKey === originConfig.webApiKey);

View File

@ -1,7 +1,7 @@
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/types/Entity';
import { EntityDict } from '../oak-app-domain';
import { Schema as Livestream } from '../oak-app-domain/Livestream/Schema';
import { Origin } from '../types/Config';
import { AccountOrigin } from '../types/Config';
import { BackendRuntimeContext } from '../context/BackendRuntimeContext';
/**
*
@ -11,7 +11,7 @@ import { BackendRuntimeContext } from '../context/BackendRuntimeContext';
* @returns Livestream
*/
export declare function getLivestream<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>>(params: {
origin: Origin;
origin: AccountOrigin;
streamTitle: string;
expireAt: number;
}, context: Cxt): Promise<Pick<Livestream, 'streamTitle' | 'hub' | 'rtmpPushUrl' | 'rtmpPlayUrl' | 'pcPushUrl' | 'streamKey' | 'expireAt'>>;
@ -23,12 +23,12 @@ export declare function getLivestream<ED extends EntityDict & BaseEntityDict, Cx
* @returns livestream对象
*/
export declare function getStreamObj<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>>(params: {
origin: Origin;
origin: AccountOrigin;
streamTitle: string;
expireAt: number;
}, context: Cxt): Promise<Pick<Livestream, 'streamTitle' | 'hub' | 'rtmpPushUrl' | 'rtmpPlayUrl' | 'pcPushUrl' | 'streamKey' | 'expireAt'>>;
export declare function getPlayBackUrl<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>>(params: {
origin: Origin;
origin: AccountOrigin;
streamTitle: string;
start: number;
end: number;

View File

@ -4,6 +4,7 @@ import { Schema as System } from './System';
import { Schema as Session } from './Session';
import { Schema as Domain } from './Domain';
import { Style } from '../types/Style';
export type CosOrigin = 'qiniu' | 'wechat' | 'ctyun' | 'aliyun' | 'tencent' | 'local' | 'unknown' | 's3';
export type AppType = 'web' | 'wechatMp' | 'wechatPublic' | 'native';
export type WechatMpConfig = {
type: 'wechatMp';
@ -18,6 +19,9 @@ export type WechatMpConfig = {
mode: 'clear' | 'compatible' | 'safe';
dataFormat: 'json' | 'xml';
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type WebConfig = {
type: 'web';
@ -36,6 +40,9 @@ export type WebConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type WechatPublicConfig = {
type: 'wechatPublic';
@ -58,6 +65,9 @@ export type WechatPublicConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type NativeConfig = {
type: 'native';
@ -71,6 +81,9 @@ export type NativeConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
type Versions = string[];
export interface Schema extends EntityShape {

View File

@ -2,8 +2,9 @@ import { String, Int, Text, Float, Boolean } from 'oak-domain/lib/types/DataType
import { EntityShape } from 'oak-domain/lib/types/Entity';
import { EntityDesc } from 'oak-domain/lib/types/EntityDesc';
import { Schema as Application } from './Application';
import { CosOrigin } from '../types/Config';
export interface Schema extends EntityShape {
origin: 'qiniu' | 'wechat' | 'ctyun' | 'aliyun' | 'tencent' | 'local' | 'unknown' | 's3';
origin: CosOrigin;
type: 'image' | 'video' | 'audio' | 'file';
bucket?: String<32>;
objectId?: String<64>;

View File

@ -4,6 +4,7 @@ import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/E
import { GenericAction } from "oak-domain/lib/actions/action";
import { String, Text } from "oak-domain/lib/types/DataType";
import { Style } from "../../types/Style";
export type CosOrigin = "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3";
export type AppType = "web" | "wechatMp" | "wechatPublic" | "native";
export type WechatMpConfig = {
type: "wechatMp";
@ -18,6 +19,9 @@ export type WechatMpConfig = {
mode: "clear" | "compatible" | "safe";
dataFormat: "json" | "xml";
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type WebConfig = {
type: "web";
@ -36,6 +40,9 @@ export type WebConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type WechatPublicConfig = {
type: "wechatPublic";
@ -58,6 +65,9 @@ export type WechatPublicConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
export type NativeConfig = {
type: "native";
@ -71,6 +81,9 @@ export type NativeConfig = {
hostname: string;
port: string;
};
cos?: {
defaultOrigin: CosOrigin;
};
};
type Versions = string[];
export type OpSchema = EntityShape & {

View File

@ -2,9 +2,10 @@ import { ForeignKey } from "oak-domain/lib/types/DataType";
import { Q_DateValue, Q_BooleanValue, 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 { GenericAction } from "oak-domain/lib/actions/action";
import { CosOrigin } from "../../types/Config";
import { String, Text, Int, Float, Boolean } from "oak-domain/lib/types/DataType";
export type OpSchema = EntityShape & {
origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3";
origin: CosOrigin;
type: "image" | "video" | "audio" | "file";
bucket?: String<32> | null;
objectId?: String<64> | null;
@ -33,7 +34,7 @@ export type OpFilter = {
$$createAt$$: Q_DateValue;
$$seq$$: Q_NumberValue;
$$updateAt$$: Q_DateValue;
origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3">;
origin: Q_EnumValue<CosOrigin>;
type: Q_EnumValue<"image" | "video" | "audio" | "file">;
bucket: Q_StringValue;
objectId: Q_StringValue;

View File

@ -1,8 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const index_backend_1 = require("../utils/cos/index.backend");
const Exception_1 = require("oak-domain/lib/types/Exception");
const Projection_1 = require("../types/Projection");
const assert_1 = tslib_1.__importDefault(require("assert"));
const triggers = [
{
name: '生成extraFile需要的上传meta',
@ -11,20 +13,60 @@ const triggers = [
action: 'create',
fn: async ({ operation }, context) => {
const { data } = operation;
let cachedOrigin = undefined;
const getCosOrigin = async () => {
if (cachedOrigin) {
return cachedOrigin;
}
const [application] = await context.select("application", {
data: {
config: {
cos: {
defaultOrigin: 1,
}
},
system: {
config: {
Cos: {
defaultOrigin: 1,
}
},
platform: {
config: {
Cos: {
defaultOrigin: 1,
}
}
}
}
},
filter: {
id: context.getApplicationId(),
},
}, {});
(0, assert_1.default)(application, `找不到 当前应用程序`);
cachedOrigin = application.config?.cos?.defaultOrigin ||
application.system?.config?.Cos?.defaultOrigin ||
application.system?.platform?.config?.Cos?.defaultOrigin;
return cachedOrigin;
};
const formMeta = async (data) => {
const { origin } = data;
// 如果提供了就用提供的origin否则尝试从应用程序、系统配置、平台配置中获取默认的Cos源
const configOrigin = data.origin || await getCosOrigin();
data.origin = configOrigin;
(0, assert_1.default)(configOrigin, `extraFile的origin未指定且应用程序、系统配置、平台配置中也没有默认的Cos源请检查`);
if (!data.applicationId) {
data.applicationId = context.getApplicationId();
}
if (origin === 'unknown') {
if (configOrigin === 'unknown') {
Object.assign(data, {
uploadState: 'success',
});
return;
}
const cos = (0, index_backend_1.getCosBackend)(origin);
const cos = (0, index_backend_1.getCosBackend)(configOrigin);
if (!cos) {
throw new Exception_1.OakException(`origin为${origin}的extraFile没有定义Cos类请调用registerCos注入`);
throw new Exception_1.OakException(`origin为${configOrigin}的extraFile没有定义Cos类请调用registerCos注入`);
}
await cos.formUploadMeta(context.getApplication(), data);
Object.assign(data, {

View File

@ -2,6 +2,7 @@
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
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, "passport", 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, "wechatMpJump", 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, "wechatMenu", 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, "parasite", 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, "notification", 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, "userEntityGrant", 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, "extraFile", 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, "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, "message", import("..").BRC<import("../oak-app-domain").EntityDict>>)[];
@ -15,4 +16,7 @@ declare const _default: (import("oak-domain/lib/types").Trigger<import("../oak-a
=======
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>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthApplication", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthProvider", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthUser", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthUserAuthorization", import("../context/BackendRuntimeContext").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
>>>>>>> 0dc7dd4d9 (feat: 如果是在某一应用下反复授权则直接允许)
=======
declare const _default: (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, "application", 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, "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, "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>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthApplication", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthProvider", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthUser", import("..").BRC<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Trigger<import("../oak-app-domain").EntityDict, "oauthUserAuthorization", import("../context/BackendRuntimeContext").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
>>>>>>> 70747be38 (fix: 因编译器暂不支持嵌套引用类型entity内声明CosOrigin)
export default _default;

View File

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

View File

@ -169,6 +169,7 @@ export type Config = {
tencent?: TencentYunCosConfig;
local?: LocalCosConfig;
s3?: S3CosConfig;
defaultOrigin?: CosOrigin;
};
Live?: {
qiniu?: QiniuLiveConfig;
@ -202,5 +203,6 @@ export type Config = {
passwordVerifyGap?: number;
};
};
export type Origin = 'ali' | 'tencent' | 'qiniu' | 'amap' | 'ctyun' | 'local';
export type AccountOrigin = 'ali' | 'tencent' | 'qiniu' | 'amap' | 'ctyun' | 'local' | 's3';
export type CosOrigin = 'qiniu' | 'wechat' | 'ctyun' | 'aliyun' | 'tencent' | 'local' | 'unknown' | 's3';
export type Service = 'Map' | 'Cos' | 'Live' | 'Sms' | 'Emails';

View File

@ -1,11 +1,11 @@
import { Origin, Service, Config } from '../types/Config';
import { AccountOrigin, Service, Config } from '../types/Config';
/**
* @param systemConfig
* @param service
* @param origin
* @returns
*/
export declare function getConfig(systemConfig: Config, service: Service, origin: Origin): {
export declare function getConfig(systemConfig: Config, service: Service, origin: AccountOrigin): {
instance: import("oak-external-sdk").ALiYunInstance;
config: any;
} | {
@ -20,6 +20,9 @@ export declare function getConfig(systemConfig: Config, service: Service, origin
} | {
instance: import("oak-external-sdk").LocalInstance;
config: any;
} | {
instance: import("oak-external-sdk").S3Instance;
config: any;
} | {
instance: import("oak-external-sdk").AmapInstance;
config: any;

View File

@ -63,6 +63,15 @@ function getConfig(systemConfig, service, origin) {
config: originConfig,
};
}
case 's3': {
const s3Account = originCloudAccounts.find((ele) => ele.accessKey === originConfig.accessKey);
(0, assert_1.assert)(s3Account, `调用的服务${service}${origin}找不到相应的平台帐号,请联系管理员`);
const s3Instance = oak_external_sdk_1.S3SDK.getInstance(s3Account.accessKey, s3Account.secretKey);
return {
instance: s3Instance,
config: originConfig,
};
}
default: {
(0, assert_1.assert)(origin === 'amap');
const amapAccount = originCloudAccounts.find((ele) => ele.webApiKey === originConfig.webApiKey);

View File

@ -1,7 +1,7 @@
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/types/Entity';
import { EntityDict } from '../oak-app-domain';
import { Schema as Livestream } from '../oak-app-domain/Livestream/Schema';
import { Origin } from '../types/Config';
import { AccountOrigin } from '../types/Config';
import { BackendRuntimeContext } from '../context/BackendRuntimeContext';
/**
*
@ -11,7 +11,7 @@ import { BackendRuntimeContext } from '../context/BackendRuntimeContext';
* @returns Livestream
*/
export declare function getLivestream<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>>(params: {
origin: Origin;
origin: AccountOrigin;
streamTitle: string;
expireAt: number;
}, context: Cxt): Promise<Pick<Livestream, 'streamTitle' | 'hub' | 'rtmpPushUrl' | 'rtmpPlayUrl' | 'pcPushUrl' | 'streamKey' | 'expireAt'>>;
@ -23,12 +23,12 @@ export declare function getLivestream<ED extends EntityDict & BaseEntityDict, Cx
* @returns livestream对象
*/
export declare function getStreamObj<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>>(params: {
origin: Origin;
origin: AccountOrigin;
streamTitle: string;
expireAt: number;
}, context: Cxt): Promise<Pick<Livestream, 'streamTitle' | 'hub' | 'rtmpPushUrl' | 'rtmpPlayUrl' | 'pcPushUrl' | 'streamKey' | 'expireAt'>>;
export declare function getPlayBackUrl<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>>(params: {
origin: Origin;
origin: AccountOrigin;
streamTitle: string;
start: number;
end: number;

View File

@ -6,7 +6,8 @@ import { Schema as Domain } from './Domain';
import { Style } from '../types/Style';
import { EntityDesc } from 'oak-domain/lib/types/EntityDesc';
import { CosOrigin } from '../types/Config';
export type CosOrigin = 'qiniu' | 'wechat' | 'ctyun' | 'aliyun' | 'tencent' | 'local' | 'unknown' | 's3';
export type AppType = 'web' | 'wechatMp' | 'wechatPublic' | 'native';
export type WechatMpConfig = {