扩展 APIs
介绍 SHOPLINE POS 应用页面如何使用 SHOPLINE POS 提供的 JavaScript API,来实现 Web 扩展。
当扩展开发者需要与 SHOPLINE POS 原生进行交互,可以使用此 API。
API使用指南
要求
- 你已经创建了一个 开发商店。
- 你已在 SHOPLINE 合作伙伴后台 中创建了应用程序。
- 你已经为你的应用 创建了 Web 扩展
- 使用 v2.15.0 及以上版本的 SHOPLINE POS
API调用步骤
a.引包
当前API版本需指定 js-sdk 的版本号
<!-- 指定版本号 -->
<script src="https://cdn.myshopline.com/sl/sdk/sl-jssdk-1.0.35.mini.js"></script>
b.API调用
调用说明
此 API 集成在 SDK 的 SHOPLINE POS APP 模块里面,开发者需要通过 SDK 的全局变量 shoplineAppBridge 来调用 posapp 模块的API,以下是调用示例和截图:
<!-- window.shoplineAppBridge 全局变量-->
<!-- posapp: 模块名-->
<!-- 'openWebWindow': 功能-->
<!-- { url : localurl, }: 入参-->
<!-- then((res): 异步callback;res返回参数-->
<!-- {'code': Int, 'msg': string, 'timeStamp': Number, 'data': Obj\} -->
shoplineAppBridge.posapp('openWebWindow', { url : localurl, }).then((res) => {
}
返回的通用格式说明
API 调用会返回以下固定的格式:
- code:API 调用返回的错误码,可参考 错误码 部分说明
- msg:API 调用返回的错误信息,code 非 0 时返回
- timeStamp:API 调用返回时刻的时间戳,13 位毫秒级时间戳
- data:API 调用返回的结果,具体可参考 API参考文档
{
code: 0, // 字段类型 number
msg: "", // 字段类型 string
timeStamp: 1729822782000, // 字段类型 number
data: {} // 字段类型 object
}
API调用样例
调用示例
如下代码样例展示了[openWebWindow]的调用:
<script type="text/javascript">
function openWebWindow() {
var url = "https://xxxxxxxx";
window.shoplineAppBridge.posapp('openWebWindow', {"url":url,"style":1,"position":{"x":0.1,"y":0.05,"width":0.8,"height":0.9}}).then((res) => {
// 示例 res = { "code":0, "timeStamp":1730276377000}
var jsonRes = JSON.stringify(res);
if (jsonRes['code'] == 0) {
// 处理结果
}
});
}
</script>
事件回调示例
<script type="text/javascript">
function POSEvent_deviceNetworkStatus(res) {
// 示例 res = { "code":0,"data":{"connectionStatus":"wifi"} }
var jsonRes = JSON.stringify(res);
if (jsonRes['code'] == 0) {
if (jsonRes['data']['connectionStatus'] == "wifi") {
// 处理结 果
}
}
}
</script>
API参考文档
UI操作
以下是关于 UI 操作相关的 API。
openWebWindow
在当前页面弹出 Web 窗口,可以自定义窗口位置和大小。需要传入需要打开的 Web 页面链接。
- 入参
| 名称 | 二级 | 类型 | 是否必须 | 内容含义&备注 |
|---|---|---|---|---|
| url | string | 是 |