解释:由于宿主应用并不一定强制用户登录,因此用户也有可能处于未登录状态。此时开发者可能不希望通过实现登录强制用户登录,而是希望直接使用用户的设备标识来关联用户,存储一些非敏感的数据。因此智能小程序提供了一个swanid
的标识,开发者可将其视作用户的设备标识,swanid
的机制说明如下:
开发者可通过swan.getSwanId()
方法:
Object object
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
success | Function | 否 | 接口调用成功的回调函数 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
参数 | 类型 | 说明 |
---|---|---|
errno | String | errno |
data | Object | {swanid} |
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
扫码体验
代码示例
请使用百度APP扫码
{{item.key}}
{{item.value}}
Page({
data: {
infoList: [{
key: 'swanid',
value: ''
}, {
key: 'swanid_old',
value: ''
}, {
key: 'swanid_old_signature',
value: ''
}, {
key: 'swanid_signature',
value: ''
}]
},
getSwanId(e) {
swan.getSwanId({
success: res => {
console.log('res', res.data);
// 更新数据
this.updateInfoList(res.data);
},
fail: err => {
swan.showToast({
title: '获取失败'
});
}
});
},
clearSwanId() {
this.updateInfoList({});
},
updateInfoList(res) {
let infoList = this.getData('infoList');
for (let i = 0; i < infoList.length; ++i) {
if (res[infoList[i].key] === '') {
infoList[i].value = '暂无';
}
else {
infoList[i].value = res[infoList[i].key];
}
}
this.setData('infoList', infoList);
}
});
/**
* 生成签名
* appkey 小程序标识
* secret_key 小程序私钥
* swanid 用户swanid
*/
func generageSignature(appKey, secrectKey, swanID string) string {
plainText := fmt.Sprintf("appkey=%ssecret_key=%sswanid=%s", appKey, secrectKey, swanID)
md5Sum := md5.Sum([]byte(plainText))
return hex.EncodeToString(md5Sum[:])
}
/**
* 生成 signature 校验码
* appKey 小程序标识
* secretKey 小程序私钥
* swanId 用于 swanId
*/
function generageSignature($appKey, $secrectKey, $swanId){
$plainText = sprintf("appkey=%ssecret_key=%sswanid=%s", $appKey, $secrectKey, $swanId);
return md5($plainText);
}
错误码 | 说明 |
---|---|
201 | 解析失败,请检查调起协议是否合法 |
1001 | 执行失败 |
10001 | 内部错误 |
10002 | 网络无连接 |
错误码 | 说明 |
---|---|
202 | 解析失败,请检查参数是否正确 |
10001 | 内部错误 |
10002 | 网络无连接 |
10004 | 用户拒绝(user not login) |
10005 | 系统拒绝 |
文章题目:创新互联百度小程序教程:swan.getSwanId
路径分享:http://www.shufengxianlan.com/qtweb/news19/360519.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联