概述

为了提高开发者的效率,站斧开放平台 JS-SDK 提供了用户授权、accessToken 刷新、接口访问、站斧浏览器内置 API 等功能。

环境依赖

插件应用:站斧浏览器。

Web 应用:Chrome 内核,建议 78 及以上版本。

使用说明

此 SDK 若作为插件 SDK 使用,请在插件的 background.js 中引入。

若在 Web 应用中引入,请在开放平台将访问域名加入使用白名单,防止跨域问题。

引用方式

import RUX from 'rux-browser-js-sdk.js';

SDK 获取站斧信息使用示例

以下接口需先获得用户授权后才能获取信息。

1. 初始化授权

方法:

RUX.initAuth(Object obj, function callback)

入参说明:

obj = {
  app_key: app_key // 应用唯一 app_key
}

返回参数:

https://redirect_url/?code=74afa4f59c4048d3aba7a152089e9db87797d6cc

code 为当前授权码,有效期为 10 分钟。

2. 获取 accessToken

方法:

RUX.getAccessToken(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret, // 应用唯一 app_secret
  app_key: app_key,       // 应用唯一 app_key
  code: code              // 应用授权码
}

返回参数:

{
  "errorCode": 0,
  "message": "登录成功",
  "data": {
    "access_token": "ofZ5Pte0achQSHYSaOSWzUVFlSB3OUV1pES9eG2V6Nuclokl",
    "refresh_token": "hdlbarM3eAtmCWKBl28Gnkq5LBjlqrPI8ntcoZcJbO0zdjSF",
    "access_expires": 10080,
    "refresh_expires": 20160
  }
}

3. 获取站斧用户信息

方法:

RUX.getUserInfo(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token    // 应用授权 access_token
}

返回参数:

{
  "errorCode": 0,
  "message": "获取个人信息成功",
  "data": {
    "userInfo": {}
  }
}

4. 获取站斧用户店铺列表

方法:

RUX.getMallList(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token,   // 应用授权 access_token
  // ...
}

其他参数请参考 API 文档 rux.open.mall.bindMall.mallList。参照该文档时,只需补充除 access_token、timestamp、app_key、api、sign 以外的业务参数。

5. 获取站斧用户店铺信息

方法:

RUX.getMallInfo(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token,   // 应用授权 access_token
  // ...
}

其他参数请参考 API 文档 rux.open.mall.bindMall.getMallDetail。参照该文档时,只需补充除 access_token、timestamp、app_key、api、sign 以外的业务参数。

6. 创建店铺

方法:

RUX.createMallInfo(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token,   // 应用授权 access_token
  // ...
}

其他参数请参考 API 文档 rux.open.mall.bindMall.create。参照该文档时,只需补充除 access_token、timestamp、app_key、api、sign 以外的业务参数。

7. 更新店铺信息

方法:

RUX.updateMallInfo(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token,   // 应用授权 access_token
  // ...
}

其他参数请参考 API 文档 rux.open.mall.bindMall.update。参照该文档时,只需补充除 access_token、timestamp、app_key、api、sign 以外的业务参数。

8. 获取所有平台信息

方法:

RUX.getAllSite(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token    // 应用授权 access_token
}

9. 打开用户下某个店铺环境

方法:

RUX.openMallExtension(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token,   // 应用授权 access_token
  mallId: mallId,               // 用户名下某个店铺 ID,与 mallName 可有一个为空
  mallName: mallName            // 用户名下某个店铺名称,与 mallId 可有一个为空
}

10. 创建自有 IP

方法:

RUX.createAgentIp(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token,   // 应用授权 access_token
  // ...
}

其他参数请参考 API 文档 rux.open.mall.agentIp.create。参照该文档时,只需补充除 access_token、timestamp、app_key、api、sign 以外的业务参数。

11. 店铺绑定 IP

方法:

RUX.bindIp(Object obj, function callback)

入参说明:

obj = {
  app_secret: app_secret,       // 应用唯一 app_secret
  app_key: app_key,             // 应用唯一 app_key
  access_token: access_token,   // 应用授权 access_token
  // ...
}

其他参数请参考 API 文档 rux.open.mall.bind.ip。参照该文档时,只需补充除 access_token、timestamp、app_key、api、sign 以外的业务参数。

SDK 调用站斧浏览器内核 API 示例

以下接口不需要获得授权即可使用。

1. 获取当前环境 ID

方法:

RUX.getMallId(function callback)

返回参数:

{
  mallId: mallId // 当前环境 ID,可认为店铺唯一 ID
}

2. 设置当前环境时区

方法:

RUX.getMallId(Object obj)

入参说明:

obj = {
  timezone: timezone // 时区
}

3. 初始化环境参数

方法:

RUX.initConfig(Object obj)

入参说明:

obj = {
  id: '123456',
  timeZone: 'Africa/Johannesburg',
  userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
    + 'AppleWebKit/537.36 (KHTML, like Gecko) '
    + 'Chrome/78.0.3904.108 Safari/537.36',
  language: 'en-us',
  acceptLanguages: 'en-us,en',
  proxy: 'http://172.16.11.102:8118',
  magic: 'abababbababababababa=='
}

参数说明:

  • id:唯一 ID。
  • timeZone:时区。
  • userAgent:User-Agent。
  • language:语言。
  • acceptLanguages:Accept-Language。
  • proxy:当前环境代理。
  • magic:唯一指纹 ID。

4. 拉起隔离环境

方法:

RUX.openEasyBrowser(Object obj)

入参说明:

obj = {
  mallId: 10068 // 店铺 ID
}