# 宜享花JSSDK

# 引入JSSDK

<script src="https://static.yxh2.cn/open-sdk/yxh-1.1.0.js"></script>
1

# 判断是否宜享花APP

可以通过判断 userAgent 是否包含 Yixianghua 关键词确定当前环境是否为宜享花。

# 通用错误码

code 描述
-1 APP不存在此方法,通常为APP版本问题,升级最新版本即可

# 使用

# agreePrivacyAuthorization

用于同意隐私授权,在同意按钮点击后触发。

YxhJSBridge.agreePrivacyAuthorization({
  button: document.getElementById('button-id'), // 同意按钮
  success() {
    // 校验通过
  },
  fail(res) {
    // 校验不通过
    console.log(res.code);
    console.log(res.msg);
  }
})
1
2
3
4
5
6
7
8
9
10
11

# 参数

参数名 描述
button 授权按钮,DOM元素或可以通过document.querySelector()查找到的DOM元素的选择器
success 授权验证通过回调函数
fail 授权验证失败回调函数

# fail 回调函数

# 参数
参数名 描述
code 错误码
msg 错误信息
# 错误码
code 描述
10001 授权按钮未找到
10002 授权按钮不是合法的DOM节点,请确认button参数是合法的节点类型,即 nodeType 等于 1
10003 授权按钮与用户点击的元素不是同一个

# getPhoneNumber

用于获取用户手机号

注意:该方法必须在agreePrivacyAuthorization回调成功之后再调用

YxhJSBridge.getPhoneNumber({
  appId: '',
  nonce: '',
  timestamp: 0,
  sign: '',
  success({ ticket }) {
    // 获取成功
  },
  fail(res) {
    // 获取失败
    console.log(res.code);
    console.log(res.msg);
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 参数

参数名 描述
appId 该appId为宜享花分配给合作方的唯一ID,请联系宜享花获取
nonce 随机字符串
timestamp 时间戳
sign 签名
success 获取成功回调函数
fail 获取失败回调函数

# 签名算法

  • 请查阅【通用加解密工具类】
  • 调用工具类中的sign方法,传入参数和盐值salt(盐值由宜享花线下交付)
  • 例如如下三个入参:
{
  appId: "yxh1c3f1eca",
  nonce: "8a17adfd779a406bb3555dba18fcc01d",
  timestamp: 1703240519524
}

1
2
3
4
5
6
  • 基于以上的示例,传给JSSDK的参数如下格式
{
  appId: "yxh1c3f1eca",
  nonce: "8a17adfd779a406bb3555dba18fcc01d",
  timestamp: 1703240519524,
  sign: "b311d7ed214109566fa9e69ced4dc27b"
}
1
2
3
4
5
6

# success 回调函数

# 参数
参数名 描述
ticket 用于调用宜享花服务端API换取手机号的凭证,该ticket在使用后将立即失效,请勿重复使用,另外ticket超过1分钟未使用则过期

# fail 回调函数

# 参数
参数名 描述
code 错误码
msg 错误信息
# 错误码
code 描述
20001 未调用agreePrivacyAuthorization方法
20002 用户拒绝授权手机号
上次更新: 2 年前