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

示例:查询工作区成员与旧应用迁移

通过当前 Runtime 目录核对成员查询合同,并把旧跨包浏览器引用迁移到本包 Module 属性。

工作区成员查询能力以当前有权访问的 Runtime 服务目录与方法定义为准。本页保留旧示例 URL,说明如何核对真实方法及迁移旧应用。 作者配置 7.0.0 不允许平台应用直接引用其他 Bundle 的 Module;旧教程中把 workspace-core 直接填入业务应用 methodDefinitions、再向 SDK 传资源对象的做法不适用于当前合同。

核对真实能力

先逐级读取本机帮助,在明确来源环境与 Bundle 的范围内列出服务,再选择返回的准确 businessId:

baijimu runtime services list --help
baijimu runtime service get --help
baijimu runtime service call --help

若当前服务定义包含 listWorkspaceMembers,再回读精确方法:

baijimu runtime service get <businessId> --workspace-id <workspaceId> \
  --application-runtime-id <applicationRuntimeId> --method listWorkspaceMembers

只有方法仍存在、确认无业务参数且调用已获授权后,才执行:

baijimu runtime service call <businessId> listWorkspaceMembers \
  --workspace-id <workspaceId> --application-runtime-id <applicationRuntimeId> --params '{}'

前端不得提交 workspaceId、userId、模块凭据或服务后端地址作为调用身份。结果字段与返回类型以方法合同为准, 不能把文档中的历史 Bundle 版本、模块 ID 或返回示例当成当前资源目录。

平台应用接入

  1. 在应用所属 Bundle 的 Module 声明匹配成员查询能力的 Interface 属性。
  2. 从当前 Runtime 目录选择真实提供方,以 ServiceReference 显式绑定该属性;Bundle 不声明 dependencies。
  3. 在本包 Module 实现供页面调用的方法,由该方法使用属性能力查询成员,并传递当前已验证用户。
  4. 应用 targets 只引用这个已实现的本包 Module。SDK 10 使用声明的目标名称字符串,具体方法和参数从本包 Module 回读。
  5. 创建并交付应用、Module 和 Bundle 的精确版本,完成安装、属性绑定、应用绑定及真实查询验证。

这里不虚构一个已发布的代理方法或本包资源 ID。没有对应业务方法时,必须先实现和发布它,不能修改前端请求绕过跨包边界。 完整作者配置与调用示例见声明应用能力和 调用模块方法。 属性声明、绑定与凭据交付见ServiceReference。

验证

同时验证查询成功、未知目标名、无权限用户、提供方缺失和属性未绑定。权限拒绝保留原错误,不能恢复旧资源对象请求、 改用目标服务地址或以固定用户继续调用。升级已有应用须重新构建并创建新不可变版本,旧应用内容不原地覆盖。

本页内容