0.1.0 • Published 11 months ago

@qihoo/qh-crx-api v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

付费插件开发 API 文档


注意事项:

  1. 项目需要使用最新的 V3 版本
  2. 本 SDK 需要在 backgorund 环境引入,开发者需要自行处理 popup、content 环境下的数据通信
  3. 收银台支付通信需要在 manifest 中加入
  "host_permissions": ["http://*.360.cn/*", "https://*.360.cn/*"],
  "externally_connectable": {
    "matches": ["http://*.360.cn/*", "https://*.360.cn/*"]
  }
  1. 一期使用支付功能必须接入 360 的登录体系(后续版本会支持开发者使用自有的登录体系)
  2. 如果需要切换账号/登出账号,都需要操作浏览器的账号切换/登出。api 没有提供登出和切换账号的功能

登录

名称功能
qh.isLogin获取 360 浏览器客户端登录状态(这里并不是插件登录)
qh.login发起登录请求,调起浏览器登录面板

注意:客户端登录并不等于插件登录,360 浏览器客户端登录是插件登录的前提条件,插件的登录应该是完成 OAuth 授权拿到 session_key 之后(详情见登录流程图)

登录流程

qh.isLogin

解释: 获取 360 浏览器客户端登录状态。

方法参数: 回调函数 (isLogin)=>void

返回参数说明:

属性类型说明
isLoginBoolean360 浏览器客户端登录状态 true: 已登录,false: 未登录

示例:

  • 在 js 文件中
qh.isLogin((res) => {
  console.log('isLogin:', res.isLogin)
})

qh.login

解释: 调用接口 qh.login 获取 Authorization Code,

方法参数: Object object

object 参数

属性类型默认值必填说明
successfunction-接口调用成功的回调函数
failfunction-接口调用失败的回调函数
completefunction-接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明:

属性类型说明
codestring用户登录凭证(有效期五分钟),开发者需要在开发者服务器后台调用 api(https://plugin.browser.360.cn/auth/session 详见服务端 api 接口文档),使用 code 换取 session_key 等信息。

fail 返回参数说明:

属性类型说明
{code,msg}Objectcode:错误码(见getPaymentInfo接口的错误码) ,msg:错误信息

complete 返回参数说明:

第一个返回参数 err 为 null,表示成功回调。否则表示失败回调

属性类型说明
errObject: {code,msg}code:错误码 ,msg:错误信息
datastring用户登录凭证(有效期五分钟)

示例:

  • 在 js 文件中
qh.login({
  success: function (res) {
    console.log('login success', res)
  },
  fail: function (err) {
    console.log('login fail', err)
  },
})

支付

名称功能
qh.requestPayment(object:Object)发起收银台支付请求,打开会员中心 H5 页面
qh.getPaymentInfo(object:Object)获取用户的支付状态
qh.paySuccessCallback支付成功的全局回调(收银台告知支付成功后,会主动调用该方法)

注意:支付流程中,只有支付成功会有回调,不存在支付失败的回调

qh.requestPayment

解释: 发起收银台支付请求,打开会员中心 H5 页面(建议:支付前先调用qh.isLogin检查是否已登录浏览器账号,收银台付款时需要用户登录)

方法参数: 回调函数 ()=>void

参数说明

属性类型默认值必填说明
successCallbackfunction-支付成功的回调函数(非必填,也可以设置全局的支付成功回调来达到目的qh.paySuccessCallback=()=>{}

示例:

  • 在 js 文件中
qh.requestPayment(function () {
  console.log('支付成功')
  // 支付成功后,建议去后台请求再次确认
  qh.getPaymentInfo()
})

qh.getPaymentInfo

解释: 获取会员(vip)状态

方法参数: Object object

object 参数

属性类型默认值必填说明
session_keystring-接入 360 登录体系后 拿到的密钥(注:一期暂不支持使用自己的账号体系)
successfunction-接口调用成功的回调函数
failfunction-接口调用失败的回调函数
completefunction-接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明:

属性类型说明
{isVip,expire_time}ObjectisVip:会员状态 (1:vip,0: 非 vip)。expire_time:会员过期时间戳(未购买过默认返回 0)

fail 返回参数说明:

属性类型说明
{code,msg}Objectcode:错误码 ,msg:错误信息

complete 返回参数说明:

第一个返回参数 err 为 null,表示成功回调。否则表示失败回调

属性类型说明
errObject: {code,msg}code:错误码 ,msg:错误信息
dataObject: {isVip,expire_time}同 success 返回参数

错误码表示的信息:

code说明
-1其他错误
0成功
10000扩展 ID 错误
20001Authorization Code 为空
20002Authorization Code 生成太频繁
20003Authorization Code 不存在或者已过期
30001session_key 为空
30002session_key 错误
30003session_key 过期
30004session_key 错误
40001(360)账号未登录
50000服务器错误

备注:

1.该接口需要接入 360 登录体系后再调用

示例:

  • 在 js 文件中
qh.requestPayment({
  session_key: 'xxxxxx',
  success: function (res) {
    console.log('支付成功')
  },
  fail: function (err) {
    console.log('获取支付状态失败', err)
  },
})

订单(会员中心 H5)

名称功能
qh.showOrderList获取当前用户在当前插件的购买订单记录

示例:

  • 在 html 文件中
<button onclick="showOrderBtnClick()">查看订单</button>
  • 在 js 文件中
function showOrderBtnClick {
  qh.showOrderList()
}
0.1.0

11 months ago