Appearance
网站服务
网站服务是织信为嵌入到织信内的站点页面提供的服务能力,支持与系统进行通信,并提供便捷的工具,使嵌入的站点页面与系统有机结合,形成完整的整体。
其通信的原理在于,站点页面通过iframe
嵌入织信系统,使用postMessage
作为页面间通讯工具,并在页面引入postmessage-rpc.js
和 rpc.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.js
、rpc.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>
注意事项
只有当网站页面被嵌入到平台内才可使用接口服务能力
开发建议
使用VsCode或WebStorm等工具开发时,可下载rpc.d.ts获取调网站服务的描述文件,并放置于项目的
typings
目录,来解决代码报错问题将下载的rpc.d.ts导入编辑器后,若依旧提示rpc函数调用报错,可在工程根目录创建jsconfig.json空文件重启编辑器。 具体文件内容如下:
json{}
如果想要开发时进行网站服务的调试,可以在对应的应用中添加
外部页面
模块,嵌入的地址使用本地的链接地址