接口调用
原全局属性 JmJsBridge 修改为 jmsdk,JmJsBridge 也还存在,只是建议换成 jmsdk,在这里只是多加了个全局导出对象,不用担心引入新地址会导致原来页面功能失效。
1. 界面交互
1.1. 打开页面
接口描述
打开新Web页面窗口。
注意事项
无。
方法定义
jmsdk.call('openPage', {
url: ''
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
url | string | 是 | 跳转的目的URL。 |
返回值
无。
使用示例
jmsdk.call('openPage', {
url: 'https://www.expamle.com/'
});
1.2. 关闭页面
接口描述
关闭当前Web页面窗口。
注意事项
无。
方法定义
jmsdk.call('closePage');
参数描述
无。
返回值
无。
1.3. 设置页面标题
接口描述
自定义设置当前页面的标题。
注意事项
无。
方法定义
jmsdk.call('setTitle', {
title: ''
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
title | string | 是 | Web页面标题。 |
返回值
无。
使用示例
jmsdk.call('setTitle', {
title: '京麦JSSDK'
});
1.4. 设置横屏
接口描述
打开和关闭Web页面窗口横屏功能。
注意事项
无。
方法定义
jmsdk.call('setLandscapeFullScreen', {
status: ''
});
参数描述
参数名 | 类型 | 可选/必选 | 描述 |
---|---|---|---|
status | string | 是 | 窗口横屏功能的打开和关闭状态。
|
返回值
无。
使用示例
- 打开窗口横屏功能。
jmsdk.call('setLandscapeFullScreen', {
status: 'open'
});
- 关闭创建横屏功能。
jmsdk.call('setLandscapeFullScreen', {
status: 'close'
});
1.5. 复制文本
接口描述
复制文本内容到剪贴板。
使用场景
当Web页面需要支持复制粘贴的功能时启用此功能,比如需要复制内容粘贴到其他页面或其他应用上。
方法定义
jmsdk.call('copyBoard', {
content: ''
}, function (res) {
var result = res.result;
if (result == 'success') {
alert('复制成功');
} else {
alert('复制失败');
}
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
content | string | 是 | 复制的文本。 |
返回值
参数名 | 类型 | 描述 |
---|---|---|
result | string | 接口调用结果的标识 。success:成功。其他:失败。 |
使用示例
jmsdk.call('copyBoard', {
content: '这是一段复制的文本'
}, function (res) {
var result = res.result;
if (result == 'success') {
alert('复制成功');
} else {
alert('复制失败');
}
});
1.6. 快捷入口
接口描述
设置首页浮窗快捷入口是否显示。
使用场景
为方便商家续签插件,使用本接口设置打开或关闭首页浮窗快捷入口。
方法定义
jmsdk.call('setQuickEntry', {
status: ''
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
status | boolean | 是 | 快捷入口的打开和关闭状态。true:打开;false:关闭。 |
返回值
无。
使用示例
- 打开快捷入口。
jmsdk.call('setQuickEntry', {
status: true
});
- 关闭快捷入口。
jmsdk.call('setQuickEntry', {
status: false
});
1.7. 自定义关闭按钮事件
接口描述
开启和关闭自定义关闭按钮事件的功能,配置关闭提示信息。
使用场景
设置用户在页面上进行编辑或者其他操作期间,如果没有保存就离开该页面时,单击“关闭”执行关闭操作还是提醒用户执行其他操作。
方法定义
- 开启和关闭自定义事件接口。
jmsdk.call('setCustomCloseEvent', {
status: ''
});
- 自定义关闭按钮提示信息事件接口。
jmsdk.register('closeEvent', function (param, callback) {
/**
* 你的逻辑代码
*/
callback(); // 通知客户端继续执行关闭事件
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
status | boolean | 是 | 自定义关闭按钮事件的打开和关闭状态。true:打开;false:关闭。 |
返回值
参数名 | 类型 | 描述 |
---|---|---|
param | object | 空对象。 |
callback | function | 通知客户端继续执行关闭事件。 |
使用示例
- 开启自定义事件接口。
jmsdk.call('setCustomCloseEvent', {
status: true
});
- 关闭自定义事件接口。
jmsdk.call('setCustomCloseEvent', {
status: false
});
- 自定义关闭按钮事件接口。
jmsdk.register('closeEvent', function (param, callback) {
alert(‘关闭事件’);
callback();
});
1.8. 自定义返回按钮事件
接口描述
开启和关闭自定义返回按钮事件功能,配置返回按钮提示信息。
使用场景
设置用户在页面上进行编辑或者其他操作期间,如果没有保存就离开该页面时,单击“返回”执行关闭操作还是提醒用户执行其他操作。
方法定义
- 开启和关闭按钮自定义事件接口。
jmsdk.call('setCustomBackEvent', {
status: ''
});
- 自定义返回按钮提示信息事件。
jmsdk.register('backEvent', function (param, callback) {
/**
* 你的逻辑代码
*/
callback(); // 通知客户端继续执行返回事件
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
status | boolean | 是 | 自定义返回按钮事件的打开和关闭状态。true:打开;false:关闭。 |
返回值
参数名 | 类型 | 描述 |
---|---|---|
param | object | 空对象。 |
callback | function | 通知客户端继续执行返回事件。 |
使用示例
- 开启自定义返回事件接口。
jmsdk.call('setCustomBackEvent', {
status: true
});
- 关闭自定义返回事件接口。
jmsdk.call('setCustomBackEvent', {
status: false
});
- 自定义关闭按钮事件。
jmsdk.register('backEvent', function (param, callback) {
alert(‘返回事件’);
callback();
});
1.9. 打通pt_key登录态
接口描述
打通pt_key登录态。
注意事项
无。
方法定义
jmsdk.call('openMobileUrl', {
url: ''
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
url | string | 是 | 跳转的目的URL。 |
返回值
无。
使用示例
jmsdk.call('openMobileUrl', {
url: 'https://www.expamle.com/'
});
2. 多媒体
2.1. 选取图片
接口描述
从手机相册中选取图片。
注意事项
用户需要在Web页面中使用本地手机图片来进行信息验证或者其它操作时,会使用到该接口。
方法定义
jmsdk.call('chooseImage', {}, function (res) {
var result = res.result;
if (result == 'success') {
console.log(res.data);
} else {
console.log(result);
}
});
参数描述
无。
返回值
参数名 | 类型 | 描述 |
---|---|---|
result | string | 接口调用结果的标识 。success:成功。其他:失败。 |
data | string | 图片调用成功时返回的图片的base64编码。 失败时返回失败原因。 |
2.2. 预览图片
接口描述
在Web页面的图片点击事件上执行本接口可以预览图片 。
使用场景
在Web页面上上传图片后使用该功能预览图片效果。
方法定义
jmsdk.call('previewImage', {
current: '',
urls: JSON.stringify('')
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
current | string | 是 | 当前选择预览的图片地址。 |
urls | string | 是 | 预览图片时,可左右滑动切换图片,该参数提供当前页面要预览的所有图片的URL数组,为JSON字符串格式。 注意: 预览图片时建议使用安全的HTTP通道,即以“https://”开头的URL。以“http://”开头的URL有可能造成接口调用错误、黑屏等问题。 |
返回值
无。
使用示例
jmsdk.call('previewImage', {
current: ‘https://www.urlexample.com/pic1’,
urls: JSON.stringify([‘https://www.urlexample.com/’])
});
2.3. 扫一扫
接口描述
打开手机摄像头,扫描二维码或者条形码接口。
使用场景
用户需要执行扫码登录,扫码支付等操作的时候会用到该功能。
方法定义
jmsdk.call('scanQRCode', {}, function (res) {
var result = res.result;
if (result == 'success') {
console.log(res.data);
} else {
console.log(result);
}
});
参数描述
无。
返回值
参数名 | 类型 | 描述 |
---|---|---|
result | string | 接口调用结果的标识。success:成功。其他:失败。 |
data | string | 图片调用成功时返回二维码或条形码的编码。 失败时返回失败原因。 |
2.4. 录制视频
接口描述
打开录制视频的接口。
注意事项
无。
方法定义
jmsdk.call('recordVideo', {
from: ''
}, function (res) {
var result = res.result;
if (result == 'success') {
console.log(res.data.url);
} else {
console.log(res.data.desc);
}
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
from | string | 是 | 调用功能的调用方源头。isv:源头为独立软件开发商。jd:源头为京东。 |
返回值
参数名 | 类型 | 描述 |
---|---|---|
result | string | 接口调用结果的标识。success:成功。其他:失败。 |
data | object | data.url录制成功时返回录制视频的URL。 data.desc录制失败时返回失败原因。 |
使用示例
jmsdk.call('recordVideo', {
from: 'isv'
}, function (res) {
var result = res.result;
if (result == 'success') {
console.log(res.data.url);
} else {
console.log(res.data.desc);
}
});
3. 微信分享
3.1. 微信分享
接口描述
启动微信分享的功能。
注意事项
无。
方法定义
jmsdk.call('setShareBtn');
参数描述
无。
返回值
无。
4. 京麦业务
4.1. 获取当前登录用户PIN
接口描述
获取当前登录的用户PIN。
注意事项
本功能仅支持从咚咚启动插件的页面。
方法定义
jmsdk.call('getCurrentPin', {}, function (res) {
var result = res.result;
if (result == 'success') {
alert('返回结果:' + res.data);
} else {
alert(result);
}
});
参数描述
无。
返回值
参数名 | 类型 | 描述 |
---|---|---|
result | string | 接口调用结果的标识。success:成功。其他:失败。 |
data | string | 当前登录的用户PIN。 |
使用示例
jmsdk.call('getCurrentPin', {}, function (res) {
var result = res.result;
if (result == 'success') {
alert('返回结果:' + res.data);
} else {
alert(result);
}
});
4.2. 获取咚咚聊天买家PIN
接口描述
获取咚咚聊天的买家PIN。
注意事项
只有在咚咚启动插件页面可以使用。
方法定义
jmsdk.call('getCustomerPin', {}, function (res) {
var result = res.result;
if (result == 'success') {
alert('返回结果:' + res.data);
} else {
alert(result);
}
});
参数描述
无。
返回值
参数名 | 类型 | 描述 |
---|---|---|
result | string | 接口调用结果的标识。success:成功。其他:失败。 |
data | string | 当前咚咚聊天的买家PIN。 |
使用示例
jmsdk.call('getCustomerPin', {}, function (res) {
var result = res.result;
if (result == 'success') {
alert('返回结果:' + res.data);
} else {
alert(result);
}
});
4.3. 打开插件
接口描述
在京麦客户端页面启动插件。
方法定义
jmsdk.call('openPlugin', {
serviceCode: '',
info: ''
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
serviceCode | string | 是 | 插件的唯一标识,类型为 “ FW_GOODS-100000”,其中的数字串为对应插件的数字串。 |
info | string | 否 | JSON字符串,拼接在插件URL的参数。 |
返回值
无。
使用示例
jmsdk.call('openPlugin', {
serviceCode: ' FW_GOODS-100000',
info: JSON.stringify({
id: 1
})
});
4.4. 刷新插件列表
接口描述
刷新插件列表。
使用场景
Web操作(如订购插件或续订插件)导致插件列表有变动的时候,可以调用此方法刷新Native插件列表。
方法定义
jmsdk.call('refreshPlugin');
参数描述
无。
返回值
无。
4.5. 打开咚咚
接口描述
打开咚咚聊天工具。
注意事项
在Web页面中启动指定用户或群组的咚咚聊天页面,咚咚处于在线状态才能成功启动。
方法定义
jmsdk.call('openDongDong', {
info: "pin= &gid= &isMate= "
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
info | object | 是 | pin:聊天对象的用户PIN。 gid:聊天的对象群组。 isMate:是否与同事聊天。 true:是。 false:否。 |
返回值
参数名 | 类型 | 描述 |
---|---|---|
result | string | 接口调用结果的标识。success:成功。其他:失败。 |
message | string | 客户端返回的提示信息。 |
使用示例
jmsdk.call('openDongDong', {
info: "pin=test&gid=1&isMate=false"
}, function (res) {
console.log(res.result);
cconsole.log(res.message);
});
4.6. 发送咚咚聊天消息
接口描述
在京麦客户端打开咚咚。
注意事项
此方法只有从咚咚启动的插件页面可以使用,向Native当前聊天用户发送咚咚消息,页面不会跳转仍会停留在当前页面。
方法定义
jmsdk.call('sendDongdongMsg', {
'type': '',
"flag": '',
'content': ''
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
type | string | 是 | 消息类型。 1:文本消息。 2:图片消息。 3:链接消息。 4:商品消息。 |
flag | boolean | 是 | true:聊天消息发送到聊天窗口后直接发送给聊天对象。 false:聊天消息发送到输入框后,单击“发送”后发送给聊天对象。 |
content | string/object | 是 | 发送消息的内容。 |
返回值
无。
使用示例
- 发送文本类咚咚聊天消息。
mJsBridge.call('sendDongdongMsg', {
'type': '1',
"flag": true,
'content': '圣诞快乐and元旦快乐'
});
- 发送图片类咚咚聊天消息。
jmsdk.call('sendDongdongMsg', {
'type': '2',
"flag": true,
'content': 'http://m.360buyimg.com/mobilecms/s220x220_jfs/t14038/19/495905433/
410724/df6144b4/5a0d2f61N2dc17fbc.jpg!q70.jpg'
});
- 发送链接类咚咚聊天消息。
jmsdk.call('sendDongdongMsg', {
'type': '3',
"flag": true,
'content': {
'url': 'http://item.m.jd.com/product/10901212730.html',
'text': '圣诞快乐,下单即送圣诞帽2个'
}
});
- 发送商品消息类咚咚聊天消息。
jmsdk.call('sendDongdongMsg', {
'type': '4', //string
"flag": false,
'content': {
'url': 'http://item.m.jd.com/product/13897797082.html',
'pid': '13897797082' //string
}
});
4.7. 打开服务号详情
接口描述
跳转到服务号详情页面,并展示指定服务号的内容。
注意事项
无。
方法定义
jmsdk.call('openServiceDetail', {
'serviceId': ''
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
serviceId | string | 是 | 服务号ID。 |
返回值
无。
使用示例
jmsdkBridge.call('openServiceDetail', {
'serviceId': '31'
});
5. 通知中心
5.1. 分发通知
接口描述
页面分发通知接口。
使用场景
分发通知多用于在多个页面间进行消息通讯,用于触发注册的自定义事件。
方法定义
jmsdk.call('postNotice', {
name: '',
info: {}
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
name | string | 是 | 需要分发事件的名称标识,和registerHandler注册函数相同。 |
info | string | 是 | 需要分发事件的逻辑参数JSON字符串。 |
返回值
无。
使用示例
jmsdk.call('postNotice', {
name: 'refreshPage',
info: {
orderId: 123456
}
});
5.2. 监听通知
接口描述
页面监听通知接口。
使用场景
监听通知用于注册一个自定义事件。
方法定义
jmsdk.register('refreshPage', function (param, callback) {
console.log(param);
});
参数描述
无。
返回值
参数名 | 类型 | 描述 |
---|---|---|
param | string | 接收分发事件的参数。 |
使用示例
jmsdk.register('refreshPage', function (param, callback) {
console.log(param);
});
6. JS面板
6.1. 设置分享面板
接口描述
设置JS面板显示分享按钮。
注意事项
无。
方法定义
- 开启分享面板接口。
jmsdk.call("showShareFunctionButtons", {
imageUrl: "",
content: "",
title: "",
contentUrl: ""
});
- 关闭分享面板接口。
jmsdk.call("hideShareFunctionButtons", {});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
imageUrl | string | 是 | 分享缩略图。 |
content | string | 是 | 分享内容。 |
title | string | 是 | 分享标题。 |
contentUrl | string | 是 | 分享内容跳转链接。 |
返回值
无。
使用示例
- 开启分享面板接口。
jmsdk.call("showShareFunctionButtons", {
imageUrl: "https://jm.jd.com/index/images/logo.png",
content: "分享内容",
title: "标题",
contentUrl: "https:/jm.jd.com"
});
- 关闭分享面板接口。
jmsdk.call("hideShareFunctionButtons", {});
6.2. 设置自定义业务面板
接口描述
设置自定义业务面板和自定义业务面板回调事件。
注意事项
无。
方法定义
- 设置自定义业务面板。
jmsdk.call("setBusinessCustomFunction", {
datas: [{
imageUrl: "",
title: "",
clickId: ""
}]
});
- 自定义业务面板回调事件。
jmsdk.register("businessCustomFunctionClick", function (param, callback) {
alert(param.clickId);
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
datas | array | 是 | imageUrl:自定义业务icon。 title:自定义业务标题。 clickId:自定义业务ID。 |
返回值
参数名 | 类型 | 描述 |
---|---|---|
param | object | clickId:自定义业务ID。 |
使用示例
- 设置自定义业务面板。
jmsdk.call("setBusinessCustomFunction", {
datas: [{
imageUrl: "https://github.com/ooftf/Material/raw/master/set.png",
title: "自定义按钮top0",
clickId: "000"
},{
imageUrl: "https://github.com/ooftf/Material/raw/master/set.png",
title: "自定义按钮top1",
clickId: "002"
},{
imageUrl: "https://github.com/ooftf/Material/raw/master/set.png",
title: "自定义按钮top2",
clickId: "003"
}]
});
- 自定义业务面板回调事件。
jmsdk.register("businessCustomFunctionClick", function (param, callback) {
alert(param.clickId);
});
6.3. 设置基础业务面板
接口描述
设置基础业务面板和基础业务面板回调事件。
注意事项
无。
方法定义
- 设置基础业务面板。
jmsdk.call("setFoundationCustomFunction", {
datas: [{
imageUrl: "",
title: "",
clickId: ""
}]
});
- 基础业务面板回调事件。
jmsdk.register("foundationCustomFunctionClick", function (param, callback) {
alert(param.clickId);
});
参数描述
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
datas | array | 否 | imageUrl:自定义业务icon。 title:自定义业务标题。 clickId:自定义业务ID。 |
返回值
参数名 | 类型 | 描述 |
---|---|---|
param | object | clickId:自定义业务ID。 |
使用示例
- 设置自定义业务面板。
jmsdk.call("setFoundationCustomFunction", {
datas: [{
imageUrl: "https://github.com/ooftf/Material/raw/master/set.png",
title: "基础按钮top0",
clickId: "000"
},{
imageUrl: "https://github.com/ooftf/Material/raw/master/set.png",
title: "基础按钮top1",
clickId: "002"
},{
imageUrl: "https://github.com/ooftf/Material/raw/master/set.png",
title: "基础按钮top2",
clickId: "003"
}]
});
- 自定义业务面板回调事件。
jmsdk.register("foundationCustomFunctionClick", function (param, callback) {
alert(param.clickId);
});