适配了dataSubscribe的改动
This commit is contained in:
parent
b7e3642c5d
commit
b1f0eba288
|
|
@ -1,2 +1,2 @@
|
|||
declare const checkers: (import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt>)[];
|
||||
declare const checkers: (import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt> | import("oak-domain").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt>)[];
|
||||
export default checkers;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Style } from '../../../../types/Style';
|
||||
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../../oak-app-domain").EntityDict, keyof import("../../../../oak-app-domain").EntityDict, false, {
|
||||
style: Style;
|
||||
entity: "application" | "system" | "platform";
|
||||
entity: "application" | "platform" | "system";
|
||||
entityId: string;
|
||||
name: string;
|
||||
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
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, {
|
||||
config: Config;
|
||||
entity: "system" | "platform";
|
||||
entity: "platform" | "system";
|
||||
name: string;
|
||||
entityId: string;
|
||||
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ declare const _default: <ED2 extends EntityDict & BaseEntityDict, T2 extends key
|
|||
type?: ButtonProps['type'] | AmButtonProps['type'];
|
||||
executeText?: string | undefined;
|
||||
buttonProps?: (ButtonProps & {
|
||||
color?: "default" | "success" | "warning" | "primary" | "danger" | undefined;
|
||||
color?: "success" | "default" | "warning" | "primary" | "danger" | undefined;
|
||||
fill?: "none" | "solid" | "outline" | undefined;
|
||||
size?: "small" | "large" | "middle" | "mini" | undefined;
|
||||
size?: "small" | "middle" | "large" | "mini" | undefined;
|
||||
block?: boolean | undefined;
|
||||
loading?: boolean | "auto" | undefined;
|
||||
loadingText?: string | undefined;
|
||||
|
|
@ -24,7 +24,7 @@ declare const _default: <ED2 extends EntityDict & BaseEntityDict, T2 extends key
|
|||
type?: "button" | "reset" | "submit" | undefined;
|
||||
shape?: "default" | "rounded" | "rectangular" | undefined;
|
||||
children?: import("react").ReactNode;
|
||||
} & Pick<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement>, "id" | "onMouseUp" | "onMouseDown" | "onTouchStart" | "onTouchEnd"> & {
|
||||
} & Pick<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement>, "id" | "onMouseDown" | "onMouseUp" | "onTouchStart" | "onTouchEnd"> & {
|
||||
className?: string | undefined;
|
||||
style?: (import("react").CSSProperties & Partial<Record<"--text-color" | "--background-color" | "--border-radius" | "--border-width" | "--border-style" | "--border-color", string>>) | undefined;
|
||||
tabIndex?: number | undefined;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import { RowWithActions } from 'oak-frontend-base';
|
|||
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "session", true, {
|
||||
entity: string;
|
||||
entityFilter: any;
|
||||
entityFilterSubStr: string;
|
||||
entityDisplay: (data: EntityDict['session']['Schema'][] | RowWithActions<EntityDict, 'session'>[]) => any[];
|
||||
entityProjection: any;
|
||||
sessionId: string;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { DATA_SUBSCRIBER_KEYS } from '../../../config/constants';
|
||||
import assert from 'assert';
|
||||
export default OakComponent({
|
||||
entity: 'session',
|
||||
projection() {
|
||||
|
|
@ -108,18 +109,26 @@ export default OakComponent({
|
|||
}
|
||||
},
|
||||
async ready() {
|
||||
const { entityFilter } = this.props;
|
||||
const userId = this.features.token.getUserId();
|
||||
await this.subData([
|
||||
{
|
||||
entity: 'session',
|
||||
filter: entityFilter ? { ...entityFilter } : { userId },
|
||||
id: `${DATA_SUBSCRIBER_KEYS.sessionList}`,
|
||||
},
|
||||
]);
|
||||
const { entityFilter, entityFilterSubStr } = this.props;
|
||||
if (entityFilter) {
|
||||
assert(entityFilterSubStr);
|
||||
this.subDataEvents([entityFilterSubStr]);
|
||||
}
|
||||
else {
|
||||
const userId = this.features.token.getUserId();
|
||||
this.subDataEvents([`${DATA_SUBSCRIBER_KEYS.sessionList}-u-${userId}`]);
|
||||
}
|
||||
},
|
||||
detached() {
|
||||
this.unSubData([`${DATA_SUBSCRIBER_KEYS.sessionList}`]);
|
||||
const { entityFilter, entityFilterSubStr } = this.props;
|
||||
if (entityFilter) {
|
||||
assert(entityFilterSubStr);
|
||||
this.unsubDataEvents([entityFilterSubStr]);
|
||||
}
|
||||
else {
|
||||
const userId = this.features.token.getUserId();
|
||||
this.unsubDataEvents([`${DATA_SUBSCRIBER_KEYS.sessionList}-u-${userId}`]);
|
||||
}
|
||||
},
|
||||
},
|
||||
data: {
|
||||
|
|
@ -129,6 +138,7 @@ export default OakComponent({
|
|||
properties: {
|
||||
entity: '',
|
||||
entityFilter: null,
|
||||
entityFilterSubStr: '',
|
||||
entityDisplay: (data) => [],
|
||||
entityProjection: null,
|
||||
sessionId: '',
|
||||
|
|
|
|||
|
|
@ -48,23 +48,13 @@ export default OakComponent({
|
|||
lifetimes: {
|
||||
async ready() {
|
||||
const { sessionId } = this.props;
|
||||
this.subData([
|
||||
{
|
||||
entity: 'sessionMessage',
|
||||
filter: {
|
||||
sessionId: sessionId,
|
||||
},
|
||||
id: `${DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`,
|
||||
},
|
||||
], async () => {
|
||||
await this.pageScroll('comment');
|
||||
});
|
||||
this.subDataEvents([`${DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`]);
|
||||
this.createItem();
|
||||
this.getSessionInfo();
|
||||
},
|
||||
detached() {
|
||||
const { sessionId } = this.props;
|
||||
this.unSubData([
|
||||
this.unsubDataEvents([
|
||||
`${DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`,
|
||||
]);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { EntityDict } from '../../../oak-app-domain';
|
||||
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, keyof EntityDict, false, {
|
||||
type: "login" | "bind";
|
||||
type: "bind" | "login";
|
||||
url: string;
|
||||
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
||||
export default _default;
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
declare const _default: (import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "message", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "notification", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatLogin", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "articleMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "article", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "parasite", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "extraFile", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "sessionMessage", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMpJump", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "account", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
|
||||
declare const _default: (import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "account", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "message", import("..").BRC> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "notification", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatLogin", import("..").RuntimeCxt> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "articleMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "article", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "parasite", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "extraFile", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "sessionMessage", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMenu", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>> | import("oak-domain").Trigger<import("../oak-app-domain").EntityDict, "wechatMpJump", import("..").BackendRuntimeContext<import("../oak-app-domain").EntityDict>>)[];
|
||||
export default _default;
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
export {};
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
import { DATA_SUBSCRIBER_KEYS } from '../config/constants';
|
||||
import { assert } from 'oak-domain/lib/utils/assert';
|
||||
const triggers = [
|
||||
{
|
||||
name: '当创建session时,通知订阅了sessionList变化的事件',
|
||||
entity: 'session',
|
||||
action: 'create',
|
||||
when: 'before',
|
||||
fn: async ({ operation }, context) => {
|
||||
const { data, id } = operation;
|
||||
assert(!(data instanceof Array));
|
||||
const { userId } = data;
|
||||
assert(userId);
|
||||
context.saveOperationToEvent(id, `${DATA_SUBSCRIBER_KEYS.sessionList}-u-${userId}`);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
];
|
||||
|
|
@ -2,9 +2,24 @@ import { generateNewIdAsync } from 'oak-domain/lib/utils/uuid';
|
|||
import { assert } from 'oak-domain/lib/utils/assert';
|
||||
import { WechatSDK, } from 'oak-external-sdk';
|
||||
import { extraFileProjection } from '../types/Projection';
|
||||
import { DATA_SUBSCRIBER_KEYS } from '../config/constants';
|
||||
const triggers = [
|
||||
{
|
||||
name: '当sessionMessage创建时时,使其相关session更新lmts',
|
||||
name: '当sessionMessage创建时,发送消息到相应事件上',
|
||||
entity: 'sessionMessage',
|
||||
action: 'create',
|
||||
when: 'before',
|
||||
fn: async ({ operation }, context) => {
|
||||
const { data, id } = operation;
|
||||
assert(!(data instanceof Array));
|
||||
const { sessionId } = data;
|
||||
assert(sessionId);
|
||||
context.saveOperationToEvent(id, `${DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`);
|
||||
return 1;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '当sessionMessage创建时,使其相关session更新lmts',
|
||||
entity: 'sessionMessage',
|
||||
action: 'create',
|
||||
when: 'after',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const tslib_1 = require("tslib");
|
||||
console.log('走不到这里');
|
||||
console.log('走不到这里[data/area]');
|
||||
const area_dev_1 = tslib_1.__importDefault(require("./area.dev"));
|
||||
exports.default = area_dev_1.default;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const tslib_1 = require("tslib");
|
||||
console.warn('不应该跑到这里');
|
||||
console.warn('不应该跑到这里[features/weiXinJsSdk]');
|
||||
tslib_1.__exportStar(require("./weiXinJsSdk.web"), exports);
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
export {};
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const constants_1 = require("../config/constants");
|
||||
const assert_1 = require("oak-domain/lib/utils/assert");
|
||||
const triggers = [
|
||||
{
|
||||
name: '当创建session时,通知订阅了sessionList变化的事件',
|
||||
entity: 'session',
|
||||
action: 'create',
|
||||
when: 'before',
|
||||
fn: async ({ operation }, context) => {
|
||||
const { data, id } = operation;
|
||||
(0, assert_1.assert)(!(data instanceof Array));
|
||||
const { userId } = data;
|
||||
(0, assert_1.assert)(userId);
|
||||
context.saveOperationToEvent(id, `${constants_1.DATA_SUBSCRIBER_KEYS.sessionList}-u-${userId}`);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
];
|
||||
|
|
@ -4,9 +4,24 @@ const uuid_1 = require("oak-domain/lib/utils/uuid");
|
|||
const assert_1 = require("oak-domain/lib/utils/assert");
|
||||
const oak_external_sdk_1 = require("oak-external-sdk");
|
||||
const Projection_1 = require("../types/Projection");
|
||||
const constants_1 = require("../config/constants");
|
||||
const triggers = [
|
||||
{
|
||||
name: '当sessionMessage创建时时,使其相关session更新lmts',
|
||||
name: '当sessionMessage创建时,发送消息到相应事件上',
|
||||
entity: 'sessionMessage',
|
||||
action: 'create',
|
||||
when: 'before',
|
||||
fn: async ({ operation }, context) => {
|
||||
const { data, id } = operation;
|
||||
(0, assert_1.assert)(!(data instanceof Array));
|
||||
const { sessionId } = data;
|
||||
(0, assert_1.assert)(sessionId);
|
||||
context.saveOperationToEvent(id, `${constants_1.DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`);
|
||||
return 1;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '当sessionMessage创建时,使其相关session更新lmts',
|
||||
entity: 'sessionMessage',
|
||||
action: 'create',
|
||||
when: 'after',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { DATA_SUBSCRIBER_KEYS } from '../../../config/constants';
|
||||
import { EntityDict } from '../../../oak-app-domain';
|
||||
import { RowWithActions } from 'oak-frontend-base';
|
||||
import assert from 'assert';
|
||||
|
||||
export default OakComponent({
|
||||
entity: 'session',
|
||||
|
|
@ -121,18 +122,28 @@ export default OakComponent({
|
|||
}
|
||||
},
|
||||
async ready() {
|
||||
const { entityFilter } = this.props;
|
||||
const userId = this.features.token.getUserId();
|
||||
await this.subData([
|
||||
{
|
||||
entity: 'session',
|
||||
filter: entityFilter ? { ...entityFilter } : { userId },
|
||||
id: `${DATA_SUBSCRIBER_KEYS.sessionList}`,
|
||||
},
|
||||
]);
|
||||
const { entityFilter, entityFilterSubStr } = this.props;
|
||||
|
||||
if (entityFilter) {
|
||||
assert (entityFilterSubStr);
|
||||
this.subDataEvents([entityFilterSubStr]);
|
||||
}
|
||||
else {
|
||||
const userId = this.features.token.getUserId();
|
||||
this.subDataEvents([`${DATA_SUBSCRIBER_KEYS.sessionList}-u-${userId}`]);
|
||||
}
|
||||
},
|
||||
detached() {
|
||||
this.unSubData([`${DATA_SUBSCRIBER_KEYS.sessionList}`]);
|
||||
const { entityFilter, entityFilterSubStr } = this.props;
|
||||
|
||||
if (entityFilter) {
|
||||
assert (entityFilterSubStr);
|
||||
this.unsubDataEvents([entityFilterSubStr]);
|
||||
}
|
||||
else {
|
||||
const userId = this.features.token.getUserId();
|
||||
this.unsubDataEvents([`${DATA_SUBSCRIBER_KEYS.sessionList}-u-${userId}`]);
|
||||
}
|
||||
},
|
||||
},
|
||||
data: {
|
||||
|
|
@ -142,6 +153,7 @@ export default OakComponent({
|
|||
properties: {
|
||||
entity: '' as string, // entity端,指示相应的entity
|
||||
entityFilter: null as any, // entity端,指示相应的entity查询条件
|
||||
entityFilterSubStr: '',
|
||||
entityDisplay: (
|
||||
data:
|
||||
| EntityDict['session']['Schema'][]
|
||||
|
|
|
|||
|
|
@ -52,27 +52,13 @@ export default OakComponent({
|
|||
async ready() {
|
||||
const { sessionId } = this.props;
|
||||
|
||||
this.subData(
|
||||
[
|
||||
{
|
||||
entity: 'sessionMessage',
|
||||
filter: {
|
||||
sessionId: sessionId,
|
||||
},
|
||||
id: `${DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`,
|
||||
},
|
||||
],
|
||||
async () => {
|
||||
await this.pageScroll('comment');
|
||||
}
|
||||
);
|
||||
|
||||
this.subDataEvents([`${DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`]);
|
||||
this.createItem();
|
||||
this.getSessionInfo();
|
||||
},
|
||||
detached() {
|
||||
const { sessionId } = this.props;
|
||||
this.unSubData([
|
||||
this.unsubDataEvents([
|
||||
`${DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`,
|
||||
]);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
console.log('走不到这里');
|
||||
console.log('走不到这里[data/area]');
|
||||
import area from './area.dev'
|
||||
export default area;
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
|
||||
console.warn('不应该跑到这里');
|
||||
console.warn('不应该跑到这里[features/weiXinJsSdk]');
|
||||
export * from './weiXinJsSdk.web';
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
import { generateNewIdAsync } from 'oak-domain/lib/utils/uuid';
|
||||
import { CreateTrigger, Trigger } from 'oak-domain/lib/types/Trigger';
|
||||
import { RuntimeCxt } from '../types/RuntimeCxt';
|
||||
import { EntityDict } from '../oak-app-domain/EntityDict';
|
||||
import { BackendRuntimeContext } from '../context/BackendRuntimeContext';
|
||||
import { DATA_SUBSCRIBER_KEYS } from '../config/constants';
|
||||
import { CreateOperationData as CreateSessionMessageData } from '../oak-app-domain/SessionMessage/Schema';
|
||||
import { assert } from 'oak-domain/lib/utils/assert';
|
||||
import { WechatMpConfig, WechatPublicConfig } from '../entities/Application';
|
||||
import {
|
||||
WechatSDK,
|
||||
WechatMpInstance,
|
||||
WechatPublicInstance,
|
||||
} from 'oak-external-sdk';
|
||||
import { extraFileProjection } from '../types/Projection'
|
||||
|
||||
const triggers: Trigger<
|
||||
EntityDict,
|
||||
'session',
|
||||
BackendRuntimeContext<EntityDict>
|
||||
>[] = [
|
||||
{
|
||||
name: '当创建session时,通知订阅了sessionList变化的事件',
|
||||
entity: 'session',
|
||||
action: 'create',
|
||||
when: 'before',
|
||||
fn: async ({ operation }, context) => {
|
||||
const { data, id } = operation;
|
||||
assert(!(data instanceof Array));
|
||||
const { userId } = data;
|
||||
assert(userId);
|
||||
context.saveOperationToEvent(id, `${DATA_SUBSCRIBER_KEYS.sessionList}-u-${userId}`);
|
||||
return 1;
|
||||
}
|
||||
} as CreateTrigger<EntityDict, 'session', BackendRuntimeContext<EntityDict>>
|
||||
]
|
||||
|
|
@ -12,6 +12,7 @@ import {
|
|||
WechatPublicInstance,
|
||||
} from 'oak-external-sdk';
|
||||
import { extraFileProjection } from '../types/Projection'
|
||||
import { DATA_SUBSCRIBER_KEYS } from '../config/constants';
|
||||
|
||||
const triggers: Trigger<
|
||||
EntityDict,
|
||||
|
|
@ -19,7 +20,25 @@ const triggers: Trigger<
|
|||
BackendRuntimeContext<EntityDict>
|
||||
>[] = [
|
||||
{
|
||||
name: '当sessionMessage创建时时,使其相关session更新lmts',
|
||||
name: '当sessionMessage创建时,发送消息到相应事件上',
|
||||
entity: 'sessionMessage',
|
||||
action: 'create',
|
||||
when: 'before',
|
||||
fn: async ({ operation }, context) => {
|
||||
const { data, id } = operation;
|
||||
assert(!(data instanceof Array));
|
||||
const { sessionId } = data;
|
||||
assert(sessionId);
|
||||
context.saveOperationToEvent(id, `${DATA_SUBSCRIBER_KEYS.sessionMessageList}-${sessionId}`);
|
||||
return 1;
|
||||
},
|
||||
} as CreateTrigger<
|
||||
EntityDict,
|
||||
'sessionMessage',
|
||||
BackendRuntimeContext<EntityDict>
|
||||
>,
|
||||
{
|
||||
name: '当sessionMessage创建时,使其相关session更新lmts',
|
||||
entity: 'sessionMessage',
|
||||
action: 'create',
|
||||
when: 'after',
|
||||
|
|
|
|||
Loading…
Reference in New Issue