mgtv.queryUserVipInfo(Object object)
功能描述
发起查询会员请求
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
signData | string | 是 | 原串"" | |
sign | string | 是 | 签名,见签名算法说明 | |
timestamp | number | 是 | 时间戳(单位:毫秒) | |
success | function | 否 | 成功的回调函数 | |
fail | function | 否 | 失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
查询失败
错误码 | 错误信息 | 说明 |
---|---|---|
-1 | 网络异常/频繁调用 | |
1000 | 参数错误 |
查询成功
属性 | 返回值 | 说明 |
---|---|---|
isVip | number | 是否是会员,0 表示不是会员,1 表示是会员 |
vips | VipInfo[] | 会员信息数组 |
VipInfo
属性 | 类型 | 说明 |
---|---|---|
expire | string | 会员过期时间,格式为字符串 |
vipType | number | 会员类型(1-小屏;2-全屏;3-svip;4-亲密会员) |
示例代码
mgtv.queryUserVipInfo({
signData: '',
sign: 'f9fb49030135808460994c9170039854377c12d9431e3b1bcf5b7f6b0986a87e',
timestamp: 1754556862496,
success(res) {
console.log('success', res);
},
fail({ errMsg, errCode}) {
console.error(errMsg, errCode)
}
})
签名算法说明
sign
参数的签名算法,使用小游戏开发设置中的 AppSecret
对支付的请求进行签名,代表请求经过开发者服务端的支付模块发起。
签名算法伪代码为:
sign = to_hex(hmac_sha256(app_secret, timestamp + '&' + signData))
签名代码 python 实现
import hmac
import hashlib
import urllib.parse
# sign_data 支付原串
# app_secret 开放平台小程序 AppSecret
# timestamp 时间戳
def gen_sign(sign_data, app_secret, timestamp):
need_encode_body = timestamp + '&' + sign_data
print(need_encode_body)
return hmac.new(key=app_secret.encode('utf-8'), msg=need_encode_body.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest()