开发指南平台应用、模块与 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 或返回示例当成当前资源目录。
平台应用接入
- 在应用所属 Bundle 的 Module 声明匹配成员查询能力的 Interface 属性。
- 从当前 Runtime 目录选择真实提供方,以 ServiceReference 显式绑定该属性;Bundle 不声明
dependencies。 - 在本包 Module 实现供页面调用的方法,由该方法使用属性能力查询成员,并传递当前已验证用户。
- 应用
targets只引用这个已实现的本包 Module。SDK 10 使用声明的目标名称字符串,具体方法和参数从本包 Module 回读。 - 创建并交付应用、Module 和 Bundle 的精确版本,完成安装、属性绑定、应用绑定及真实查询验证。
这里不虚构一个已发布的代理方法或本包资源 ID。没有对应业务方法时,必须先实现和发布它,不能修改前端请求绕过跨包边界。 完整作者配置与调用示例见声明应用能力和 调用模块方法。 属性声明、绑定与凭据交付见ServiceReference。
验证
同时验证查询成功、未知目标名、无权限用户、提供方缺失和属性未绑定。权限拒绝保留原错误,不能恢复旧资源对象请求、 改用目标服务地址或以固定用户继续调用。升级已有应用须重新构建并创建新不可变版本,旧应用内容不原地覆盖。