文档说明:此文档作为第三方报销系统接入我方票夹页面(前端部分)说明使用。
在需要调用JS接口的页面引入如下JS文件(测试地址):(https://meet.yonyoucloud.com/personal-views/js/invoiceSelector.js)
备注:支持使用 AMD/CMD 标准模块加载方法加载
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!-- 使用iframe嵌入票夹页面 -->
<iframe src="https://meet.yonyoucloud.com/invoices-views/invoicesList.html"></iframe>
</body>
<!-- 引入 invoiceSelector 资源 -->
<script src="https://meet.yonyoucloud.com/personal-views/js/invoiceSelector.js"></script>
</html>
注:以上链接js以及票夹页面地址仅作为引入参考,实际地址将在后续提供。
var Selector = require(moduleName);
说明:
1、moduleName:AMD/CMD方式中引入资源定义的模块名称。
接入注意事项:
1、票夹页面仅限以 iframe 方式嵌入。
2、选择发票数据消息仅发送至票夹页面父窗口(即嵌入 iframe 页面)。
监听广播消息之前需实例化Selector对象。
var selector = new Selector();
// 监听发票选择后广播消息
selector.onSelected(function(invoicesList) {
//TODO something
});
// 移除广播消息监听
selector.removeEvent();
方法说明:
1、onSelected(callback):监听广播消息的回调方法。
参数:callback(必填):传入的回调函数。
2、removeEvent():移除广播消息监听事件,将不再接收广播消息。
接入注意事项:
1、此方案使用postMessage对象,如页面已使用此对象,需单独处理页面原有事件监听回调,以免接收不必要的数据。
2、如每次选择发票都需实例化Selector对象,必须在回调事件中使用 removeEvent() 方法进行注销,防止造成内存泄漏。反之初始化一次即可。
返回参数参考地址(以实际返回字段为准) https://meet.yonyoucloud.com/invoices-views/js/common/data.js
{
"basic": {
"parent_usercode": "some code"
"yy_usercode": "some code"
},
"datas": [
{
"invoice": "<Array>"
},
{
"air": "<Array>"
},
{
"train": "<Array>"
},
{
"passenger": "<Array>"
}
...
},
]
}
字段说明:
1、basic:基本信息,其中:
parent_usercode:接入票夹页面传入的usercode。
yy_usercode:登录票夹账号的usercode。
2、data:选取得发票信息,类型为对象数组,其中:
invoice: 增值税发票
air:飞机票。
train:火车票。
passenger:客运汽车发票。
...
浏览器 | Chrome | Firefox | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
支持版本 | >=1.0 | >=6.0 | >=8 | >=9.5 | >=4.0 |