export async function injectAssets()

in packages/lowcode-plugin-inject/src/utils.tsx [248:284]


export async function injectAssets(assets, injectOptions?: InjectOptions) {
  if (!needInject) return assets;
  try {
    const injectUrls = await getInjectUrls('component', 'item', injectOptions);
    const components = getComponentFromUrlItems(injectUrls)
    Object.keys(components).forEach((name) => {
      const item = components[name];
      const pascalCaseName = pascal(name);
      if (!assets.packages) assets.packages = [];
      if (!assets.components) assets.components = [];
      assets.packages.push({
        "package": name,
        "version": '0.1.0',
        "library": item.library || pascalCaseName,
        "urls": [item.view],
        "editUrls": [item.view],
      });
      assets.components.push({
        exportName: `${pascalCaseName}Meta`,
        url: item.meta,
      });
    })
    if (Object.keys(components).length > 0) {
      Notification.success({
        title: '成功注入以下组件',
        content: (
          <div>
            {Object.keys(components).map((name) => (
              <p>组件:<b>{name}</b></p>
            ))}
          </div>
        )
      })
    }
  } catch (err) {}
  return assets;
}