Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@qihoo/qh-crx-api

Package Overview
Dependencies
Maintainers
7
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@qihoo/qh-crx-api

---

  • 0.1.0
  • latest
  • npm
  • Socket score

Version published
Maintainers
7
Created
Source

付费插件开发 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()
}

FAQs

Package last updated on 04 Jul 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc