Skip to content

网站服务

网站服务是织信为嵌入到织信内的站点页面提供的服务能力,支持与系统进行通信,并提供便捷的工具,使嵌入的站点页面与系统有机结合,形成完整的整体。

其通信的原理在于,站点页面通过iframe嵌入织信系统,使用postMessage作为页面间通讯工具,并在页面引入postmessage-rpc.jsrpc.js。这样,站点页面可以利用织信提供的RPC框架调用网站服务,确保站点页面与系统无缝集成,实现数据交互和功能调用。

页面通讯

网站服务调用时机

由于站点页面调用网站服务都是基于RPC通道的,所有网站服务都需要在RPC通道建立后才可以调用

如果想在页面加载完就立即调用网站服务,需要在页面监听rpc-ready事件(RPC通道建立成功),并在其回调中调用网站服务。

javascript
eventService.onceEvent('rpc-ready', (e) => {
   console.log(e);
});

可用的服务接口

快速入门

我们将演示在页面rpc通道建立成功后立即调用systemService.toast方法,弹出一个提示框

html
<script src="https://next.informat.cn/js/postmessage-rpc.js"></script>
<script src="https://next.informat.cn/js/rpc.js"></script>
<script>
    //等待RPC通信通道建立成功
    eventService.onceEvent('rpc-ready', (e) => {
        //调用网站服务
        systemService.toast('RPC通信通道建立成功').then(result => {
            //调用成功
        }).catch(e => {
            //调用失败
        });
    });
</script>

脚本资源引用

为了网站服务的稳定性与当前私有化部署版本的一致性,postmessage-rpc.jsrpc.js脚本的域名请使用私有化部署的域名。如现织信服务部署于https://test.example.com站点,则对应的脚本地址为:

html
<script src="https://test.example.com/js/postmessage-rpc.js"></script>
<script src="https://test.example.com/js/rpc.js"></script>

注意事项

只有当网站页面被嵌入到平台内才可使用接口服务能力

开发建议

  • 使用VsCodeWebStorm等工具开发时,可下载rpc.d.ts获取调网站服务的描述文件,并放置于项目的typings目录,来解决代码报错问题

  • 将下载的rpc.d.ts导入编辑器后,若依旧提示rpc函数调用报错,可在工程根目录创建jsconfig.json空文件重启编辑器。 具体文件内容如下:

    json
    {}
  • 如果想要开发时进行网站服务的调试,可以在对应的应用中添加外部页面模块,嵌入的地址使用本地的链接地址