# 宜享花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
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
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
2
3
4
5
6
- 基于以上的示例,传给JSSDK的参数如下格式
{
appId: "yxh1c3f1eca",
nonce: "8a17adfd779a406bb3555dba18fcc01d",
timestamp: 1703240519524,
sign: "b311d7ed214109566fa9e69ced4dc27b"
}
1
2
3
4
5
6
2
3
4
5
6
# success 回调函数
# 参数
参数名 | 描述 |
---|---|
ticket | 用于调用宜享花服务端API换取手机号的凭证,该ticket在使用后将立即失效,请勿重复使用,另外ticket超过1分钟未使用则过期 |
# fail 回调函数
# 参数
参数名 | 描述 |
---|---|
code | 错误码 |
msg | 错误信息 |
# 错误码
code | 描述 |
---|---|
20001 | 未调用agreePrivacyAuthorization方法 |
20002 | 用户拒绝授权手机号 |
← 加解密及验签工具