diff --git a/packages/editor-core/src/utils/goldlog.ts b/packages/editor-core/src/utils/goldlog.ts deleted file mode 100644 index 4e594b15c..000000000 --- a/packages/editor-core/src/utils/goldlog.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * 黄金令箭埋点 - * @param {String} gmKey 为黄金令箭业务类型 - * @param {Object} params 参数 - * @param {String} logKey 属性串 - */ -export function goldlog(gmKey: string, params: object = {}, logKey: string = 'other'): void { - -} - - diff --git a/packages/editor-core/src/utils/index.ts b/packages/editor-core/src/utils/index.ts index 6a4ef399a..8f37753ac 100644 --- a/packages/editor-core/src/utils/index.ts +++ b/packages/editor-core/src/utils/index.ts @@ -1,5 +1,5 @@ export * from './get-public-path'; -export * from './goldlog'; +export * from './monitor'; export * from './obx'; export * from './request'; export * from './focus-tracker'; diff --git a/packages/editor-core/src/utils/monitor.ts b/packages/editor-core/src/utils/monitor.ts new file mode 100644 index 000000000..b4c45bc8b --- /dev/null +++ b/packages/editor-core/src/utils/monitor.ts @@ -0,0 +1,45 @@ +class Monitor { + fn = (params: any) => { + const { AES } = window as any; + if (typeof AES.log === 'function') { + const { p1, p2, p3, p4 = 'OTHER', ...rest } = params || {}; + AES.log('event', { + p1, + p2, + p3, + p4, + ...rest, + }); + } + }; + + constructor() { + (window as any).AES = (window as any).AES || {}; + } + + register(fn: () => any) { + if (typeof fn === 'function') { + this.fn = fn; + } + } + + log(params: any) { + if (typeof this.fn === 'function') { + this.fn(params); + } + } + + setConfig(key: string | object, value?: string): void { + const { AES } = window as any; + if (typeof AES?.setConfig !== 'function') { + return; + } + if (typeof key === 'string' && value) { + AES.setConfig(key, value); + } else if (typeof key === 'object') { + AES.setConfig(key); + } + } +} + +export default new Monitor(); diff --git a/packages/editor-skeleton/src/components/field/fields.tsx b/packages/editor-skeleton/src/components/field/fields.tsx index dcd1c78bb..797fc361a 100644 --- a/packages/editor-skeleton/src/components/field/fields.tsx +++ b/packages/editor-skeleton/src/components/field/fields.tsx @@ -12,6 +12,7 @@ import InlineTip from './inlinetip'; export interface FieldProps { className?: string; + meta?: { package: string; componentName: string } | string; title?: TitleContent | null; defaultDisplay?: 'accordion' | 'inline' | 'block'; collapsed?: boolean; @@ -115,15 +116,23 @@ export class Field extends Component { } render() { - const { className, children, title, valueState, onClear, name: propName, tip } = this.props; + const { className, children, meta, title, valueState, onClear, name: propName, tip } = this.props; const { display, collapsed } = this.state; const isAccordion = display === 'accordion'; + let hostName = ''; + if (typeof meta === 'object') { + hostName = `${meta?.package || ''}-${meta.componentName || ''}`; + } else if (typeof meta === 'string') { + hostName = meta; + } + const id = `${hostName}-${propName || (title as any)['en-US'] || (title as any)['zh-CN']}`; const tipContent = this.getTipContent(propName!, tip); return (
diff --git a/packages/editor-skeleton/src/components/settings/settings-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-pane.tsx index 03db41889..5b75bddfa 100644 --- a/packages/editor-skeleton/src/components/settings/settings-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-pane.tsx @@ -63,6 +63,7 @@ class SettingFieldView extends Component<{ field: SettingField }> { return createField( { + meta: field?.componentMeta?.npm || field?.componentMeta?.componentName || '', title: field.title, collapsed: !field.expanded, valueState: field.isRequired ? 10 : field.valueState, @@ -121,6 +122,7 @@ class SettingGroupView extends Component<{ field: SettingField }> { return ( { diff --git a/packages/editor-skeleton/src/layouts/left-area.tsx b/packages/editor-skeleton/src/layouts/left-area.tsx index 00a83a328..53dd4805b 100644 --- a/packages/editor-skeleton/src/layouts/left-area.tsx +++ b/packages/editor-skeleton/src/layouts/left-area.tsx @@ -24,11 +24,12 @@ class Contents extends Component<{ area: Area }> { const { area } = this.props; const top: any[] = []; const bottom: any[] = []; - area.container.items.forEach(item => { + area.container.items.forEach((item) => { + const content =
{item.content}
; if (item.align === 'bottom') { - bottom.push(item.content); + bottom.push(content); } else { - top.push(item.content); + top.push(content); } }); return ( diff --git a/packages/editor-skeleton/src/layouts/top-area.tsx b/packages/editor-skeleton/src/layouts/top-area.tsx index b9dee5c38..4e4b05258 100644 --- a/packages/editor-skeleton/src/layouts/top-area.tsx +++ b/packages/editor-skeleton/src/layouts/top-area.tsx @@ -30,7 +30,7 @@ class Contents extends Component<{ area: Area, itemClassName?: string }> { return index1 === index2 ? 0 : (index1 > index2 ? 1 : -1); }).forEach(item => { const content = ( -
+
{item.content}
);