百积木文档
开发指南平台应用、模块与 Bundle 开发平台应用开发

调用应用所属 Bundle 的模块

无需 targets 和方法名单,按 moduleKey 与可选 propertyKey 直接调用同包 Module。

当前作者配置使用 schemaVersion: "7.3.0",新应用不声明 targets、映射或方法名单。 SDK 10.2.0 的调用目标是 { moduleKey, propertyKey? }。后端从应用身份取得 Runtime、来源环境和 Bundle, 向 RCS 查询当前实际模块入口;浏览器不能通过附加作用域字段访问其他 Bundle 或 Runtime。

模块与属性调用

const result = await client.call(
  { moduleKey: "course-directory" },
  "listCourses",
  {},
);
const related = await client.call(
  { moduleKey: "course-directory", propertyKey: "catalog" },
  "listItems",
  {},
);

模块键、属性键、方法和参数从真实模块合同读取;示例不意味着这些业务资源已存在。 键非空,不能包含空白、/、*、控制字符,不能等于 . 或 ..。 省略 propertyKey 时调用模块本身,提供时调用该模块的属性入口。跨包能力通过本包 Module 的 Interface 属性与 ServiceReference 显式绑定;不向应用开放任意平台 HTTP 代理。

调用边界

应用会话、安装及启用状态、同包归属、来源凭据和当前用户业务权限仍参与校验。 Runtime 校验方法存在性、参数和用户权限;没有额外的应用方法白名单。 已撤销或缺失的来源凭据不会因升级自动补签,须按现有显式凭据维护流程处理。 RCS 返回当前实际入口,应用无需维护运行时地址、businessId 或目标映射。

目标环境须支持作者配置 7.3.0、首次安装时的来源凭据交付及 App Gateway 的同包模块对象调用。 浏览器示例使用 SDK 10.2.0。

迁移旧应用

迁移时将作者配置设为 7.3.0,升级 SDK 至 10.2.0,并将调用的第一个参数改为模块对象。确认所有字符串调用已经迁移后, 删除新版本清单中的 targets 和旧方法声明。创建新的应用版本并由 Bundle 交付,不改写历史版本。 外部能力仍通过本包模块的属性接入;登录、PKCE、会话撤销和用户权限没有取消。

完整请求和会话错误处理见调用模块方法。

本页内容