京麦JSSDK PC版 2.x版本
1. 安装
1.1. script 引入
在html页面中引入下面该地址:
<script src="//jm-static.jd.com/lib/jmsdk-pc/jmsdkPC.min.js"></script>
1.2. ES6 安装(需要使用jnpm,http://npm.m.jd.com)
npm使用的是京东内部的源jnpm,需要配置下配置。
npm config set @jd:registry=http://registry.m.jd.com
上面这条命令将@jd
开头的包的拉取的地址修改为jnpm的源。
安装:
npm i @jd/jmsdk-pc
使用
import jmsdkPC from '@jd/jmsdk-pc'
2. API
2.1. config(options: object) 初始化设置
目前options中只有1个languange属性,如果不需要切换语言,则无需调用。
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
language | 设置语言 | string | 'en_US' | 'zh_CN' | — |
jmsdkPC.config({
language: 'en_US'
})
2.2. isInJMPC() 判定是否在京麦windows客户端中
jmsdkPC.isInJMPC()
2.3. isInJMMac() 判定是否在京麦mac客户端中
jmsdkPC.isInJMMac()
2.4. isInJM 判定是否在京麦客户端中(windows或mac)
jmsdkPC.isInJM()
2.5. getVersion() 获取京麦客户端的版本
jmsdkPC.getVersion() // 7.9.6.0
2.6. checkJMClient(options: object) 判定是否安装了京麦客户端
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 否 |
success 回调参数:
参数 options (object):
参数 | 说明 | 类型 |
---|---|---|
isInstall | 是否安装了京麦 | boolean |
支持 Promise
jmsdkPC.checkJMClient({
success: function (res) {
console.log(res.isInstall)
}
})
// promise
jmsdkPC.checkJMClient().then(res => {
console.log(res.isInstall)
})
2.7. openJM(options: object) 打开京麦客户端
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
options 参数可以不传。
该接口为异步接口,无回调函数。
如果没有安装客户端,则会弹窗提示安装客户端(mac版不会提示,如果打开失败,则无任何反应)。
jmsdkPC.openJM()
2.8. openJDA(options: object) 打开JDA应用
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
appId | 应用appId | string | — | — | 否 |
processName | 进程名 | string | - | - | 否 |
uiName | 界面名 | - | - | 否 | |
online | 是否启动线上版本,1 - 启动线上版本,0 - 启动预发版本 | string | '1' | 否 | |
success | 成功回调 | function | - | - | 否 |
error | 错误回调 | function | - | - | 否 |
jmsdkPC.openJDA({
pin: 'test_pop_7191',
appId: 'xxxxx'
})
2.9. openJDAManage(options: object) 打开JDA应用管理
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
appKey | 开发者侧的应用key | string | — | — | 否 |
autoTip | 是否自动提示异常 | boolean | - | true | 否 |
success | 成功回调 | function | - | - | 否 |
error | 错误回调 | function | - | - | 否 |
jmsdkPC.openJDAManage({
pin: 'test_pop_7191',
appKey: 'xxxx'
})
2.10. openJDACreate(options: object) 打开JDA应用创建界面
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
appPublishType | 创建的应用类型 | number | 2 - 个人应用, 3 - ISV 应用 | — | 否 |
autoTip | 是否自动提示异常 | boolean | - | true | 否 |
success | 成功回调 | function | - | - | 否 |
error | 错误回调 | function | - | - | 否 |
jmsdkPC.openJDACreate({
pin: 'test_pop_7191',
appPublishType: 2
})
2.11. openUrl(options: object) 在京麦客户端中打开链接
1)在客户端外部,唤起客户端,并打开链接
2)在客户端内部,直接打开链接
3)在mac系统下的非京麦浏览器或者移动端,直接跳转地址
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于在第1)种情况下打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
url | 链接地址 | string | — | — | 是 |
jmsdkPC.openUrl({
pin: 'test_pop_7191',
url: 'https://jm.jd.com'
})
2.12. openDD(options: object) 打开咚咚
1)在客户端外部,唤起客户端,并打开咚咚
2)在客户端内部,打开咚咚
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于在第1)种情况下打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
client | 目标用户的pin,打开目标用户的会话窗口,如果不传,则只启动咚咚,不会打开会话 | string | — | — | 否 |
tokenType | pin的加密方式,number,1代表openId,2代表JOS加密 3代表xid | string | — | — | 否 |
userType | 聊天人类型 | number | 0:未知, 1:顾客 2:商家客服 3:京东erp人员 4:京东客服 | (可以不传,但是不能传0-4之外的非法值) | 否 |
appKey | ISV 应用appKey | string | — | — | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
jmsdkPC.openDD({
pin: 'test_pop_7191',
client: 'test_pop_weidian'
})
2.13. openDDChatByScene(options: object) 新打开咚咚-支持传入appId
1)在客户端外部,唤起客户端,并打开咚咚
2)在客户端内部,打开咚咚
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于在第1)种情况下打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
params | 咚咚会话参数 | object | — | — | 是 |
autoTip | 是否开启自动错误提示 | boolean | — | true | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
params 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 目标用户的pin,打开目标用户的会话窗口,如果不传,则只启动咚咚,不会打开会话 | string | — | — | 否 |
tokenType | pin的加密方式 | number | 1代表openId,2代表JOS加密 3代表xid | — | 否 |
userType | 聊天人类型 | number | 0:未知, 1:顾客 2:商家客服 3:京东erp人员 4:京东客服 (该参数将要废弃,推荐使用appid) | (可以不传,但是不能传0-4之外的非法值) | 否 |
appKey | ISV 应用appKey | string | — | — | 否 |
appId | 场景类型 | string | 1.顾客:im.customer 2.商家客服:im.waiter 3. erp人员:ee 4. 京东客服:jd.waiter | — | 否 |
jmsdkPC.openDDChatByScene({
params: {
pin: 'test_pop_7191',
client: 'test_pop_weidian'
appId: '1',
},
autoTip: true,
error: (err) => {
console.log(err);
}
})
2.14. openDDGroup(options: object) 加入咚咚群
1)在客户端外部,唤起客户端,加入咚咚群
2)在客户端内部,直接加入咚咚群
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于在第1)种情况下打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
api | 加入咚咚群的apiName | string | — | openChatGroup | 否 |
params | 加入咚咚的群的参数, {groupId:群组id, functionName:咚咚方法名称} | object | — | — | 否 |
autoTip | 是否开启自动错误提示 | boolean | — | true | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
jmsdkPC.openDDGroup({
api: 'openChatGroup',
pin: 'test_pop_xxx',
params: {
groupId: '123',
functionName: 'office'
},
})
2.15. openTab()
2.2.8版本
打开新的Tab页签,该接口会返回新页签的窗口对象。
var newTab = jmsdkPC.openTab()
使用场景:打开插件openPlugin接口,需要打开1个新的Tab窗口,如果你在调用它之前,先有了异步操作,等异步回来后再去调用打开插件的接口,可能会导致新窗口被浏览器拦截, 无法打开(浏览器对于用户交互如点击1秒后的新窗口打开都会进行拦截),因此需要开发者在进行异步毁掉之前,先调用openTab帮JSSDK打开1个新的tab窗口,避免被浏览器拦截。 如果异步回调后判断不能打开插件,那可以将newTab新窗口对象的href指向1个错误页面,不建议直接关闭,体验不是很好。
异步示例:
var newTab = jmsdkPC.openTab()
jQuery.ajax({
url: '//example.action',
success : function (res) {
if (res.body.canOpen) {
jmsdkPC.openPlugin({
serviceCode: 'FW_GOODS-77777'
})
} else {
newTab.location.href = '//example.com/error.html'
}
}
})
2.16. openPlugin(options: object)打开插件
1)服务市场插件,不启动客户端
2)京麦插件,且没有设置成普通浏览器打开的白名单,使用京麦打开
3)咚咚插件,使用京麦打开
4)移动端插件,在中间页中无任何操作
5)开普勒小程序,不启动客户端
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
serviceCode | 插件标识 | string | — | — | 是 |
itemCode | 插件类型,一般在服务市场列表中使用 | string | — | — | 否 |
protocolId | 用于京麦插件打开指定插件页面 | string | — | — | 否 |
keplerAppId | 开普勒小程序Id,用于开普勒小程序 | string | — | — | 否 |
update | 是否刷新客户端的插件列表 | boolean | — | false | 否 |
openInCurrentTab | 是否在当前tab页签打开插件 | boolean | - | false | 否 |
newTab | 用于承载打开插件的落地页的窗口 | window | - | false | 否 |
isZeroPurchase | 是否零元订购 | boolean | - | false | 否 |
params | 插件落地页链接拼接的query参数 | object | - | {} | 否 |
urlEndFix | 插件落地页链接拼接的router参数 | string | - | '' | 否 |
update: 是否刷新插件列表,只在客户端中调用才有效,用于用户新购买了插件,但客户端中的插件列表尚未更新,需要刷新一次才可以打开客户端。
jmsdkPC.openPlugin({
pin: 'test_pop_7191',
serviceCode: 'FW_GOODS-549810'
urlEndFix: '/a/b/c'
isZeroPurchase: true, // 零元订购
params: {
商家id: 'xxxxx'
}
})
2.17. updatePlugin() 刷新插件列表
客户端可用,非客户端无效
jmsdkPC.updatePlugin()
2.18. openService(options: object) 直接通过客户端打开插件
openPlugin 中大部分插件不会通过客户端打开,有中间页,体验较差,这个接口用于直接在客户端打开插件,避免被浏览器拦截窗口,目前用于大促页中的插件,大促页中需要先进行零元购,然后再启动客户端,如果用 openPlugin ,因为窗口被拦截,所以无法走完这一流程。
不支持开普勒小程序。
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
serviceCode | 插件标识 | string | — | — | 是 |
protocolId | 用于京麦插件打开指定插件页面 | string | — | — | 否 |
update | 是否刷新客户端的插件列表 | boolean | — | — | 否 |
jmsdkPC.openService({
pin: 'test_pop_7191',
serviceCode: 'FW_GOODS-549810'
})
2.19. checkApi(options: object) 判定当前的客户端是否支持了该API
客户端可用,非客户端无效;
目前所有客户端的API都已支持,暂时不需要调用该接口,一般用于新API出来时客户端版本还未覆盖全面,但想立即使用该API接口时调用进行判定。
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
api | api 名称(函数名) | string | — | — | 是 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
success 回调参数:
参数 res (object)
参数 | 说明 | 类型 |
---|---|---|
isSupport | 是否支持API | boolean |
支持 Promise 回调
jmsdkPC.checkApi({
api: 'addToBookmark',
success: function (res) {
console.log(res)
},
error: function (error) {
console.log(error.message)
}
})
// promise 回调
jmsdkPC.checkApi({
api: 'addToBookmark'
}).then(res => {
console.log(res)
}).catch(error => {
console.log(error.message)
})
2.20. openNativePage(pageName: string) 打开原生页面
客户端可用,非客户端无效
jmsdkPC.openNativePage('MyPlugin')
pageName 支持的页面:
页面标识 | 页面名称 |
---|---|
'MyPlugin' | 我的插件 |
'Message' | 消息中心 |
2.21. checkBookmarked(options: object) 判定当前网址是否已收藏
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
success 回调参数:
参数 res (object)
参数 | 说明 | 类型 |
---|---|---|
isBookmarked | 是否已收藏 | boolean |
支持 Promise 回调
jmsdkPC.checkBookmarked({
success: function (res) {
console.log(res.isBookmarked)
}
})
// promise 回调
jmsdkPC.checkBookmarked().then(res => {
console.log(res.isBookmarked)
})
2.22. checkFrequentPlugin(options: object) 判定当前插件是否已添加到常用插件中
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
success 回调参数:
参数 res (object)
参数 | 说明 | 类型 |
---|---|---|
isFrequentPlugin | 是否已是常用插件 | boolean |
支持 Promise 回调
jmsdkPC.checkFrequentPlugin({
success: function (res) {
console.log(res.isFrequentPlugin)
}
})
// promise 回调
jmsdkPC.checkFrequentPlugin().then(res => {
console.log(res.isFrequentPlugin)
})
2.23. addToBookmark() 将当前网址添加到收藏中
客户端可用,非客户端无效
jmsdkPC.addToBookmark()
2.24. addToFrequentPlugin() 将当前插件添加到我的常用插件中
客户端可用,非客户端无效
jmsdkPC.addToFrequentPlugin()
2.25. createShortcut() 将当前插件添加到桌面快捷方式
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 否 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
jmsdkPC.createShortcut()
客户端可用,非客户端无效
jmsdkPC.addToFrequentPlugin()
2.26. checkVersion(options: object) 判定当前客户端是否为最新版本
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
success 回调参数:
参数 res (object):
参数 | 说明 | 类型 |
---|---|---|
isLastest | 是否是最新版本客户端 | boolean |
支持 Promise 回调
jmsdkPC.checkVersion({
success: function (res) {
console.log(res.isLastest)
}
})
// promise 回调
jmsdkPC.checkVersion().then(res => {
console.log(res.isLastest)
})
2.27. upgradeClient(options: object) 更新客户端
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
支持 Promise 回调
jmsdkPC.upgradeClient()
// promise
jmsdkPC.upgradeClient().catch(error => {
console.log(error.message)
})
2.28. captureScreen(options: object) 客户端截图功能
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
type | 图片类型 | string | 'png', 'jpg', 'jpeg' | 'png' | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
success 回调参数:
参数 res (object)
参数 | 说明 | 类型 |
---|---|---|
code | 0 - 截图完成,1 - 截图取消 | number |
urlData | 截图的base64编码 | string |
blob | 将base64格式的图片转换成Blob对象,方便通过Ajax进行上传,IE9及以下不支持 | Blob |
fileSize | 图片大小,单位:byte | number |
支持 Promise
jmsdkPC.captureScreen({
success: function (res) {
console.log(res.urlData,res.blob)
}
})
// promise
jmsdkPC.captureScreen().then(res => {
console.log(res.urlData,res.blob)
})
2.29. request(options: object) 互通协议请求
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
api | 互通协议接口 | string | - | - | 是 |
params | 互通协议接口参数 | object | - | - | 否 |
success | 成功回调 | function | - | - | - |
error | 失败回调 | function | - | - | - |
jmsdkPC.request({
api: 'orderList',
params: {
orderStatus: 'WAIT_OUTBOUND'
}
})
2.30. response(options: object) 互通协议响应
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
code | 开发者自定义业务状态码,表示调用成功与否 | number | - | 0 | 是 |
data | 开发者自定义参数 | object | - | - | - |
2.31. openMyPlugin(options: object) 打开我的插件
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
pin | 用户pin,用于打开登录了该用户的客户端实例,如果不传,则每次都是打开新的客户端登录窗口 | string | — | — | 否 |
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持时触发,回调参数:Error实例 | function | — | — | 否 |
2.32. openInterworkSetting(options: object) 打开互通协议设置窗口
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
2.33. getInterworkStatus(options: object) 获取互通协议状态(是否展示)
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
success 回调参数:
参数 res (object)
参数 | 说明 | 类型 |
---|---|---|
isShow | 是否展示互通协议设置 | boolean |
2.34. getServiceNewStatus(options: object) 获取服务列表红点状态(是否有新购买的插件)
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
success 回调参数:
参数 res (object)
参数 | 说明 | 类型 |
---|---|---|
hasNew | 是否有新购买的插件 | boolean |
2.35. examFinished(options: object) 通知客户端完成开店开始任务,跳转到首页
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
2.36. openTaskList(options: object) 打开待办任务列表
客户端可用,非客户端无效
options 参数:
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 | | success | 成功回调 | function | — | — | 否 | | error | 失败回调 | function | — | — | 否 |
jmsdkPC.openTaskList();
2.37. openTaskDetail(options: object) 打开待办任务详情页
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
taskId | 任务id | number | — | — | 是 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调 | function | — | — | 否 |
jmsdkPC.openTaskDetail({
taskId: 12345
});
2.38. openLogin(options: object) 打开登录窗口
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
type | 唤起登录的类型,'0' 表示启动店铺登录,'1' 表示启动多账号登录,'2' 表示启动企业账号登录 | string | '0', '1', '2' | '0' | 否 |
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
2.39. switchShop(options: object) 企业账号启动店铺
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
vendorId | 店铺 id | string | - | - | 是 |
pin | 店铺 pin | string | - | - | 是 |
vendorType | 店铺类型,200 表示 pop 店铺,300 表示 vc 店铺 | number | - | - | 是 |
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
2.40. changeCompany(options: object) 切换企业中心,通知客户端修改标题
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
id | 企业中心 id | number | - | - | 是 |
name | 企业中心名称 | string | - | - | 是 |
success | 成功回调 | function | — | — | 是 |
error | 失败回调,当客户端不支持或者在外部浏览器调用时触发,回调参数:Error实例 | function | — | — | 否 |
2.41. checkJMHome(options: object) 判断是否在PC端【工作台】
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 否 |
error | 失败回调 | function | — | — | 否 |
jmsdkPC.checkJMHome({
success: function (res) {
return res.ishome;
}
});
2.42. switchJMHome(options: object) 跳转PC端【工作台】
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
data | "0"表示原生首页,"1"表示10.0新首页 | String | — | — | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调 | function | — | — | 否 |
jmsdkPC.switchJMHome({
data: '0'
});
2.43. openHelp(options: object) 打开PC端帮助
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
data | 传给帮助的数据,最终会在帮助链接query的openHelp上返回 | Object | — | — | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调 | function | — | — | 否 |
jmsdkPC.openHelp({
data: {
articleId: '355467658';
}
});
2.44. closeHelp(options: object) 关闭PC端帮助
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
success | 成功回调 | function | — | — | 否 |
error | 失败回调 | function | — | — | 否 |
jmsdkPC.closeHelp();
2.45. setHelpData(options: object) 传值给PC端帮助
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
data | 传给帮助的数据,最终会在帮助链接query的setHelpData上返回 | Object | — | — | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调 | function | — | — | 否 |
jmsdkPC.setHelpData({
data: [1,2,3]
});
2.46. changeHelpWidth(options: object) 修改帮助容器宽度
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
width | 设置帮助的宽度 | Number | — | — | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调 | function | — | — | 否 |
jmsdkPC.changeHelpWidth({
width: 536,
});
2.47. open(options: object) 通用API接口
客户端可用,非客户端无效
options 参数:
参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必填 |
---|---|---|---|---|---|
api | 约定的协议名称 | String | — | — | 是 |
pin | 用户pin | String | — | — | 是 |
data | 参数 | Object | — | — | 否 |
isNoData | 是否参数不需要包一层data | Boolean | — | false | 否 |
autoTip | 是否展示下载弹窗 | Boolean | — | false | 否 |
success | 成功回调 | function | — | — | 否 |
error | 失败回调 | function | — | — | 否 |
jmsdkPC.open({
api: 'xxxx',
data: {
tabIndex: 1
},
isNoData: true,
autoTip: true;
success: function (res) {
message('打开成功')
},
error: function (error) {
message(error.message)
}
});
3. 事件监听:on(eventName: string, listener: function)
3.1. "servicenewchange": 是否有新的插件购买
jmsdkPC.addEventListener('servicenewchange', function(event) {
// hasNew: 是否有新的插件购买
console.log(event.hasNew)
});
4. 取消事件监听:off(eventName: string, listener: function)
5. 状态码
code | 说明 | message |
---|---|---|
1000 | 接口调用成功 | - |
1001 | 客户端版本过低,不支持API | sorry, the version is too low to support the interface of xxx(api) |
1002 | 在外部浏览器调用了只能在京麦客户端中使用的API | sorry, the interface of xxx(api) can only be used in JM Client |
1003 | 接口参数异常 | xxx(api): Parameter exception |
1004 | 未安装客户端 | please install Jingmai client |
1005 | 该接口不支持在mac中使用 | sorry, the interface of xxx(api) can only be used in JM windows Client |
2001 | 业务异常 |